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.