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

# Get Tasks

`GET /api/v1/tasks`

Get all active tasks for the user.

All provided parameters are used to narrow down the list of tasks.

This is a paginated endpoint. See the [Pagination guide](#tag/Pagination) for details on using cursor-based pagination.

## Query parameters

- `project_id` string, nullable — String ID of the project to get tasks from
- `section_id` string, nullable — String ID of the section to get tasks from
- `parent_id` string, nullable — String ID of the parent task to get sub-tasks from
- `label` string, nullable — Filter tasks by label name.
- `ids` string, nullable — A list of the task IDs to retrieve, this should be a comma separated list
- `cursor` string, nullable — An opaque string used as the cursor for pagination. Must be used with the same parameters from the previous request
- `limit` integer — The number of objects to return in a page

## Response `200`

Successful Response

- PaginatedListItemSyncView
  - `results` ItemSyncView[], required — Objects in the current page of results.
    - `user_id` string, required — String ID of the user who owns the task.
    - `id` string, required — String ID of the task.
    - `project_id` string, required — String ID of the project that contains the task.
    - `section_id` string, nullable, required — String ID of the section that contains the task, or `null` if the task is not in a section.
    - `parent_id` string, nullable, required — String ID of the parent task, or `null` if this is a top-level task.
    - `added_by_uid` string, nullable, required — String ID of the user who created the task, or `null` if unknown.
    - `assigned_by_uid` string, nullable, required — String ID of the user who assigned the task, or `null` if unassigned.
    - `responsible_uid` string, nullable, required — String ID of the user responsible for the task, or `null` if unassigned.
    - `labels` string[], required — Names of labels attached to the task.
    - `deadline` object, nullable, required — Deadline details for the task, or `null` when the task has no deadline.
    - `duration` object, nullable, required — Task duration details, or `null` when the task has no duration.
    - `is_collapsed` boolean, required — Whether the task is collapsed in the user's view.
    - `checked` boolean, required — Whether the task is completed.
    - `is_deleted` boolean, required — Whether the task is deleted.
    - `added_at` string, date-time, nullable, required — Date and time when the task was created, or `null` if unknown.
    - `completed_at` string, date-time, nullable, required — Date and time when the task was completed, or `null` if active.
    - `completed_by_uid` string, nullable, required — String ID of the user who completed the task, or `null` if active.
    - `updated_at` string, date-time, nullable, required — Date and time when the task was last updated, or `null` if unknown.
    - `due` object, nullable, required — Due date details for the task, or `null` when the task has no due date.
    - `priority` integer, required — Task priority from 1 (normal) to 4 (urgent).
    - `child_order` integer, required — Position of the task among sibling tasks.
    - `order_key` string, nullable, required — Fractional-indexing order key: tasks sort by comparing keys lexicographically among siblings sharing the same project, section and parent task. May be `null` for tasks not yet migrated.
    - `content` string, required — Task content.
    - `description` string, required — Task description.
    - `note_count` integer, required — **Deprecated**: only returns 0 and is marked for removal.
    - `day_order` integer, required — Task order for day-based views.
    - `completed_count` integer, required — Number of times the task has been marked as completed. Increments on every completion, including recurring occurrences and re-completions of a previously reopened task. Decremented when a recurring completion is undone.
    - `postponed_count` integer, required — Number of times the task's due date has been rescheduled by the user. Increments on any due-date change between two set dates (forward or backward); recurring completions and undos are not counted.
  - `next_cursor` string, nullable, required — Cursor for the next page of results, or `null` when there are no more results.

## Other responses

- `400` — Bad Request
- `401` — Unauthorized
- `403` — Forbidden
- `404` — Not Found

---

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