REST-API

Die REST-API für Teams, Stories, Runs, Entscheidungen und das Audit-Log: Basis-URL, Authentifizierung, Paginierung, Rate Limits und Bezeichner.

Mit der REST-API von kanman lesen Ihre eigenen Werkzeuge Teams, Stories, Runs, Entscheidungen und das Audit-Log, beantworten Entscheidungen und exportieren das Audit-Log, zum Beispiel für ein Status-Dashboard, einen Bot in Ihrem Chat-Werkzeug oder ein nächtliches Archiv in Ihrem Compliance-System. Wenn Sie benachrichtigt werden möchten, statt nachzufragen, nutzen Sie Webhooks.

kanman hat zwei weitere programmatische Schnittstellen: den MCP-Server von kanman, mit dem Claude Code oder Codex auf Ihrem Rechner an einer kanman-Story arbeiten, und den Self-hosted Runner, der kanmans Arbeit auf Ihrer eigenen Infrastruktur ausführt. Alle drei authentifizieren sich mit einem km_-API-Token.

Endpunkte

Methode und Pfad Was er tut Berechtigung
GET /v1/teams Die Teams des Workspaces mit Richtlinien-Zusammenfassung auflisten read
GET /v1/teams/{team} Ein Team lesen read
GET /v1/teams/{team}/stories Die Stories eines Teams auflisten read
GET /v1/stories/{story-key} Eine Story mit Akzeptanzkriterien lesen read
GET /v1/runs Runs auflisten read
GET /v1/runs/{run-key} Einen Run mit seinen Versuchen und dem Nachweispaket lesen read
GET /v1/decisions Entscheidungen auflisten read
GET /v1/decisions/{decision-key} Eine Entscheidung lesen read
POST /v1/decisions/{decision-key}/resolve Eine Entscheidung beantworten write
GET /v1/audit Das Audit-Log lesen (Owner und Admins) read
GET /v1/audit/export Das Audit-Log als CSV oder JSON exportieren (Owner und Admins) read

Die Seiten dieses Abschnitts beschreiben jeden Endpunkt neben der Stelle in der App, an der Sie dasselbe von Hand tun. Die Richtlinie eines Teams ändern, ein Team pausieren, Anforderungen einreichen sowie Runs stoppen oder wiederholen erledigen Sie in der App, in Slack oder über den MCP-Server.

Basis-URL und Format

Eigenschaft Wert
Basis-URL https://api.kanman.ai/functions/v1/api-gateway
Version Jeder Pfad beginnt mit /v1
Protokoll Nur HTTPS
Format JSON, UTF-8
Authentifizierung Authorization: Bearer km_... mit einem Token aus Einstellungen, API. Siehe Authentifizierung.
Reichweite Ein Token erreicht nur den Workspace, in dem es erstellt wurde.
Fehler { "error": { "code": "...", "message": "..." } }. Siehe Fehler und Rate Limits.

Beispiel:

curl https://api.kanman.ai/functions/v1/api-gateway/v1/teams \
  --header "Authorization: Bearer $KANMAN_API_KEY"
{
  "data": [
    {
      "id": "3c9a1f2e-5b7d-4e8a-9c0b-1d2e3f4a5b6c",
      "slug": "sandbox-team",
      "name": "Sandbox Team",
      "description": null,
      "keyPrefix": "SBX",
      "paused": false,
      "policy": {
        "preset": "balanced", "custom": false, "version": 4, "executor": "claude-code", "maxConcurrency": 2,
        "budgets": { "runCents": 400, "dayCents": null, "monthCents": 20000 },
        "planApproval": "always", "mergePolicy": "human", "pausedAt": null, "updatedAt": "2026-10-01T09:00:00Z"
      },
      "createdAt": "2026-09-28T11:22:47Z",
      "updatedAt": null
    }
  ],
  "nextCursor": null
}

Paginierung

Listen liefern die neuesten Einträge zuerst, als { "data": [...], "nextCursor": "..." }.

  • limit legt die Seitengröße fest: standardmäßig 25, höchstens 100.
  • Ist nextCursor nicht null, übergeben Sie ihn unverändert als cursor, um die nächste Seite zu erhalten. Behandeln Sie ihn als undurchsichtigen String.
  • Die Teamliste ist kurz und immer auf einer Seite vollständig.
curl "https://api.kanman.ai/functions/v1/api-gateway/v1/runs?limit=50&cursor=$NEXT" \
  --header "Authorization: Bearer $KANMAN_API_KEY"

Bezeichner

kanman verwendet überall dieselben lesbaren Schlüssel: in den URLs der App, in Slack, im MCP-Server und in der API.

Objekt Bezeichner Beispiel
Team Team-Slug sandbox-team
Story Story-Schlüssel SBX-12
Run Run-Schlüssel run-7f3k
Entscheidung Entscheidungs-Schlüssel dec-4h2k
Aufnahme-Anfrage Aufnahme-Slug export-invoices-k3f9

Rate Limits

Jedes Token darf 120 Anfragen pro Minute senden. Jede Antwort enthält X-RateLimit-Limit, X-RateLimit-Remaining und X-RateLimit-Reset (Unix-Sekunden); siehe Fehler und Rate Limits.

Alles wird protokolliert

Jede Änderung, die Sie vornehmen, ob in der App, in Slack, über den MCP-Server oder über die API, schreibt dieselben Audit-Einträge mit Ihnen als Akteur. Eine Entscheidung hält fest, über welchen Kanal sie beantwortet wurde: app, slack, mcp oder api. Siehe Audit-Exportformat.

Frühere Versionen

Die erste Version der API lieferte Boards, Projekte und Aufgaben. GET /boards und GET /boards/{id} antworten weiterhin mit den Teams des Workspaces in der alten Form; nutzen Sie stattdessen /v1/teams. Die Endpunkte für Projekte und Aufgaben antworten mit 410 Gone: Projekte gibt es nicht mehr, und Stories kommen aus Ihrem Tracker, wo Sie sie anlegen und ändern.

Support