Endpoints
Method | Path | Description |
|---|---|---|
POST |
| Create a new task |
GET |
| Get a task by ID |
GET |
| List tasks |
PATCH |
| Update a task |
DELETE |
| Delete a task |
POST |
| Search tasks by title |
Create a Task
Required Fields
Field | Type | Description |
|---|---|---|
| string | Task title |
Optional Fields
Field | Type | Description |
|---|---|---|
| string | Task description as Markdown |
| string | Task description as blocknote JSON (stringified) |
| string | Task status: |
| string | Due date (ISO 8601) |
| UUID | Assigned workspace member ID |
Body shortcut: You can send plain text in a
bodyfield (instead ofbodyV2) and the API will auto-convert it.
Request Example
Get a Task
Parameter | Type | Default | Description |
|---|---|---|---|
| UUID (path) | — | Task ID |
| number | 0 |
|
List Tasks
Parameter | Type | Default | Description |
|---|---|---|---|
| number | 60 | Records per page |
| UUID | — | Pagination cursor (last record's ID) |
| string | — | Sort field and direction |
| string | — | Filter conditions |
| number | 0 | Related objects depth |
Update a Task
Send only the fields you want to change.
Updatable fields: title, bodyV2, status, dueAt, assigneeId
Delete a Task
Note: Deleting a task also removes any associated Task Relations. The linked records (person, company, opportunity) are not affected.
Search Tasks
Tasks are searched by title only using GraphQL. Body content is not searchable.
By Title — GraphQL + REST (Two Steps)
Step 1: GraphQL search → get IDs
GraphQL caveats:
searchInputis a plainString!variable
limitmust be hardcoded in the query stringReturns IDs only
Step 2: Fetch full records
Linking Tasks to Records
Tasks must be explicitly linked to CRM records using the Task Relation endpoint. A single task can be linked to multiple records.
Workflow
Create a Task and Link It
Find All Tasks for a Person
The response includes the full task object when depth >= 1.
Filter Examples
Common Gotchas
Tasks are standalone. They are not directly attached to people or companies — a separate Task Relation (
/rest/taskTargets) is required to create the link.Status values are UPPER_SNAKE_CASE. Use
TODO,IN_PROGRESS,DONE— not"To Do"or"done".Due date must be ISO 8601. Use
"2024-03-15T09:00:00.000Z"format.Search is title-only. GraphQL search does not index task body content.
Task Relations list does not support filtering. Unlike most list endpoints,
/rest/taskTargetsonly supportsorder_by— notfilter. To find tasks for a specific person or company, usedepth=1on the parent record or list all relations client-side.id[in]requires bracket syntax. Useid[in]:[uuid1,uuid2].URL-encode filter parameters. Use
curl -G --data-urlencode "filter=...".