Appliquer un profil de correspondance d'attributs prédéfini

POST /v1/connections/{connection_id}/attribute-mappings:apply-profile · autorisation connections:write

Remplace les règles à cible fixe (e-mail, noms, groupes…) d'une connexion d'entreprise par les règles d'un profil prédéfini : entra, okta, google, ping, jumpcloud ou keycloak pour SAML, generic pour OIDC. Les règles user_metadata.<key> stockées sont conservées. L'attribut de sujet SAML n'est pas modifié : le sujet est configuré séparément, et le changer rendrait orphelines les identités liées. If-Match est requis, comme pour le remplacement de la liste. Appliquer un profil déjà appliqué n'écrit rien. L'écriture est journalisée sous connection.attribute_mappings_replaced avec le nom du profil.

Requête

Champ Type Obligatoire Description
connection_id path oui Identifiant de la connexion d'entreprise (conn_…).
If-Match header oui L'ETag de la dernière lecture. Absent : 428 ; obsolète : 412.
profile string oui entra, okta, google, ping, jumpcloud, keycloak (SAML) ou generic (OIDC).

Réponse

200 OK avec la liste enregistrée (voir Récupérer les correspondances d'attributs) et le nouvel ETag.

Erreurs

HTTP code Quand
404 not_found La connexion n'existe pas dans cet environnement ou n'est pas une connexion d'entreprise.
409 conflict Le protocole de la connexion ne prend pas en charge les correspondances d'attributs (LDAP).
412 precondition_failed If-Match ne correspond pas à la version actuelle, ou la liste a été modifiée simultanément.
422 validation_failed profile est absent, inconnu ou n'est pas un profil prédéfini du protocole de la connexion (/profile), ou une règle user_metadata conservée lit un attribut du profil avec un autre NameFormat (/profile, conflicts_with_stored_mappings).
428 precondition_required L'en-tête If-Match est absent.
401 unauthenticated L'identifiant d'accès est absent, invalide ou révoqué.
403 insufficient_permissions L'identifiant d'accès ne dispose pas de l'autorisation requise.
429 rate_limited La limite de débit a été dépassée ; réessayez après la durée indiquée par Retry-After.
503 service_unavailable Une dépendance est temporairement indisponible ; réessayez après la durée indiquée par Retry-After.

Exemple

curl -X POST "https://api.eu.keenauth.com/v1/connections/conn_01j9xp6q0r1s5t7v9w1x3y5z7b/attribute-mappings:apply-profile" \
  -H "Authorization: Bearer $KEENAUTH_SECRET_KEY" \
  -H "Content-Type: application/json" \
  -H 'If-Match: "6f1c…"' \
  -d '{"profile":"entra"}'
keenauth connections attribute-mappings apply-profile conn_01j9xp6q0r1s5t7v9w1x3y5z7b --profile entra --if-match '"6f1c…"'