Contrassegnare un indirizzo email come verificato da un amministratore
POST /v1/users/{user_id}/emails/{email_id}:verify · autorizzazione users:write
Contrassegna l'indirizzo come verificato sotto la tua responsabilità. Non viene inviato alcun codice o link all'utente, e il metodo di verifica viene memorizzato come admin_api, quindi non è una prova che l'utente controlli la casella; preferisci :send-verification quando non hai verificato tu l'indirizzo. Se l'indirizzo è già verificato non viene scritto nulla e viene restituito 200. Le copie non verificate dello stesso indirizzo su altri account dell'ambiente vengono rimosse. La modifica viene registrata nel log di audit di gestione come user.email_verified con la chiave API come attore, ed emette user.updated.
Richiesta
| Parametro | In | Obbligatorio | Descrizione |
|---|---|---|---|
user_id |
path | sì | ID utente, con prefisso usr_. |
email_id |
path | sì | ID della riga email (UUID interno, minuscolo, con trattini), come restituito da GET /v1/users/{user_id}/emails. |
La richiesta non prevede un body (è accettato un body vuoto o {}).
Risposta
200 OK con la riga email aggiornata. Senza l'autorizzazione users:read_pii l'indirizzo viene mascherato (a***@e***.com).
{
"id": "0191f0a0-3333-7444-8555-666666666666",
"email": "ada@example.com",
"verified": true,
"primary": false,
"created_at": "2026-01-15T09:30:00Z"
}
Errori
Ogni errore è un body application/problem+json con un code stabile.
| HTTP | code |
Quando |
|---|---|---|
| 400 | malformed_request, unknown_field |
Il body non è JSON valido, oppure non è vuoto né {}. |
| 404 | not_found |
L'utente o la riga email non esistono in questo ambiente, l'email non appartiene a questo utente, oppure un ID non è valido. |
| 401 | unauthenticated |
La chiave API manca, non è valida o è stata revocata. |
| 403 | insufficient_permissions |
La chiave non ha l'autorizzazione users:write. |
| 429 | rate_limited |
È stato superato il limite di richieste; rispetta Retry-After. |
| 503 | service_unavailable |
Una dipendenza non è disponibile temporaneamente; riprova più tardi. |
Esempio
curl -X POST https://api.eu.keenauth.com/v1/users/usr_0a1b2c3d4e5f6g7h8j9k0m1n2p/emails/0191f0a0-3333-7444-8555-666666666666:verify \
-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.