Fehler und Ratenbegrenzungen
Die eine Fehlerhülle, die jede fehlgeschlagene Anfrage zurückgibt, die Ratenbegrenzungs-Header und wie du einen Schreibvorgang sicher wiederholst.
Jeder Endpunkt schlägt auf die gleiche Weise fehl, daher behandelst du Fehler, Ratenlimits und Wiederholungsversuche einmal und verwendest diesen Code überall wieder, auch über MCP.
Jede nicht-2xx-Antwort ist ein JSON-Objekt:
{
"defined": false,
"code": "TOO_MANY_REQUESTS",
"message": "Too many requests",
"data": { "reason": "rate_limit.exceeded", "retryAfterMs": 12000 }
}codeist der HTTP-Level-Fehler, zum BeispielUNAUTHORIZED,FORBIDDEN,NOT_FOUND,BAD_REQUESToderTOO_MANY_REQUESTS.data.reasonist, falls vorhanden, ein genauerer maschinenlesbarer Grund wieauth.key_not_foundoderrate_limit.exceeded. Verzweige darauf statt aufmessage, das für Menschen gedacht ist und sich ändern kann.definedisttrue, wenn die Operation diesen Fehler in der API-Referenz auflistet, undfalsefür Fehler, die jede Anfrage treffen können (Authentifizierung, Ratenlimits, eine unbekannte Route).- Eine Validierungsfehlermeldung antwortet mit
BAD_REQUESTund den Problemen indata.formErrorsunddata.fieldErrors.
Jede Antwort enthält außerdem eine X-Request-ID. Gib sie an, wenn du den Support kontaktierst,
damit wir diese genaue Anfrage finden können.
| Status | Code | Was zu tun ist |
|---|---|---|
400 | BAD_REQUEST | Korrigiere die Anfrage; data.fieldErrors benennt die Felder |
401 | UNAUTHORIZED | Sende einen gültigen Schlüssel oder eine gültige Session |
403 | FORBIDDEN | Der Schlüssel hat nicht den benötigten Scope oder die benötigte Rolle für die Operation |
404 | NOT_FOUND | Die Ressource existiert nicht oder du darfst sie nicht sehen |
409 | CONFLICT | Ein doppelter Schreibvorgang ist noch in Bearbeitung; wiederhole den Versuch kurzfristig |
413 | PAYLOAD_TOO_LARGE | Der Anfragekörper ist über 1 MB groß; teile einen Massen-Push in kleinere Chargen auf |
422 | UNPROCESSABLE_CONTENT | Die Anfrage ist korrekt formuliert, kann aber nicht angewendet werden |
429 | TOO_MANY_REQUESTS | Warte Retry-After, dann wiederhole den Versuch |
Jede Antwort gibt das Limit an, gegen das sie gezählt wurde, in zwei Formen:
- die
X-RateLimit-*-Header; - die IETF-Strukturfelder
RateLimit(Live-Zustand:rsind die verbleibenden Anfragen,tdie Sekunden bis zum Zurücksetzen des Fensters) undRateLimit-Policy(das Kontingent:qist das Limit,wdas Fenster in Sekunden).
Eine 429 enthält außerdem Retry-After in Sekunden und data.retryAfterMs. Warte mindestens so lange,
bevor du die nächste Anfrage sendest; ein früherer Wiederholungsversuch wird gezählt und
abgelehnt.
Ein Schreibvorgang, der einen Idempotency-Key-Header in der
API-Referenz auflistet, kann wiederholt werden, ohne die Arbeit doppelt auszuführen. Sende
einen Schlüssel pro logischem Schreibvorgang und wiederhole denselben Schlüssel bei jedem Wiederholungsversuch:
- derselbe Schlüssel mit demselben Body innerhalb von 24 Stunden gibt die gespeicherte Antwort erneut aus;
- derselbe Schlüssel mit einem anderen Body wird mit
422abgelehnt; - ein Duplikat, das ankommt, während der erste Vorgang noch läuft, erhält
409.
Ein Vorgang ohne diesen Header ist nicht idempotent, daher wiederhole ihn nur, wenn du sicher bist, dass der erste Versuch nicht erfolgreich war.
War diese Seite hilfreich?
Authentifizierung
Authentifiziere API-Anfragen mit einem Arbeitsbereichs-API-Schlüssel, der als Bearer-Token gesendet wird, und wähle die Schlüsselklasse und Bereiche aus, die ein Job benötigt.
MCP
Verbinde einen KI-Agenten mit deiner Arbeitsbereich-Wissensdatenbank über das Model Context Protocol mit einem API-Schlüssel.