Fehler
HTTP-Fehler
Unsere API folgt einem vorhersehbaren HTTP-Fehlercode-Format:
-
400 -
invalid_request_error
: Es gab ein Problem mit dem Format oder Inhalt Ihrer Anfrage. Wir können diesen Fehlertyp auch für andere 4XX-Statuscodes verwenden, die unten nicht aufgeführt sind. -
401 -
authentication_error
: Es gibt ein Problem mit Ihrem API-Schlüssel. -
403 -
permission_error
: Ihr API-Schlüssel hat keine Berechtigung, die angegebene Ressource zu verwenden. -
404 -
not_found_error
: Die angeforderte Ressource wurde nicht gefunden. -
413 -
request_too_large
: Die Anfrage überschreitet die maximal zulässige Anzahl von Bytes. -
429 -
rate_limit_error
: Ihr Konto hat ein Ratenlimit erreicht. -
500 -
api_error
: Ein unerwarteter Fehler ist innerhalb der Systeme von Anthropic aufgetreten. -
529 -
overloaded_error
: Die API von Anthropic ist vorübergehend überlastet.529-Fehler können auftreten, wenn Anthropic-APIs bei allen Benutzern hohen Datenverkehr verzeichnen. In seltenen Fällen, wenn Ihre Organisation einen starken Anstieg der Nutzung verzeichnet, können Sie diese Art von Fehler sehen. Um 529-Fehler zu vermeiden, erhöhen Sie Ihren Datenverkehr schrittweise und halten Sie konsistente Nutzungsmuster bei.
Beim Empfang einer Streaming-Antwort über SSE ist es möglich, dass ein Fehler nach der Rückgabe einer 200-Antwort auftritt, wobei die Fehlerbehandlung nicht diesen Standardmechanismen folgen würde.
Fehlerformen
Fehler werden immer als JSON zurückgegeben, mit einem übergeordneten error
-Objekt, das immer einen type
und einen message
-Wert enthält. Zum Beispiel:
Gemäß unserer Versionierungsrichtlinie können wir die Werte innerhalb dieser Objekte erweitern, und es ist möglich, dass die type
-Werte im Laufe der Zeit zunehmen werden.
Request-ID
Jede API-Antwort enthält einen eindeutigen request-id
-Header. Dieser Header enthält einen Wert wie req_018EeWyXxfu5pfWkrYcMdjWG
. Wenn Sie sich bezüglich einer bestimmten Anfrage an den Support wenden, geben Sie bitte diese ID an, damit wir Ihr Problem schnell lösen können.
Unsere offiziellen SDKs stellen diesen Wert als Eigenschaft auf Antwort-Objekten der obersten Ebene bereit, die den Wert des request-id
-Headers enthält:
Lange Anfragen
Wir empfehlen dringend die Verwendung der Streaming Messages API oder Message Batches API für lang laufende Anfragen, insbesondere solche über 10 Minuten.
Wir empfehlen nicht, große max_tokens
-Werte zu setzen, ohne unsere Streaming Messages API
oder Message Batches API zu verwenden:
- Einige Netzwerke können inaktive Verbindungen nach einer variablen Zeitspanne abbrechen, was dazu führen kann, dass die Anfrage fehlschlägt oder ein Timeout auftritt, ohne eine Antwort von Anthropic zu erhalten.
- Netzwerke unterscheiden sich in ihrer Zuverlässigkeit; unsere Message Batches API kann Ihnen helfen, das Risiko von Netzwerkproblemen zu bewältigen, indem Sie nach Ergebnissen abfragen können, anstatt eine ununterbrochene Netzwerkverbindung zu benötigen.
Wenn Sie eine direkte API-Integration erstellen, sollten Sie wissen, dass das Einstellen eines TCP-Socket-Keep-alive die Auswirkungen von Timeouts bei inaktiven Verbindungen in einigen Netzwerken reduzieren kann.
Unsere SDKs überprüfen, dass Ihre nicht-streamenden Messages API-Anfragen voraussichtlich nicht ein 10-Minuten-Timeout überschreiten und setzen auch eine Socket-Option für TCP-Keep-alive.