Remplacer les connexions d'une application

PUT /v1/applications/{application_id}/connections · autorisations applications:write et connections:write

Remplace en une seule étape la liste complète des connexions activées sur l'application. L'ordre de connection_ids est l'ordre des boutons sur la page de connexion hébergée ; une liste vide désactive toutes les connexions. Chaque connexion doit exister dans le même environnement : une connexion d'un autre environnement est traitée comme une connexion inexistante (422 sur /connection_ids) et rien n'est écrit. Envoyer la liste que l'application possède déjà ne change rien et conserve la version. La modification est écrite dans le journal d'audit de gestion sous application.updated et publiée sous forme d'événement application_changed ; la suppression d'une connexion prend effet à la prochaine connexion.

Requête

En-têtes : If-Match: "<version>" (facultatif). Avec If-Match, la liste n'est écrite que si l'application est toujours à cette version (412 sinon) ; sans lui, la liste est écrite quelle que soit la version. Envoyez un en-tête Idempotency-Key pour rendre les nouvelles tentatives sûres.

Paramètre Dans Obligatoire Description
application_id path oui Identifiant de l'application, préfixé app_.

Corps

Champ Type Obligatoire Description
connection_ids tableau de chaînes oui Identifiants de connexion (conn_…), uniques, au maximum 100, dans l'ordre des boutons.

Réponse

200 OK avec l'application et son nouvel ETag.

Erreurs

Chaque erreur est un corps application/problem+json avec un code stable.

HTTP code Quand
400 malformed_request, unknown_field Le corps n'est pas du JSON valide ou contient un champ inconnu.
401 unauthenticated La clé d'API est absente, invalide ou révoquée.
403 insufficient_permissions La clé ne dispose pas de applications:write ou de connections:write.
404 not_found L'application n'existe pas dans cet environnement (ou l'identifiant est mal formé).
412 precondition_failed La version dans If-Match est périmée.
422 validation_failed connection_ids est absent, contient plus de 100 éléments, un identifiant mal formé ou répété, ou une connexion qui n'est pas dans cet environnement.
429 rate_limited La limite de débit a été dépassée ; respectez Retry-After.
503 service_unavailable Une dépendance est temporairement indisponible ; réessayez plus tard.

Exemple

curl -X PUT https://api.eu.keenauth.com/v1/applications/app_6f8d0cjgbmf0gtn2rg6pscp3cg/connections \
  -H "Authorization: Bearer $KEENAUTH_SECRET_KEY" \
  -H "Content-Type: application/json" \
  -d '{"connection_ids":["conn_01h455vb4pex5vsknk084sn02q"]}'

CLI : keenauth applications put-connections app_6f8d0cjgbmf0gtn2rg6pscp3cg --connection-ids conn_01h455vb4pex5vsknk084sn02q (pour désactiver toutes les connexions, envoyez {"connection_ids":[]} avec --data -)