---
title: "Tasks Completed By Completion Date"
method: GET
path: "/api/v1/tasks/completed/by_completion_date"
tags: ["Tasks"]
---

# Tasks Completed By Completion Date

`GET /api/v1/tasks/completed/by_completion_date`

Retrieves a list of completed tasks strictly limited by the specified completion
date range (up to 3 months).

It can retrieve completed items:

- From all the projects the user has joined in a workspace
- From all the projects of the user
- That match many [supported
  filters](https://todoist.com/help/articles/introduction-to-filters-V98wIH)

By default, the response is limited to a page containing a maximum of 50 items
(configurable using `limit`).

Subsequent pages of results can be fetched by using the `next_cursor` value from the
response as the `cursor` value for the next request.

## Query parameters

- `since` string, date-time, required — Start of the completion date range, inclusive.
- `until` string, date-time, required — End of the completion date range, exclusive.
- `workspace_id` integer, nullable — Workspace ID to limit completed tasks to.
- `project_id` string, nullable — Project ID to limit completed tasks to.
- `section_id` string, nullable — Section ID to limit completed tasks to.
- `parent_id` string, nullable — Parent task ID to limit completed subtasks to.
- `filter_query` string, nullable — Todoist filter query to limit completed tasks.
- `filter_lang` string, nullable — Language code used to parse `filter_query`.
- `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 — Maximum number of completed tasks to return.
- `public_key` string, nullable — Public project access key.

## Response `200`

Successful Response

- TasksCompletedDateResponse
  - `items` ItemSyncView[] — Completed tasks in the current page.
    - `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 — Cursor for the next page of completed tasks, when more results are available. Omitted when there is no next page.

## 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)
