Für KI-Agenten: Schritt-für-Schritt-Anleitung zur Einrichtung — /docs/agents.md, Dokumentationsindex — /llms.txt.
Fehler und Limits
Anfragelimits, Timeouts und Fehlercodes des Gateways. Zu jeder Antwort steht, wann sie auftritt und was zu tun ist: Anfrage wiederholen oder korrigieren.
Limits#
Die Zahlen stammen aus dem Feld limits der Antwort von GET /v1/capabilities: dort stehen immer die aktuellen Werte.
| Limit | Wert | Bei Überschreitung |
|---|---|---|
| Anfragen pro Minute pro Schlüssel | 120, Fenster 60 s ab der ersten Anfrage | 429 rate_limit_exceeded und Header Retry-After; 5xx-Ablehnungen des Gateways verbrauchen kein Kontingent |
| Gleichzeitige Anfragen des Kontos | begrenzt | überzählige warten in der Warteschlange; wer nicht wartet — 429 queue_timeout |
| Größe des Anfrage-Bodys | 16 MiB | 413 |
| Antwortlänge | je Modell — Tabelle unten | größer als die Obergrenze des Modells — wird ohne Fehler auf die Obergrenze gekürzt |
| Untergeordnete Schlüssel | bis zu 50 pro Verwaltungsschlüssel, bis zu 120 Anfragen pro Minute für jeden | Obergrenzen anheben — über den Support |
Antwortlänge je Modell#
Ohne max_tokens setzt das Gateway den Standardwert ein: ohne Streaming — kürzer, damit die Antwort in die Timeouts passt, im Stream — die Obergrenze des Modells. max_completion_tokens — dasselbe Feld.
model | Obergrenze | Ohne Streaming | Im Stream |
|---|---|---|---|
MiniMaxAI/MiniMax-M2.7 | 8192 | 1500 | 8192 |
deepseek-ai/DeepSeek-V4-Flash-0731 | 32768 | 1500 | 32768 |
zai-org/GLM-5.3-Flash | 8192 | 3000 | 8192 |
Timeouts#
| Phase | Wert | Was passiert |
|---|---|---|
| Warten auf einen Platz in der Warteschlange | 45 s | 429 queue_timeout mit Header Retry-After: 1 |
| Beginn der Antwort des Netzwerks, Stream | 150 s | 504 upstream_timeout; die Schätzung der Eingabe-Tokens wird abgebucht |
| Beginn der Antwort des Netzwerks, ohne Streaming | 150 s | 504 upstream_timeout; die Schätzung der Eingabe-Tokens wird abgebucht |
| Generierung der Antwort | ≈ 300 s | das Netzwerk bricht die Generierung ab: die Antwort kommt mit finish_reason: length — setzen Sie mit der nächsten Anfrage fort |
| Pause zwischen den Chunks des Streams | 30 s | der Stream wird geschlossen: finish_reason: stop im Chunk joingonka-stream-stalled |
| Aktivitätssignal im Stream | 15 s | Kommentar : keep-alive — SSE-Clients überspringen ihn |
| Öffnen des Streams | 30 s | bis zu diesem Moment kommt die Ablehnung als Antwortcode, danach als Chunk joingonka-error |
| Frühe Antwort ohne Streaming | 90 s | das Gateway liefert 200 und sendet alle 15 s Leerzeichen — das JSON bleibt gültig; ein Fehler danach kommt im Body mit dem Feld error, der Status bleibt 200 |
Was bei einem Timeout abgebucht wird
Eine vom Netzwerk angenommene Anfrage kann nicht storniert werden. Bei 504 upstream_timeout wird die Schätzung der Eingabe-Token abgebucht, die Ausgabe-Token nicht; ein erneuter Versuch ist eine neue Abbuchung. Ein Stream, der vor dem abschließenden usage abbricht, wird genauso abgerechnet. Fordern Sie lange Antworten mit stream: true an.
Fehlercodes#
Der Fehlertext ist ein Objekt error mit den Feldern message, type, code, param; einige Felder sind nicht bei allen Fehlern vorhanden. Orientieren Sie sich am Status und type, prüfen Sie code: der Text message kann sich ändern. Das Anthropic-Format finden Sie im Abschnitt Format der Anthropic-Fehler.
{
"error": {
"message": "Model is currently overloaded in the Gonka network",
"type": "rate_limit_exceeded",
"code": "upstream_rate_limited"
}
}| Antwort | Wann | Was zu tun ist |
|---|---|---|
400 invalid_request_error | Ungültiger Body: kein messages, Nachricht ist kein Objekt, Body ist kein JSON; unbekanntes Modell — mit param: model und einer Liste verfügbarer Modelle im Text | Korrigieren Sie die Anfrage anhand des Fehlertexts |
400 invalid_request_error empty_content_after_normalization | Nachricht ist nach der Normalisierung leer — zum Beispiel enthielt sie nur ein Bild | Fügen Sie der Nachricht Text hinzu |
400 invalid_request_error web_search_privacy_sanitization_not_supported | Plugins web und privacy-sanitization in einer Anfrage | Behalten Sie eines davon |
400 invalid_request_error previous_response_id_not_supported conversation_not_supported item_reference_not_supported background_not_supported hosted_tool_choice_not_supported | OpenAI Responses: Verweis auf eine gespeicherte Antwort, einen Dialog oder ein Element; Hintergrundmodus; Anforderung eines integrierten Tools | Senden Sie den gesamten Verlauf in input |
400 api_error | Das Netzwerk hat die Parameter abgelehnt — zum Beispiel liegt der Wert reasoning_effort außerhalb seiner Liste | Korrigieren Sie den Wert anhand des Fehlertexts |
401 authentication_error | Schlüssel nicht gefunden, widerrufen oder mit unbekanntem Format | Prüfen Sie den Schlüssel auf der Seite gate.joingonka.ai/keys |
402 insufficient_funds | Das Guthaben reicht nicht für die Schätzung der Anfrage; der Rest steht in balance_ngonka | Laden Sie Ihr Guthaben auf: gate.joingonka.ai/billing |
402 insufficient_funds | Anfrage ohne Schlüssel, nicht von der Website (is_demo: true) | Übergeben Sie einen API-Schlüssel |
402 child_key_limit_exceeded | Das Ausgabenlimit des Schlüssels ist überschritten — täglich, monatlich oder gesamt; die Restbeträge stehen in daily_remaining, monthly_remaining, total_remaining | Erhöhen Sie das Limit des Schlüssels auf der Seite gate.joingonka.ai/keys oder warten Sie auf den Reset |
403 forbidden | Verwaltungsschlüssel gm- in einer Anfrage an ein Modell; API-Schlüssel auf einer nur für das Dashboard bestimmten Route | Für Anfragen — Schlüssel jg- oder gc-; Kontoverwaltung — im Dashboard |
404 invalid_request_error model_not_found | GET /v1/models/{model}: das Modell ist nicht im Katalog oder vorübergehend ausgeblendet | Nehmen Sie die id aus GET /v1/models |
404 invalid_request_error not_found compact_not_supported | OpenAI Responses: /v1/responses/{id} und andere State-Adressen, /v1/responses/compact | Verwalten Sie den Verlauf selbst; für die Codex CLI legen Sie eine eigene Provider-id fest |
404 invalid_request_error | Unbekannter Pfad | Prüfen Sie Methode, Pfad und Basisadresse |
413 invalid_request_error | Der Request-Body überschreitet das Limit | Kürzen Sie die Anfrage |
415 invalid_request_error | Der Body ist laut Header kein JSON: Content-Type: application/json erforderlich | Senden Sie Content-Type: application/json |
429 rate_limit_exceeded | Die Anzahl der Anfragen pro Minute pro Schlüssel ist überschritten; im Body — rate_limit mit limit, remaining, reset | Warten Sie so viele Sekunden, wie in Retry-After angegeben |
429 rate_limit_exceeded upstream_rate_limited | Das Modell ist im Gonka-Netzwerk überlastet | Wiederholen Sie nach Retry-After oder nehmen Sie ein anderes Modell — Modelle |
429 rate_limit_exceeded queue_timeout queue_full | Alle Plätze im Netzwerk sind belegt: die Warteschlange ist voll oder die Wartezeit ist abgelaufen | Wiederholen Sie nach Retry-After |
500 server_error | Interner Fehler des Gateways | Wiederholen Sie später; tritt es erneut auf, schreiben Sie an den Support und fügen Sie x-request-id bei |
501 not_implemented | POST /v1/embeddings: im Netzwerk gibt es keine Embedding-Modelle | Nutzen Sie einen anderen Embedding-Dienst |
502 api_error upstream_unauthorized | Der Provider des Netzwerks hat die Anmeldedaten des Gateways abgelehnt — Ihr Schlüssel ist in Ordnung | Wiederholen Sie in einer Minute |
502 api_error | Fehler im Gonka-Netzwerk; code stammt vom Netzwerk, falls es ihn gesendet hat | Wiederholen Sie mit einer Pause oder nehmen Sie ein anderes Modell |
503 model_unavailable model_outage model_initializing model_unstable model_not_served | Das Modell ist derzeit laut Netzwerk-Proben nicht verfügbar: Ausfall, Start, Instabilität oder niemand betreibt es; sofortige Ablehnung, ohne Warten | Nehmen Sie ein anderes Modell — der Fehlertext verrät welches; die Liste — Modelle |
503 service_unavailable | Keine verfügbaren Nodes | Wiederholen Sie später |
504 timeout upstream_timeout | Das Netzwerk hat die Anfrage angenommen, aber nicht rechtzeitig geantwortet; die Schätzung der Eingabe-Token wurde abgebucht | Für lange Antworten — stream: true; ein erneuter Versuch ist eine neue Abbuchung |
Fehler in einem geöffneten Stream#
Solange der Stream nicht geöffnet ist, kommt die Ablehnung mit dem üblichen Antwortcode — wie ohne Streaming. Nach dem Öffnen ist der Status bereits 200, und der Fehler kommt so:
- Chat Completions — Chunk
joingonka-errormit Felderror, dann Abbruch ohne[DONE]. - Ohne Streaming nach einer frühen Antwort — Status
200und Body mit Felderror. - Anthropic Messages — Event
event: error, dann wird der Stream geschlossen. - OpenAI Responses — Event
response.failed, Ursache inresponse.error.code. - Legacy Completions —
data: {"error": …}, dann[DONE].
data: {"id":"joingonka-error","object":"chat.completion.chunk","model":"MiniMaxAI/MiniMax-M2.7","choices":[],"error":{"message":"Gonka network error","type":"api_error"}}Format der Anthropic-Fehler#
POST /v1/messagesantwortet mit einem Anthropic-Envelope:{"type": "error", "error": {"type", "message"}}.- Gateway-Ablehnungen behalten
typeaus der Tabelle oben (insufficient_funds,model_unavailableund andere); das Feldcodegibt es in diesem Envelope nicht — die Ursache steht im Text. - Fehler im Anfrageformat —
invalid_request_error: keine Nachrichten odermax_tokens, Tool-Aufruf ohne Namen, unbekanntes Modell. - Unbekannter Pfad —
not_found_error, zu großer Body —request_too_large.
event: error
data: {"type":"error","error":{"type":"timeout","message":"Upstream timeout"}}Was sich wiederholen lässt#
- Nach einer Pause aus
Retry-After:429 - Mit wachsender Pause — 1, 2, 4 s und weiter:
500,502,503 service_unavailable,504 - Mit einem anderen Modell:
503 model_unavailable - Nicht unverändert wiederholen — korrigieren Sie Anfrage, Schlüssel oder Guthaben:
400,401,402,403,404,413,415,501
Jede Wiederholung nach 504 ist eine neue Abbuchung der Eingabe-Schätzung; für lange Antworten aktivieren Sie stream: true.
Der Fehler tritt erneut auf — schreiben Sie an den Support und fügen Sie x-request-id aus den Antwort-Headern bei.