このページは、Kanbalone の JSON API をブラウザで参照できるようにした公開解説です。

API 例

すべて http://127.0.0.1:3000 を前提にしています。

ヘルスチェック

curl -s http://127.0.0.1:3000/api/health

ボード一覧

curl -s http://127.0.0.1:3000/api/boards

ボード shell の取得

curl -s http://127.0.0.1:3000/api/boards/3

ボード作成

curl -s -X POST http://127.0.0.1:3000/api/boards \
  -H 'content-type: application/json' \
  --data '{
    "name": "Agent Tasks",
    "laneNames": ["todo", "doing", "review", "done"]
  }'

タグ作成

curl -s -X POST http://127.0.0.1:3000/api/boards/3/tags \
  -H 'content-type: application/json' \
  --data '{
    "name": "frontend",
    "color": "#2563eb"
  }'

チケット作成

curl -s -X POST http://127.0.0.1:3000/api/boards/3/tickets \
  -H 'content-type: application/json' \
  --data '{
    "laneId": 9,
    "title": "Draft API usage guide",
    "bodyMarkdown": "Document the most common ticket operations.",
    "priority": 4,
    "tagIds": [3],
    "blockerIds": []
  }'

チケットを Done に移動して Resolved にする

curl -s -X PATCH http://127.0.0.1:3000/api/tickets/6 \
  -H 'content-type: application/json' \
  --data '{
    "laneId": 11,
    "isResolved": true
  }'

チケットを Todo に戻して Unresolved にする

curl -s -X PATCH http://127.0.0.1:3000/api/tickets/6 \
  -H 'content-type: application/json' \
  --data '{
    "laneId": 9,
    "isResolved": false
  }'

複数チケットをまとめて Resolved にする

curl -s -X POST http://127.0.0.1:3000/api/boards/3/tickets/bulk-complete \
  -H 'content-type: application/json' \
  --data '{
    "ticketIds": [4, 5, 6],
    "isResolved": true
  }'

Lane 名で複数チケットをまとめて移動する

curl -s -X POST http://127.0.0.1:3000/api/boards/3/tickets/bulk-transition \
  -H 'content-type: application/json' \
  --data '{
    "ticketIds": [4, 5, 6],
    "laneName": "Done",
    "isResolved": true
  }'

Blocker 設定

curl -s -X PATCH http://127.0.0.1:3000/api/tickets/7 \
  -H 'content-type: application/json' \
  --data '{
    "blockerIds": [6]
  }'

Parent 設定

curl -s -X PATCH http://127.0.0.1:3000/api/tickets/5 \
  -H 'content-type: application/json' \
  --data '{
    "parentTicketId": 4
  }'

コメント追加

curl -s -X POST http://127.0.0.1:3000/api/tickets/6/comments \
  -H 'content-type: application/json' \
  --data '{
    "bodyMarkdown": "Confirmed on local UI and API."
  }'

コメント編集

curl -s -X PATCH http://127.0.0.1:3000/api/comments/12 \
  -H 'content-type: application/json' \
  --data '{
    "bodyMarkdown": "Confirmed on local UI, API, and archive flow."
  }'

コメント削除

curl -s -X DELETE http://127.0.0.1:3000/api/comments/12

チケットをアーカイブする

curl -s -X PATCH http://127.0.0.1:3000/api/tickets/6 \
  -H 'content-type: application/json' \
  --data '{
    "isArchived": true
  }'

チケット summary を絞り込む

curl -s 'http://127.0.0.1:3000/api/boards/3/tickets?resolved=false'
curl -s 'http://127.0.0.1:3000/api/boards/3/tickets?lane_id=11'
curl -s 'http://127.0.0.1:3000/api/boards/3/tickets?tag=frontend'
curl -s 'http://127.0.0.1:3000/api/boards/3/tickets?archived=all'
curl -s 'http://127.0.0.1:3000/api/boards/3/tickets?q=sidebar'
curl -s 'http://127.0.0.1:3000/api/boards/3/tickets?q=%23123'

チケット並び替え

curl -s -X POST http://127.0.0.1:3000/api/boards/3/tickets/reorder \
  -H 'content-type: application/json' \
  --data '{
    "items": [
      { "ticketId": 4, "laneId": 9, "position": 0 },
      { "ticketId": 5, "laneId": 9, "position": 1 },
      { "ticketId": 6, "laneId": 11, "position": 0 }
    ]
  }'

ボードを Export する

curl -s http://127.0.0.1:3000/api/boards/3/export > board-3.json

ボードを Import する

curl -s -X POST http://127.0.0.1:3000/api/boards/import \
  -H 'content-type: application/json' \
  --data @board-3.json

大きなローカル seed data を Import する

/api/boards/import は local-only の大きめ payload も扱えます。

curl -s -X POST http://127.0.0.1:3000/api/boards/import \
  -H 'content-type: application/json' \
  --data @perf-5000-board.json

投入後は軽量 summary route で一覧確認します。

curl -s 'http://127.0.0.1:3000/api/boards/6/tickets?resolved=false'
curl -s 'http://127.0.0.1:3000/api/boards/6/tickets?lane_id=20'

SSE でボード更新を購読

curl -N http://127.0.0.1:3000/api/boards/3/events
data: {"boardId":3,"event":"board_updated","sentAt":"2026-04-10T00:00:00.000Z"}

コメント一覧

curl -s http://127.0.0.1:3000/api/tickets/6/comments

Activity の一覧取得

curl -s http://127.0.0.1:3000/api/tickets/6/activity

Relations の取得

curl -s http://127.0.0.1:3000/api/tickets/6/relations

Lane 名で Transition する

curl -s -X PATCH http://127.0.0.1:3000/api/tickets/6/transition \
  -H 'content-type: application/json' \
  --data '{
    "laneName": "Done",
    "isResolved": true
  }'