Ottieni un utente
GET /v1/users/{user_id} · autorizzazione users:read
Restituisce un utente. Un utente di un altro ambiente, un utente che non esiste e un utente che è stato eliminato restituiscono tutti 404; l'esistenza non viene mai rivelata tra ambienti.
Richiesta
| Parametro | In | Obbligatorio | Descrizione |
|---|---|---|---|
user_id |
path | sì | ID utente, con prefisso usr_. |
include |
query | no | Imposta deleted per ottenere un tombstone per un utente eliminato invece di 404. |
Con include=deleted, un utente eliminato restituisce 410 con deleted_at, deletion_id, backups_purged_by (la data entro cui i dati vengono rimossi dai backup) e, per un utente unito, merged_into; un utente che non è mai esistito restituisce comunque 404.
Risposta
200 OK. Il body è l'oggetto utente. L'header ETag contiene la versione dell'utente.
I dati personali vengono mascherati quando la chiave non ha l'autorizzazione users:read_pii: email diventa a***@e***.com, phone_number mantiene solo le ultime 2 cifre (+**********67), name, given_name, family_name, middle_name e nickname diventano iniziali (A. L.), username mantiene solo il primo carattere (a***), birthdate diventa ****-**-** e address diventa {"redacted": true}. user_metadata e app_metadata non vengono mascherati.
{
"id": "usr_0a1b2c3d4e5f6g7h8j9k0m1n2p",
"kind": "regular",
"status": "active",
"external_id": null,
"username": null,
"name": "Ada Lovelace",
"email": "ada@example.com",
"email_verified": true,
"phone_number": null,
"phone_verified": false,
"user_metadata": {},
"app_metadata": {},
"created_via": "admin_api",
"created_at": "2026-01-15T09:30:00Z",
"updated_at": "2026-01-15T09:30:00Z",
"last_sign_in_at": null,
"deletion_requested_at": null,
"deletion_due_at": null
}
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 (oppure l'ID non è valido). |
| 410 | user_deleted |
L'utente è stato eliminato e include=deleted è stato richiesto; il body contiene deleted_at, deletion_id, backups_purged_by e, per un utente unito, merged_into. |
| 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 è temporaneamente non disponibile; riprova più tardi. |
Esempio
curl https://api.eu.keenauth.com/v1/users/usr_0a1b2c3d4e5f6g7h8j9k0m1n2p \
-H "Authorization: Bearer $KEENAUTH_SECRET_KEY"
Dati personali
Questo endpoint gestisce dati personali: profilo dell'utente finale. Dati personali nelle API di KeenAuth descrive cosa viene memorizzato, per quanto tempo viene conservato e come viene eliminato. Non inviare categorie particolari di dati personali (salute, dati biometrici, religione, opinioni politiche, orientamento sessuale) in nessun campo.