REST API

Use the KanbanWP REST API under kanbanwp/v1: authentication with cookies or application passwords, the main routes, and example curl requests.

All routes use the namespace kanbanwp/v1, for example https://example.com/wp-json/kanbanwp/v1/boards. Request and response bodies are JSON.

Authentication

Most routes need a logged-in WordPress user, and what that user can do depends on their board role.

Cookie and nonce. Code running in the browser while someone is logged in must send the X-WP-Nonce header with a wp_rest nonce. Without it, WordPress treats the request as logged out and returns 401.

Application passwords. For scripts and servers, create an application password under Users → Profile and use HTTP Basic authentication with your username. WordPress only offers application passwords on HTTPS sites, or on local environments.

curl -u "USERNAME:APPLICATION_PASSWORD" \
  https://example.com/wp-json/kanbanwp/v1/boards

The MCP endpoint is separate and uses its own bearer token. See Connecting an agent.

Boards

Method and routePurpose
GET /boardsList boards you can see.
POST /boardsCreate a board. name is required. Optional: description, folder, template.
GET /boards/templatesList board templates.
GET, PUT/PATCH, DELETE /boards/{id}Read, update or delete a board.
POST /boards/{id}/duplicateDuplicate a board.
POST /boards/{id}/archiveArchive a board.
GET /boards/{id}/activityRead the board activity feed.

Creating a board needs the kanbanwp_manage capability or the WordPress edit_posts capability.

Stages, tasks and comments

Method and routePurpose
GET, POST /boards/{board_id}/stagesList or create stages (name required).
POST /boards/{board_id}/stages/reorderReorder stages with ordered_ids.
GET, PUT/PATCH, DELETE /stages/{id}Read, update or delete a stage.
GET, POST /boards/{board_id}/tasksList or create tasks (title required). Listing accepts filters such as stage_id, assignee and search.
POST /boards/{board_id}/tasks/bulkBulk actions. Send task_ids and an action: archive, unarchive, delete, move, set_priority, add_label or assign.
GET, PUT/PATCH, DELETE /tasks/{id}Read, update or delete a task.
POST /tasks/{id}/moveMove a task. stage_id required, position optional.
POST /tasks/{id}/watchToggle watching a task.
GET, POST /tasks/{task_id}/commentsList or add comments.
PUT/PATCH, DELETE /comments/{id}Edit or delete a comment.

Other resources

  • Labels: /boards/{board_id}/labels (GET, POST) and /labels/{id} (GET, PUT/PATCH, DELETE).
  • Members: /boards/{board_id}/members (GET, POST) and /boards/{board_id}/members/{user_id} (PUT/PATCH, DELETE).
  • Saved views: /boards/{board_id}/views and /views/{id}.
  • Webhooks: /boards/{board_id}/webhooks (GET, POST) and /webhooks/{id} (PUT, DELETE). See Webhooks.
  • Notifications: GET /notifications, POST /notifications/{id}/read, POST /notifications/read-all.
  • Reports: GET /reports/overview, /reports/workload, /reports/flow.
  • Import: POST /import/trello, /import/csv, /import/json, /import/legacy (needs kanbanwp_manage). Export: GET /export/board/{id}.
  • Linked posts: /tasks/{id}/link-post, /unlink-post, /create-draft, /post, and /post/{id}/task, /post/{id}/create-task.
  • Public links: POST and GET /portal/token (board managers) and GET /portal/board/{id} (token required).
  • AI (all POST, need AI configured and allowed): /ai/text-to-tasks, /breakdown, /summarize, /post-outline, /post-draft, /post-seo, /board-summary, /generate-board, /command, /client-update.

Examples

Create a task:

curl -u "USERNAME:APPLICATION_PASSWORD" \
  -H "Content-Type: application/json" \
  -d '{"title":"Draft launch post","stage_id":12,"priority":"high"}' \
  https://example.com/wp-json/kanbanwp/v1/boards/3/tasks

Move it to another stage:

curl -u "USERNAME:APPLICATION_PASSWORD" \
  -H "Content-Type: application/json" \
  -d '{"stage_id":14}' \
  https://example.com/wp-json/kanbanwp/v1/tasks/57/move

Errors

Errors use standard HTTP codes: 401 when not logged in, 403 when your board role is too low, 404 when a board or task does not exist, and 400 for missing parameters.

Last updated October 13, 2026