Ajouter une adresse e-mail secondaire non vérifiée à un utilisateur

POST /v1/users/{user_id}/emails · autorisation users:write

Ajoute à l'utilisateur une adresse e-mail secondaire non vérifiée. L'adresse est normalisée avant d'être stockée. Si l'utilisateur possède déjà la même adresse, aucune ligne n'est écrite et la ligne existante est renvoyée (elle peut être vérifiée ou principale), de sorte que répéter la requête est sans risque. Une nouvelle ligne est écrite dans le journal d'audit de gestion sous user.email_added, avec la clé d'API comme auteur ; l'adresse elle-même n'est pas écrite dans l'enregistrement d'audit. Pour vérifier l'adresse, envoyez un e-mail de vérification avec POST /v1/users/{user_id}/emails/{email_id}:send-verification ou marquez-la comme vérifiée avec :verify.

Requête

Paramètre Dans Obligatoire Description
user_id path oui Identifiant de l'utilisateur, préfixé usr_.
Champ Type Obligatoire Description
email string oui L'adresse, au plus 320 caractères.

Réponse

201 Created avec la ligne d'e-mail. Sans l'autorisation users:read_pii, l'adresse est masquée (a***@e***.com).

{
  "id": "0191f0a0-3333-7444-8555-666666666666",
  "email": "ada@example.com",
  "verified": false,
  "primary": false,
  "created_at": "2026-01-15T09:30:00Z"
}

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.
409 conflict L'adresse est vérifiée sur un autre utilisateur de cet environnement (errors[] : /email, email_taken).
409 email_limit_reached L'utilisateur possède déjà 10 adresses.
415 unsupported_media_type Le corps a été envoyé sans Content-Type: application/json.
422 validation_failed email est absent, vide, dépasse 320 caractères, n'est pas une adresse valide ou a un type incorrect.
404 not_found L'utilisateur n'existe pas dans cet environnement, est en cours de suppression, ou l'identifiant est mal formé.
401 unauthenticated La clé d'API est absente, invalide ou révoquée.
403 insufficient_permissions La clé ne dispose pas de l'autorisation users:write.
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 POST https://api.eu.keenauth.com/v1/users/usr_0a1b2c3d4e5f6g7h8j9k0m1n2p/emails \
  -H "Authorization: Bearer $KEENAUTH_SECRET_KEY" \
  -H "Content-Type: application/json" \
  -d '{"email": "ada@example.com"}'

Données personnelles

Cet endpoint traite des données personnelles : le profil de l'utilisateur final. Données personnelles dans les API KeenAuth décrit ce qui est stocké, combien de temps il est conservé et comment il est supprimé. N'envoyez de données personnelles sensibles (santé, données biométriques, religion, opinions politiques, orientation sexuelle) dans aucun champ.