Skip to main content

Projects

GET Get workspace projects users

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

List all projects users for a given workspace.

curl  https://api.track.toggl.com/api/v9/workspaces/{workspace_id}/project_users \
-H "Content-Type: application/json" \
-u <email>:<password>

Parameters

Path

nametyperequireddescription
workspace_idintegertrueNumeric ID of the workspace

Response

[
{
"at": {
"type": "string"
},
"gid": {
"type": "integer"
},
"group_id": {
"type": "integer"
},
"id": {
"type": "integer"
},
"labour_cost": {
"type": "integer"
},
"manager": {
"type": "boolean"
},
"project_id": {
"type": "integer"
},
"rate": {
"type": "number"
},
"rate_last_updated": {
"type": "string"
},
"user_id": {
"type": "integer"
},
"workspace_id": {
"type": "integer"
}
}
]

POST Add an user into workspace projects users

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

Include a project user for a given workspace.

curl -X POST https://api.track.toggl.com/api/v9/workspaces/{workspace_id}/project_users \
-H "Content-Type: application/json" \
-d '{"labour_cost":"integer","manager":"boolean","postedFields":["string"],"project_id":"integer","rate":"number","rate_change_mode":"string","user_id":"integer"}' \
-u <email>:<password>

Parameters

Path

nametyperequireddescription
workspace_idintegertrueNumeric ID of the workspace

Body

nametypedescription
labour_costinteger-
managerboolean-
postedFieldsArray of string-
project_idinteger-
ratenumber-
rate_change_modestring-
user_idinteger-

Response

{
"at": {
"type": "string"
},
"gid": {
"type": "integer"
},
"group_id": {
"type": "integer"
},
"id": {
"type": "integer"
},
"labour_cost": {
"type": "integer"
},
"manager": {
"type": "boolean"
},
"project_id": {
"type": "integer"
},
"rate": {
"type": "number"
},
"rate_last_updated": {
"type": "string"
},
"user_id": {
"type": "integer"
},
"workspace_id": {
"type": "integer"
}
}

PATCH Patch project users from workspace

https://api.track.toggl.com/api/v9/workspaces/{workspace_id}/project_users/{project_user_ids}

Patch a list of project users for a given workspace.

curl -X PATCH https://api.track.toggl.com/api/v9/workspaces/{workspace_id}/project_users/{project_user_ids} \
-H "Content-Type: application/json" \
-u <email>:<password>

Parameters

Path

nametyperequireddescription
workspace_idintegertrueNumeric ID of the workspace

Query

nametyperequireddescription
project_user_ids[]integertrueNumeric IDs of the project users

Response

{
"failure": {
"items": [
{
"id": {
"type": "integer"
},
"message": {
"type": "string"
}
}
]
},
"success": {
"type": [
"integer"
]
}
}

PUT Update an user into workspace projects users

https://api.track.toggl.com/api/v9/workspaces/{workspace_id}/project_users/{project_user_id}

Update the data for a project user for a given workspace.

curl -X PUT https://api.track.toggl.com/api/v9/workspaces/{workspace_id}/project_users/{project_user_id} \
-H "Content-Type: application/json" \
-d '{"labour_cost":"integer","manager":"boolean","postedFields":["string"],"rate":"number","rate_change_mode":"string"}' \
-u <email>:<password>

Parameters

Path

nametyperequireddescription
workspace_idintegertrueNumeric ID of the workspace
project_user_idintegertrueNumeric ID of the project user

Body

nametypedescription
labour_costinteger-
managerboolean-
postedFieldsArray of string-
ratenumber-
rate_change_modestring-

Response

{
"at": {
"type": "string"
},
"gid": {
"type": "integer"
},
"group_id": {
"type": "integer"
},
"id": {
"type": "integer"
},
"labour_cost": {
"type": "integer"
},
"manager": {
"type": "boolean"
},
"project_id": {
"type": "integer"
},
"rate": {
"type": "number"
},
"rate_last_updated": {
"type": "string"
},
"user_id": {
"type": "integer"
},
"workspace_id": {
"type": "integer"
}
}

DELETE Delete a project user from workspace projects users

https://api.track.toggl.com/api/v9/workspaces/{workspace_id}/project_users/{project_user_id}

Delete a project user for a given workspace.

curl -X DELETE https://api.track.toggl.com/api/v9/workspaces/{workspace_id}/project_users/{project_user_id} \
-H "Content-Type: application/json" \
-u <email>:<password>

Parameters

Path

nametyperequireddescription
workspace_idintegertrueNumeric ID of the workspace
project_user_idintegertrueNumeric ID of the project user

Response

Successful operation.

GET WorkspaceProjects

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

Get projects for given workspace.

curl  https://api.track.toggl.com/api/v9/workspaces/{workspace_id}/projects \
-H "Content-Type: application/json" \
-u <email>:<password>

Parameters

Path

nametyperequireddescription
workspace_idintegertrueNumeric ID of the workspace

Query

nametyperequireddescription
activebooleanfalseactive
sinceintegertruesince
billablebooleanfalsebillable
user_idsarrayfalseuser_ids
client_idsarrayfalseclient_ids
group_idsarrayfalsegroup_ids
namestringtruename
pageintegertruepage
sort_fieldstringtruesort_field
sort_orderstringtruesort_order
only_templatesbooleantrueonly_templates

Response

[
{
"active": {
"type": "boolean"
},
"actual_hours": {
"description": "End pro features",
"type": "integer"
},
"at": {
"type": "string"
},
"auto_estimates": {
"type": "boolean"
},
"billable": {
"description": "Pro features",
"type": "boolean"
},
"cid": {
"type": "integer"
},
"client_id": {
"type": "integer"
},
"color": {
"type": "string"
},
"created_at": {
"type": "string"
},
"currency": {
"type": "string"
},
"current_period": {
"object": {
"end_date": {
"type": "string"
},
"start_date": {
"type": "string"
}
}
},
"estimated_hours": {
"type": "integer"
},
"first_time_entry": {
"type": "string"
},
"fixed_fee": {
"type": "number"
},
"foreign_id": {
"description": "ForeignID - meta information for pipes, it should not be saved into DB!",
"type": "string"
},
"id": {
"type": "integer"
},
"is_private": {
"type": "boolean"
},
"name": {
"type": "string"
},
"rate": {
"type": "number"
},
"rate_last_updated": {
"type": "string"
},
"recurring": {
"type": "boolean"
},
"recurring_parameters": {
"items": [
{
"custom_period": {
"type": "integer"
},
"estimated_seconds": {
"type": "integer"
},
"parameter_end_date": {
"type": "string"
},
"parameter_start_date": {
"type": "string"
},
"period": {
"type": "string"
},
"project_start_date": {
"type": "string"
}
}
]
},
"server_deleted_at": {
"type": "string"
},
"template": {
"type": "boolean"
},
"wid": {
"description": "Ideally we'd want object_id type things, but for usual reasons we need to keep both around, so, that's that",
"type": "integer"
},
"workspace_id": {
"type": "integer"
}
}
]

POST WorkspaceProjects

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

Create project for given workspace.

curl -X POST https://api.track.toggl.com/api/v9/workspaces/{workspace_id}/projects \
-H "Content-Type: application/json" \
-d '{"active":"boolean","auto_estimates":"boolean","billable":"boolean","cid":"integer","client_id":"integer","client_name":"string","color":"string","currency":"string","estimated_hours":"integer","fixed_fee":"number","foreign_id":"string","is_private":"boolean","name":"string","postedFields":["string"],"rate":"number","rate_change_mode":"string","recurring":"boolean","recurring_parameters":{"custom_period":"integer","period":"string","project_start_date":"string"},"template":"boolean","template_id":"integer"}' \
-u <email>:<password>

Parameters

Path

nametyperequireddescription
workspace_idintegertrueNumeric ID of the workspace

Body

nametypedescription
activeboolean-
auto_estimatesboolean-
billablebooleanPro features
cidintegerIdeally we want object_id type fields, so yeah, those here are for that and proper field as priority, hence if that set, we use that
client_idinteger-
client_namestring-
colorstring-
currencystring-
estimated_hoursinteger-
fixed_feenumber-
foreign_idstringEnd pro features Pipes helper
is_privateboolean-
namestring-
postedFieldsArray of stringTODO: same hack as in time_entry Update struct
ratenumber-
rate_change_modestring-
recurringboolean-
recurring_parameters
nametypedescription
custom_periodinteger-
periodstring-
project_start_datestring-
-
templateboolean-
template_idinteger-

Response

{
"active": {
"type": "boolean"
},
"actual_hours": {
"description": "End pro features",
"type": "integer"
},
"at": {
"type": "string"
},
"auto_estimates": {
"type": "boolean"
},
"billable": {
"description": "Pro features",
"type": "boolean"
},
"cid": {
"type": "integer"
},
"client_id": {
"type": "integer"
},
"color": {
"type": "string"
},
"created_at": {
"type": "string"
},
"currency": {
"type": "string"
},
"current_period": {
"object": {
"end_date": {
"type": "string"
},
"start_date": {
"type": "string"
}
}
},
"estimated_hours": {
"type": "integer"
},
"first_time_entry": {
"type": "string"
},
"fixed_fee": {
"type": "number"
},
"foreign_id": {
"description": "ForeignID - meta information for pipes, it should not be saved into DB!",
"type": "string"
},
"id": {
"type": "integer"
},
"is_private": {
"type": "boolean"
},
"name": {
"type": "string"
},
"rate": {
"type": "number"
},
"rate_last_updated": {
"type": "string"
},
"recurring": {
"type": "boolean"
},
"recurring_parameters": {
"items": [
{
"custom_period": {
"type": "integer"
},
"estimated_seconds": {
"type": "integer"
},
"parameter_end_date": {
"type": "string"
},
"parameter_start_date": {
"type": "string"
},
"period": {
"type": "string"
},
"project_start_date": {
"type": "string"
}
}
]
},
"server_deleted_at": {
"type": "string"
},
"template": {
"type": "boolean"
},
"wid": {
"description": "Ideally we'd want object_id type things, but for usual reasons we need to keep both around, so, that's that",
"type": "integer"
},
"workspace_id": {
"type": "integer"
}
}

PATCH WorkspaceProjects

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

Bulk editing workspace projects.

curl -X PATCH https://api.track.toggl.com/api/v9/workspaces/{workspace_id}/projects/{project_ids} \
-H "Content-Type: application/json" \
-d '{"array":[{"op":{"type":"string"},"path":{"type":"string"}}]}' \
-u <email>:<password>

Parameters

Path

nametyperequireddescription
workspace_idintegertrueNumeric ID of the workspace
project_idsstringtrueNumeric IDs of project ids, separated by comma. E.g.: 204301830,202700150,202687559

Body

nametypedescription
arrayArray of
nametypedescription
opstring-
pathstring-
Array of batch operations

Response

{
"failure": {
"items": [
{
"id": {
"type": "integer"
},
"message": {
"type": "string"
}
}
]
},
"success": {
"type": [
"integer"
]
}
}

GET WorkspaceProject

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

Get project for given workspace.

curl  https://api.track.toggl.com/api/v9/workspaces/{workspace_id}/projects/{project_id} \
-H "Content-Type: application/json" \
-u <email>:<password>

Parameters

Path

nametyperequireddescription
workspace_idintegertrueNumeric ID of the workspace
project_idintegertrueNumeric ID of the project

Query

nametyperequireddescription
with_first_time_entrybooleanfalseShould return the First Time Entry date of the project?

Response

{
"active": {
"type": "boolean"
},
"actual_hours": {
"description": "End pro features",
"type": "integer"
},
"at": {
"type": "string"
},
"auto_estimates": {
"type": "boolean"
},
"billable": {
"description": "Pro features",
"type": "boolean"
},
"cid": {
"type": "integer"
},
"client_id": {
"type": "integer"
},
"color": {
"type": "string"
},
"created_at": {
"type": "string"
},
"currency": {
"type": "string"
},
"current_period": {
"object": {
"end_date": {
"type": "string"
},
"start_date": {
"type": "string"
}
}
},
"estimated_hours": {
"type": "integer"
},
"first_time_entry": {
"type": "string"
},
"fixed_fee": {
"type": "number"
},
"foreign_id": {
"description": "ForeignID - meta information for pipes, it should not be saved into DB!",
"type": "string"
},
"id": {
"type": "integer"
},
"is_private": {
"type": "boolean"
},
"name": {
"type": "string"
},
"rate": {
"type": "number"
},
"rate_last_updated": {
"type": "string"
},
"recurring": {
"type": "boolean"
},
"recurring_parameters": {
"items": [
{
"custom_period": {
"type": "integer"
},
"estimated_seconds": {
"type": "integer"
},
"parameter_end_date": {
"type": "string"
},
"parameter_start_date": {
"type": "string"
},
"period": {
"type": "string"
},
"project_start_date": {
"type": "string"
}
}
]
},
"server_deleted_at": {
"type": "string"
},
"template": {
"type": "boolean"
},
"wid": {
"description": "Ideally we'd want object_id type things, but for usual reasons we need to keep both around, so, that's that",
"type": "integer"
},
"workspace_id": {
"type": "integer"
}
}

PUT WorkspaceProject

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

Update project for given workspace.

curl -X PUT https://api.track.toggl.com/api/v9/workspaces/{workspace_id}/projects/{project_id} \
-H "Content-Type: application/json" \
-d '{"active":"boolean","auto_estimates":"boolean","billable":"boolean","cid":"integer","client_id":"integer","client_name":"string","color":"string","currency":"string","estimated_hours":"integer","fixed_fee":"number","foreign_id":"string","is_private":"boolean","name":"string","postedFields":["string"],"rate":"number","rate_change_mode":"string","recurring":"boolean","recurring_parameters":{"custom_period":"integer","period":"string","project_start_date":"string"},"template":"boolean","template_id":"integer"}' \
-u <email>:<password>

Parameters

Path

nametyperequireddescription
workspace_idintegertrueNumeric ID of the workspace
project_idintegertrueNumeric ID of the project

Body

nametypedescription
activeboolean-
auto_estimatesboolean-
billablebooleanPro features
cidintegerIdeally we want object_id type fields, so yeah, those here are for that and proper field as priority, hence if that set, we use that
client_idinteger-
client_namestring-
colorstring-
currencystring-
estimated_hoursinteger-
fixed_feenumber-
foreign_idstringEnd pro features Pipes helper
is_privateboolean-
namestring-
postedFieldsArray of stringTODO: same hack as in time_entry Update struct
ratenumber-
rate_change_modestring-
recurringboolean-
recurring_parameters
nametypedescription
custom_periodinteger-
periodstring-
project_start_datestring-
-
templateboolean-
template_idinteger-

Response

{
"active": {
"type": "boolean"
},
"actual_hours": {
"description": "End pro features",
"type": "integer"
},
"at": {
"type": "string"
},
"auto_estimates": {
"type": "boolean"
},
"billable": {
"description": "Pro features",
"type": "boolean"
},
"cid": {
"type": "integer"
},
"client_id": {
"type": "integer"
},
"color": {
"type": "string"
},
"created_at": {
"type": "string"
},
"currency": {
"type": "string"
},
"current_period": {
"object": {
"end_date": {
"type": "string"
},
"start_date": {
"type": "string"
}
}
},
"estimated_hours": {
"type": "integer"
},
"first_time_entry": {
"type": "string"
},
"fixed_fee": {
"type": "number"
},
"foreign_id": {
"description": "ForeignID - meta information for pipes, it should not be saved into DB!",
"type": "string"
},
"id": {
"type": "integer"
},
"is_private": {
"type": "boolean"
},
"name": {
"type": "string"
},
"rate": {
"type": "number"
},
"rate_last_updated": {
"type": "string"
},
"recurring": {
"type": "boolean"
},
"recurring_parameters": {
"items": [
{
"custom_period": {
"type": "integer"
},
"estimated_seconds": {
"type": "integer"
},
"parameter_end_date": {
"type": "string"
},
"parameter_start_date": {
"type": "string"
},
"period": {
"type": "string"
},
"project_start_date": {
"type": "string"
}
}
]
},
"server_deleted_at": {
"type": "string"
},
"template": {
"type": "boolean"
},
"wid": {
"description": "Ideally we'd want object_id type things, but for usual reasons we need to keep both around, so, that's that",
"type": "integer"
},
"workspace_id": {
"type": "integer"
}
}

DELETE WorkspaceProject

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

Delete project for given workspace.

curl -X DELETE https://api.track.toggl.com/api/v9/workspaces/{workspace_id}/projects/{project_id} \
-H "Content-Type: application/json" \
-u <email>:<password>

Parameters

Path

nametyperequireddescription
workspace_idintegertrueNumeric ID of the workspace
project_idintegertrueNumeric ID of the project

Response

Successful operation.
© 2022 Toggl. All rights reserved.