curl --request POST \
--url 'https://api.computer.stateset.app/api/v1/keys/bulk-revoke' \
--header "X-API-Key: $STATESET_COMPUTER_USE_API_KEY" \
--header 'Content-Type: application/json' \
--data '{
"key_ids": [
"3fa85f64-5717-4562-b3fc-2c963f66afa6"
]
}'
{
"revoked": 1,
"skipped": 1,
"rows": [
{
"key_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"revoked": false,
"error": "string"
}
]
}
Bulk Revoke Api Keys V1
Revoke up to 50 keys in one call (admin only). Self-protection: the calling key is never auto-revoked even if included in the list…
POST
/
api
/
v1
/
keys
/
bulk-revoke
curl --request POST \
--url 'https://api.computer.stateset.app/api/v1/keys/bulk-revoke' \
--header "X-API-Key: $STATESET_COMPUTER_USE_API_KEY" \
--header 'Content-Type: application/json' \
--data '{
"key_ids": [
"3fa85f64-5717-4562-b3fc-2c963f66afa6"
]
}'
{
"revoked": 1,
"skipped": 1,
"rows": [
{
"key_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"revoked": false,
"error": "string"
}
]
}
Revoke up to 50 keys in one call (admin only).
Self-protection: the calling key is never auto-revoked even if
included in the list. Use the singular
DELETE /keys/{id} against
the same id from a different key if you really want it gone.
Per-row outcomes — unknown / cross-tenant ids surface as failures
without aborting the batch.
Request body
BulkRevokeKeysRequest
string (uuid)[]
required
API key UUIDs to revoke (1..50). The calling key is NEVER auto-revoked — even if listed, it surfaces as
error: 'cannot revoke the calling key'.Response
BulkRevokeKeysResponse
integer
required
integer
required
Status codes
| Code | Meaning |
|---|---|
200 | Successful Response |
422 | Validation Error |
curl --request POST \
--url 'https://api.computer.stateset.app/api/v1/keys/bulk-revoke' \
--header "X-API-Key: $STATESET_COMPUTER_USE_API_KEY" \
--header 'Content-Type: application/json' \
--data '{
"key_ids": [
"3fa85f64-5717-4562-b3fc-2c963f66afa6"
]
}'
{
"revoked": 1,
"skipped": 1,
"rows": [
{
"key_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"revoked": false,
"error": "string"
}
]
}
Last modified on August 31, 2026