Fehler
Verstehe die Fehlerantworten und Statuscodes von Webway sowie das sichere Wiederholungsverhalten.
Fehler verwenden ein kompaktes JSON-Objekt, das OpenAI-kompatible SDKs verarbeiten können:
{
"error": {
"message": "insufficient credit",
"type": "insufficient_quota",
"code": "insufficient_quota"
}
}
type ist der allgemeine Wert, nach dem Clientbibliotheken unterscheiden. code ist genauer
und unterscheidet sich nur dann von type, wenn der Fehler beim Anbieter aufgetreten ist.
Die Struktur richtet sich nach dem Endpunkt. /v1/messages gibt das Format von Anthropic zurück,
sodass Anthropic-SDKs und Claude Code es verarbeiten und ihre eigene Wiederholungslogik anwenden
können, ohne dieses Gateway gesondert zu behandeln:
{
"type": "error",
"error": {
"type": "overloaded_error",
"message": "the provider is over capacity, retry shortly (request 4f2ab910)",
"code": "overloaded"
}
}
Statuscodes
| Status | Bedeutung | Erneut versuchen? |
|---|---|---|
400 |
Ungültiges JSON, ungültige Felder oder Parameter | Nein; Anfrage korrigieren |
401 |
Fehlender, ungültiger, abgelaufener oder widerrufener API-Schlüssel | Nein; API-Schlüssel ersetzen |
402 |
Dein Guthaben reicht für die Anfrage nicht aus | Nach dem Aufladen des Guthabens |
403 |
Das Modell erfordert deinen eigenen Anbieter-API-Schlüssel | Nein; im Dashboard hinzufügen |
404 |
Modell oder Endpunkt nicht gefunden | Nein; ID und Pfad prüfen |
413 |
Anfragekörper ist zu groß | Nein; Nutzlast verkleinern |
429 |
Anfragelimit erreicht | Ja; warten und erneut versuchen |
502 / 503 |
Anbieter ist nicht verfügbar | Ja; Backoff verwenden |
504 |
Zeitüberschreitung beim Anbieter | Ja; Backoff verwenden |
402 bezieht sich ausschließlich auf dein Guthaben. Ein Abrechnungsproblem zwischen Webway und
einem Anbieter führt zu 502, da du es nicht selbst beheben kannst.
Fehler beim Anbieter
Wenn der Fehler von einem Anbieter und nicht von deiner Anfrage ausgeht, gibt code
an, um welchen Fehler es sich handelt:
code |
Status | Bedeutung | Erneut versuchen? |
|---|---|---|---|
model_unavailable |
502 |
Der Anbieter stellt dieses Modell nicht bereit. Wir beheben das | Nein |
context_length_exceeded |
400 |
Die Anfrage ist länger als das Kontextfenster des Modells | Nein |
content_filtered |
400 |
Der Sicherheitsfilter des Anbieters hat die Anfrage abgelehnt | Nein |
invalid_request |
400 |
Der Anbieter hat die Anfrage abgelehnt | Nein |
rate_limited |
429 |
Anfragelimit beim Anbieter erreicht | Ja |
overloaded |
503 |
Der Anbieter ist überlastet | Ja |
timeout |
504 |
Der Anbieter hat nicht rechtzeitig geantwortet | Ja |
transport_error |
502 |
Die Verbindung zum Anbieter ist fehlgeschlagen | Ja |
upstream_error |
502 |
Nicht klassifiziert. Wird immer untersucht | Möglicherweise |
Fehlertexte des Anbieters werden nie unverändert weitergegeben. Vorgelagerte Dienste beschreiben Fehler mit ihrem eigenen Vokabular, manchmal in einer anderen Sprache, und nennen häufig Infrastruktur, mit der du nichts zu tun hast. Zudem können sich diese Texte ohne Vorankündigung ändern. Jeder Fehler wird einer der obigen Kategorien zugeordnet und neu formuliert, sodass die erhaltene Meldung stabil genug für eine zuverlässige Protokollierung ist.
Jede Meldung endet mit einer Webway-Anfrage-ID. Gib sie bei Supportanfragen an: Sie ist die Kennung, nach der tatsächlich gesucht werden kann.
Fehler beim Streaming
Eine Anfrage kann fehlschlagen, nachdem die Antwortheader bereits gesendet wurden. Zu diesem
Zeitpunkt lässt sich der Statuscode nicht mehr ändern. Daher erscheint der Fehler als Ereignis im
Stream und verwendet dasselbe Protokoll wie der Rest — event: error bei
/v1/messages, ein error-Ereignis bei /v1/responses, ein error-Block bei
/v1/chat/completions. Die code-Werte entsprechen derselben Tabelle.
Behandle einen Stream, der ohne sein Abschlussereignis endet, als Fehler und nicht als kurze Antwort.
Wiederholungsregeln
Versuche es nur bei 429 und vorübergehenden 5xx-Antworten erneut. Verwende exponentielles
Backoff mit Jitter, begrenze die Anzahl der Versuche und beachte Retry-After, wenn es vorhanden ist.
Wiederhole Anfragen nach 400, 401, 402, 403, 404 oder 413 nicht unverändert. Dieselbe
Anfrage wird erneut fehlschlagen.
Anfragen, die abgelehnt werden, bevor die Verarbeitung durch den Anbieter beginnt, werden nicht berechnet. Für eine Anfrage, die nach Beginn der Generierung fehlschlägt, können die bereits erzeugten Token berechnet werden, auch wenn du sie während des Streamings abbrichst.