Elenca i blocchi degli account
GET /v1/attack-protection/lockouts · permesso attack-protection:read
Elenca i blocchi degli account attivi nell'ambiente, dal più vecchio. La protezione dalla forza bruta blocca un percorso di accesso di un utente (per esempio password o totp) dopo troppi tentativi falliti; gli altri percorsi dell'utente restano aperti. Un blocco scaduto non viene elencato, perché non blocca più il percorso. L'elenco procede solo in avanti e non restituisce un conteggio totale. La risposta non contiene indirizzi IP né la chiave del contatore dei tentativi falliti.
Richiesta
| Parametro | In | Obbligatorio | Descrizione |
|---|---|---|---|
limit |
query | no | Elementi per pagina, da 1 a 100 (predefinito 20). |
after |
query | no | Cursore da list_metadata.after della pagina precedente. |
before e order=desc non sono supportati e restituiscono 422.
Risposta
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 | Descrizione |
|---|---|
id |
ID del blocco, con prefisso lck_. L'evento user.unlocked riporta lo stesso ID. |
user_id |
L'utente bloccato. |
path |
Il percorso di accesso bloccato: password, totp, sms_2fa, email_2fa, otp o recovery_code. |
locked_at, expires_at |
Quando il blocco è iniziato e quando si rimuove da solo. |
failure_count |
Tentativi falliti nella finestra che ha causato il blocco. |
Errori
Ogni errore è un body application/problem+json con un code stabile.
| HTTP | code |
Quando |
|---|---|---|
| 400 | invalid_cursor |
Il cursore è malformato o appartiene a un altro elenco. |
| 422 | validation_failed |
limit è fuori intervallo, oppure è stato inviato before o un order discendente. |
| 401 | unauthenticated |
La chiave API manca, non è valida o è stata revocata. |
| 403 | insufficient_permissions |
La chiave non ha il permesso attack-protection:read. |
| 429 | rate_limited |
È stato superato il limite di frequenza; attendi il periodo indicato in Retry-After. |
| 503 | service_unavailable |
Una dipendenza non è disponibile temporaneamente; riprova più tardi. |
Esempio
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