v51

latestSwagger 2.0AGPL-3.0-or-laterraw.githubusercontent.com2026-08-0116998415.7 KB
task

Update a task

Updates a task. This includes marking it as done. Assignees you pass will be updated, see their individual endpoints for more details on how this is done. To update labels, see the description of the endpoint.

post/tasks/{id}

Path parameters

idinteger required

The Task ID

Request body

bucket_idinteger

The bucket id. Will only be populated when the task is accessed via a view with buckets. Can be used to move a task between buckets. In that case, the new bucket must be in the same view as the old one.

comment_countinteger

Comment count of this task. Only present when fetching tasks with the expand parameter set to comment_count.

cover_image_attachment_idinteger

If this task has a cover image, the field will return the id of the attachment that is the cover image.

createdstring

A timestamp when this task was created. You cannot change this value.

deleted_atstring

A timestamp when this task was deleted. Soft-deleted tasks are kept for 30 days before they are removed permanently. omitzero keeps the field out of the JSON of regular tasks — it only ever appears on soft-deleted ones (the later trash listing).

descriptionstring

The task description.

doneboolean

Whether a task is done or not.

done_atstring

The time when a task was marked as done. This field is system-controlled and cannot be set via API.

due_datestring

The time when the task is due.

end_datestring

When this task ends.

hex_colorstring

The task color in hex

idinteger

The unique, numeric id of this task.

identifierstring

The task identifier, based on the project identifier and the task's index

indexinteger

The task index, calculated per project

is_favoriteboolean

True if a task is a favorite task. Favorite tasks show up in a separate "Important" project. This value depends on the user making the call to the api.

is_unreadboolean
percent_donenumber

Determines how far a task is left from being done

positionnumber

The position of the task - any task project can be sorted as usual by this parameter. When accessing tasks via views with buckets, this is primarily used to sort them based on a range. Positions are always saved per view. They will automatically be set if you request the tasks through a view endpoint, otherwise they will always be 0. To update them, take a look at the Task Position endpoint.

priorityinteger

The task priority. Can be anything you want, it is possible to sort by this later.

project_idinteger

The project this task belongs to.

reactionsModelsReactionMap
related_tasksModelsRelatedTaskMap
repeat_afterinteger

An amount in seconds this task repeats itself. If this is set, when marking the task as done, it will mark itself as "undone" and then increase all remindes and the due date by its amount.

repeat_mode0 | 1 | 2
start_datestring

When this task starts.

time_entries_countinteger

Time entry count of this task. Only present when fetching tasks with the expand parameter set to time_entries_count.

titlestring

The task text. This is what you'll see in the project.

updatedstring

A timestamp when this task was last updated. You cannot change this value.

Response

The updated task object.

bucket_idinteger

The bucket id. Will only be populated when the task is accessed via a view with buckets. Can be used to move a task between buckets. In that case, the new bucket must be in the same view as the old one.

comment_countinteger

Comment count of this task. Only present when fetching tasks with the expand parameter set to comment_count.

cover_image_attachment_idinteger

If this task has a cover image, the field will return the id of the attachment that is the cover image.

createdstring

A timestamp when this task was created. You cannot change this value.

deleted_atstring

A timestamp when this task was deleted. Soft-deleted tasks are kept for 30 days before they are removed permanently. omitzero keeps the field out of the JSON of regular tasks — it only ever appears on soft-deleted ones (the later trash listing).

descriptionstring

The task description.

doneboolean

Whether a task is done or not.

done_atstring

The time when a task was marked as done. This field is system-controlled and cannot be set via API.

due_datestring

The time when the task is due.

end_datestring

When this task ends.

hex_colorstring

The task color in hex

idinteger

The unique, numeric id of this task.

identifierstring

The task identifier, based on the project identifier and the task's index

indexinteger

The task index, calculated per project

is_favoriteboolean

True if a task is a favorite task. Favorite tasks show up in a separate "Important" project. This value depends on the user making the call to the api.

is_unreadboolean
percent_donenumber

Determines how far a task is left from being done

positionnumber

The position of the task - any task project can be sorted as usual by this parameter. When accessing tasks via views with buckets, this is primarily used to sort them based on a range. Positions are always saved per view. They will automatically be set if you request the tasks through a view endpoint, otherwise they will always be 0. To update them, take a look at the Task Position endpoint.

priorityinteger

The task priority. Can be anything you want, it is possible to sort by this later.

project_idinteger

The project this task belongs to.

reactionsModelsReactionMap
related_tasksModelsRelatedTaskMap
repeat_afterinteger

An amount in seconds this task repeats itself. If this is set, when marking the task as done, it will mark itself as "undone" and then increase all remindes and the due date by its amount.

repeat_mode0 | 1 | 2
start_datestring

When this task starts.

time_entries_countinteger

Time entry count of this task. Only present when fetching tasks with the expand parameter set to time_entries_count.

titlestring

The task text. This is what you'll see in the project.

updatedstring

A timestamp when this task was last updated. You cannot change this value.