“Projects” Endpoints - PUT Workspace Project

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

Update project for given workspace.

  • cURL
  • Go
  • Ruby
  • JavaScript
  • Python
  • Rust
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

Path

name type required description
workspace_id integer true Numeric ID of the workspace
project_id integer true Numeric ID of the project

Body

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

200

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
Name Type Description
end_date string -
start_date string -
recurring_parameters
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

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

Possible errors:

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

500

Internal Server Error