Elenca gli autenticatori di un utente

GET /v1/users/{user_id}/authenticators · autorizzazione users:read

Elenca gli autenticatori (passkey, TOTP, SMS, email e fattori push) di un utente in un'unica pagina, inclusi quelli revocati negli ultimi 90 giorni, ordinati per data di creazione. Il numero di autenticatori per utente è limitato, quindi l'elenco non ha limit, after, before o order, e list_metadata ha sempre valore null. Vengono restituiti solo i metadati: mai chiavi pubbliche, ID delle credenziali, segreti TOTP o codici di recupero.

Ambito dell'organizzazione

Passa org_id per costruire una vista diagnostica dei membri per un amministratore dell'organizzazione. La chiave deve avere anche l'autorizzazione organizations:read; altrimenti la richiesta fallisce con 403 insufficient_permissions prima che venga letto qualsiasi dato. Se l'utente non è membro di quell'organizzazione (nessuna appartenenza invited, active o suspended), la richiesta fallisce con 404 not_found, la stessa risposta di un utente sconosciuto. Se l'utente è membro, vengono mostrate solo la classe di ciascun autenticatore e se è stato registrato l'MFA: sono elencati solo gli autenticatori attivi, mentre label, last_used_at, revoked_at, revoked_by e revoke_reason sono null e synced è false, perché i dettagli del dispositivo della persona al di fuori dell'organizzazione non le competono. L'MFA risulta registrato quando un autenticatore attivo ha il role second_factor o both. Senza org_id la risposta non cambia.

Richiesta

Parametro In Obbligatorio Descrizione
user_id path sì ID utente, con prefisso usr_.
org_id query no ID dell'organizzazione, con prefisso org_. Limita la vista a quell'organizzazione; vedi Ambito dell'organizzazione. Richiede organizations:read.

Risposta

200 OK. data contiene gli autenticatori ordinati per data di creazione; list_metadata ha sempre valore null perché l'elenco non è paginato. I campi vuoti sono null.

Quando la chiave non ha l'autorizzazione users:read_pii, label viene ridotta alle iniziali (A. L.).

{
  "data": [
    {
      "id": "cred_0a1b2c3d4e5f6g7h8j9k0m1n2p",
      "type": "webauthn",
      "role": "both",
      "label": "Laptop",
      "status": "active",
      "synced": true,
      "created_at": "2026-01-15T09:30:00Z",
      "last_used_at": "2026-02-01T08:00:00Z",
      "revoked_at": null,
      "revoked_by": null,
      "revoke_reason": null
    }
  ],
  "list_metadata": {
    "before": null,
    "after": null
  }
}

type: webauthn, totp, sms, email, push · role: first_factor, second_factor, both · status: pending, active, revoked, clone_suspected

Errori

Ogni errore è un corpo application/problem+json con un code stabile.

HTTP code Quando
404 not_found L'utente non esiste in questo ambiente (o l'ID non è valido), oppure org_id è presente e l'utente non è membro di quell'organizzazione.
401 unauthenticated La chiave API manca, non è valida o è stata revocata.
403 insufficient_permissions La chiave non ha l'autorizzazione users:read, oppure org_id è presente e la chiave non ha organizations:read.
429 rate_limited È stato superato il limite di richieste; rispetta Retry-After.
503 service_unavailable Una dipendenza non è temporaneamente disponibile; riprova più tardi.

Esempio

curl https://api.eu.keenauth.com/v1/users/usr_0a1b2c3d4e5f6g7h8j9k0m1n2p/authenticators \
  -H "Authorization: Bearer $KEENAUTH_SECRET_KEY"

Dati personali

Questo endpoint tratta dati personali: credenziali. Dati personali nelle API di KeenAuth descrive cosa viene memorizzato, per quanto tempo viene conservato e come viene cancellato. Non inviare categorie particolari di dati personali (salute, dati biometrici, religione, opinioni politiche, orientamento sessuale) in nessun campo.