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.