Zum Inhalt springen

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:

json
{
  "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:

json
{
  "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.