Kernleitfäden

API-Fehler behandeln

Fehlercodes lesen, nur bei Bedarf wiederholen und die Request ID speichern

Behandeln Sie Fehler anhand des HTTP-Status und des code. Die message ist für Menschen geschrieben und kann sich ohne Vorankündigung ändern.

Chat Completions und Responses verwenden ein error-Objekt im OpenAI-Stil. Anthropic Messages und Gemini verwenden ihre eigenen Fehlerformate; verwenden Sie daher nicht denselben Parser für jede TokenLab API.

{
  "error": {
    "message": "Human-readable description",
    "type": "error_type",
    "code": "error_code",
    "param": "parameter_name",
    "retryable": true,
    "retry_after": 30
  }
}

Nur message und type sind in OpenAI-kompatiblen Fehlern, die von TokenLab erstellt wurden, immer vorhanden. Andere Felder erscheinen, wenn sie relevant sind.

Statuscodes

StatusBedeutungTypische Maßnahme
400Ein Feld, eine Modell-ID oder eine Eingabe ist ungültigAnfrage korrigieren; nicht unverändert wiederholen
401API-Key fehlt, ist ungültig, abgelaufen oder wurde widerrufenKey ersetzen
402Guthaben oder API-Key-Limit ist zu niedrigAufladen, Limit erhöhen oder Anfrage reduzieren
403Dieser Key kann die Ressource oder das Modell nicht verwendenBerechtigungen des Keys oder Modell ändern
404Ressource existiert nicht oder ist nicht mehr verfügbarID und den API-Key, der sie erstellt hat, überprüfen
413Anfrage oder hochgeladene Datei ist zu großEingabe auf das dokumentierte Modell- oder Endpunkt-Limit reduzieren
429Anfrage-Limit erreichtAuf Retry-After warten
500–504Dienst nicht verfügbar oder NetzwerkfehlerNur bei retryable: true wiederholen; retry_after und ein Versuchslimit beachten

Häufige Fehlercodes

CodeBedeutungWas zu ändern ist
invalid_api_keyDer API-Schlüssel fehlt, ist ungültig, inaktiv oder widerrufenAuthorization-Header und Key-Wert überprüfen
expired_api_keyDer API-Schlüssel ist abgelaufenAktiven Key erstellen oder auswählen
insufficient_balanceDas Kontoguthaben deckt die Anfrage nicht abGuthaben aufladen, Anfrage reduzieren oder günstigeres Modell wählen
quota_exceededDer API-Key hat sein eigenes Limit erreichtLimit des Keys erhöhen oder anderen autorisierten Key verwenden
model_not_allowedDer Key kann das angeforderte Modell nicht verwendenModellliste des Keys aktualisieren oder erlaubtes Modell wählen
model_not_foundDie Modell-ID ist unbekannt oder nicht verfügbar/v1/models lesen und eine aktuelle Modell-ID verwenden
context_length_exceededEingabe ist länger, als das Modell akzeptiertVerlauf entfernen oder Modell mit größerem Kontextfenster wählen
rate_limit_exceededZu viele Anfragen im aktuellen Zeitfenster gesendetAuf Retry-After warten
payload_too_largeRequest-Body oder Datei überschreitet das Endpunkt-LimitEingabe reduzieren oder komprimieren
all_channels_failedDas gewählte Modell kann diese Anfrage nicht bedienenNur bei retryable: true wiederholen; retry_after und ein Versuchslimit beachten
timeout_errorDie Anfrage wurde nicht rechtzeitig abgeschlossenNur wiederholen, wenn der Vorgang sicher wiederholt werden kann

503 all_channels_failed oder 503 delivery_tier_unavailable bedeutet nicht immer einen vorübergehenden Ausfall. Gibt es für die angeforderte Operation im gewählten Delivery-Tarif kein Angebot, ist retryable gleich false und retry_after fehlt. Wiederholen Sie die Anfrage nicht unverändert. Prüfen Sie Operation und Delivery-Verfügbarkeit mit GET /v1/models, bevor Sie ein anderes Modell wählen. Ähnliche Namen belegen keine Verfügbarkeit; ungeprüfte Alternativen werden nicht aufgeführt.

Einige OpenAI-kompatible Fehler enthalten optionale Felder wie did_you_mean, suggestions, alternatives, hint, retryable oder retry_after. Siehe Fehler, auf die Agenten reagieren können.

Wenn eine Anfrage über eine Official-Route lief und der Upstream-Dienst die Anfrage selbst abgelehnt hat, etwa wegen einer nicht akzeptierten Eingabe oder einer Content-Policy-Entscheidung, enthält der Fehler zusätzlich upstream: die message des Upstreams im Originalwortlaut sowie code und source (Name des Upstream-Dienstes), sofern bekannt. Fehler von Anthropic Messages und Gemini enthalten dasselbe Objekt in ihrem eigenen error. Verzweigen Sie weiterhin nach code und type; Werte von upstream.code legt der Upstream-Dienst fest und sie können sich ändern.

Entscheidungen zur Wiederholung (Retry)

FehlerDieselbe Anfrage wiederholen?
400, 401, 402, 403, 404, 413Nein. Ändern Sie die Anfrage, Anmeldedaten, das Guthaben, Berechtigungen oder die Eingabe.
429Ja, nach der vom Server bereitgestellten Verzögerung.
500–504Nur bei retryable: true wiederholen; retry_after und ein Versuchslimit beachten
Verbindung vor Antwort geschlossenManchmal. Überprüfen Sie bei Erstellungsoperationen, ob bereits eine Aufgabe oder ein Seiteneffekt existiert.
Stream nach Ausgabe unterbrochenNicht als vollständige Antwort werten. Eine Wiederholung kann eine andere Ausgabe oder eine zweite Abrechnung verursachen.

Speichern Sie bei der Erstellung von Bildern, Videos, Musik, 3D-Inhalten und Welten die Task-ID, sobald sie zurückgegeben wird. Wenn eine Erstellungsanfrage ein Timeout hat, überprüfen Sie den Aufgabenverlauf, bevor Sie eine weitere Erstellungsanfrage senden.

Die Request ID beibehalten

Antwort-Header enthalten eine Request ID zur Nachverfolgung. Speichern Sie diese zusammen mit dem Endpunkt, dem Modell, der Zeit und Ihrer eigenen Benutzer- oder Job-ID. Speichern Sie bei asynchronen Arbeiten auch task_id und billing_transaction_id, sofern vorhanden.

Wenn Sie den Support kontaktieren, fügen Sie diese IDs und ein redigiertes Beispiel bei. Senden Sie niemals API-Keys, Management-Token, private Medien, signierte URLs oder vollständige private Prompts.

Von der Anfrage zur Untersuchung und zum Support

Auf dieser Seite