Démarrer la récupération de compte pour un utilisateur
POST /v1/users/{user_id}:start-recovery · autorisation user-credentials:write
Envoie un lien de récupération (valable 24 heures) à l'adresse e-mail principale de l'utilisateur, sans délai d'attente ; c'est le chemin du mode de récupération admin_only. La demande est ouverte directement avec le statut ready, et une demande de récupération ouverte est remplacée dans la même transaction (superseded). Le lien n'est jamais renvoyé. Le corps facultatif sert uniquement à sélectionner la langue de l'e-mail. Envoyez un en-tête Idempotency-Key pour que les nouvelles tentatives soient sans risque.
Requête
| Paramètre | Dans | Obligatoire | Description |
|---|---|---|---|
user_id |
path | oui | Identifiant de l'utilisateur, préfixé usr_. |
Corps facultatif :
| Champ | Type | Obligatoire | Description |
|---|---|---|---|
locale |
string | non | Étiquette de langue BCP 47 de l'e-mail, par exemple tr ou pt-BR. Par défaut, la langue de l'utilisateur ou de l'environnement. |
Réponse
200 OK. request_id identifie la demande de récupération (préfixe arq_) ; superseded indique si une demande ouverte a été remplacée.
{
"request_id": "arq_0a1b2c3d4e5f6g7h8j9k0m1n2p",
"expires_at": "2026-01-16T09:30:00Z",
"superseded": false
}
Erreurs
Chaque erreur est un corps application/problem+json contenant un code stable.
| HTTP | code |
Quand |
|---|---|---|
| 400 | malformed_request, unknown_field |
Le corps n'est pas un JSON valide ou contient un champ inconnu. |
| 409 | conflict |
La récupération de compte est disabled dans les paramètres de l'environnement, ou l'utilisateur n'a pas d'adresse e-mail principale. |
| 415 | unsupported_media_type |
Un corps a été envoyé sans Content-Type: application/json. |
| 422 | validation_failed |
locale n'est pas une étiquette de langue BCP 47 valide, ou un champ a un type incorrect. |
| 404 | not_found |
L'utilisateur n'existe pas dans cet environnement (ou l'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 user-credentials: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:start-recovery \
-H "Authorization: Bearer $KEENAUTH_SECRET_KEY" \
-H "Idempotency-Key: $(uuidgen)" \
-H "Content-Type: application/json" \
-d '{"locale": "en"}'