Restablecer todos los segundos factores de un usuario
POST /v1/users/{user_id}/authenticators:reset · permiso user-credentials:write
Revoca todos los segundos factores del usuario y elimina los códigos de recuperación; el usuario deberá registrar de nuevo un factor en el siguiente inicio de sesión. include_passkeys tiene como valor predeterminado true; con false, las claves de acceso (incluidas las que tienen el rol both) se conservan. Los pasos se ejecutan con el mejor esfuerzo posible y pueden repetirse; un fallo en la notificación no hace fallar la llamada (notified). La respuesta incluye recuentos, nunca códigos ni secretos. Envíe un encabezado Idempotency-Key para que los reintentos sean seguros.
Solicitud
| Parámetro | En | Obligatorio | Descripción |
|---|---|---|---|
user_id |
path | sí | Identificador del usuario, con prefijo usr_. |
Cuerpo opcional:
| Campo | Tipo | Obligatorio | Descripción |
|---|---|---|---|
include_passkeys |
boolean | no | true por defecto: las claves de acceso también se revocan. Con false, las claves de acceso (incluidas las de rol both) se conservan. |
locale |
string | no | Etiqueta de idioma BCP 47 de la notificación, por ejemplo tr. Por defecto, el idioma del usuario o el del entorno. |
Respuesta
200 OK. El cuerpo indica el recuento de lo realizado.
{
"revoked_authenticators": 3,
"recovery_codes_deleted": true,
"notified": true
}
Errores
Todo error es un cuerpo application/problem+json con un code estable.
| HTTP | code |
Cuándo |
|---|---|---|
| 400 | malformed_request, unknown_field |
El cuerpo no es JSON válido o tiene un campo desconocido. |
| 415 | unsupported_media_type |
Se envió un cuerpo sin Content-Type: application/json. |
| 422 | validation_failed |
locale no es una etiqueta de idioma BCP 47 válida, o un campo tiene un tipo incorrecto. |
| 404 | not_found |
El usuario no existe en este entorno (o el identificador está mal formado). |
| 401 | unauthenticated |
La clave de API falta, no es válida o ha sido revocada. |
| 403 | insufficient_permissions |
La clave no tiene el permiso user-credentials:write. |
| 429 | rate_limited |
Se superó el límite de frecuencia; respete Retry-After. |
| 503 | service_unavailable |
Una dependencia no está disponible temporalmente; reintente más tarde. |
Ejemplo
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"}'
Datos personales
Este endpoint contiene datos personales: credenciales. Datos personales en las API de KeenAuth describe qué se almacena, durante cuánto tiempo se conserva y cómo se elimina. No envíe categorías especiales de datos personales (salud, datos biométricos, religión, opiniones políticas, orientación sexual) en ningún campo.