Fehler und Rate Limits
Die Fehler, die die REST-API und der MCP-Server von kanman liefern, die Anfragelimits und wie Sie wiederholen, einschließlich der Wiederholungen von Webhook-Zustellungen.
Diese Seite beschreibt, was die programmatischen Schnittstellen von kanman zurückgeben, wenn etwas schiefgeht: die REST-API und der MCP-Server von kanman. Tool-Fehler des MCP-Servers stehen unter MCP-Tools. Wie kanman Webhook-Zustellungen wiederholt, beschreiben die Zustellregeln.
Fehler der REST-API
Jeder Fehler hat dieselbe Form:
{ "error": { "code": "not_found", "message": "Run run-7f3k does not exist in this workspace." } }
code ist stabil und für Ihren Code gedacht; message ist für Menschen gedacht und kann sich ändern.
| Status | code |
Wann |
|---|---|---|
400 |
invalid_request |
Ein Parameter oder der Body ist ungültig, zum Beispiel ein unbekannter Filterwert, ein fehlerhafter cursor oder eine Option, die nicht zur Entscheidung gehört. |
401 |
unauthorized |
Das Token fehlt, ist unbekannt, widerrufen oder abgelaufen, sein Workspace wurde gelöscht, oder die Person, der es gehört, hat den Workspace verlassen. Die Antwort trägt WWW-Authenticate: Bearer. |
403 |
forbidden |
Dem Token fehlt die Berechtigung des Endpunkts, oder das Audit-Log wurde mit dem Token einer Person angefragt, die weder Owner noch Admin ist. |
404 |
not_found |
Der Endpunkt oder das Objekt existiert im Workspace des Tokens nicht. |
405 |
method_not_allowed |
Den Pfad gibt es, aber nicht mit dieser Methode. |
409 |
conflict |
Die Entscheidung ist schon beantwortet. |
410 |
gone |
Ein entfernter Endpunkt der ersten API-Version (Projekte und Aufgaben). |
429 |
rate_limited |
Zu viele Anfragen. Siehe Rate Limits. |
500 |
internal_error |
Bei kanman ist etwas schiefgegangen. Versuchen Sie es erneut. |
Fehler des MCP-Servers
Der MCP-Server antwortet in JSON-RPC 2.0. Eine Anfrage, die er nicht annehmen kann, bekommt ein Fehlerobjekt:
{ "jsonrpc": "2.0", "id": null, "error": { "code": -32600, "message": "Unauthorized" } }
Ein Tool, das scheitert, liefert keinen Protokollfehler. Es liefert ein normales Tool-Ergebnis mit isError: true und einer lesbaren Meldung, damit der Coding-Agent darauf reagieren kann.
HTTP-Statuscodes
| Status | Wann |
|---|---|
200 |
Die Anfrage wurde bearbeitet. Auch Tool-Fehler kommen mit 200. |
202 |
Eine Benachrichtigung wurde angenommen. |
400 |
Der Body ist kein gültiges JSON. |
401 |
Das Token fehlt, ist unbekannt, widerrufen oder abgelaufen, oder die Story in der Adresse gehört nicht zum Workspace des Tokens. Die Antwort trägt WWW-Authenticate: Bearer. |
405 |
Die Methode ist nicht POST. Der Server ist zustandslos und bietet keinen Event-Stream. |
413 |
Der Body ist größer als 256 KB. |
500 |
Bei kanman ist etwas schiefgegangen. Versuchen Sie es erneut. |
Fehlercodes
| Code | Meldung | Bedeutung |
|---|---|---|
-32700 |
Parse error | Der Body ist kein gültiges JSON. |
-32600 |
Unauthorized, Request too large, Invalid JSON-RPC message | Die Anfrage wurde abgewiesen, bevor sie bearbeitet wurde. Senden Sie eine JSON-RPC-Nachricht pro Anfrage; Batches werden nicht angenommen. |
-32601 |
Method not found | Der Server kennt die JSON-RPC-Methode nicht. |
-32602 |
Unknown tool | tools/call nennt ein Tool, das der Server nicht hat. |
-32603 |
Internal error | Bei kanman ist etwas schiefgegangen. |
Rate Limits
Die REST-API erlaubt 120 Anfragen pro Minute und Token. Das Zeitfenster beginnt zur vollen Minute. Jede Antwort enthält:
| Header | Bedeutung |
|---|---|
X-RateLimit-Limit |
Erlaubte Anfragen pro Minute. |
X-RateLimit-Remaining |
Verbleibende Anfragen in der laufenden Minute. |
X-RateLimit-Reset |
Unix-Zeit in Sekunden, zu der die nächste Minute beginnt. |
Über dem Limit antwortet die API mit 429 und Retry-After in Sekunden. Für den MCP-Server veröffentlicht kanman keine Anfragelimits; Coding-Agenten rufen ihn wenige Male pro Story auf, weit unter jeder Grenze, die Sie bemerken würden.
Wiederholen
- Wiederholen Sie
500-Antworten und Netzwerkfehler nach einer kurzen Pause, mit wachsenden Abständen. - Warten Sie nach einem
429so viele Sekunden, wieRetry-Afterangibt. - Wiederholen Sie
400,401,403,404,409und410nicht: Ändern Sie zuerst die Anfrage oder das Token. - Tool-Ergebnisse mit
isError: truesind Antworten, keine Ausfälle. Lesen Sie die Meldung: Sie sagt dem Agenten, was als Nächstes zu tun ist, zum Beispiel „No run is active for this story yet. Call start_work first.“ - Webhook-Zustellungen wiederholt kanman bis zu viermal. Siehe Zustellregeln.
Weniger Anfragen stellen
- Abonnieren Sie Webhooks, statt die API nach neuen Runs oder Entscheidungen abzufragen.
- Lesen Sie eine lange Historie mit
limit100 und hören Sie auf, wennnextCursornullist. - Rufen Sie
get_storyeinmal zu Beginn auf statt vor jedem Schritt. - Senden Sie
report_progress, wenn die Phase wechselt, nicht für jede Datei.
Zuletzt aktualisiert: January 1, 0001
kanman öffnen