Create task

Creates a task in the project. Unless you pass assigneeIds, the task is assigned to your token’s integration identity — the member row each token gets on the project roster — so work created over the API is clearly attributed to the integration rather than to a person.

On success the API returns 201 Created with the task body and a Location header pointing at Get task.

Path parameters

NameTypeRequiredDescription
projectIdstring (uuid)YesThe project to create the task in.

Headers

NameRequiredDescription
Idempotency-KeyNoSame key + same body replays the original 201; same key + different body is 409 idempotency_conflict. See Rate limits & quotas →.

Request body

NameTypeRequiredDescription
namestringYesTask name.
startDatestring (ISO 8601)YesTask start date.
endDatestring (ISO 8601)YesTask end date.
descriptionstringNoFree-text description.
statusstringNoA custom status key or a legacy name (Open / InProgress / Done / Closed / OnHold). Omitted uses the project default.
prioritystringNoHigh / Medium / Low.
parentIdstring (uuid)NoParent task id.
orderIndexnumberNoSort position among siblings.
assigneeIdsarray of string (uuid)NoMember or resource ids. Unknown ids are rejected (400 invalid_assignee) — nothing is created.
estimationnumberNoHours.
colorstringNo#RRGGBB.