---
title: "List tasks"
method: GET
path: "/v1/tasks"
tags: ["Tasks"]
---

# List tasks

`GET /v1/tasks`

List all tasks. Optionally filter by book_id to scope to a specific book.

## Query parameters

- `page` integer
- `per_page` integer
- `book_id` string
- `status` 'todo' | 'done'
- `priority` 'low_priority' | 'medium_priority' | 'high_priority' | 'urgent_priority'
- `household_id` string
- `contact_id` string
- `assigned_to_id` string

## Response `200`

successful

- object
  - `data` Task[], required
    - `id` string, required — The task ID
    - `title` string, required — Task title
    - `description` string, nullable — Task description
    - `deadline_at` string, date-time, nullable — Deadline for the task
    - `all_day` boolean, required — Whether this is an all-day task
    - `status` 'todo' | 'done', required — Task status
    - `priority` 'low_priority' | 'medium_priority' | 'high_priority' | 'urgent_priority', nullable — Task priority
    - `is_private` boolean — When true, only the creator, assignee (or members of the assigned team), and collaborators can see this task. Use for sensitive tasks like HR or payroll.
    - `completed_at` string, date-time, nullable — When the task was completed
    - `created_at` string, date-time, required — When the task was created
    - `updated_at` string, date-time, required — When the task was last updated
    - `assigned_to` object, nullable
      - `id` string — User ID
      - `name` string — User full name
      - `email` string, email — User email
    - `assigned_team` object, nullable
      - `id` string — Team ID
      - `name` string — Team name
    - `record` object, nullable — The associated record (household, contact, or business) this task is linked to
      - `id` string — Record ID
      - `type` 'household' | 'contact' | 'business' — Type of record
      - `name` string — Name of the record
    - `tags` object[] — Labels applied to the task
      - `id` string
      - `name` string
  - `pagination` object, required
    - `current_page` integer
    - `total_pages` integer
    - `total_count` integer
    - `per_page` integer

## Other responses

- `400` — bad request - invalid JSON
- `401` — unauthorized - missing or invalid token
- `403` — forbidden

---

[API](https://skmtc.net/slant/apis/slant-public-api-v1.md) · [All operations](https://skmtc.net/slant/apis/slant-public-api-v1/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/slant/slant-public-api-v1/revisions/b56e0d137554/schema)
