Skip to content

Key-State Seal Rotation In Progress

URI: https://docs.ankatech.co/errors/key-state-seal-rotation-in-progress
HTTP Status: 409 Conflict

When you see this

A rotation of the key-state seal key was asked for while an earlier rotation has not ended. One rotation runs at a time: a new one starts only once the previous generation is retired. Nothing was changed.

Returned by POST /api/v3/admin/platform/key-state-seal-keys/rotations (rotateKeyStateSealKey). extensions.reason names what is still in progress:

extensions.reason Meaning
PREVIOUS_GENERATION_HELD A superseded generation is still PREVIOUS: its re-seal pass has not retired it
PASS_RUNNING The re-seal pass is still moving key rows to the new generation
PASS_BLOCKED The re-seal pass stopped on a row it refused to re-seal

Common Causes

  • A second rotation was started before the first one read COMPLETE.
  • A compromise rotation ended BLOCKED on rows that did not verify, and they have not been resolved.

Response Example

{
  "type": "https://docs.ankatech.co/errors/key-state-seal-rotation-in-progress",
  "title": "Key-State Seal Rotation In Progress",
  "status": 409,
  "detail": "A key-state seal key rotation has not ended: a new rotation starts once the previous generation is retired. Nothing was changed.",
  "instance": "/api/v3/admin/platform/key-state-seal-keys/rotations",
  "extensions": {
    "reason": "PASS_RUNNING",
    "requestId": "6f1c2d3e-4a5b-4c6d-8e7f-9a0b1c2d3e4f"
  }
}

Content-Type: application/problem+json — the response follows RFC 9457 Problem Details. This is an Admin API body, so the correlation identifier is extensions.requestId; see Error Index & Overview.

How to Resolve

  1. Read getCurrentKeyStateSealKeyRotation (GET /api/v3/admin/platform/key-state-seal-keys/rotations/current) and wait until its status is COMPLETE.
  2. If it reads BLOCKED, resolve the rows it lists in blockedRows first, against each key's audit history.
  3. Start the new rotation again.

For full schema definitions, examples, and interactive testing, see the Developer Hub Reference.