
# Régénérer les codes de récupération

`POST /fapi/v1/me/recovery-codes:regenerate` · appelé depuis l'hôte de connexion de l'environnement

Remplace les codes de récupération de l'utilisateur par de nouveaux codes ; tous les anciens codes deviennent invalides. Les nouveaux codes ne sont affichés qu'une seule fois dans cette réponse, et une notification de sécurité est envoyée aux adresses e-mail de l'utilisateur. 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 première partie 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)).

## Requête

En-têtes :

| En-tête | Obligatoire | Description |
| --- | --- | --- |
| `Idp-Client` | oui | Identifiant du SDK. |
| `Origin` | oui | Doit être exactement `https://<sign-in host>`. |

Corps :

```json
{}
```

## Réponse

`200 OK` :

```json
{"recovery_codes": ["…", "…"]}
```

## 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 ; vérifiez à nouveau avec `max_age=300` dans l'en-tête `WWW-Authenticate`. |
| 403 | `origin_not_allowed` | `Origin` est absent ou incorrect. |
| 404 | `not_found` | Les codes de récupération sont désactivés dans l'environnement. |
| 409 | `conflict` | L'utilisateur n'a pas de second facteur ; codes de récupération non générés. |

## Exemple

```bash
curl -X POST https://example.keenauth.app/fapi/v1/me/recovery-codes:regenerate \
  -H "Idp-Client: my-app/1.0.0 (node/22.0.0)" \
  -H "Origin: https://example.keenauth.app" \
  -H "Content-Type: application/json" \
  -d '{}' \
  -b cookies.txt
```

## Données personnelles

Ce point de terminaison traite des données personnelles : identifiants. [Données personnelles dans les API KeenAuth](/docs/policies/personal-data) décrit ce qui est stocké, combien de temps il est conservé et comment il est supprimé. N'envoyez pas de catégories particulières de données personnelles (santé, données biométriques, religion, opinions politiques, orientation sexuelle) dans aucun champ.
