# “Projects” Endpoints - PUT Workspace Project

**URL:** <https://community.toggl.com/t/projects-endpoints-put-workspace-project/374>\
**Category:** API References\
**Tags:** projects, api, endpoints, put\
**Created:** [December 2, 2024, 4:56pm UTC](https://community.toggl.com/t/projects-endpoints-put-workspace-project/374 "2024-12-02T16:56:38Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![Support](https://yyz2.discourse-cdn.com/flex012/user_avatar/community.toggl.com/support/32/1577_2.png) [@Support](https://community.toggl.com/u/Support)\
**Post date:** [December 2, 2024, 4:56pm UTC](https://community.toggl.com/t/projects-endpoints-put-workspace-project/374/1 "2024-12-02T16:56:38Z")

</div>

```auto
https://api.track.toggl.com/api/v9/workspaces/{workspace_id}/projects/{project_id}

```

Update project for given workspace.

- cURL
- Go
- Ruby
- JavaScript
- Python
- Rust

```auto
extern crate tokio;extern crate serde_json;use reqwest::{Client};use reqwest::header::{CONTENT_TYPE};#[tokio::main]async fn main() -> Result<(), reqwest::Error> { let client = Client::new().basic_auth("<email>", "<password>"); let json = client.request(Method::PUT, "https://api.track.toggl.com/api/v9/workspaces/{workspace_id}/projects/{project_id}".to_string()).json(&serde_json::json!(\{"active":"boolean","auto_estimates":"boolean","billable":"boolean","cid":"integer","client_id":"integer","client_name":"string","color":"string","currency":"string","end_date":"string","estimated_hours":"integer","fixed_fee":"number","is_private":"boolean","is_shared":"boolean","name":"string","rate":"number","rate_change_mode":"string","recurring":"boolean","recurring_parameters":\{"custom_period":"integer","period":"string","project_start_date":"string"\},"start_date":"string","template":"boolean","template_id":"integer"\})) .header(CONTENT_TYPE, "application/json") .send() .await? .json() .await?; println!("{:#?}", json); Ok(())}

```

### Parameters[​](https://engineering.toggl.com/docs/api/projects/#parameters-9)

#### Path[​](https://engineering.toggl.com/docs/api/projects/#path-9)

| name | type | required | description |
| --- | --- | --- | --- |
| workspace\_id | integer | true | Numeric ID of the workspace |
| project\_id | integer | true | Numeric ID of the project |

#### Body[​](https://engineering.toggl.com/docs/api/projects/#body-4)

| Name | Type | Description |
| --- | --- | --- |
| 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 |
| is\_shared | boolean | Shared |
| 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 | object | Project recurring parameters, optional, premium feature |
| start\_date | string | Start date of a project timeframe |
| template | boolean | Project is template, optional, premium feature |
| template\_id | integer | Template ID, optional |

##### recurring\_parameters[​](https://engineering.toggl.com/docs/api/projects/#recurring_parameters-4)

| Name | Type | Description |
| --- | --- | --- |
| 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 |

### Response[​](https://engineering.toggl.com/docs/api/projects/#response-9)

#### 200[​](https://engineering.toggl.com/docs/api/projects/#200-9)

| Name | Type | Description |
| --- | --- | --- |
| active | boolean | Whether the project is active or archived |
| actual\_hours | integer | null |
| actual\_seconds | integer | null |
| at | string | Last updated date |
| auto\_estimates | boolean | null |
| billable | boolean | null |
| can\_track\_time | boolean | - |
| cid | integer | Client ID legacy field |
| client\_id | integer | null |
| color | string | Color |
| created\_at | string | Creation date |
| currency | string | null |
| current\_period | object | Current project period, premium feature |
| end\_date | string | End date |
| estimated\_hours | integer | null |
| estimated\_seconds | integer | null |
| fixed\_fee | number | Fixed fee, premium feature |
| id | integer | Project ID |
| integration\_ext\_id | string | The external ID of the linked entity in the external system (e.g. JIRA/SalesForce) |
| integration\_ext\_type | string | The external type of the linked entity in the external system (e.g. JIRA/SalesForce) |
| integration\_provider | string | The provider (e.g. JIRA/SalesForce) that has an entity linked to this Toggl Track entity |
| is\_private | boolean | Whether the project is private |
| is\_shared | boolean | Shared Project |
| name | string | Name |
| permissions | string | - |
| pinned | boolean | - |
| rate | number | Hourly rate |
| rate\_last\_updated | string | null |
| recurring | boolean | Whether the project is recurring, premium feature |
| recurring\_parameters | Array of object | Project recurring parameters, premium feature |
| shared\_at | string | - |
| shared\_hash | string | - |
| start\_date | string | Start date |
| status | string | Status of the project (upcoming, active, ended, archived, deleted) |
| tasks\_count | integer | - |
| template | boolean | null |
| template\_id | integer | null |
| wid | integer | Workspace ID legacy field |
| workspace\_id | integer | Workspace ID |

##### current\_period[​](https://engineering.toggl.com/docs/api/projects/#current_period-3)

| Name | Type | Description |
| --- | --- | --- |
| end\_date | string | - |
| start\_date | string | - |

##### recurring\_parameters[​](https://engineering.toggl.com/docs/api/projects/#recurring_parameters-5)

| Name | Type | Description |
| --- | --- | --- |
| custom\_period | integer | Custom period, used when “period” field is “custom” |
| estimated\_seconds | integer | Estimated seconds |
| parameter\_end\_date | string | null |
| parameter\_start\_date | string | Recurring start date |
| period | string | Period |
| project\_start\_date | string | Project start date |

#### 400[​](https://engineering.toggl.com/docs/api/projects/#400-6)

Possible errors:

- Client with the ID {client ID} isn’t present in workspace {workspace ID}
- Error in validating color ‘{color}’. Project color must be a hex value in the form of #[0-9a-f]{6}.

#### 403[​](https://engineering.toggl.com/docs/api/projects/#403-8)

Possible errors:

- Only admins may create projects in this workspace
- User does not have access to this resource.

#### 500[​](https://engineering.toggl.com/docs/api/projects/#500-9)

Internal Server Error
