Tasks

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.
get/public-api/v1/tasks

Request

  • Base URL
    https://app.hellobonsai.com
  • URL
    https://app.hellobonsai.com/public-api/v1/tasks
  • Auth
    • OAuth 2
      Authorization code: https://app.hellobonsai.com/oauth/authorize
      Token URL: https://app.hellobonsai.com/oauth/token
    • or HTTP bearer

Query parameters

page[number]integer

Page to return, starting at 1.

page[size]integer

Records per page. Defaults to 25; anything above 100 is reduced to 100.

filter[assignee_id]string

One or more user ids, comma-separated or repeated. Pass me for whoever the token belongs to.

filter[scope]'active' | 'completed' | 'archived' | 'all' | 'upcoming_and_overdue' | 'unplanned' | 'planned' | 'my_tasks'

Which tasks to include. Defaults to active.

filter[due]'today' | 'overdue' | 'today_or_overdue' | 'this_week' | 'this_month' | 'upcoming'

A named due-date window. Cannot be combined with filter[due_from] or filter[due_to].

filter[due_from]string date

Return tasks due on or after this date.

filter[due_to]string date

Return tasks due on or before this date.

filter[billable]'true' | 'false'

Return only billable (true) or only non-billable (false) tasks. Needs permission to see billing; without it this filter returns 403.

filter[deal_id]string

One or more deal ids, comma-separated or repeated. Needs permission to see deals; without it this filter returns 403.

filter[priority]string

One or more priorities, comma-separated or repeated.

filter[project_id]string

One or more project ids, comma-separated or repeated.

filter[tag_id]string

One or more tag ids, comma-separated or repeated.

filter[task_status_id]string

One or more task status ids, comma-separated or repeated. Returns tasks in those columns whether they are active, completed or archived.

filter[title]string

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.