---
title: "List projects"
method: GET
path: "/v1/projects"
tags: ["Project"]
---

# List projects

`GET /v1/projects`

Retrieves a paginated list of projects. Results can be filtered by team and status, and sorted by different criteria. This endpoint supports pagination with 1-based page numbering.

## Query parameters

- `teamId` string
- `status` 'all' | 'active' | 'inactive'
- `sort` 'alpha' | 'alphaNum' | 'client' | 'duration' | 'created' | 'status'
- `order` 'asc' | 'desc'
- `page` integer
- `limit` integer

## Response `200`

Successfully retrieved list of projects

- ProjectList
  - `items` 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
  - `params` ListParams
    - `search` string
    - `sort` string
    - `order` string
    - `count` integer
    - `page` integer
    - `limit` integer
    - `offset` integer

## Other responses

- `401` — Authentication required
- `403` — Insufficient permissions to list projects

---

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