update_task
Modify an existing task by changing any of its fields: title, description, dates, priority, progress, or completion state. Pass only fields to change; mark done to open or close the task.
Instructions
Update a task. Only the fields you pass change. Use done to open/close it.
v1 has no partial update. There, this reads the task and writes it back with your changes merged in, at the cost of one extra request. v2 is a single PATCH unless a description is involved.
due_date is the deadline. start_date and end_date are ISO 8601 datetimes
marking the window you plan to work on the task (start work / finish work).
Pass an empty string to any of the three to clear it.
percent_done is a fraction despite the name. A quarter done is 0.25. Vikunja
does not validate it, and 50 is stored as 50.
repeat_after is a number of seconds. Setting it changes what done means for
this task: it reopens itself with its dates moved forward. repeat_mode is 0 to
advance by repeat_after, 1 to repeat monthly and ignore repeat_after, or 2 to
count from the day it was completed. A repeating task with no dates can never be
closed: it reopens regardless.
Two wrinkles in what comes back. On v2 a partial update returns the description
as the stored HTML. v2 does not convert on a PATCH. Call get_task when you need
it as Markdown. And a write that changes nothing returns
{"ok": true, "unchanged": true} there, which is Vikunja answering 304.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| done | No | ||
| title | No | ||
| task_id | Yes | ||
| due_date | No | ||
| end_date | No | ||
| priority | No | ||
| start_date | No | ||
| description | No | ||
| is_favorite | No | ||
| repeat_mode | No | ||
| percent_done | No | ||
| repeat_after | No |