Todoist MCP Server

by Chrusic
Verified

todoist_update_task

Update one or more tasks in Todoist with full parameter support

Input Schema

NameRequiredDescriptionDefault
assignee_idNoNew user ID to assign the task to (optional)
contentNoNew content/title for the task (optional)
deadline_dateNoNew deadline date in YYYY-MM-DD format (optional)
deadline_langNo2-letter language code for deadline parsing (optional)
descriptionNoNew description for the task (optional)
due_dateNoNew due date in YYYY-MM-DD format (optional)
due_datetimeNoNew due date and time in RFC3339 format (optional)
due_langNo2-letter language code for due date parsing (optional)
due_stringNoNew due date in natural language (optional)
durationNoNew duration amount of the task (optional)
duration_unitNoNew duration unit ('minute' or 'day') (optional)
labelsNoNew array of label names for the task (optional)
priorityNoNew priority level from 1 (normal) to 4 (urgent) (optional)
project_idNoMove task to this project ID (optional)
section_idNoMove task to this section ID (optional)
task_idNoID of the task to update (preferred)
task_nameNoName/content of the task to search for (if ID not provided)
tasksNoArray of tasks to update (for batch operations)

Input Schema (JSON Schema)

{ "anyOf": [ { "required": [ "tasks" ] }, { "required": [ "task_id" ] }, { "required": [ "task_name" ] } ], "properties": { "assignee_id": { "description": "New user ID to assign the task to (optional)", "type": "string" }, "content": { "description": "New content/title for the task (optional)", "type": "string" }, "deadline_date": { "description": "New deadline date in YYYY-MM-DD format (optional)", "type": "string" }, "deadline_lang": { "description": "2-letter language code for deadline parsing (optional)", "type": "string" }, "description": { "description": "New description for the task (optional)", "type": "string" }, "due_date": { "description": "New due date in YYYY-MM-DD format (optional)", "type": "string" }, "due_datetime": { "description": "New due date and time in RFC3339 format (optional)", "type": "string" }, "due_lang": { "description": "2-letter language code for due date parsing (optional)", "type": "string" }, "due_string": { "description": "New due date in natural language (optional)", "type": "string" }, "duration": { "description": "New duration amount of the task (optional)", "type": "number" }, "duration_unit": { "description": "New duration unit ('minute' or 'day') (optional)", "enum": [ "minute", "day" ], "type": "string" }, "labels": { "description": "New array of label names for the task (optional)", "items": { "type": "string" }, "type": "array" }, "priority": { "description": "New priority level from 1 (normal) to 4 (urgent) (optional)", "enum": [ 1, 2, 3, 4 ], "type": "number" }, "project_id": { "description": "Move task to this project ID (optional)", "type": "string" }, "section_id": { "description": "Move task to this section ID (optional)", "type": "string" }, "task_id": { "description": "ID of the task to update (preferred)", "type": "string" }, "task_name": { "description": "Name/content of the task to search for (if ID not provided)", "type": "string" }, "tasks": { "description": "Array of tasks to update (for batch operations)", "items": { "anyOf": [ { "required": [ "task_id" ] }, { "required": [ "task_name" ] } ], "properties": { "assignee_id": { "description": "New user ID to assign the task to (optional)", "type": "string" }, "content": { "description": "New content/title for the task (optional)", "type": "string" }, "deadline_date": { "description": "New deadline date in YYYY-MM-DD format (optional)", "type": "string" }, "deadline_lang": { "description": "2-letter language code for deadline parsing (optional)", "type": "string" }, "description": { "description": "New description for the task (optional)", "type": "string" }, "due_date": { "description": "New due date in YYYY-MM-DD format (optional)", "type": "string" }, "due_datetime": { "description": "New due date and time in RFC3339 format (optional)", "type": "string" }, "due_lang": { "description": "2-letter language code for due date parsing (optional)", "type": "string" }, "due_string": { "description": "New due date in natural language (optional)", "type": "string" }, "duration": { "description": "New duration amount of the task (optional)", "type": "number" }, "duration_unit": { "description": "New duration unit ('minute' or 'day') (optional)", "enum": [ "minute", "day" ], "type": "string" }, "labels": { "description": "New array of label names for the task (optional)", "items": { "type": "string" }, "type": "array" }, "priority": { "description": "New priority level from 1 (normal) to 4 (urgent) (optional)", "enum": [ 1, 2, 3, 4 ], "type": "number" }, "project_id": { "description": "Move task to this project ID (optional)", "type": "string" }, "section_id": { "description": "Move task to this section ID (optional)", "type": "string" }, "task_id": { "description": "ID of the task to update (preferred)", "type": "string" }, "task_name": { "description": "Name/content of the task to search for (if ID not provided)", "type": "string" } }, "type": "object" }, "type": "array" } }, "type": "object" }