searchstringoptionalMatches task name or description
isArchivedbooleanoptionalArchived tasks are excluded by default; pass true to include them instead
limitintegeroptionalPage size, default 25, max 100
offsetintegeroptionalNumber of results to skip, default 0
fieldsstringoptionalComma-separated field names to trim the response to
expandstringoptionalComma-separated relations to include in full — comments
scopestringoptionalmine — limit to tasks in projects you own or are a member of, plus any task you follow (even outside those projects). Omit for the default (everything visible in the workspace). If projectId is also given, it takes precedence over follow-based inclusion.
minebooleanoptionalBare-parameter alias for scope=mine — ignored whenever scope is also present. A session-JWT caller (e.g. the mobile app) already defaults to mine without either param; an API key/OAuth caller defaults to workspace-wide and needs one of these to narrow.
GET
/tasks/{id}
Gets full details of one task, including its last 10 comments.
Query parameters
fieldsstringoptionalComma-separated field names to trim the response to
POST
/tasks
Creates a task in a project.
Body parameters
projectIdintegerrequiredProject to create the task in
statusstringoptionalOne of the five board statuses
prioritystringoptionallow · medium · high
assigneeIdstringoptionalUser ID to assign, or null to unassign
startDatedateoptionalISO 8601 date
deadlinedateoptionalISO 8601 date
customEstimatedHoursstringoptionalOverrides the category/type default time estimate
POST
/tasks/{id}/archive
Archives a task. Archived tasks are read-only until restored.
POST
/tasks/{id}/unarchive
Restores a previously archived task.
POST
/tasks/{id}/duplicate
Creates a copy of a task ("{name} (copy)"), rescheduling it to the assignee's next free hour that day when the original had a deadline, and carrying over its followers. Takes no request body.