Marquer une adresse e-mail comme vérifiée par un administrateur

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

Marque l'adresse comme vérifiée sous votre responsabilité. Aucun code ni lien n'est envoyé à l'utilisateur, et la méthode de vérification est enregistrée comme admin_api ; elle ne prouve donc pas que l'utilisateur contrôle la boîte aux lettres. Privilégiez :send-verification lorsque vous n'avez pas vérifié vous-même l'adresse. Si l'adresse est déjà vérifiée, rien n'est écrit et 200 est renvoyé. Les copies non vérifiées de la même adresse sur d'autres comptes de l'environnement sont supprimées. La modification est enregistrée dans le journal d'audit de gestion sous user.email_verified, la clé API étant l'auteur, et déclenche l'événement user.updated.

Requête

Paramètre Dans Obligatoire Description
user_id path oui Identifiant de l'utilisateur, préfixé usr_.
email_id path oui Identifiant de la ligne d'adresse e-mail (UUID interne, en minuscules, avec tirets), tel que renvoyé par GET /v1/users/{user_id}/emails.

La requête ne comporte aucun corps (un corps vide ou {} est accepté).

Réponse

200 OK avec la ligne d'adresse e-mail mise à jour. 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": true,
  "primary": false,
  "created_at": "2026-01-15T09:30:00Z"
}

Erreurs

Toute erreur est un corps application/problem+json contenant un code stable.

HTTP code Quand
400 malformed_request, unknown_field Le corps n'est pas du JSON valide, ou n'est ni vide ni {}.
404 not_found L'utilisateur ou la ligne d'adresse e-mail n'existe pas dans cet environnement, l'adresse n'appartient pas à cet utilisateur, ou un identifiant est mal formé.
401 unauthenticated La clé 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/0191f0a0-3333-7444-8555-666666666666:verify \
  -H "Authorization: Bearer $KEENAUTH_SECRET_KEY"

Données personnelles

Cet point de terminaison traite des données personnelles : profil de l'utilisateur final. Données personnelles dans les API KeenAuth décrit les données stockées, leur durée de conservation et leur suppression. Ne transmettez aucune catégorie particulière de données personnelles (santé, données biométriques, religion, opinions politiques, orientation sexuelle) dans aucun champ.