
# Rendere principale un indirizzo email

`POST /fapi/v1/me/emails/{email_id}:set-primary` · chiamato dall'host di accesso dell'ambiente

Rende principale uno degli indirizzi email verificati dell'utente autenticato. Un indirizzo non verificato non può diventare principale; verificalo prima. Dopo la modifica, il precedente indirizzo principale e gli altri indirizzi verificati dell'utente ricevono una notifica di sicurezza con un link "non sono stato io" che apre il recupero dell'account. Se l'indirizzo è già principale, la risposta è comunque `204` e non cambia nulla né viene inviato alcun messaggio. Richiede il cookie `__Host-idp_session` dell'utente autenticato; se il cookie manca, è scaduto o è stato revocato, restituisce `401 unauthenticated`. Un'app di prima parte su un'altra origine può invece inviare il proprio token di accesso della Front API (`Authorization: DPoP <token>` con una prova DPoP; vedi [Token di accesso della Front API](/docs/api/fapi/front-api-token)).

La sessione deve essere stata verificata negli ultimi 5 minuti. Se l'utente ha un secondo fattore, la sessione deve anche essere stata aperta con un secondo fattore (`urn:idp:acr:mfa`).

## Richiesta

Intestazioni:

| Intestazione | Obbligatoria | Descrizione |
| --- | --- | --- |
| `Idp-Client` | sì | Identificatore dell'SDK. |
| `Origin` | sì | Deve essere esattamente `https://<host di accesso>`. |

`email_id`: l'identificatore dell'indirizzo email, lo stesso valore usato dagli endpoint `/v1/users/{user_id}/emails` dell'API di gestione (UUID in minuscolo).

Nessun body.

## Risposta

`204 No Content`.

## Errori

| Stato | Codice | Quando |
| --- | --- | --- |
| 401 | `unauthenticated` | Nessun cookie di sessione valido. |
| 401 | `step_up_required` | La sessione non è stata verificata negli ultimi 5 minuti o è richiesto un secondo fattore; verifica di nuovo con `max_age=300` (e, se applicabile, `acr_values`) nell'intestazione `WWW-Authenticate`. |
| 403 | `origin_not_allowed` | `Origin` manca o è errata. |
| 404 | `not_found` | Nessun indirizzo email di questo utente con questo identificatore. |
| 409 | `primary_requires_verified` | L'indirizzo email non è verificato. |

## Esempio

```bash
curl -X POST https://example.keenauth.app/fapi/v1/me/emails/0190a5c4-1b2c-7d3e-8f40-516273849abc:set-primary \
  -H "Idp-Client: my-app/1.0.0 (node/22.0.0)" \
  -H "Origin: https://example.keenauth.app" \
  -b cookies.txt
```

## Dati personali

Questo endpoint contiene dati personali: profilo dell'utente finale. [Dati personali nelle API di KeenAuth](/docs/policies/personal-data) 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.
