---
title: "List todos"
method: GET
path: "/v1/todos"
tags: ["Todos"]
---

# List todos

`GET /v1/todos`

Retrieves a paginated list of todos with optional filtering by project and status. Results can be sorted and ordered according to specified parameters.

## Query parameters

- `projectId` string
- `status` 'all' | 'open' | 'closed'
- `sort` 'alpha' | 'dueDate' | 'created' | 'status'
- `order` 'asc' | 'desc'
- `page` integer
- `limit` integer

## Response `200`

Successfully retrieved list of todos

- ToDoList
  - `items` ToDoDto[]
    - `id` string
    - `user` string
    - `deleted` boolean
    - `lastUpdate` integer
    - `created` integer
    - `project` ProjectDto
      - `id` string
      - `user` string
      - `lastUpdate` integer
      - `created` integer
      - `deleted` boolean
      - `title` string
      - `description` string
      - `employer` string
      - `office` string
      - `color` integer
      - `taskDefaultBillable` boolean
      - `archived` boolean
      - `salaryVisibility` integer
      - `salary` string, decimal
      - `team` TeamDto
        - `id` string
        - `organization` OrganizationDto
          - `id` string
          - `name` string
          - `description` string
          - `image` string
          - `color` integer
          - `subscription` CustomerSubscriptionDto
            - `id` string
            - `user` string
            - `expires` integer
            - `status` integer
            - `plan` integer
            - `licenses` integer
            - `paymentOption` string
            - `business` string
            - `email` string
            - `firstname` string
            - `lastname` string
            - `vatId` string
            - `displayName` string
            - `street` string
            - `city` string
            - `state` string
            - `zip` string
            - `country` string
            - `countryIso` string
            - `language` string
            - `includeTaxForBusiness` boolean
            - `activated` boolean
            - `pastDue` boolean
            - `cancellationOffer` boolean
            - `subscriptionActive` boolean
            - `subscriptionCancelled` boolean
            - `subscriptionInactive` boolean
            - `paymentProviderActive` boolean
            - `startedTestimonial` string, date-time
            - `activationDate` string, date-time
            - `cancellationDate` string, date-time
            - `permissionAdmin` boolean
            - `valid` boolean
            - `expired` boolean
            - `validAndActivated` boolean
            - `payPalPayment` boolean
            - `stripePayment` boolean
            - `invoicePayment` boolean
            - `googlePlayPayment` boolean
            - `appleStorePayment` boolean
            - `currency` string
            - `businessCustomer` boolean
            - `euCustomer` boolean
            - `eu` boolean
            - `at` boolean
            - `ch` boolean
            - `uk` boolean
            - `product` string
            - `licenseQuantity` integer
            - `active` boolean
            - `trial` boolean
            - `cancelled` boolean
            - `member` boolean
            - `businessOrTrial` boolean
            - `pro` boolean
            - `planEnterprise` boolean
            - `planBusiness` boolean
            - `planPro` boolean
            - `planPlus` boolean
            - `planBasic` boolean
            - `monthlyPlan` boolean
            - `yearlyPlan` boolean
            - `organization` boolean
          - `user` string
          - `aiChatEnabled` boolean
          - `lastUpdate` integer
          - `created` integer
          - `deleted` boolean
          - `permission` OrganizationPermissionDto
            - `invoicing` boolean
            - `billing` boolean
            - `admin` boolean
        - `organizationId` string
        - `name` string
        - `description` string
        - `image` string
        - `color` integer
        - `projectSalaryVisibility` integer
        - `user` string
        - `lastUpdate` integer
        - `created` integer
        - `deleted` boolean
        - `permission` TeamPermissionDto
          - `role` string
          - `manager` boolean
          - `owner` boolean
          - `member` boolean
          - `managerOrOwner` boolean
        - `projects` integer
        - `members` integer
        - `projectSalaryVisible` boolean
      - `permission` ProjectPermissionDto
        - `role` string
        - `manager` boolean
        - `owner` boolean
        - `member` boolean
        - `managerOrOwner` boolean
      - `duration` integer
      - `durationBreak` integer
      - `salaryTotal` string, decimal
      - `salaryBreak` string, decimal
      - `expenses` string, decimal
      - `expensesPaid` string, decimal
      - `mileage` string, decimal
      - `todoEstimatedDuration` integer
      - `todoTrackedDuration` integer
      - `todoCount` integer
      - `titleAndClient` string
      - `salaryVisible` boolean
    - `name` string
    - `description` string
    - `status` integer
    - `dueDate` string
    - `assignedUsers` string
    - `assignedMembers` Member[]
      - `uid` string
      - `firstname` string
      - `lastname` string
      - `email` string
      - `employeeId` string
      - `imageUrl` string
      - `deleted` boolean
      - `activity` Activity
        - `projectId` string
        - `projectTitle` string
        - `projectColor` integer
        - `taskId` string
        - `startDateTime` string
        - `endDateTime` string
        - `location` string
        - `running` boolean
      - `displayName` string
      - `initials` string
    - `estimatedHours` integer
    - `estimatedMinutes` integer
    - `duration` integer
    - `durationBreak` integer
    - `salaryTotal` string, decimal
    - `salaryBreak` string, decimal
    - `expenses` string, decimal
    - `expensesPaid` string, decimal
    - `mileage` string, decimal
    - `progress` number, double
  - `params` ToDoListParams
    - `search` string
    - `sort` string
    - `order` string
    - `count` integer
    - `page` integer
    - `limit` integer
    - `projectId` string
    - `status` string
    - `assignedUsers` string
    - `projectIds` string[]
    - `userIds` string[]
    - `assignedOnly` boolean
    - `offset` integer
  - `todoStatistic` ToDoStatistic
    - `open` integer
    - `closed` integer

## Other responses

- `401` — Not authorized to access todos

---

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