Aktualisiere eine Anwendung

PATCH /v1/applications/{application_id} · Berechtigung applications:write

Aktualisiert eine Anwendung mit einem JSON-Merge-Patch (application/merge-patch+json, RFC 7396): Felder, die du sendest, ändern sich, null löscht ein ablehnbares Feld, Arrays werden vollständig ersetzt. If-Match ist erforderlich: ohne sie fehlgeschlagen mit 428, mit veralteter Version mit 412. Die unveränderlichen Felder key, app_type, registration_source und owner_org_id geben 422 mit Code immutable zurück, wenn du einen anderen Wert sendest. Ein Patch, der nichts ändert, hinterlässt die Anwendung und ihre Version unverändert.

Anfrage

Headers: If-Match: "<version>" (erforderlich), Content-Type: application/merge-patch+json.

Path: application_id (app_…).

Body: jede Teilmenge der beschreibbaren Felder auf der Create-Seite aufgeführt (key, name, app_type, … connection_ids). null löscht ein Feld, das ablehnbar ist; Arrays ersetzen die ganze Liste; jwks wird als Objekt ersetzt. Schreibgeschützte Felder (id, client_id, version, created_at, updated_at, last_token_issued_at, last_token_asn) werden abgelehnt.

Antwort

200 OK mit der aktualisierten Anwendung und dem neuen ETag.

Fehler

HTTP code Wann
401 unauthenticated Der Schlüssel fehlt, ist ungültig oder wurde widerrufen.
403 insufficient_permissions Der Schlüssel hat nicht die erforderliche Berechtigung.
404 not_found Die Anwendung existiert nicht in dieser Umgebung.
428 precondition_required Der If-Match-Header fehlt.
412 precondition_failed Die Version in If-Match ist veraltet.
422 validation_failed Ein Feld ist ungültig oder ein unveränderliches Feld hat sich geändert.
422 policy_conflict allowed_first_factors hat keine gemeinsame Methode mit der Erstfaktor-Menge der Umgebung.
400 unknown_field Der Patch hat ein Feld, das nicht Teil des Schemas ist (einschließlich schreibgeschützter Felder wie id).
415 unsupported_media_type Content-Type ist nicht application/merge-patch+json.

Beispiel

curl -X PATCH https://api.eu.keenauth.com/v1/applications/app_6f8d0cjgbmf0gtn2rg6pscp3cg \
  -H "Authorization: Bearer $KEENAUTH_SECRET_KEY" \
  -H "Content-Type: application/merge-patch+json" \
  -H 'If-Match: "1"' \
  -d '{"name":"Portal v2","login_host":null}'