Get a task by id
Returns the full detail for a single task: status, assignees, attached lists, parent task reference, subtask count, and the rich-text description.
Request
Section titled “Request”Path parameters
Section titled “Path parameters”| Name | Type | Required | Description |
|---|---|---|---|
taskId | string | yes | Numeric ID of the task. |
No request body.
Response
Section titled “Response”200 OK — task detail object.
| Field | Type | Description |
|---|---|---|
id | number | Numeric ID of the task. |
key | string | Stable UUID key for the task. |
number | number | Auto-incrementing task number within the team. |
title | string | Task title. |
priority | string | null | One of low, medium, high, urgent, or null. |
dueDate | string | null | ISO 8601 date the task is due, or null. |
completedAt | string | null | ISO 8601 timestamp the task was completed, or null if still open. |
createdAt | string | ISO 8601 timestamp of creation. |
updatedAt | string | ISO 8601 timestamp of the last update. |
description | string | null | CommonMark markdown rendering of the task body, or null if there’s none. |
customAttributes | array of objects | Values set for the team’s custom attributes — see below. |
customAttributes[].id | number | ID of the custom attribute. |
customAttributes[].value | any | Value for that attribute. The shape depends on the attribute type. |
A timer attribute reports a whole number of minutes, always rounded down —
4m50s of tracked time reports as 4. It is the total of the task’s stopped time
entries; a timer that is currently running is counted once it is paused, so this value
does not change on its own while recording (the app’s own UI adds the running segment
on top of it for display). The individual entries are
not exposed over the API, and the value is read-only here: it is derived from the
entries and cannot be set through Update a task.
| status | object | Current status — see below. |
| status.id | number | Numeric ID of the status. |
| status.name | string | Display name. |
| status.color | string | null | Hex color used in the UI, or null. |
| status.isCompleted | boolean | true if this status counts as “done”. |
| assignees | array of objects | Users assigned to the task. May be empty. |
| assignees[].id | string | User ID (UUID). |
| assignees[].name | string | User’s display name. |
| assignees[].email | string | User’s email address. |
| taskLists | array of objects | Lists the task is attached to. A task can belong to several lists. |
| taskLists[].id | number | Numeric ID of the list. |
| taskLists[].name | string | Display name of the list. |
| parent | object | null | The parent task if this is a subtask, otherwise null. |
| parent.id | number | Numeric ID of the parent task. |
| parent.number | number | Parent task’s number. |
| parent.title | string | Parent task’s title. |
| subtaskCount | number | Number of subtasks directly nested under this task. |
404 Not Found is returned with { "error": "Task not found" } if no task
with that ID exists in the current team.