Developer guide
Fehlercodes
Vorgehen und Regeln für Wiederholungsversuche nach Statuscode
Auf dieser Seite sind die vom Gateway zurückgegebenen Statuscodes und ihre Bedeutung sowie das Vorgehen je Code zusammengefasst.
Wenn der Upstream einen 4xx- oder 5xx-Code zurückgibt, wird dieser unverändert weitergeleitet. In allen anderen Fällen gilt die nachstehende Tabelle.
Zusätzlich sind die Form der Fehlertexte der beiden kompatiblen Spezifikationen, die Regeln für Anthropic-kompatibles error.type sowie die Konsolenansicht zur Prüfung von Limits und Nutzung beschrieben.
Statuscode
| Code | Bedeutung | Vorgehen |
|---|---|---|
| 400 | Fehlerhafte Anforderungsparameter. Beim Anthropic-kompatiblen Modellverzeichnis liegt limit außerhalb von 1–1000, oder es wurde versucht, eine gespeicherte Antwort mit GET /responses/{responseId}?stream=true fortzusetzen | Die Werte innerhalb des zulässigen Bereichs korrigieren. Gespeicherte Antworten ohne stream abrufen. |
| 401 | Kein API-Schlüssel vorhanden oder der Schlüssel ist abgelaufen bzw. widerrufen | Den Schlüsselstatus in der API-Schlüsselansicht prüfen und den Header-Namen sowie das Bearer-Präfix kontrollieren. |
| 403 | Keine Berechtigung für das Modell, Nutzungslimit überschritten, unzureichendes Guthaben oder nicht der Eigentümer der Stimme | error.message gibt den jeweiligen Grund an. Die Werte sind in der Ansicht im nachstehenden Abschnitt zur Prüfung von Limits und Nutzung zu sehen. |
| 404 | Modell nicht vorhanden oder mit diesem Schlüssel nicht zugänglich (einschließlich Modelle, deren Support eingestellt wurde), nicht vorhandener Pfad oder CleviDrive-Ergebnis, dessen Aufbewahrungsfrist von 3 Tagen abgelaufen ist | Zuerst mit GET /models die Liste der aufrufbaren Modelle prüfen. Den Pfad mit der Tabelle auf der Seite „API aufrufen“ abgleichen. |
| 408 · 409 · 413 | Zeitüberschreitung beim Upstream, Überlastung oder Überschreitung der maximalen Anforderungsgröße. Für Sprach- und Stimmenpfade beträgt das Zeitlimit 5 Minuten, die maximale Anforderungsgröße 28 MiB | Wenn 409 einen Retry-After enthält, entsprechend lange warten. Bei 413 die Anforderung aufteilen. |
| 429 | Der Upstream-Anbieter hat eine Ratenbegrenzung angewendet | Wenn Retry-After vorhanden ist, diesen unverändert befolgen; andernfalls mit exponentiellem Backoff erneut versuchen. |
| 5xx | Vorübergehender Fehler des Gateways oder des Upstreams (einschließlich 503) | Mit exponentiellem Backoff erneut versuchen. Wenn der Fehler wiederholt auftritt, diesen über Hilfe und Kontakt zusammen mit X-Request-Id melden. |
Wiederholungsversuche
Das Gateway erzeugt keine eigenen 429-Fehler und versucht Upstream-Antworten auch nicht unbemerkt erneut oder stellt sie in eine Warteschlange.
Warten und erneute Versuche werden vom Client durchgeführt.
| Code | Wartezeit | Danach |
|---|---|---|
| 409 | Wenn Retry-After vorhanden ist, diese Zeit | Dieselbe Anfrage erneut senden. |
| 429 | Wenn Retry-After vorhanden ist, diese Zeit, andernfalls exponentielles Backoff | Dieselbe Anfrage erneut senden. |
| 5xx | Exponentielles Backoff | Bei wiederholtem Auftreten den Support kontaktieren. |
| 413 | Keine Wartezeit | Die Anfrage aufteilen. |
Fehlerinhalt
Der Fehlerinhalt hat je nach Spezifikation ein unterschiedliches Format. Upstream-Fehler werden auf die Meldung reduziert und bereinigt weitergeleitet; Stacktraces und interne Felder werden nicht weitergegeben.
Dies ist der Inhalt des OpenAI-kompatiblen Pfads.
{
"error": {
"message": "API key is required.",
"type": "invalid_request_error"
}
}Dies ist der Inhalt des Anthropic-kompatiblen Pfads. error.type wird anhand des Statuscodes festgelegt.
{
"type": "error",
"error": {
"type": "authentication_error",
"message": "..."
},
"request_id": "rqid..."
}| Statuscode | error.type |
|---|---|
| 400 | invalid_request_error |
| 401 | authentication_error |
| 403 | permission_error |
| 404 | not_found_error |
| 413 | request_too_large |
| 429 | rate_limit_error |
| 529 | overloaded_error |
| Andere Codes | api_error |
Limits und Nutzung prüfen
Die Limitwerte unterscheiden sich je nach Workspace. Prüfen Sie den Grund für 403 in error.message und sehen Sie anschließend die Werte in den folgenden Ansichten nach.
| Zu prüfen | Konsolenansicht |
|---|---|
| Für meinen Workspace geltendes Limit | Zugewiesenes Nutzungslimit in der Übersicht |
| Vom Tarif erlaubter Umfang und Guthaben | Tarif und Credits |
| Tatsächliche Nutzung (Aufrufe nach Modell und Schlüssel, voraussichtlich abgezogene Credits) | Nutzung |
| Schlüsselstatus (abgelaufen oder widerrufen) | API-Schlüssel |
