Erori si limite API
Gestioneaza codurile publice de eroare Rivya API, valorile de status HTTP, limitele de rata, conflictele de idempotenta si deciziile de retry.
Ultima revizuire la 2026/05/11
Rivya API returneaza coduri publice stabile de eroare in JSON. Trateaza valoarea error.code ca pe contractul de integrare.
Forma erorii
{
"error": {
"code": "api_key_missing",
"message": "A valid Bearer API key is required.",
"requestId": "req_..."
}
}Pastreaza requestId in loguri atunci cand ceri suportului Rivya sa investigheze o cerere API esuata.
Coduri stabile de eroare
| Cod | Status HTTP | Semnificatie | Actiune sugerata |
|---|---|---|---|
public_api_disabled | 503 | Apelurile Public API sunt dezactivate temporar. | Reincearca mai tarziu sau foloseste Studio manual. |
api_key_missing | 401 | Cererea nu a inclus o cheie API Bearer. | Trimite Authorization: Bearer rvya_sk_.... |
api_key_invalid | 401 | Cheia nu poate fi verificata. | Verifica cheia si roteste-o daca este necesar. |
api_key_revoked | 401 | Cheia a fost revocata in Settings. | Creeaza o cheie noua. |
api_key_expired | 401 | Cheia nu mai este valida. | Creeaza o cheie noua. |
api_scope_denied | 403 | Cheia nu are scope-ul necesar. | Creeaza o cheie cu scope-ul necesar. |
rate_limited | 429 | Prea multe cereri in fereastra curenta. | Redu ritmul si reincearca mai tarziu. |
validation_failed | 400 | Body-ul, modelul, promptul sau parametrii sunt invalizi. | Compara body-ul cu referinta modelului. |
not_found | 404 | Sarcina ceruta nu exista sau nu este detinuta de cont. | Verifica ID-ul public al sarcinii si limita contului. |
webhook_url_rejected | 400 | URL-ul endpointului webhook nu este permis. | Foloseste un URL public HTTPS fara credentiale, fragmente, localhost sau adrese de retea privata. |
chat_model_not_supported | 400 | Modelul selectat nu este disponibil pentru Chat API. | Citeste /api/v1/models si alege un model de chat disponibil. |
chat_session_conflict | 409 | Sesiunea de chat nu poate fi folosita pentru aceasta cerere. | Foloseste o sesiune creata prin API, detinuta de acelasi cont si model. |
chat_attachment_not_supported | 400 | Atasamentul de chat nu este acceptat. | Incarca o imagine prin Files API si trimite file_id. |
idempotency_conflict | 409 | Aceeasi cheie de idempotenta a fost refolosita cu input diferit. | Foloseste o cheie noua sau retrimite exact acelasi body. |
insufficient_credits | 402 | Contul nu are suficiente credite. | Adauga credite sau alege o cerere cu cost mai mic. |
internal_error | 500 | Cererea nu a putut fi finalizata. | Reincearca folosind idempotenta sau contacteaza suportul cu requestId. |
Limite de rata
Rivya aplica limite Public API la nivel de aplicatie pentru fiecare cheie API. Limita implicita de productie este configurata prin PUBLIC_API_RATE_LIMIT_PER_MINUTE.
Cand primesti rate_limited, foloseste backoff exponential. Nu reincearca intr-o bucla stransa.
Retry-uri idempotente
Trimite Idempotency-Key cu fiecare cerere de productie POST /api/v1/generations si POST /api/v1/chat/completions.
Model recomandat:
- genereaza o cheie unica pentru fiecare cerere logica de generare
- refoloseste aceeasi cheie doar cand reincerci acelasi body
- stocheaza ID-ul public al sarcinii returnat impreuna cu propria inregistrare de job
- pentru Chat API, stocheaza
session_idreturnat cand vrei sa continui aceeasi conversatie - nu refolosi o cheie pentru alt model, prompt sau alti parametri
Daca reteaua esueaza dupa trimitere, reincearca cu acelasi body si aceeasi Idempotency-Key. Rivya poate returna raspunsul public stocat in loc sa creeze o sarcina duplicata.
Decizii de retry
Reincearca acestea cu backoff:
public_api_disabledrate_limitedinternal_error- esecuri temporare de retea
Nu reincerca acestea fara sa schimbi inputul:
api_key_invalidapi_key_revokedapi_scope_deniedvalidation_failedwebhook_url_rejectedchat_model_not_supportedchat_session_conflictchat_attachment_not_supportedidempotency_conflictinsufficient_credits
Pagini asociate
Credite API
Intelege cum folosesc apelurile Rivya API creditele contului, verificarile de sold, creditele rezervate, rambursarile pentru sarcini esuate si depanarea creditelor.
Files API
Incarca fisiere imagine, video sau audio de referinta pentru cereri de generare Rivya API, cu verificari MIME, limite de dimensiune si tokeni de durata.