Revoca una chiave API

POST /v1/api-keys/{key_id}:revoke · permesso api-keys:write · Idempotency-Key facoltativa

Revoca una chiave immediatamente. La revoca non è annullabile; la chiave viene rifiutata al più tardi entro 30 secondi. Anche una chiave ruotata la cui sovrapposizione non è finita viene revocata subito. Una chiave creata nel dashboard, e ogni chiave ruotata da essa, può essere revocata solo da se stessa o nel dashboard (permission_escalation).

Richiesta

Parametro Posizione Descrizione
key_id percorso Identificatore della chiave API (key_…).

Corpo:

Il corpo è facoltativo; senza di esso valgono tutti i valori predefiniti.

Campo Tipo Descrizione
reason string Facoltativo. manual (predefinito) o leaked.

Risposta

200 OK. L'oggetto chiave con revoked_at e revoke_reason valorizzati.

{
  "id": "key_0000000000000000000000001z",
  "name": "ci",
  "type": "restricted",
  "permissions": ["users:read"],
  "allowed_cidrs": [],
  "last4": "xxxx",
  "created_by": "key_…",
  "created_at": "2026-10-01T10:00:00Z",
  "expires_at": "2027-10-01T10:00:00Z",
  "last_used_at": null,
  "last_used_ip": null,
  "rotated_from": null,
  "revoked_at": "2026-10-02T10:00:00Z",
  "revoke_reason": "leaked"
}

Errori

HTTP code Quando
401 unauthenticated La chiave manca, non è valida o è revocata.
403 insufficient_permissions La chiave non ha il permesso richiesto.
403 permission_escalation La richiesta darebbe a una chiave più permessi, un range di network più ampio o una scadenza più tardiva di quelli della chiave chiamante, una chiave restricted tenta di creare, ruotare o revocare oltre i propri permessi, oppure un'altra chiave tenta di ruotare o revocare una chiave creata nel dashboard.
404 not_found La chiave non esiste in questo ambiente.
409 conflict La chiave è già revocata.
422 validation_failed Il corpo non è valido: reason non è manual né leaked.

Esempio

curl -X POST "https://api.eu.keenauth.com/v1/api-keys/key_0000000000000000000000001z:revoke" \
  -H "Authorization: Bearer $KEENAUTH_SECRET_KEY" \
  -H "Content-Type: application/json" \
  -d '{"reason":"leaked"}'