API-Schlüssel widerrufen

POST /v1/api-keys/{key_id}:revoke · Berechtigung api-keys:write · optionaler Idempotency-Key

Widerruft einen Schlüssel sofort. Der Widerruf ist nicht rückgängig zu machen; der Schlüssel wird spätestens nach 30 Sekunden abgelehnt. Ein rotierter Schlüssel, dessen Überlappung noch läuft, wird ebenfalls sofort widerrufen. Ein Schlüssel, der im Dashboard erstellt wurde, und jeder von dort aus rotierte Schlüssel können nur von sich selbst oder im Dashboard widerrufen werden (permission_escalation).

Anfrage

Parameter Ort Beschreibung
key_id Pfad ID des API-Schlüssels (key_…).

Body:

Der Body ist optional; ohne ihn gelten alle Standardwerte.

Feld Typ Beschreibung
reason string Optional. manual (Standard) oder leaked.

Antwort

200 OK. Das Schlüsselobjekt mit gesetztem revoked_at und revoke_reason.

{
  "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"
}

Fehler

HTTP code Wann
401 unauthenticated Der Schlüssel fehlt, ist ungültig oder widerrufen.
403 insufficient_permissions Dem Schlüssel fehlt die erforderliche Berechtigung.
403 permission_escalation Die Anfrage würde einem Schlüssel mehr Berechtigungen, einen breiteren Netzwerkbereich oder einen späteren Ablauf als der aufrufende Schlüssel hat geben, ein restricted-Schlüssel versucht, über seine eigenen Berechtigungen hinaus zu erstellen, zu rotieren oder zu widerrufen, oder ein anderer Schlüssel versucht, einen Schlüssel zu rotieren oder zu widerrufen, der im Dashboard erstellt wurde.
404 not_found Der Schlüssel existiert in dieser Umgebung nicht.
409 conflict Der Schlüssel ist bereits widerrufen.
422 validation_failed Der Body ist ungültig: reason ist weder manual noch leaked.

Beispiel

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"}'