Kanban

Create or update a kanban task

Mirrors the MCP create_task / update_task tools. Only valid on a todo-mode board. Creates a NEW task with a fresh UUID, OR updates an existing task in place if you pass its id. Max 1000 tasks per board, 20 000 chars per task content. In the snapshot a task's content is an opaque JSON string (e.g. {"description":...}) — treat it as a blob. It may also carry an optional boards array of attached cnvs board ids ({"boards":["<id>",...]}), set when a user drags boards from their Recent rail onto the task.

Over MCP there are extra task tools without a dedicated REST path: create_tasks (bulk-create an array in one call), query_tasks (server-side filter by assignee / priority / done / overdue / due-window), and export_tasks (the same output as GET tasks.csv / tasks.md). due_date must be an ISO 8601 date (YYYY-MM-DD or full date-time); non-ISO values are rejected 400 { field: "due_date" }.

post/api/boards/{boardId}/tasks

Request

  • Base URL: https://cnvs.app
  • URL: https://cnvs.app/api/boards/{boardId}/tasks
  • Auth: none declared

Request body

idstring

Pass an existing id to UPDATE that task in place; omit to CREATE a new one.

column_idstring required

Column the card belongs to.

namestring required

Card title.

descriptionstring

Optional free-text body. Stored inside the task's opaque content JSON blob (≤ 20 000 chars).

due_datestring

Optional ISO 8601 due date.

priority'H' | 'M' | 'L'

Optional High / Medium / Low priority.

assigneestring

Optional assignee label.

doneboolean

Mark the task completed (checked off). Defaults to false on create; omit on update to leave unchanged.

sortnumber

Optional order within the column.

authorstring

Author tag, charset [A-Za-z0-9:_\-.], max 80 chars. Defaults to ai:rest for REST mutations. Use ai:<your-label> (e.g. ai:claude, ai:mybot) so humans can tell AI edits apart.

Response

Task created or updated.

idstring required
column_idstring required

Column the card currently lives in.

namestring required

Card title.

contentstring nullable

Opaque JSON string blob, e.g. {"description":...}. Treat as a blob — do not parse application meaning out of it. Max 20 000 chars.

due_datestring nullable

ISO 8601 due date, or null.

priority'H' | 'M' | 'L' | 'null' nullable

High / Medium / Low, or null.

assigneestring nullable
doneboolean

Whether the task is completed (checked off). Defaults to false.

sortnumber

Order within the column.

authorstring nullable
last_updatedstring

UTC timestamp.

Changes

No recorded changes to this operation across all 1 revision of this API.