API-fouten en limieten
Verwerk publieke Rivya API-foutcodes, HTTP-statuswaarden, rate limits, idempotency-conflicten en retrybeslissingen.
Laatst beoordeeld op 2026/05/11
Rivya API retourneert stabiele publieke foutcodes in JSON. Behandel de waarde error.code als het integratiecontract.
Foutstructuur
{
"error": {
"code": "api_key_missing",
"message": "A valid Bearer API key is required.",
"requestId": "req_..."
}
}Bewaar requestId in je logs wanneer je Rivya support vraagt een mislukte API-request te onderzoeken.
Stabiele foutcodes
| Code | HTTP status | Betekenis | Aanbevolen actie |
|---|---|---|---|
public_api_disabled | 503 | Public API-aanroepen zijn tijdelijk uitgeschakeld. | Probeer later opnieuw of gebruik Studio handmatig. |
api_key_missing | 401 | De request bevatte geen Bearer API-sleutel. | Stuur Authorization: Bearer rvya_sk_.... |
api_key_invalid | 401 | De sleutel kan niet worden geverifieerd. | Controleer de sleutel en roteer hem indien nodig. |
api_key_revoked | 401 | De sleutel is ingetrokken in Settings. | Maak een nieuwe sleutel aan. |
api_key_expired | 401 | De sleutel is niet langer geldig. | Maak een nieuwe sleutel aan. |
api_scope_denied | 403 | De sleutel heeft niet de vereiste scope. | Maak een sleutel met de benodigde scope. |
rate_limited | 429 | Te veel requests in het huidige venster. | Bouw af en probeer later opnieuw. |
validation_failed | 400 | De body, het model, de prompt of de params zijn ongeldig. | Vergelijk je body met de modelreferentie. |
not_found | 404 | De gevraagde taak bestaat niet of is niet eigendom van het account. | Controleer de publieke taak-ID en accountgrens. |
webhook_url_rejected | 400 | De webhook endpoint-URL is niet toegestaan. | Gebruik een publieke HTTPS-URL zonder credentials, fragments, localhost of privénetwerkadressen. |
chat_model_not_supported | 400 | Het geselecteerde model is niet beschikbaar voor Chat API. | Lees /api/v1/models en kies een beschikbaar chatmodel. |
chat_session_conflict | 409 | De chatsessie kan niet voor deze request worden gebruikt. | Gebruik een API-aangemaakte sessie van hetzelfde account en model. |
chat_attachment_not_supported | 400 | De chatattachment wordt niet ondersteund. | Upload een afbeelding via Files API en geef de file_id mee. |
idempotency_conflict | 409 | Dezelfde idempotency key is hergebruikt met andere input. | Gebruik een nieuwe sleutel of verstuur exact dezelfde body opnieuw. |
insufficient_credits | 402 | Het account heeft niet genoeg credits. | Voeg credits toe of kies een request met lagere kosten. |
internal_error | 500 | De request kon niet worden voltooid. | Retry met idempotency of neem contact op met support met requestId. |
Rate limits
Rivya past applicatieniveau Public API-rate limits toe per API-sleutel. De standaard productielimiet wordt geconfigureerd door PUBLIC_API_RATE_LIMIT_PER_MINUTE.
Wanneer je rate_limited ontvangt, gebruik dan exponential backoff. Retry niet in een strakke loop.
Idempotente retries
Stuur Idempotency-Key mee met elke productieaanvraag naar POST /api/v1/generations en POST /api/v1/chat/completions.
Aanbevolen patroon:
genereer een unieke key per logische generatierequest
hergebruik dezelfde key alleen wanneer je dezelfde body opnieuw probeert
sla de teruggegeven publieke taak-ID op bij je eigen jobrecord
sla voor Chat API de teruggegeven
session_idop wanneer je hetzelfde gesprek wilt voortzettenhergebruik niet één key voor een ander model, andere prompt of andere params
Als het netwerk na indiening faalt, probeer dan opnieuw met dezelfde body en dezelfde Idempotency-Key. Rivya kan de opgeslagen publieke response teruggeven in plaats van een duplicaattaak te maken.
Retrybeslissingen
Retry deze met backoff:
public_api_disabledrate_limitedinternal_errortijdelijke netwerkfouten
Retry deze niet zonder de input te wijzigen:
api_key_invalidapi_key_revokedapi_scope_deniedvalidation_failedwebhook_url_rejectedchat_model_not_supportedchat_session_conflictchat_attachment_not_supportedidempotency_conflictinsufficient_credits
Gerelateerde pagina's
API-credits
Begrijp hoe Rivya API-aanroepen accountcredits, saldochecks, gereserveerde credits, refunds voor mislukte taken en credittroubleshooting gebruiken.
Files API
Upload afbeeldings-, video- of audioreferentiebestanden voor Rivya API-generatierequests, met MIME-checks, groottelimieten en duurtokens.
