List tasks
Lists tasks, a page at a time. Only active tasks come back unless you ask for others with filter[scope].
Descriptions are left out of list responses — retrieve a task on its own to read description_html or description_plain_text.
Two keys depend on permissions and are left out entirely for a token without them: billable for a token not allowed to see billing, and deal_id for one not allowed to see deals. Treat both as optional keys rather than assuming they are always there.
Filtering
- filter[assignee_id] — one or more user ids, or me for whoever the token belongs to. Note this takes a user id, not a team member id.
- filter[scope] — which tasks to include: active (the default), completed, archived, all, my_tasks, planned (has a due date), unplanned (has none) or upcoming_and_overdue.
- filter[due] — a named date window: today, overdue, today_or_overdue, this_week, this_month or upcoming. Cannot be combined with filter[due_from] or filter[due_to].
- filter[due_from] and filter[due_to] — an explicit date range. Either bound works on its own.
- filter[billable] — true for billable tasks, false for the rest. Tasks created before billing was tracked count as not billable. Needs permission to see billing; without it this filter returns 403, since it would otherwise hand back the billable key that same token is not shown.
- filter[deal_id] — one or more deal ids. Needs permission to see deals; without it this filter returns 403 rather than quietly returning every task.
- filter[priority] — one or more of urgent, high, medium, low.
- filter[project_id] — one or more project ids.
- filter[tag_id] — one or more tag ids.
- filter[task_status_id] — one or more task status ids. This one also widens the default scope: tasks in the given columns come back whether they are active, completed or archived.
- filter[title] — searches task titles, ignoring case.
Request
- Base URLhttps://app.hellobonsai.com
- URLhttps://app.hellobonsai.com/public-api/v1/tasks
- Auth
- OAuth 2Authorization code: https://app.hellobonsai.com/oauth/authorizeToken URL: https://app.hellobonsai.com/oauth/token
- or HTTP bearer
Query parameters
Page to return, starting at 1.
Records per page. Defaults to 25; anything above 100 is reduced to 100.
One or more user ids, comma-separated or repeated. Pass me for whoever the token belongs to.
Which tasks to include. Defaults to active.
A named due-date window. Cannot be combined with filter[due_from] or filter[due_to].
Return tasks due on or after this date.
Return tasks due on or before this date.
Return only billable (true) or only non-billable (false) tasks. Needs permission to see billing; without it this filter returns 403.
One or more deal ids, comma-separated or repeated. Needs permission to see deals; without it this filter returns 403.
One or more priorities, comma-separated or repeated.
One or more project ids, comma-separated or repeated.
One or more tag ids, comma-separated or repeated.
One or more task status ids, comma-separated or repeated. Returns tasks in those columns whether they are active, completed or archived.
Searches task titles, ignoring case.
Response
A page of tasks, without their descriptions.
Example response
{
"data": [
{
"uuid": "ad3fdad8-5072-46df-8800-bb57299179df",
"title": "Finalize homepage mockups",
"number": "ACME-00104",
"due_date": "2026-05-15",
"start_date": "2026-05-01",
"time_estimate_in_minutes": 90,
"priority": "high",
"completed_at": "2026-04-14T09:12:04.000Z",
"archived_at": "2026-04-14T09:12:04.000Z",
"assignee_id": 6012,
"assignee_member_id": 314,
"creator_member_id": 315,
"project_id": 51,
"billable": true,
"deal_id": 17,
"parent_task_uuid": "e5b1c7d2-91aa-4f30-8f6d-2c1b4a5e7f80",
"project_title": "Acme Website",
"assignee_member_name": "Maria Santos",
"url": "https://app.hellobonsai.com/tasks/ad3fdad8-5072-46df-8800-bb57299179df",
"task_status": {
"id": "e1c4b06e-3a0f-4a52-9c8f-6a1d2b3c4d5e",
"status": "In Progress",
"state": "active",
"color": "#520EB0",
"position": 1
},
"company_tags": [
{
"id": 7,
"name": "VIP"
}
]
}
],
"meta": {
"request_id": "b1f0d2c4-7a9e-4c3b-8d5f-1e2a3b4c5d6e",
"pagination": {
"page": 1,
"page_size": 25,
"has_more": true
}
}
}Changes
No recorded changes to this operation across all 1 revision of this API.