Errori e limiti API
Gestisci codici di errore pubblici Rivya API, valori di stato HTTP, rate limit, conflitti di idempotenza e decisioni di retry.
Ultima revisione il 2026/05/11
Rivya API restituisce codici di errore pubblici stabili in JSON. Considera il valore error.code come contratto di integrazione.
Forma dell'errore
{
"error": {
"code": "api_key_missing",
"message": "A valid Bearer API key is required.",
"requestId": "req_..."
}
}Conserva requestId nei tuoi log quando chiedi al supporto Rivya di indagare su una richiesta API fallita.
Codici di errore stabili
| Code | Stato HTTP | Significato | Azione suggerita |
|---|---|---|---|
public_api_disabled | 503 | Le chiamate Public API sono temporaneamente disabilitate. | Riprova più tardi o usa Studio manualmente. |
api_key_missing | 401 | La richiesta non includeva una chiave API Bearer. | Invia Authorization: Bearer rvya_sk_.... |
api_key_invalid | 401 | La chiave non può essere verificata. | Controlla la chiave e ruotala se necessario. |
api_key_revoked | 401 | La chiave è stata revocata in Settings. | Crea una nuova chiave. |
api_key_expired | 401 | La chiave non è più valida. | Crea una nuova chiave. |
api_scope_denied | 403 | La chiave non ha lo scope richiesto. | Crea una chiave con lo scope necessario. |
rate_limited | 429 | Troppe richieste nella finestra attuale. | Riduci il ritmo e riprova più tardi. |
validation_failed | 400 | Body, modello, prompt o parametri non sono validi. | Confronta il body con il riferimento del modello. |
not_found | 404 | Il task richiesto non esiste o non appartiene all'account. | Controlla l'ID pubblico del task e il perimetro dell'account. |
webhook_url_rejected | 400 | L'URL dell'endpoint webhook non è consentito. | Usa un URL HTTPS pubblico senza credenziali, frammenti, localhost o indirizzi di rete privata. |
chat_model_not_supported | 400 | Il modello selezionato non è disponibile per Chat API. | Leggi /api/v1/models e scegli un modello chat disponibile. |
chat_session_conflict | 409 | La sessione chat non può essere usata per questa richiesta. | Usa una sessione creata via API, appartenente allo stesso account e modello. |
chat_attachment_not_supported | 400 | L'allegato chat non è supportato. | Carica un'immagine tramite Files API e passa il suo file_id. |
idempotency_conflict | 409 | La stessa chiave di idempotenza è stata riutilizzata con input diverso. | Usa una nuova chiave o invia di nuovo esattamente lo stesso body. |
insufficient_credits | 402 | L'account non ha crediti sufficienti. | Aggiungi crediti o scegli una richiesta a costo inferiore. |
internal_error | 500 | La richiesta non ha potuto essere completata. | Riprova con idempotenza o contatta il supporto con requestId. |
Rate limit
Rivya applica rate limit Public API a livello applicativo per ogni chiave API. Il limite di produzione predefinito è configurato da PUBLIC_API_RATE_LIMIT_PER_MINUTE.
Quando ricevi rate_limited, usa backoff esponenziale. Non riprovare in un ciclo serrato.
Retry idempotenti
Invia Idempotency-Key con ogni richiesta di produzione POST /api/v1/generations e POST /api/v1/chat/completions.
Pattern consigliato:
- genera una chiave unica per ogni richiesta logica di generazione
- riusa la stessa chiave solo quando ritenti lo stesso body
- salva l'ID pubblico del task restituito nel tuo record job
- per Chat API, salva il
session_idrestituito quando vuoi continuare la stessa conversazione - non riutilizzare una chiave per modello, prompt o parametri diversi
Se la rete fallisce dopo l'invio, riprova con lo stesso body e la stessa Idempotency-Key. Rivya può restituire la risposta pubblica salvata invece di creare un task duplicato.
Decisioni di retry
Riprova questi errori con backoff:
public_api_disabledrate_limitedinternal_error- errori di rete temporanei
Non riprovare questi errori senza cambiare input:
api_key_invalidapi_key_revokedapi_scope_deniedvalidation_failedwebhook_url_rejectedchat_model_not_supportedchat_session_conflictchat_attachment_not_supportedidempotency_conflictinsufficient_credits
Pagine correlate
Crediti API
Comprendi come le chiamate Rivya API usano i crediti account, i controlli del saldo, i crediti riservati, i rimborsi per task falliti e la risoluzione dei problemi sui crediti.
Files API
Carica file di riferimento immagine, video o audio per richieste di generazione Rivya API, con controlli MIME, limiti di dimensione e duration token.