
# Rendre une adresse e-mail principale

`POST /fapi/v1/me/emails/{email_id}:set-primary` · appelé depuis l'hôte de connexion de l'environnement

Rend principale l'une des adresses e-mail vérifiées de l'utilisateur authentifié. Une adresse non vérifiée ne peut pas devenir principale ; vérifiez-la d'abord. Après la modification, l'ancienne adresse principale et les autres adresses vérifiées de l'utilisateur reçoivent une notification de sécurité contenant un lien « ce n'est pas moi » qui ouvre la récupération du compte. Si l'adresse est déjà principale, la réponse reste `204` et rien n'est modifié ni envoyé. Nécessite le cookie `__Host-idp_session` de l'utilisateur authentifié ; si le cookie est absent, expiré ou révoqué, renvoie `401 unauthenticated`. Une application de premier niveau sur une autre origine peut à la place envoyer son jeton d'accès à l'API front (`Authorization: DPoP <token>` avec une preuve DPoP ; voir [Jeton d'accès à l'API front](/docs/api/fapi/front-api-token)).

La session doit avoir été vérifiée au cours des 5 dernières minutes. Si l'utilisateur dispose d'un second facteur, la session doit aussi avoir été ouverte avec un second facteur (`urn:idp:acr:mfa`).

## Requête

En-têtes :

| En-tête | Obligatoire | Description |
| --- | --- | --- |
| `Idp-Client` | oui | Identifiant du SDK. |
| `Origin` | oui | Doit être exactement `https://<hôte de connexion>`. |

`email_id` : l'identifiant de l'adresse e-mail, la même valeur que celle utilisée par les endpoints `/v1/users/{user_id}/emails` de l'API de gestion (UUID en minuscules).

Pas de corps.

## Réponse

`204 No Content`.

## Erreurs

| Statut | Code | Quand |
| --- | --- | --- |
| 401 | `unauthenticated` | Aucun cookie de session valide. |
| 401 | `step_up_required` | La session n'a pas été vérifiée au cours des 5 dernières minutes ou un second facteur est requis ; vérifiez à nouveau avec `max_age=300` (et, le cas échéant, `acr_values`) dans l'en-tête `WWW-Authenticate`. |
| 403 | `origin_not_allowed` | `Origin` est absent ou incorrect. |
| 404 | `not_found` | Cette adresse e-mail n'existe pas pour cet utilisateur. |
| 409 | `primary_requires_verified` | L'adresse e-mail n'est pas vérifiée. |

## Exemple

```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
```

## Données personnelles

Cet endpoint traite des données personnelles : profil de l'utilisateur final. [Données personnelles dans les API KeenAuth](/docs/policies/personal-data) décrit ce qui est stocké, la durée de conservation et la manière dont elles sont supprimées. Ne transmettez aucune catégorie particulière de données personnelles (santé, données biométriques, religion, opinions politiques, orientation sexuelle) dans aucun champ.
