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.