Eine Anwendung aussetzen

POST /v1/applications/{application_id}:suspend · Berechtigung applications:write

Setzt den status der Anwendung auf suspended. Ab dann kann die Anwendung keine neuen Tokens mehr erhalten: Autorisierung, PAR, Geräteautorisierung, der Token-Endpunkt (einschließlich Refresh und client_credentials), Introspection und Widerruf lehnen sie als Client ab. Die Aussetzung beendet außerdem, was die Anwendung bereits besitzt: KeenAuth widerruft ihre aktiven Refresh-Token-Familien, die vor der Aussetzung geöffnet wurden (Grund client_revoked), und markiert ihre client_id, sodass Introspection und Userinfo Access-Token ablehnen, die ihr vor diesem Zeitpunkt ausgestellt wurden. Ein Resource Server, der nur die Signatur des JWT prüft, akzeptiert ein solches Access-Token bis zu seinem Ablauf weiterhin. Die Client-Zugangsdaten der Anwendung bleiben erhalten, daher benötigt das Fortsetzen kein neues Secret. Die Anfrage hat keinen Body (leer oder {}). Das Aussetzen einer bereits ausgesetzten Anwendung ändert nichts und liefert die aktuelle Anwendung mit derselben Version. Die Änderung wird als application.updated im Verwaltungs-Audit-Log protokolliert und als Ereignisse application_changed und application_status_changed veröffentlicht.

Anfrage

Header: If-Match: "<version>" (optional). Mit If-Match gilt die Änderung nur für diese Version (sonst 412); ohne Header wird die neueste Version verwendet, und die Anfrage wird wiederholt, wenn ein anderer Schreibvorgang die Anwendung gleichzeitig ändert. Senden Sie einen Idempotency-Key-Header, damit Wiederholungen sicher sind.

Parameter In Pflicht Beschreibung
application_id path ja Anwendungs-ID, mit app_ beginnend.

Antwort

200 OK mit der Anwendung ("status": "suspended") und ihrem ETag.

Fehler

Jeder Fehler ist ein application/problem+json-Body mit einem stabilen code.

HTTP code Wann
400 malformed_request, unknown_field Ein Body wurde gesendet, der kein gültiges JSON ist oder ein Feld enthält.
401 unauthenticated Der API-Schlüssel fehlt, ist ungültig oder widerrufen.
403 insufficient_permissions Der Schlüssel hat nicht die Berechtigung applications:write.
404 not_found Die Anwendung existiert in dieser Umgebung nicht (oder die ID ist fehlerhaft).
412 precondition_failed Die Version in If-Match ist veraltet.
429 rate_limited Das Ratenlimit wurde überschritten; Retry-After beachten.
503 service_unavailable Eine Abhängigkeit ist vorübergehend nicht verfügbar; später erneut versuchen.

Beispiel

curl -X POST https://api.eu.keenauth.com/v1/applications/app_6f8d0cjgbmf0gtn2rg6pscp3cg:suspend \
  -H "Authorization: Bearer $KEENAUTH_SECRET_KEY" \
  -H "Idempotency-Key: $(uuidgen)"

CLI: keenauth applications suspend app_6f8d0cjgbmf0gtn2rg6pscp3cg --yes