Elenco dei consensi di un utente

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

Elenca i consensi OAuth che l'utente ha concesso alle applicazioni, dal più recente al più vecchio. Vengono restituiti solo i consensi attivi: un consenso revocato, o sostituito da un consenso più recente della stessa applicazione, non compare nell'elenco. L'elenco è paginato solo in avanti e non restituisce un conteggio totale. La risposta non include il testo della schermata di consenso che l'utente ha visto.

Richiesta

Parametro In Obbligatorio Descrizione
user_id path sì ID utente, con prefisso usr_.
limit query no Elementi per pagina, da 1 a 100 (predefinito 20).
after query no Cursore da list_metadata.after della pagina precedente dello stesso utente.

before e order=asc non sono supportati e restituiscono 422.

Risposta

200 OK. I campi vuoti sono null.

{
  "data": [
    {
      "id": "cns_01jb2k8m5c3f6t9w2y4b7d0g3k",
      "user_id": "usr_0a1b2c3d4e5f6g7h8j9k0m1n2p",
      "application_id": "app_0a1b2c3d4e5f6g7h8j9k0m1n2p",
      "api_id": "api_0a1b2c3d4e5f6g7h8j9k0m1n2p",
      "org_id": null,
      "scopes": ["openid", "profile", "orders:read"],
      "authorization_details_types": [],
      "granted_at": "2026-10-20T09:00:00Z",
      "consent_screen_version": "3",
      "locale": "en",
      "prompt_reason": "scope_expansion"
    }
  ],
  "list_metadata": {"before": null, "after": null}
}
Campo Descrizione
id ID del consenso, con prefisso cns_.
application_id L'applicazione a cui è stato concesso il consenso.
api_id L'API a cui il consenso è associato, se presente.
org_id Il contesto dell'organizzazione in cui è stato concesso il consenso, se presente.
scopes Gli scope concessi, ordinati e senza duplicati.
authorization_details_types Tipi di richiesta di autorizzazione ricca concessi; vuoto se non ce ne sono.
consent_screen_version, locale La versione e la lingua della schermata di consenso accettata dall'utente.
prompt_reason Motivo per cui è stato chiesto il consenso: first, scope_expansion, prompt_consent o skip_consent (applicazione first-party senza schermata di consenso).

Errori

Ogni errore è un corpo 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 ascendente.
404 not_found L'utente non esiste in questo ambiente (o l'ID è malformato).
401 unauthenticated La chiave API manca, non è valida o è stata revocata.
403 insufficient_permissions La chiave non ha l'autorizzazione users: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/consents?limit=50" \
  -H "Authorization: Bearer $KEENAUTH_SECRET_KEY"

CLI: keenauth users consents list usr_0a1b2c3d4e5f6g7h8j9k0m1n2p --limit 50

Dati personali

Questo endpoint contiene dati personali: record di consenso. 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.