---
title: "List Time Tracking Projects"
method: GET
path: "/api/v1/time-tracking/projects"
tags: ["Time Tracking", "Public API"]
---

# List Time Tracking Projects

`GET /api/v1/time-tracking/projects`

Returns a paginated list of time tracking projects. Supports OData-style `filter` and `sort` query parameters. Pagination is page-based via `page` and `pageSize` (defaults: page 1, pageSize 100, max 500).

OAuth Scopes: time_tracking:project

## Query parameters

- `filter` string
- `sort` string
- `page` integer
- `pageSize` integer

## Response `200`

A paginated list of projects.

- object — Pagination envelope shared by paginated Project endpoints.
  - `meta` object — Pagination metadata.
    - `totalItems` integer, required
    - `totalPages` integer, required
    - `page` integer, required
    - `pageSize` integer, required
  - `_links` object — Pagination links. Keys are omitted when there is no previous/next page.
    - `prev` object — Link object for the previous page. Omitted on the first page.
      - `href` string
    - `next` object — Link object for the next page. Omitted on the last page.
      - `href` string
  - `data` ProjectTimeTrackingProjectV1[] — Collection of time tracking projects.
    - `id` integer — The ID of the project.
    - `name` string — The name of the project.
    - `billable` boolean — Whether or not the project is billable.
    - `includeInPayroll` boolean — Whether hours logged to this project will show in payroll and payroll reports.
    - `allEmployeesAssigned` boolean — Whether all time & attendance employees are assigned or not.
    - `archived` boolean — Whether or not the project is archived.
    - `hasTasks` boolean — Whether time is logged to tasks under the project (true) or directly to the project (false).
    - `createdAt` string, date-time, nullable — ISO 8601 timestamp when the project was created.
    - `updatedAt` string, date-time, nullable — ISO 8601 timestamp when the project was last updated.
    - `deletedAt` string, date-time, nullable — ISO 8601 timestamp when the project was deleted.
    - `employeeIds` integer[] — Array of employeeIds assigned to the project.

## Other responses

- `401` — Unauthorized. Missing or invalid authentication.
- `403` — Forbidden. Insufficient permissions.
- `422` — Invalid query parameters (e.g., invalid `page`, `pageSize`, `filter`, or `sort`).

---

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