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 voortzetten - hergebruik 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_error- tijdelijke 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 duration tokens.