Mettre à jour votre profil

PATCH /fapi/v1/me · appelé depuis l'hôte de connexion de l'environnement

Modifie les champs du profil de l'utilisateur authentifié. Un champ présent dans le corps est modifié, un champ absent reste inchangé, et une chaîne vide ou null vide le champ. user_metadata, s'il est fourni, est fusionné comme un correctif de fusion RFC 7396. Les mêmes règles de champs que pour l'API de gestion s'appliquent. Le cookie __Host-idp_session de l'utilisateur authentifié est requis ; aucune nouvelle vérification récente n'est nécessaire. Une application de première partie sur une autre origine peut à la place envoyer son jeton d'accès à l'API front (Authorization: DPoP <token> avec une preuve DPoP ; voir Jeton d'accès à l'API front).

Erreurs de champs (422 validation_failed, dans errors[]) : invalid (format ou longueur ; /locale également lorsque la langue n'est pas activée pour l'environnement), too_large et too_many_keys (user_metadata dépasse 16 KiB, une profondeur de 5 ou 100 clés de premier niveau), identifier_type_disabled (les noms d'utilisateur sont désactivés dans l'environnement), profile_field_disabled (l'environnement a désactivé le champ ; le vider reste autorisé) et profile_field_required (l'environnement exige le champ, il ne peut donc pas être vidé).

Requête

En-têtes :

En-tête Obligatoire Description
Idp-Client oui Identifiant du SDK.
Origin oui Doit être exactement https://<hôte de connexion>.
If-Match non Facultatif. L'ETag d'une réponse précédente (ou *) ; la modification n'est effectuée que si le profil est toujours à cette version.

Corps (application/json ou application/merge-patch+json) :

Champ Type Description
given_name chaîne ou null Prénom.
family_name chaîne ou null Nom de famille.
name chaîne ou null Nom complet.
picture chaîne ou null URL de la photo (https).
locale chaîne ou null Langue (balise BCP 47).
zoneinfo chaîne ou null Fuseau horaire (nom IANA).
username chaîne ou null Nom d'utilisateur.
user_metadata objet Correctif de fusion appliqué à user_metadata (RFC 7396).
{
  "given_name": "Ada",
  "zoneinfo": "",
  "user_metadata": {
    "theme": null
  }
}

Réponse

200 OK avec le profil mis à jour (mêmes champs que GET /fapi/v1/me) et un nouvel ETag.

Erreurs

Statut Code Quand
400 malformed_request Le corps ou l'en-tête If-Match est mal formé.
400 unknown_field Le corps contient un champ qui ne peut pas être modifié ici (par exemple email ou app_metadata).
401 unauthenticated Aucun cookie de session valide.
403 origin_not_allowed Origin est absent ou incorrect.
404 not_found Le compte ne peut pas être lu (par exemple bloqué ou en cours de suppression).
409 username_unavailable Le nom d'utilisateur est réservé ou déjà utilisé par un autre compte (les deux cas donnent la même réponse).
412 precondition_failed If-Match ne correspond pas à la version actuelle ; rien n'a été modifié.
413 payload_too_large Le corps dépasse 16 KiB.
415 unsupported_media_type Content-Type non pris en charge.
422 validation_failed Un champ ne respecte pas une règle ; errors[] indique le champ et la raison (voir ci-dessus).
503 service_unavailable L'annuaire des utilisateurs est temporairement indisponible ; réessayez après Retry-After secondes.

Exemple

curl -X PATCH https://example.keenauth.app/fapi/v1/me \
  -H "Idp-Client: my-app/1.0.0 (node/22.0.0)" \
  -H "Origin: https://example.keenauth.app" \
  -H 'If-Match: "7"' \
  -H "Content-Type: application/json" \
  -b cookies.txt \
  -d '{"given_name":"Ada","zoneinfo":""}'

Données personnelles

Cet point de terminaison contient des données personnelles : le profil de l'utilisateur final. Données personnelles dans les API KeenAuth décrit ce qui est stocké, la durée de conservation et la manière dont elles sont supprimées. N'envoyez aucune donnée personnelle sensible (santé, données biométriques, religion, opinions politiques, orientation sexuelle) dans un champ quel qu'il soit.