Listar los bloqueos de cuenta

GET /v1/attack-protection/lockouts · permiso attack-protection:read

Lista los bloqueos de cuenta abiertos del entorno, del más antiguo al más reciente. La protección contra fuerza bruta bloquea una vía de inicio de sesión de un usuario (por ejemplo password o totp) después de demasiados fallos; las demás vías del usuario siguen abiertas. Un bloqueo que ya expiró no aparece en la lista, porque ya no bloquea la vía. La lista pagina solo hacia adelante y no devuelve un total. La respuesta no contiene ninguna dirección IP ni ninguna clave del contador de fallos.

Solicitud

Parámetro En Obligatorio Descripción
limit query no Elementos por página, de 1 a 100 (predeterminado 20).
after query no Cursor de list_metadata.after de la página anterior.

before y order=desc no se admiten y devuelven 422.

Respuesta

200 OK.

{
  "data": [
    {
      "id": "lck_01jaz8m5c3f6t9w2y4b7d0g3k6",
      "user_id": "usr_0a1b2c3d4e5f6g7h8j9k0m1n2p",
      "path": "password",
      "locked_at": "2026-10-20T09:00:00Z",
      "expires_at": "2026-10-20T09:15:00Z",
      "failure_count": 20
    }
  ],
  "list_metadata": {"before": null, "after": null}
}
Campo Descripción
id Id del bloqueo, con el prefijo lck_. El evento user.unlocked incluye el mismo id.
user_id El usuario bloqueado.
path La vía de inicio de sesión bloqueada: password, totp, sms_2fa, email_2fa, otp o recovery_code.
locked_at, expires_at Cuándo empezó el bloqueo y cuándo termina por sí solo.
failure_count Intentos fallidos en la ventana que causó el bloqueo.

Errores

Cada error es un cuerpo application/problem+json con un code estable.

HTTP code Cuándo
400 invalid_cursor El cursor está mal formado o pertenece a otra lista.
422 validation_failed limit está fuera de rango, o se envió before o un order descendente.
401 unauthenticated Falta la clave de API, no es válida o está revocada.
403 insufficient_permissions La clave no tiene el permiso attack-protection:read.
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 https://api.eu.keenauth.com/v1/attack-protection/lockouts?limit=50 \
  -H "Authorization: Bearer $KEENAUTH_SECRET_KEY"

CLI: keenauth attack-protection lockouts list --limit 50