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

Get KanbanWP updates

Release notes, new features and kanban guides, straight to your inbox. We write when something ships, not on a schedule.