Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.knoxcall.com/llms.txt

Use this file to discover all available pages before exploring further.

GET /admin/migrations/:id/verification-events

Returns verification probe events for a migration (most-recent first, up to 500), plus the current safe-to-delete state from the migration row. No pagination — the response is capped at 500 events.

Response

{
  "migration_id": "550e8400-e29b-41d4-a716-446655440000",
  "safe_to_delete": false,
  "verified_at": null,
  "verification_window_days": 30,
  "events": [
    {
      "id": "evt-uuid",
      "secret_migration_item_id": "item-uuid",
      "event_type": "operator_confirmed_clean",
      "endpoint_url": null,
      "outcome": "clean",
      "details": { "confirmed_by": "user-uuid", "notes": null },
      "source": "manual",
      "created_at": "2026-05-25T10:25:00Z"
    }
  ]
}
FieldDescription
safe_to_deletetrue once the operator has confirmed the migration clean at the migration level
verified_atTimestamp of the first migration-level confirmation, or null
verification_window_daysDays the system waits before allowing source-store deletion
events[].event_typee.g. operator_confirmed_clean, or system probe event types
events[].outcomeclean or probe result
events[].sourcemanual (operator) or auto (system probe)

POST /admin/migrations/:id/verification-events

Manually mark a migration (or a single migration item) as verified clean. Requires migration_reviewer permission + 5-minute step-up. When called without secret_migration_item_id, marks the entire migration as safe_to_delete = true and sets verified_at if not already set.

Request body

FieldRequiredDescription
secret_migration_item_idIf provided, the confirmation is scoped to a single item. If omitted, confirms the entire migration.
notesOptional operator note (stored in details.notes)

Response

{ "id": "evt-uuid" }
Status 201 Created. Returns 403 if the caller lacks migration_reviewer. Returns 404 if the migration is not found.
curl -X POST https://api.knoxcall.com/admin/migrations/550e8400.../verification-events \
  -H "Authorization: Bearer $KC_ADMIN_JWT" \
  -H "Content-Type: application/json" \
  -d '{ "notes": "All secrets validated in production — safe to remove from AWS SM." }'