Tasks
Tasks inside task environments and groups.
/tasksList tasks
Returns a cursor-paginated list of tasks for the authenticated organization, ordered by document id. Soft-deleted tasks are excluded. Supports optional equality filters environmentId and groupId. Tasks have no leadId field, so no lead filter is available. Requires scope: tasks:read.
Parameters
Query
environmentIdgroupIdResponse 200
Errors
/tasksCreate a task
Creates a task. title and groupId are required. environmentId is DERIVED from the group (it cannot be set directly); the group must be live and belong to the organization or a 422 is returned. subGroupId is honored only when it exactly matches one of the group's subGroups, otherwise the task is left ungrouped (null). priority defaults to normal when omitted or invalid. position is auto-computed as max(existing in group)+1 when omitted. The fields map is stored raw with no validation. Send an Idempotency-Key header to safely retry. Requires scope: tasks:write.
Request body
titlerequiredgroupIdrequireddescriptionsubGroupIdassigneesidnameroletagsfieldsdueDateendDateprioritypositionResponse 201
idobjectenvironmentIdgroupIdsubGroupIdtitledescriptionpriorityassigneesidnameroleassigneeIdstagsfieldsdueDateendDatepositioncreatedAtupdatedAtErrors
/tasks/{id}Retrieve a task
Returns a single task by id. A record belonging to another organization returns 404 rather than 403, so this can never confirm cross-tenant existence. Requires scope: tasks:read.
Parameters
Path
idrequiredResponse 200
idobjectenvironmentIdgroupIdsubGroupIdtitledescriptionpriorityassigneesidnameroleassigneeIdstagsfieldsdueDateendDatepositioncreatedAtupdatedAtErrors
/tasks/{id}Update a task
Partially updates a task. Only supplied fields are changed. title cannot be set to empty. Changing groupId re-derives environmentId from the new (live, same-org) group and clears any now-stale subGroupId unless a new subGroupId is supplied. subGroupId is validated against the effective group; an empty or unknown value clears it. priority falls back to normal when invalid. The fields map replaces customFields raw. Requires scope: tasks:write.
Parameters
Path
idrequiredRequest body
titlegroupIddescriptionsubGroupIdassigneesidnameroletagsfieldsdueDateendDateprioritypositionResponse 200
idobjectenvironmentIdgroupIdsubGroupIdtitledescriptionpriorityassigneesidnameroleassigneeIdstagsfieldsdueDateendDatepositioncreatedAtupdatedAtErrors
/tasks/{id}Delete a task
Soft-deletes a task (sets deletedAt). The task is never hard-deleted and will no longer appear in lists or single retrievals. Requires scope: tasks:write.
Parameters
Path
idrequiredResponse 200
idobjectdeleted