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

# WorkspaceProjects

`POST /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/post.ts> (a function with typed inputs; its response is checked against the schema)

Create project for given workspace.

## Path parameters

- `workspace_id` integer, required

## Request body

- ProjectPayload
  - `active` boolean: Whether the project is active or archived
  - `auto_estimates` boolean: Whether estimates are based on task hours, optional, premium feature
  - `billable` boolean: Whether the project is set as billable, optional, premium feature
  - `cid` integer: Client ID, legacy
  - `client_id` integer: Client ID, optional
  - `client_name` string: Client name, optional
  - `color` string: Project color
  - `currency` string: Project currency, optional, premium feature
  - `end_date` string: End date of a project timeframe
  - `estimated_hours` integer: Estimated hours, optional, premium feature
  - `fixed_fee` number: Project fixed fee, optional, premium feature
  - `is_private` boolean: Whether the project is private or not
  - `name` string: Project name
  - `rate` number: Hourly rate, optional, premium feature
  - `rate_change_mode` string: Rate change mode, optional, premium feature. Can be "start-today", "override-current", "override-all"
  - `recurring` boolean: Project is recurring, optional, premium feature
  - `recurring_parameters` ProjectRecurringParameters
    - `custom_period` integer: Recurring custom period, the "period" field must be "custom"
    - `period` string: Recurring period, example "monthly"
    - `project_start_date` string: Recurring start date
  - `start_date` string: Start date of a project timeframe
  - `template` boolean: Project is template, optional, premium feature
  - `template_id` integer: Template ID, optional

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