Réinitialiser tous les deuxièmes facteurs d'un utilisateur
POST /v1/users/{user_id}/authenticators:reset · autorisation user-credentials:write
Révoque tous les deuxièmes facteurs de l'utilisateur et supprime ses codes de récupération ; l'utilisateur enregistre à nouveau un facteur lors de sa prochaine connexion. include_passkeys vaut true par défaut ; avec false, les clés d'accès (y compris celles ayant le rôle both) sont conservées. Les étapes s'exécutent au mieux et peuvent être répétées ; un échec de notification ne fait pas échouer l'appel (notified). La réponse contient des compteurs, jamais des codes ni des secrets. Envoyez un en-tête Idempotency-Key pour rendre les nouvelles tentatives sans risque.
Requête
| Paramètre | Dans | Requis | Description |
|---|---|---|---|
user_id |
path | oui | Identifiant de l'utilisateur, préfixé usr_. |
Corps facultatif :
| Champ | Type | Requis | Description |
|---|---|---|---|
include_passkeys |
boolean | non | true par défaut : les clés d'accès sont aussi révoquées. Avec false, les clés d'accès (y compris celles ayant le rôle both) sont conservées. |
locale |
string | non | Étiquette de langue BCP 47 de la notification, par exemple tr. Par défaut, la langue de l'utilisateur ou celle de l'environnement. |
Réponse
200 OK. Le corps indique le nombre d'opérations effectuées.
{
"revoked_authenticators": 3,
"recovery_codes_deleted": true,
"notified": true
}
Erreurs
Chaque erreur est un corps application/problem+json accompagné d'un code stable.
| HTTP | code |
Quand |
|---|---|---|
| 400 | malformed_request, unknown_field |
Le corps n'est pas du JSON valide ou contient un champ inconnu. |
| 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 possède pas 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/authenticators:reset \
-H "Authorization: Bearer $KEENAUTH_SECRET_KEY" \
-H "Idempotency-Key: $(uuidgen)" \
-H "Content-Type: application/json" \
-d '{"include_passkeys": false, "locale": "en"}'
Données personnelles
Ce point de terminaison contient des données personnelles : identifiants. 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 catégorie particulière de données personnelles (santé, données biométriques, religion, opinions politiques, orientation sexuelle) dans aucun champ.