Update task

Partially updates a task. Only provided fields change. Reparenting isn’t possible here — use Reorder tasks.

On success the API returns 200 OK with the updated task body.

Path parameters

NameTypeRequiredDescription
taskIdstring (uuid)YesThe task to update.

Request body

All fields optional — send only what changes.

NameTypeDescription
namestringTask name.
descriptionstringFree-text description.
startDatestring (ISO 8601)Task start date.
endDatestring (ISO 8601)Task end date.
statusstringA custom status key or legacy name. Unknown values are coerced, not rejected — a typo silently resolves to the project’s default-for-new status, and a status-only update also rewrites progress reciprocally. Validate client-side if a typo would be costly.
prioritystringHigh / Medium / Low.
progressinteger0100.
estimationnumberHours.
colorstring#RRGGBB.

Behavior worth knowing:

  • Status ↔ progress reciprocal: a status-only update derives progress (Done→100, not-started→0, in-progress→25); a progress-only update derives the status category. Send both to control them explicitly.
  • Group tasks roll up. A task with children computes progress/status/dates from them; setting progress or status directly on one is 400 parent_task_rollup — update the children instead.