> ## Documentation Index
> Fetch the complete documentation index at: https://docs.enrow.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Codici di stato

> Riferimento per i codici di stato HTTP dell'API Enrow e i valori di qualificazione delle ricerche, così da sapere come gestire ogni risposta

L'API Enrow utilizza i codici di stato HTTP standard per indicare l'esito di ogni richiesta, oltre a un campo `qualification` che comunica il risultato di una ricerca o di una verifica. Questa pagina elenca tutti i codici e i valori di qualificazione, così da poter gestire le risposte in modo affidabile. Per i messaggi di errore corrispondenti e i formati delle risposte, consulta [Gestione degli errori](/it/error-handling).

## Quali codici di stato HTTP restituisce l'API?

L'API Enrow utilizza i codici di stato HTTP standard per indicare il risultato di ogni richiesta. Un codice `2xx` significa che la richiesta è andata a buon fine, un codice `4xx` segnala un problema con la richiesta e un codice `5xx` significa che qualcosa è andato storto sul lato di Enrow.

### Quali codici indicano un successo?

Un codice di stato `2xx` significa che l'API ha accettato la richiesta. Le operazioni asincrone (come le ricerche in blocco) restituiscono `201` o `202` perché l'elaborazione prosegue in background.

| Code    | Meaning  | Description                                    |
| ------- | -------- | ---------------------------------------------- |
| **200** | OK       | Richiesta riuscita, risultati restituiti       |
| **201** | Created  | Risorsa creata (es. ricerca in blocco avviata) |
| **202** | Accepted | Richiesta accettata, elaborazione asincrona    |

### Quali codici indicano che la richiesta è stata rifiutata?

Un codice di stato `4xx` significa che l'API ha rifiutato la richiesta a causa di un problema risolvibile sul lato client: parametri non validi, una chiave API mancante o non valida, crediti insufficienti o troppe richieste.

| Code    | Meaning           | Description                      |
| ------- | ----------------- | -------------------------------- |
| **400** | Bad Request       | Parametri non validi o mancanti  |
| **401** | Unauthorized      | Chiave API non valida o mancante |
| **402** | Payment Required  | Crediti insufficienti            |
| **429** | Too Many Requests | Limite di frequenza superato     |

Un `401` significa che la chiave API è mancante o non valida: consulta [Autenticazione](/it/authentication) per scoprire come passarla correttamente. Un `402` significa che l'account ha esaurito i crediti; verifica il consumo in [Crediti e fatturazione](/it/credits-billing). Un `429` significa che la richiesta ha superato il throughput consentito: consulta [Limiti di frequenza](/it/rate-limits) per comprendere le soglie.

<Note>
  L'API non restituisce mai **404**. Un ID di ricerca sconosciuto o scaduto restituisce **400** per gli endpoint in blocco e **500** per gli endpoint singoli.
</Note>

### Quali codici indicano un errore del server?

Un codice di stato `5xx` significa che la richiesta era valida ma qualcosa è andato storto sul lato di Enrow. Queste risposte possono essere ritentate in sicurezza dopo una breve attesa.

| Code    | Meaning               | Description                                 |
| ------- | --------------------- | ------------------------------------------- |
| **500** | Internal Server Error | Qualcosa è andato storto dalla nostra parte |

## Cosa sono le qualificazioni delle ricerche?

Una qualificazione di ricerca è il valore presente nel campo `qualification` che comunica l'esito di una ricerca o di una verifica. Enrow restituisce questo campo su tutti gli endpoint e il risultato è sempre **binario**: non esiste un "forse" né un punteggio di probabilità. Si tratta di una scelta progettuale deliberata.

### Perché il risultato è binario?

Il risultato è binario perché una risposta chiara, sì o no, è più facile da gestire rispetto a una probabilità. La maggior parte degli strumenti di arricchimento restituisce un insieme complesso di categorie — catch-all, rischioso, sconosciuto, non verificabile, ecc. — che ti costringe a costruire logica attorno alle probabilità. Enrow ha adottato l'approccio opposto:

* **Enrow verifica in modo deterministico anche le email catch-all**, quindi non serve una categoria "catch-all"
* Enrow non crede nei sistemi probabilistici con decine di classificazioni: aggiungono complessità senza chiarezza
* Un risultato binario significa che puoi agire sui dati immediatamente senza ripensamenti

Il risultato o è valido o non lo è. Semplice.

### Quali qualificazioni restituisce Email Finder?

L'[Email Finder](/it/api-reference/email-finder/find-single) restituisce uno dei seguenti valori nel campo `qualification`:

| Qualification | Meaning                    |
| ------------- | -------------------------- |
| `valid`       | Email trovata e verificata |
| `invalid`     | Email non trovata          |
| `ongoing`     | Ricerca ancora in corso    |

### Quali qualificazioni restituisce Email Verifier?

L'[Email Verifier](/it/api-reference/email-verifier/verify-single) restituisce uno dei seguenti valori nel campo `qualification`:

| Qualification | Meaning                             |
| ------------- | ----------------------------------- |
| `valid`       | Email valida e recapitabile         |
| `invalid`     | Email non valida o non recapitabile |
| `ongoing`     | Verifica ancora in corso            |

<Note>
  `invalid` ha significati diversi a seconda dell'endpoint: nell'**Email Finder** significa che l'email non è stata trovata. Nell'**Email Verifier** significa che l'email esiste ma non è recapitabile.
</Note>

### Quali qualificazioni restituisce Phone Finder?

Il [Phone Finder](/it/api-reference/phone/find-single) restituisce uno dei seguenti valori nel campo `qualification`:

| Qualification | Meaning                                     |
| ------------- | ------------------------------------------- |
| `found`       | Numero di telefono individuato con successo |
| `not_found`   | Impossibile trovare il numero di telefono   |
| `ongoing`     | Ricerca ancora in corso                     |

### Come monitoro una ricerca in blocco?

Per le operazioni in blocco, un campo `status` indica l'avanzamento del lotto. Interroga l'endpoint GET pertinente — [risultati in blocco di Email Finder](/it/api-reference/email-finder/get-bulk-results), [verifiche in blocco di Email Verifier](/it/api-reference/email-verifier/get-bulk-verifications) o [risultati in blocco di Phone Finder](/it/api-reference/phone/get-bulk-results) — finché lo `status` non è `completed`.

| Status      | Meaning                                    |
| ----------- | ------------------------------------------ |
| `ongoing`   | Il lotto è ancora in elaborazione          |
| `completed` | Tutte le ricerche del lotto sono terminate |
| `failed`    | Il lotto è fallito                         |

## FAQ

<AccordionGroup>
  <Accordion title="Perché ricevo un 401 invece di un 200?">
    Un `401 Unauthorized` significa che la chiave API è mancante o non valida. Assicurati che ogni richiesta includa una chiave valida nell'header `x-api-key`. Per i dettagli, consulta [Autenticazione](/it/authentication).
  </Accordion>

  <Accordion title="Cosa significa un codice di stato 402?">
    Un `402 Payment Required` significa che l'account non dispone di crediti sufficienti per completare la richiesta. Ricarica oppure verifica come vengono consumati i crediti per ogni endpoint in [Crediti e fatturazione](/it/credits-billing).
  </Accordion>

  <Accordion title="Perché un ID di ricerca sconosciuto restituisce 400 o 500 invece di 404?">
    L'API Enrow non restituisce mai `404`. Un ID di ricerca sconosciuto o scaduto restituisce `400` per gli endpoint in blocco e `500` per gli endpoint singoli. Ricontrolla l'`id` restituito al momento dell'avvio della ricerca.
  </Accordion>

  <Accordion title="qualification: ongoing significa che qualcosa è fallito?">
    No. `ongoing` significa che la ricerca o la verifica è ancora in corso. Interroga di nuovo l'endpoint GET dopo una breve attesa, oppure usa un webhook per ricevere una notifica automatica al termine: consulta [Come funzionano i webhook](/it/how-webhooks-work).
  </Accordion>
</AccordionGroup>

## Prossimi passi

<CardGroup cols={2}>
  <Card title="Gestione degli errori" icon="triangle-exclamation" href="/it/error-handling">
    Consulta tutti i messaggi di errore e i formati delle risposte per ogni codice di stato.
  </Card>

  <Card title="Autenticazione" icon="key" href="/it/authentication">
    Passa la tua chiave API nell'header x-api-key per evitare errori 401.
  </Card>

  <Card title="Limiti di frequenza" icon="gauge-high" href="/it/rate-limits">
    Comprendi le soglie che attivano una risposta 429.
  </Card>

  <Card title="Crediti e fatturazione" icon="coins" href="/it/credits-billing">
    Scopri come vengono consumati i crediti ed evita gli errori 402.
  </Card>
</CardGroup>
