API Reference
Tasks
Tasks are units of work with assignees, statuses, deadlines, and optional project links. Partner responses expose UUIDs; numeric foreign keys on the task root are stripped.
Last updated 2026-06-21
Overview
The Tasks API provides full CRUD for tasks in a workspace. Create tasks with a required `type`, assign them to people, link them to projects, and filter list results with rich query parameters.
Updates use PATCH (not PUT). The partner endpoint is JSON-only — multipart attachments are not supported. Default list visibility includes `firm-team` and `team-only` tasks; pass `visibility=firm-only` to include firm-only rows such as system-generated INTERNAL_TASK records.
Key concepts
Required type on create
Every create request must include `type` — the task type identifier for your workspace (for example INTERNAL_TASK).
UUID-resolvable foreign keys
Optional FK fields (`assigneeId`, `statusId`, `projectId`, and others) accept either a UUID or a workspace-scoped numeric id. Prefer UUIDs from list responses.
Visibility
List defaults to firm-team and team-only tasks. Retrieve firm-only tasks by passing `visibility=firm-only` on get and list when needed.
Tags
Pass `tags` as an array of UUIDs or positive integer ids — all elements must be the same kind. On update, tags replace the full set atomically.
The task object
Core fields returned on task records. Nested assignee, status, and project objects expose UUIDs.
Attributes
iduuidTask identifier (UUID).
namestringTask title.
typestringTask type identifier. Required on create.
descriptionstringTask details.
prioritystringPriority level (for example low, medium, high).
deadlinedateDue date (YYYY-MM-DD).
customIdstringOptional external reference id.
visibilityenumVisibility scope. INTERNAL_TASK rows are always created as firm-only.
One of: firm-team, team-only, firm-only
assigneeobjectAssigned workspace user, or null.
projectobjectLinked project, or null.
tagsarrayTags attached to the task.
createdAtdatetimeISO 8601 creation timestamp.
updatedAtdatetimeISO 8601 last update timestamp.
{
"id": "22334455-6677-8899-aabb-ccddeeff0011",
"name": "Review wireframes",
"type": "INTERNAL_TASK",
"description": "Review and approve wireframes before development.",
"priority": "medium",
"deadline": "2026-04-15",
"customId": "TASK-1042",
"visibility": "firm-team",
"assignee": {
"uuid": "f1a2b3c4-d5e6-4789-a012-3456789abcde",
"firstName": "Jane",
"lastName": "Smith"
},
"project": {
"uuid": "11223344-5566-7788-99aa-bbccddeeff00",
"name": "Website Redesign"
},
"tags": [],
"createdAt": "2026-01-15T10:30:00.000Z",
"updatedAt": "2026-01-28T14:22:30.000Z"
}Legacy filters stripped
The list filters `clients`, `openTaskOnly`, and `isForClosing` are always removed server-side on partner routes.Related
Recent changes
Complete Partner API reference
Documented all remaining API reference groups: Chart of Accounts, Vendors, Products & Services, Recurring Invoice Templates, Credit Memos, Bills, Journal Entries, Tags, People, Projects, Tasks, Time Entries, Expense Receipts, Reports, and Workspace Stats. Added missing invoice endpoints (audit log, attachments, credit application, remove transaction) and group overviews for Invoices and Transactions.
Endpoints
/partners/tasksReturns a paginated list of tasks.
/partners/tasks/{uuid}Retrieves a single task by UUID.
/partners/tasksCreates a new task.
/partners/tasks/{uuid}Updates an existing task. Only the fields you send are changed.
/partners/tasks/{uuid}Deletes a task by UUID.
