Skip to content

Start or resume a Lookup HMAC key rotation.

POST
/api/admin/platform/control-plane/lookup-hmac/rotations
Code sample: Shell / cURL
curl --request POST \
--url https://auth.example.com/api/admin/platform/control-plane/lookup-hmac/rotations \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--header 'Idempotency-Key: example' \
--data '{ "candidate": { "generation": 1, "keyId": "example", "slot": "A", "fingerprint": "example" } }'

Registers public metadata for one candidate blind-index HMAC key. Raw key material is never accepted by this API. Setup deploys the candidate through Worker secrets and resumes the same operation with the Idempotency-Key header.

Idempotency-Key
required
string
>= 1 characters <= 256 characters /^[a-zA-Z0-9][a-zA-Z0-9._:-]*$/
Media type application/json
object
candidate
required
object
generation
required
integer
>= 1
keyId
required
string
>= 1 characters <= 128 characters /^[a-zA-Z0-9][a-zA-Z0-9._:-]*$/
slot
required
string
Allowed values: A B
fingerprint
required

SHA-256 fingerprint of the key material; never the key itself.

string
/^[a-f0-9]{64}$/
key
additional properties
key
additional properties

Rotation registered or idempotently resumed.

Media type application/json
object
rotation
required
object
operationId
required
string
state
required
string
Allowed values: planned distributing activation_dual_write dual_read reindexing verifying grace complete blocked
source
required
object
generation
required
integer
>= 1
keyId
required
string
>= 1 characters <= 128 characters /^[a-zA-Z0-9][a-zA-Z0-9._:-]*$/
slot
required
string
Allowed values: A B
fingerprint
required

SHA-256 fingerprint of the key material; never the key itself.

string
/^[a-f0-9]{64}$/
key
additional properties
candidate
required
object
generation
required
integer
>= 1
keyId
required
string
>= 1 characters <= 128 characters /^[a-zA-Z0-9][a-zA-Z0-9._:-]*$/
slot
required
string
Allowed values: A B
fingerprint
required

SHA-256 fingerprint of the key material; never the key itself.

string
/^[a-f0-9]{64}$/
key
additional properties
checkpoint
required
object
key
additional properties
sourceRowCount
required
integer | null
currentRowCount
required
integer | null
verificationAttemptCount
required
integer
graceExpiresAt
required
integer | null format: int64
ownerId
required
string | null
fencingToken
required
integer
>= 1
leaseExpiresAt
required
integer | null format: int64
mutationStarted
required
boolean
updatedAt
required
integer format: int64
>= 1
key
additional properties
auditId
required
string
key
additional properties
Example
{
"rotation": {
"state": "planned",
"source": {
"slot": "A"
},
"candidate": {
"slot": "A"
}
}
}

Error response.

Media type application/json
object
error
string
message
string
error_description
string
key
additional properties
Example generated
{
"error": "example",
"message": "example",
"error_description": "example"
}

Error response.

Media type application/json
object
error
string
message
string
error_description
string
key
additional properties
Example generated
{
"error": "example",
"message": "example",
"error_description": "example"
}

Error response.

Media type application/json
object
error
string
message
string
error_description
string
key
additional properties
Example generated
{
"error": "example",
"message": "example",
"error_description": "example"
}

Error response.

Media type application/json
object
error
string
message
string
error_description
string
key
additional properties
Example generated
{
"error": "example",
"message": "example",
"error_description": "example"
}

Error response.

Media type application/json
object
error
string
message
string
error_description
string
key
additional properties
Example generated
{
"error": "example",
"message": "example",
"error_description": "example"
}