Mettre à jour une application

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

Met à jour une application avec un JSON Merge Patch (application/merge-patch+json, RFC 7396) : les champs que vous envoyez changent, null efface un champ nullable, les tableaux sont remplacés dans leur intégralité. If-Match est obligatoire : sans elle, la requête échoue avec 428, avec une version obsolète avec 412. Les champs immuables key, app_type, registration_source et owner_org_id retournent 422 avec le code immutable si vous envoyez une valeur différente. Un patch qui ne change rien laisse l'application et sa version intactes.

Demande

En-têtes : If-Match: "<version>" (obligatoire), Content-Type: application/merge-patch+json.

Chemin : application_id (app_…).

Corps : n'importe quel sous-ensemble des champs inscriptibles listés sur la page de création (key, name, app_type, … connection_ids). null efface un champ qui est nullable ; les tableaux remplacent toute la liste ; jwks est remplacé en tant qu'objet. Les champs en lecture seule (id, client_id, version, created_at, updated_at, last_token_issued_at, last_token_asn) sont rejetés.

Réponse

200 OK avec l'application mise à jour et le nouvel ETag.

Erreurs

HTTP code Quand
401 unauthenticated La clé est manquante, invalide ou révoquée.
403 insufficient_permissions La clé n'a pas la permission requise.
404 not_found L'application n'existe pas dans cet environnement.
428 precondition_required L'en-tête If-Match est manquant.
412 precondition_failed La version dans If-Match est obsolète.
422 validation_failed Un champ est invalide ou un champ immuable a changé.
422 policy_conflict allowed_first_factors n'a aucune méthode en commun avec l'ensemble des premiers facteurs de l'environnement.
400 unknown_field Le patch a un champ qui ne fait pas partie du schéma (y compris les champs en lecture seule comme id).
415 unsupported_media_type Content-Type n'est pas application/merge-patch+json.

Exemple

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