Reorder tasks

Applies a batch of order/reparent instructions in one call. This is the only endpoint that can change a task’s parentIdUpdate task can’t reparent.

On success the API returns 200 OK with the count of tasks updated.

Path parameters

NameTypeRequiredDescription
projectIdstring (uuid)YesThe project the tasks belong to.

Request body

An array of items, each:

NameTypeRequiredDescription
idstring (uuid)YesThe task to move.
orderIndexnumberYesNew sort position among siblings.
parentIdstring (uuid)NoNew parent. Omit to keep the current parent.

The batch validates as a whole before anything is applied: a self-parent, a parent in another project, or a hierarchy cycle rejects the entire batch with 400 invalid_parent — nothing partially applies. A batch over 1,000 items is 400 too_many_items.