
# Rigenera codici di recupero

`POST /fapi/v1/me/recovery-codes:regenerate` · chiamato dall'host di accesso dell'ambiente

Sostituisce i codici di recupero dell'utente con dei nuovi; tutti i codici vecchi diventano non validi. I nuovi codici vengono mostrati una sola volta in questa risposta e viene inviata una notifica di sicurezza agli indirizzi email dell'utente. 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 API front (`Authorization: DPoP <token>` con una prova DPoP; vedi [Token di accesso API front](/docs/api/fapi/front-api-token)).

## Richiesta

Header:

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

Corpo:

```json
{}
```

## Risposta

`200 OK`:

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

## Errori

| Stato | Codice | Quando |
| --- | --- | --- |
| 401 | `unauthenticated` | Nessun cookie di sessione valido. |
| 401 | `step_up_required` | La sessione non è stata verificata negli ultimi 5 minuti; verifica di nuovo con `max_age=300` nell'header `WWW-Authenticate`. |
| 403 | `origin_not_allowed` | `Origin` manca o è errato. |
| 404 | `not_found` | I codici di recupero sono disabilitati nell'ambiente. |
| 409 | `conflict` | L'utente non ha un secondo fattore; i codici di recupero non sono stati generati. |

## Esempio

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

## Dati personali

Questo endpoint tratta dati personali: credenziali. [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.
