Vai al contenuto

Errori

Gli errori usano i codici di stato HTTP e un body JSON con un code stabile e leggibile dalle macchine, un messaggio per le persone e l’ID della richiesta.

402 application/json
{
  "error": {
    "code": "quota_exceeded",
    "message": "This organisation has used all 1,000 marks of this month on its plan. Upgrade the plan for more, or wait for the 1st of next month (UTC).",
    "request_id": "req_7Hc2kQm0Zt1L"
  }
}

Basa la logica su code, mai su message: i codici fanno parte dell’API v1 e non cambieranno; i messaggi potranno diventare più chiari. Ogni risposta, riuscita o no, riporta lo stesso ID nel suo header X-Request-Id. Indicalo quando ci scrivi.

Codici

Codici di errore
StatoCodiceSignificatoCosa fare
400invalid_requestLa richiesta è malformata o un campo è fuori intervallo.Correggi la richiesta; il messaggio indica il campo.
400unknown_fieldUn campo che l’endpoint non conosce.Verifica che il nome del campo sia scritto come nel riferimento.
400option_not_availableUn’opzione in programma, non ancora disponibile.Per ora omettila; le note di rilascio diranno quando arriva.
401missing_api_keyNessuna chiave bearer nell’header Authorization.Invia Authorization: Bearer sk_….
401invalid_api_keyLa chiave non è una delle nostre.Controlla la chiave; creane una nuova se l’hai persa.
401api_key_revokedLa chiave è stata revocata o il suo progetto eliminato.Usa un’altra chiave.
402quota_exceededLa quota del mese è esaurita.Attendi il primo del mese (UTC) o passa a un piano superiore.
403insufficient_scopeAlla chiave manca l’ambito di questo endpoint.Usa una chiave con quell’ambito, oppure creane una.
403ip_not_allowedL’indirizzo non è nella lista di IP consentiti della chiave.Chiama da un indirizzo consentito, oppure aggiorna la lista di IP consentiti.
403key_not_allowed_in_urlUna chiave con ambiti oltre a tsa è stata inviata in un URL.Usa una chiave con il solo ambito tsa e ruota quella che hai inviato.
404not_foundNessun endpoint a questo percorso.Controlla il percorso e la versione dell’API.
404upload_not_foundL’upload indicato in «upload» non è utilizzabile da questa chiave: sconosciuto, già usato, più vecchio di un’ora o creato da un’altra chiave.Crea un nuovo upload con questa chiave (POST /v1/uploads).
405method_not_allowedL’endpoint non accetta questo metodo.Vedi l’header Allow.
413payload_too_largeIl body supera il limite dell’endpoint.4 MB per richiesta: invia i file più grandi (fino a 25 MB) tramite POST /v1/uploads. 4 KB per le richieste di marca temporale.
415unsupported_media_typeIl file o il Content-Type della richiesta non è accettato.Invia PNG, JPEG o WebP come multipart/form-data.
422content_blockedPOST /v1/mark: il controllo di sicurezza ha bloccato l’immagine; non è stato marcato nulla. Il campo «safety» del body spiega perché.Non riprovare con la stessa immagine. I controlli eseguiti contano; la marcatura no.
429rate_limitedTroppe chiamate in questo minuto per questa chiave.Attendi i secondi indicati in Retry-After, poi riprova.
500internal_errorQualcosa non ha funzionato da parte nostra.Riprova con backoff; non è stato addebitato nulla.
502mark_failedNon è stato possibile marcare e verificare il file; non è stato restituito alcun file.Riprova una volta; se il problema persiste, contatta l’assistenza indicando l’ID della richiesta.
503marker_unavailableIl servizio di marcatura è momentaneamente non disponibile.Riprova con backoff; non è stato addebitato nulla.
503tsa_unavailableIl server di marca temporale è momentaneamente non disponibile.Riprova con backoff; non è stato addebitato nulla.
503storage_unavailableGli upload sono momentaneamente non disponibili.Riprova con backoff; non è stato addebitato nulla e l’upload viene conservato.

Nuovi tentativi

  • 429: attendi il numero di secondi indicato in Retry-After.
  • 500, 502, 503: riprova con backoff esponenziale (1 s, 2 s, 4 s…), al massimo qualche volta. Le chiamate non riuscite non vengono mai conteggiate nella tua quota.
  • Altri 4xx: non riprovare senza modifiche; correggi prima la richiesta.