Platform
Fouten
Fouten worden teruggestuurd als JSON in het formaat van het endpoint dat je hebt aangeroepen, met een leesbare melding en, bij endpoints in OpenAI-formaat, een vaste code voor programma's.
Het formaat
{ "error": { "message": "This API key can't use `gpt-6-astra`. It's limited to gpt-6-sol. Change that at https://zurelay.com/app/keys.", "type": "permission_error", "param": "model", "code": "model_not_allowed" }}Bij /v1/messages worden dezelfde fouten teruggestuurd in het formaat van Anthropic, dat geen code bevat: gebruik de HTTP-status en error.type: { "type": "error", "error": { "type": "...", "message": "..." } }. Elk antwoord op een chat-, afbeeldings- of videoverzoek, met of zonder fout, bevat een x-request-id-header.
Codes
Opnieuw proberen
- Probeer
429en503opnieuw na het aantal seconden in deretry-after-header (of met exponentieel oplopende wachttijden), tenzij het antwoordx-should-retry: falseaangeeft. - Probeer andere
4xx-fouten niet ongewijzigd opnieuw: ze mislukken op dezelfde manier. - Mislukte verzoeken zijn gratis, dus opnieuw proberen kost niets totdat een verzoek slaagt. Een stream die onderweg afbreekt, wordt in rekening gebracht voor wat is afgeleverd, en de zeldzame
503metx-should-retry: falsevoor de invoer (zie Facturering). - De officiële SDK's van OpenAI en Anthropic proberen bij de juiste fouten al automatisch opnieuw.
Fouten tijdens het streamen
Fouten die een model teruggeeft over je verzoek zelf (een parameter die het niet ondersteunt, een prompt die te lang is), worden doorgegeven met de eigen melding en code van het model, als een 400 van 422.
Fouten tijdens het streamen
Zodra een stream is gestart, kan een fout niet meer als HTTP-status worden doorgegeven. Je krijgt in plaats daarvan een laatste foutevent (in het formaat van het endpoint) en de stream stopt. De invoer en de uitvoer die je daarvoor hebt ontvangen, worden in rekening gebracht, daarna niets. Dit komt zelden voor: de meeste problemen worden vóór het eerste token opgevangen, waarna het verzoek opnieuw wordt geprobeerd.
Hetzelfde soort event beëindigt een stream als het saldo of het sleutelbudget onderweg opraakt, met insufficient_quota, key_budget_exceeded of key_daily_budget_exceeded. Een verzoek zonder streaming waarbij het saldo of budget onderweg opraakt, geeft terug wat er is geschreven, afgekapt zoals een antwoord dat max_tokens heeft bereikt (finish_reason: "length", of stop_reason: "max_tokens" bij /v1/messages), met een x-zurelay-stopped-header die de code vermeldt.
Vragen, of ontbreekt er iets? Vraag het ons supportteam en je krijgt antwoord per e-mail, meestal binnen een minuut.