
# Inserisci un codice di verifica

`POST /fapi/v1/verifications/{verification_id}:attempt` · chiamato dall'host di accesso dell'ambiente

Verifica il codice di 6 cifre ricevuto dall'utente dopo [Invia un codice di verifica](/docs/api/fapi/verifications/start). Un codice giusto contrassegna l'indirizzo come verificato e consuma il codice; la risposta è `204`. Un codice sbagliato consuma uno dei tentativi del codice. Un codice errato, scaduto, già usato o esaurito, un id sconosciuto e l'id di un altro utente danno tutti la stessa risposta `422 verification_invalid`; in quel caso l'utente chiede un nuovo codice. 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 altro origin può invece inviare il proprio token di accesso alla front API (`Authorization: DPoP <token>` con una prova DPoP; vedi [Token di accesso alla front API](/docs/api/fapi/front-api-token)).

## Richiesta

Parametro di percorso:

| Parametro | Descrizione |
| --- | --- |
| `verification_id` | L'`id` della risposta di invio. |

Header:

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

Body:

| Campo | Tipo | Obbligatorio | Descrizione |
| --- | --- | --- | --- |
| `code` | string | sì | Il codice di 6 cifre dall'email. |

## Risposta

`204 No Content`; l'indirizzo è verificato.

## Errori

| Stato | Codice | Quando |
| --- | --- | --- |
| 400 | `malformed_request` | Il corpo non è JSON valido. |
| 400 | `unknown_field` | Il corpo ha un campo diverso da `code`. |
| 401 | `unauthenticated` | Nessun cookie di sessione valido. |
| 403 | `origin_not_allowed` | `Origin` manca o è errato. |
| 403 | `test_feature_not_in_production` | Il codice è il codice di test fisso `424242` e l'ambiente è di produzione. Il tentativo viene consumato come un codice errato. |
| 413 | `payload_too_large` | Il corpo è troppo grande. |
| 415 | `unsupported_media_type` | `Content-Type` non è `application/json`. |
| 422 | `validation_failed` | `code` manca. |
| 422 | `verification_invalid` | Il codice è errato, scaduto, già usato o senza tentativi, oppure l'id è sconosciuto. |

## Esempio

```bash
curl -X POST https://example.keenauth.app/fapi/v1/verifications/0190a5c4-1b2c-7d3e-8f40-5162738400ff:attempt \
  -H "Idp-Client: my-app/1.0.0 (node/22.0.0)" \
  -H "Origin: https://example.keenauth.app" \
  -H "Content-Type: application/json" \
  -b cookies.txt \
  -d '{"code": "123456"}'
```
