Codici di errore
Un errore restituisce sempre uno stato HTTP e un corpo JSON:
{ "error": "Messaggio leggibile", "code": "internal_error" }error descrive il problema; code è presente solo su alcuni errori e non cambia da
una versione all’altra.
| Stato | Significato | Cosa fare |
|---|---|---|
400 |
Corpo non valido, campo obbligatorio vuoto, oppure company_id non composto da 32 caratteri esadecimali. |
Correggere la richiesta. |
401 |
company_id assente, oppure valore dell’header diverso da quello del corpo. |
Verificare l’header Authorization. |
402 |
Crediti insufficienti per avviare il percorso. Il candidato non è stato contattato. | Ricaricare i crediti dell’azienda, poi rilanciare. |
409 |
L’offerta è già collegata a un’altra azienda (ats_offer_owned_by_another_org). |
Verificare l’ID dell’offerta e l’azienda chiamante. |
422 |
Nessuna sessione creata in un lotto: tutti i candidati sono stati rifiutati. | Leggere i motivi restituiti, correggere i dati. |
500 |
Errore interno (code: internal_error), senza dettagli. |
Riprovare più tardi. Un’assegnazione può essere ripetuta senza rischio di duplicati. |
Motivi di rifiuto in un lotto
Sezione intitolata “Motivi di rifiuto in un lotto”In un lotto, ogni candidato rifiutato compare in failed con il suo motivo (reason)
e, quando presente, un dettaglio leggibile (detail):
| Motivo | Significato |
|---|---|
INVALID_DATA |
Telefono impossibile, indirizzo e-mail mancante o data di chiamata illeggibile. |
DUPLICATE_PHONE_IN_BATCH |
Lo stesso numero compare due volte nel lotto. |
DUPLICATE_ACTIVE_SESSION |
Il candidato ha già una sessione attiva per questa valutazione. |
INSUFFICIENT_CREDITS |
L’azienda non ha più crediti sufficienti. |

