Errori di connessione comuni e come risolverli
Cosa significano 401, 402, 400, 404, 413, 429 e 503 quando ti connetti all'API CheapTokens, come appaiono le risposte e come risolvere ciascuno.

In questa pagina
Quasi ogni problema di connessione si riduce a quattro cose: l'indirizzo, la chiave, l'ID del modello e il saldo. Inizia con il controllo rapido qui sotto, poi trova il tuo codice di stato. I corpi delle risposte citati qui sono le risposte effettive dell'API (ottobre 2026).
Controllo rapido#
# 1. The address is reachable — this request needs no key
curl https://api.cheaptokens.dev/v1/models
# 2. The key and the balance work — a tiny request (costs a fraction of a cent)
curl https://api.cheaptokens.dev/v1/chat/completions \
-H "Authorization: Bearer $CHEAPTOKENS_API_KEY" \
-H "Content-Type: application/json" \
-d '{"model": "deepseek-ai/DeepSeek-V4-Flash-0731", "max_tokens": 5,
"messages": [{"role": "user", "content": "ping"}]}'Se il primo comando fallisce, la causa può essere la rete dalla tua parte, un errore di battitura nell'indirizzo — o il servizio stesso temporaneamente non disponibile. Se fallisce solo il secondo, cerca il suo codice di stato qui sotto. Se entrambi funzionano ma il tuo strumento no, confronta le impostazioni dello strumento con questi due comandi.
401 — Chiave API non valida#
{"error": {"message": "Invalid API key", "type": "authentication_error"}}I client in stile Anthropic ricevono lo stesso errore nel loro formato:
{"type": "error", "error": {"type": "authentication_error", "message": "Invalid API key"}}Cause:
- la chiave è stata copiata con un carattere mancante, uno spazio o delle virgolette;
- la chiave è stata ruotata nella dashboard — quella vecchia non funziona più;
- è impostata una chiave di un altro servizio (ad esempio OpenAI) invece della chiave CheapTokens;
- la variabile d'ambiente è vuota in questo terminale:
echo ${#CHEAPTOKENS_ne stampa la lunghezza.API_ KEY}
La dashboard mostra una chiave una sola volta. Se è persa, premi Rotate per ottenerne una nuova e aggiornala ovunque sia usata.
402 — saldo esaurito o nessuna chiave nella richiesta#
L'API restituisce 402 in due situazioni diverse:
- Il saldo è esaurito. Le richieste vengono pagate dal saldo; quando si esaurisce, la chiave viene messa in pausa. Ricarica nella dashboard e le richieste tornano a funzionare.
- La richiesta non ha alcuna chiave. Se manca l'header
Authorization(ox-api-keyper i client in stile Anthropic), l'API risponde 402 con il tipoinsufficient_. Verifica che il tuo strumento invii davvero la chiave: lo stile OpenAI èfunds Authorization: Bearer <key>.
404 — indirizzo sbagliato#
{"error": {"message": "Invalid URL (GET /v1/chat/completion)", "type": "invalid_request_error", "param": null, "code": null}}Il percorso ha un errore di battitura — qui completion invece di completions. Altre cause comuni:
- Il base URL non ha
/v1. I client in stile OpenAI necessitano dihttps:/. Senza/ api. cheaptokens. dev/ v1 /v1la richiesta manca l'API e ottieni una semplice pagina HTML 404 invece di JSON. /v1due volte. Alcuni client aggiungono/v1da soli; quindi il base URL deve essere la radice,https:/. I client in stile Anthropic usano sempre l'indirizzo radice./ api. cheaptokens. dev
400 — modello non trovato#
{"error": {"message": "Model \"deepseek-v4-flash\" not found. Available: …", "type": "invalid_request_error", "param": "model"}}L'ID del modello deve essere l'ID completo, incluso il prefisso prima della barra: deepseek-, non deepseek-. Maiuscole o minuscole non hanno importanza. Il messaggio di errore elenca gli ID disponibili, e l'elenco completo è sempre su GET /v1/models.
Un 400 viene restituito anche per un corpo della richiesta malformato — ad esempio un array messages vuoto (messages field is required and must be a non-) o un messaggio senza role.
413 — richiesta troppo grande#
Il corpo della richiesta è limitato a 16 MB. Gli agenti possono raggiungerlo inserendo file o log enormi nel contesto. Invia solo le parti di cui il modello ha bisogno e riduci l'output lungo degli strumenti.
429 — troppe richieste#
Se ricevi 429, rallenta. La risposta include un header Retry-After con il numero di secondi da attendere. Gli SDK ufficiali OpenAI riprovano automaticamente (max_retries); nel tuo codice, attendi Retry-After prima del tentativo successivo.
503 — modello temporaneamente non disponibile#
Un modello può essere temporaneamente non disponibile; l'API risponde quindi 503 con il tipo model_, e la scheda del modello sul sito mostra "temporaneamente non disponibile". Riprova più tardi o cambia il campo model con un altro modello — la chiave e l'indirizzo restano gli stessi.
Attese lunghe e timeout#
I modelli di ragionamento come zai- pensano prima di rispondere, quindi il primo token può richiedere un po' di tempo. Usa lo streaming o aumenta il timeout del client — ad esempio timeout=120 nell'SDK OpenAI.



