Through the API, you can fully manage tasks: create new ones, get information about them, add notes, move them between columns in kanban mode, and create checklists. The methods you can use:
Getting a list of tasks
The GET method to the `/v2/task` endpoint allows you to get all tasks. Tasks can be filtered by query fields.
- Filtering by status: use `includeRemoved` and `includeArchived` (true/false) to select which tasks to display;
- Limiting results: the `maxCount` (number) parameter allows you to get only the required number of tasks, and `includeAllRecurrenceInstances` (true/false) controls the display of recurring tasks;
- Filtering by project and subtasks: specify `projectId` (string) for tasks of a specific project or `parent` (string) for subtasks of a specific task;
- Filtering by dates: the `startDateFrom` and `startDateTo` parameters (string with date in ISO format: `2025-11-28`) will help you select tasks in the desired date range.
Creating a task
Use the POST method to the `/v2/task` endpoint to create a new task. Pass the data in the request body in JSON format with the necessary fields.
Required fields: "title" (string) — task name. This field is required to create a task (example: "Buy groceries").
Main parameters:
- "start" (string, ISO format) — task start date (example: "2025-11-28");
- "note" (string) — note or description for the task (example: "Note text");
- "priority" (number) — task priority (0 — high priority; 1 — normal (medium) priority; 2 — low priority).
Additional parameters:
- "isNote" (boolean) — set to true to create a note instead of a regular task;
- "journalDate" (string, ISO format) — archiving date. If you specify this date, the task will be moved to the archive immediately;
- "deleteDate" (string, ISO format) — deletion date. If you specify this date, the task will be moved to trash.
Important! Recurring tasks cannot be created yet — the API only supports regular tasks.
Getting a task by ID
To get a task, use the GET method to the `/v2/task` endpoint. You need to specify the task ID as a path parameter in the URL. Where to find the ID: from the response when creating a task or in the application interface — right-click on the task → copy private link → the string that starts with “T” is the task ID.
Updating a task
Use the PATCH method to the `/v2/task` endpoint to modify an existing task. Specify the task ID in the request path (path parameter). In the request body, pass JSON with the fields you want to change.
Main parameters for updating:
- "title" (string) — new task name (example: "Buy groceries");
- "start" (string, ISO format) — task start date (example: "2025-11-28");
- "note" (string) — description or note for the task (example: "Note text");
- "priority" (number) — task priority (0 — high priority; 1 — normal (medium) priority; 2 — low priority);
- "isNote" (boolean) — change the entity type: true converts a task to a note, false converts a note to a task.
Important! "title" is not required when updating (unlike when creating), since the task ID is already passed in the path. You can only update the fields that need to be changed.
Deleting a task
To delete a task, use the DELETE method to the endpoint `/v2/task`. You need to specify the task ID as a path parameter in the URL. Deletion via the DELETE method is irreversible.
If you want to move a task to archive or trash (instead of permanent deletion), use the PATCH method with the corresponding fields:
- "journalDate" (string, ISO format) — archive the task by specifying the archive date;
- "deleteDate" (string, ISO format) — move the task to trash by specifying the deletion date.
Moving a task in kanban
To move a task from one column to another, use the POST method to the `/v2/kanban-task-status` endpoint. Pass the task ID and column ID in the request body in JSON format. Both must exist before this request, otherwise you will get an error.
Checklists
You can work with checklists through GET, POST, PATCH, DELETE methods to the `/v2/checklist-item` endpoint. To create a checklist, pass its name in the "title" field and specify the task ID in the "parent" field for the request body in JSON format.