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