---
title: "WorkspaceProjects"
method: GET
path: "/workspaces/{workspace_id}/projects"
tags: ["projects"]
---

# WorkspaceProjects

`GET /workspaces/{workspace_id}/projects`

## Request

- Base URL: `https://localhost:8080/api/v9`
- URL: `https://localhost:8080/api/v9/workspaces/{workspace_id}/projects`
- Auth: HTTP basic
- TypeScript: <https://skmtc.dev/toggl/apis/toggl-api/docs/workspaces/:workspace_id/projects/get.ts> (a function with typed inputs; its response is checked against the schema)

Get projects for given workspace.

## Path parameters

- `workspace_id` integer, required

## Request body `application/x-www-form-urlencoded`

- object
  - `active` boolean: active
  - `since` integer: Retrieve projects created/modified/deleted since this date using UNIX timestamp.
  - `billable` boolean: billable
  - `user_ids` unknown[]: user_ids
    - unknown
  - `client_ids` unknown[]: client_ids
    - unknown
  - `group_ids` unknown[]: group_ids
    - unknown
  - `statuses` unknown[]: statuses
    - unknown
  - `name` string, required: name
  - `page` integer, required: page
  - `sort_field` string, required: sort_field
  - `sort_order` string, required: sort_order
  - `only_templates` boolean, required: only_templates
  - `per_page` integer: Number of items per page, default 151. Cannot exceed 200.

## Response `200`

Successful operation.

- ModelsProject[]
  - `active` boolean: Whether the project is active or archived
  - `actual_hours` integer, nullable: Actual hours
  - `actual_seconds` integer, nullable: Actual seconds
  - `at` string: Last updated date
  - `auto_estimates` boolean, nullable: Whether estimates are based on task hours, premium feature
  - `billable` boolean, nullable: Whether the project is billable, premium feature
  - `cid` integer: Client ID legacy field
  - `client_id` integer, nullable: Client ID
  - `color` string: Color
  - `created_at` string: Creation date
  - `currency` string, nullable: Currency, premium feature
  - `current_period` ModelsRecurringPeriod
    - `end_date` string
    - `start_date` string
  - `end_date` string: End date
  - `estimated_hours` integer, nullable: Estimated hours
  - `estimated_seconds` integer, nullable: Estimated seconds
  - `fixed_fee` number: Fixed fee, premium feature
  - `guid` string: GUID
  - `id` integer: Project ID
  - `is_private` boolean: Whether the project is private
  - `name` string: Name
  - `permissions` string
  - `rate` number: Hourly rate
  - `rate_last_updated` string, nullable: Last date for rate change
  - `recurring` boolean: Whether the project is recurring, premium feature
  - `recurring_parameters` ModelsRecurringProjectParameters[]: Project recurring parameters, premium feature
    - `custom_period` integer: Custom period, used when "period" field is "custom"
    - `estimated_seconds` integer: Estimated seconds
    - `parameter_end_date` string, nullable: Recurring end date
    - `parameter_start_date` string: Recurring start date
    - `period` string: Period
    - `project_start_date` string: Project start date
  - `server_deleted_at` string, nullable: Deletion date
  - `start_date` string: Start date
  - `status` string: Status of the project (upcoming, active, ended, archived, deleted)
  - `template` boolean, nullable: Whether the project is used as template, premium feature
  - `template_id` integer, nullable: Template ID
  - `wid` integer: Workspace ID legacy field
  - `workspace_id` integer: Workspace ID

## Other responses

- `403`: User does not have access to this resource.
- `500`: Internal Server Error

---

[API](https://skmtc.dev/toggl/apis/toggl-api.md) - [All operations](https://skmtc.dev/toggl/apis/toggl-api/llms.txt) - [OpenAPI document](https://skmtc.dev/toggl/apis/toggl-api/revisions/3085aee16990?raw)
