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
| Name | Type | Required | Description |
|---|---|---|---|
projectId | string (uuid) | Yes | The project to create the task in. |
Headers
| Name | Required | Description |
|---|---|---|
Idempotency-Key | No | Same key + same body replays the original 201; same key + different body is 409 idempotency_conflict. See Rate limits & quotas →. |
Request body
| Name | Type | Required | Description |
|---|---|---|---|
name | string | Yes | Task name. |
startDate | string (ISO 8601) | Yes | Task start date. |
endDate | string (ISO 8601) | Yes | Task end date. |
description | string | No | Free-text description. |
status | string | No | A custom status key or a legacy name (Open / InProgress / Done / Closed / OnHold). Omitted uses the project default. |
priority | string | No | High / Medium / Low. |
parentId | string (uuid) | No | Parent task id. |
orderIndex | number | No | Sort position among siblings. |
assigneeIds | array of string (uuid) | No | Member or resource ids. Unknown ids are rejected (400 invalid_assignee) — nothing is created. |
estimation | number | No | Hours. |
color | string | No | #RRGGBB. |