Skip to main content

Workspaces

POST Create a new workspace.

https://api.track.toggl.com/api/v9/organizations/{organization_id}/workspaces

Create a workspace within an existing organization.

curl -X POST https://api.track.toggl.com/api/v9/organizations/{organization_id}/workspaces \
-H "Content-Type: application/json" \
-d '{"admins":["integer"],"default_currency":"string","default_hourly_rate":"number","initial_pricing_plan":"integer","name":"string","only_admins_may_create_projects":"boolean","only_admins_may_create_tags":"boolean","only_admins_see_billable_rates":"boolean","only_admins_see_team_dashboard":"boolean","projects_billable_by_default":"boolean","projects_enforce_billable":"boolean","projects_private_by_default":"boolean","rate_change_mode":"string","reports_collapse":"boolean","rounding":"integer","rounding_minutes":"integer"}' \
-u <email>:<password>

Parameters

Path

nametyperequireddescription
organization_idintegertrueNumeric ID of the organization

Body

nametypedescription
adminsArray of integerList of admins, optional
default_currencystringDefault currency, premium feature, optional, only for existing WS, will be 'USD' initially
default_hourly_ratenumberThe default hourly rate, premium feature, optional, only for existing WS, will be 0.0 initially
initial_pricing_planintegerThe subscription plan for the workspace, deprecated
namestringWorkspace name
only_admins_may_create_projectsbooleanOnly admins will be able to create projects, optional, only for existing WS, will be false initially
only_admins_may_create_tagsbooleanOnly admins will be able to create tags, optional, only for existing WS, will be false initially
only_admins_see_billable_ratesbooleanWhether only admins will be able to see billable rates, premium feature, optional, only for existing WS. Will be false initially
only_admins_see_team_dashboardbooleanOnly admins will be able to see the team dashboard, optional, only for existing WS, will be false initially
projects_billable_by_defaultbooleanWhether projects will be set as billable by default, premium feature, optional, only for existing WS. Will be true initially
projects_enforce_billablebooleanWhether tracking time to projects will enforce billable setting to be respected.
projects_private_by_defaultbooleanWhether projects will be set to private by default, optional. Will be true initially.
rate_change_modestringThe rate change mode, premium feature, optional, only for existing WS. Can be "start-today", "override-current", "override-all"
reports_collapsebooleanWhether reports should be collapsed by default, optional, only for existing WS, will be true initially
roundingintegerDefault rounding, premium feature, optional, only for existing WS
rounding_minutesintegerDefault rounding in minutes, premium feature, optional, only for existing WS

Response

200

nametypedescription
adminbooleanCurrent user is workspace admin
api_tokenstringdeprecated
atstringTimestamp of last workspace change
business_wsbooleanWorkspace on Premium subscription
csv_upload
nametypedescription
atstring-
log_idinteger-
CSV upload data
default_currencystringDefault currency, premium feature, optional, only for existing WS, will be 'USD' initially
default_hourly_ratenumberThe default hourly rate, premium feature, optional, only for existing WS, will be 0.0 initially
hide_start_end_timesboolean-
ical_enabledbooleanCalendar integration enabled
ical_urlstringURL of calendar
idintegerIdentifier of the workspace
last_modifiedstringLast modification of data in the workspace
logo_urlstringURL of workspace logo
max_data_retention_daysintegerHow far back free workspaces can access data.
namestringName of the workspace
only_admins_may_create_projectsbooleanOnly admins will be able to create projects, optional, only for existing WS, will be false initially
only_admins_may_create_tagsbooleanOnly admins will be able to create tags, optional, only for existing WS, will be false initially
only_admins_see_billable_ratesbooleanWhether only admins will be able to see billable rates, premium feature, optional, only for existing WS. Will be false initially
only_admins_see_team_dashboardbooleanOnly admins will be able to see the team dashboard, optional, only for existing WS, will be false initially
organization_idintegerIdentifier of the organization
permissionsstringPermissions list
premiumbooleanWorkspace on Starter subscription
profileintegerdeprecated
projects_billable_by_defaultbooleanNew projects billable by default
projects_enforce_billablebooleanWhether tracking time to projects will enforce billable setting to be respected.
projects_private_by_defaultbooleanWorkspace setting for default project visbility.
rate_last_updatedstringTimestamp of last workspace rate update
reports_collapsebooleanWhether reports should be collapsed by default, optional, only for existing WS, will be true initially
rolestringRole of the current user in the workspace
roundingintegerDefault rounding, premium feature, optional, only for existing WS. 0 - nearest, 1 - round up, -1 - round down
rounding_minutesintegerDefault rounding in minutes, premium feature, optional, only for existing WS
subscription
nametypedescription
auto_renewboolean-
card_detailsmodels.CardDetails-
company_idinteger-
contact_detailmodels.ContactDetail-
created_atstring-
currencystring-
customer_idinteger-
deleted_atstring-
last_pricing_plan_idinteger-
organization_idinteger-
payment_detailsmodels.PaymentDetail-
pricing_plan_idinteger-
renewal_atstring-
subscription_idinteger-
subscription_periodmodels.Period-
workspace_idinteger-
deprecated
suspended_atstringTimestamp of suspension
te_constraints
nametypedescription
description_presentboolean-
project_presentboolean-
tag_presentboolean-
task_presentboolean-
time_entry_constraints_enabledboolean-
Time entry constraints setting
working_hours_in_minutesintegerWorking hours in minutes

400

Possible errors:

* JSON is not valid
* workspace name must contain non-space characters
* workspace name must not be nil
* workspace name must not be longer than 140
* another workspace with same name exists in organization
* user can have a maximum of 100 workspaces
* Multiple workspaces are not enabled in this organization.
* Organization {name} can have a maximum of {amount} workspaces
* User with id {id} does not exist.
* User {userID} not exists in the workspace.

402

Possible errors:

* Must be a premium user to use default_hourly_rate
* restricting tag management to administrators requires a premium subscription
* Must be a premium user to use default_currency
* Must be a premium user to use rounding_minutes
* Must be a premium user to use only_admins_see_billable_rates
* Must be a premium user to use projects_billable_by_default
* Must be a premium user to use rounding

403

Forbidden

404

Possible errors:

* Organization not found/accessible
* Workspace not found/accessible
* organization owner not found

GET List of users who belong to the given workspace.

https://api.track.toggl.com/api/v9/organizations/{organization_id}/workspaces/{workspace_id}/workspace_users

Returns any users who belong to the workspace directly or through at least one group.

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

Parameters

Path

nametyperequireddescription
organization_idintegertrueNumeric ID of the organization
workspace_idintegertrueNumeric ID of the workspace within the organization

Query

nametyperequireddescription
namestringtrueWorkspace user name to filter by

Response

200

Array of:

nametypedescription
activebooleanFlag indicating if user accepted the invitation
adminbooleanFlag indicating if user is admin
atstringTimestamp of the last update
avatar_file_namestringURL of avatar
emailstringEmail of the user
group_idsList of groups the user belongs to
idintegerIdentifier of the user workspace
inactivebooleanFlag indicating if user was deactivated by admin of the workspace
invitation_codestringinternal
invite_urlstringinternal
is_directbooleanFlag indicating if user is a direct member of the workspace (is not assigned to the workspace using the group)
labour_costintegerLabour cost assigned to the user
labourcostnumberLabour cost assigned to the user
labourcost_last_updatedstringTimestamp of the last labour cost update
namestringName of the user
organization_adminbooleanFlag indicating if user is admin inside organization
ratenumberRate assigned to the user
rate_last_updatedstringTimestamp of the last rate update
rolestringRole of the user
role_idinteger-
timezonestringTimezone of the user
uidintegerGlobal user identifier
user_idintegerUserID alternative JSON field, only used by get-organization-workspaces-workspaceusers
widintegerWorkspace identifier
working_hours_in_minutesintegerWorking hours value in minutes
workspace_adminbooleanFlag indicating if user is admin inside workspace
workspace_idintegerUserID alternative JSON field, only used by get-organization-workspaces-workspaceusers

403

Forbidden

404

Resource can not be found

PATCH Changes the users in a workspace.

https://api.track.toggl.com/api/v9/organizations/{organization_id}/workspaces/{workspace_id}/workspace_users

Changes the users in a workspace (currently deletion only).

curl -X PATCH https://api.track.toggl.com/api/v9/organizations/{organization_id}/workspaces/{workspace_id}/workspace_users \
-H "Content-Type: application/json" \
-d '{"delete":["integer"]}' \
-u <email>:<password>

Parameters

Path

nametyperequireddescription
organization_idintegertrueNumeric ID of the organization
workspace_idintegertrueNumeric ID of the workspace

Body

nametypedescription
deleteArray of integerWorkspace user IDs to be deleted

Response

200

Successful operation.

400

Possible error messages:

* JSON is not valid
* At least one workspace user ID must be supplied.
* Workspace user IDs must be unique"
* Wrong workspace user IDs

403

Forbidden

GET Get single workspace

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

Get information of single workspace.

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

Parameters

Path

nametyperequireddescription
workspace_idintegertrueNumeric Workspace ID

Response

200

nametypedescription
adminbooleanCurrent user is workspace admin
api_tokenstringdeprecated
atstringTimestamp of last workspace change
business_wsbooleanWorkspace on Premium subscription
csv_upload
nametypedescription
atstring-
log_idinteger-
CSV upload data
default_currencystringDefault currency, premium feature, optional, only for existing WS, will be 'USD' initially
default_hourly_ratenumberThe default hourly rate, premium feature, optional, only for existing WS, will be 0.0 initially
hide_start_end_timesboolean-
ical_enabledbooleanCalendar integration enabled
ical_urlstringURL of calendar
idintegerIdentifier of the workspace
last_modifiedstringLast modification of data in the workspace
logo_urlstringURL of workspace logo
max_data_retention_daysintegerHow far back free workspaces can access data.
namestringName of the workspace
only_admins_may_create_projectsbooleanOnly admins will be able to create projects, optional, only for existing WS, will be false initially
only_admins_may_create_tagsbooleanOnly admins will be able to create tags, optional, only for existing WS, will be false initially
only_admins_see_billable_ratesbooleanWhether only admins will be able to see billable rates, premium feature, optional, only for existing WS. Will be false initially
only_admins_see_team_dashboardbooleanOnly admins will be able to see the team dashboard, optional, only for existing WS, will be false initially
organization_idintegerIdentifier of the organization
permissionsstringPermissions list
premiumbooleanWorkspace on Starter subscription
profileintegerdeprecated
projects_billable_by_defaultbooleanNew projects billable by default
projects_enforce_billablebooleanWhether tracking time to projects will enforce billable setting to be respected.
projects_private_by_defaultbooleanWorkspace setting for default project visbility.
rate_last_updatedstringTimestamp of last workspace rate update
reports_collapsebooleanWhether reports should be collapsed by default, optional, only for existing WS, will be true initially
rolestringRole of the current user in the workspace
roundingintegerDefault rounding, premium feature, optional, only for existing WS. 0 - nearest, 1 - round up, -1 - round down
rounding_minutesintegerDefault rounding in minutes, premium feature, optional, only for existing WS
subscription
nametypedescription
auto_renewboolean-
card_detailsmodels.CardDetails-
company_idinteger-
contact_detailmodels.ContactDetail-
created_atstring-
currencystring-
customer_idinteger-
deleted_atstring-
last_pricing_plan_idinteger-
organization_idinteger-
payment_detailsmodels.PaymentDetail-
pricing_plan_idinteger-
renewal_atstring-
subscription_idinteger-
subscription_periodmodels.Period-
workspace_idinteger-
deprecated
suspended_atstringTimestamp of suspension
te_constraints
nametypedescription
description_presentboolean-
project_presentboolean-
tag_presentboolean-
task_presentboolean-
time_entry_constraints_enabledboolean-
Time entry constraints setting
working_hours_in_minutesintegerWorking hours in minutes

403

User does not have access to this resource.

500

Internal Server Error

PUT Update workspace

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

Update a specific workspace.

curl -X PUT https://api.track.toggl.com/api/v9/workspaces/{workspace_id} \
-H "Content-Type: application/json" \
-d '{"admins":["integer"],"default_currency":"string","default_hourly_rate":"number","initial_pricing_plan":"integer","name":"string","only_admins_may_create_projects":"boolean","only_admins_may_create_tags":"boolean","only_admins_see_billable_rates":"boolean","only_admins_see_team_dashboard":"boolean","projects_billable_by_default":"boolean","projects_enforce_billable":"boolean","projects_private_by_default":"boolean","rate_change_mode":"string","reports_collapse":"boolean","rounding":"integer","rounding_minutes":"integer"}' \
-u <email>:<password>

Parameters

Path

nametyperequireddescription
workspace_idintegertrueNumeric Workspace ID

Body

nametypedescription
adminsArray of integerList of admins, optional
default_currencystringDefault currency, premium feature, optional, only for existing WS, will be 'USD' initially
default_hourly_ratenumberThe default hourly rate, premium feature, optional, only for existing WS, will be 0.0 initially
initial_pricing_planintegerThe subscription plan for the workspace, deprecated
namestringWorkspace name
only_admins_may_create_projectsbooleanOnly admins will be able to create projects, optional, only for existing WS, will be false initially
only_admins_may_create_tagsbooleanOnly admins will be able to create tags, optional, only for existing WS, will be false initially
only_admins_see_billable_ratesbooleanWhether only admins will be able to see billable rates, premium feature, optional, only for existing WS. Will be false initially
only_admins_see_team_dashboardbooleanOnly admins will be able to see the team dashboard, optional, only for existing WS, will be false initially
projects_billable_by_defaultbooleanWhether projects will be set as billable by default, premium feature, optional, only for existing WS. Will be true initially
projects_enforce_billablebooleanWhether tracking time to projects will enforce billable setting to be respected.
projects_private_by_defaultbooleanWhether projects will be set to private by default, optional. Will be true initially.
rate_change_modestringThe rate change mode, premium feature, optional, only for existing WS. Can be "start-today", "override-current", "override-all"
reports_collapsebooleanWhether reports should be collapsed by default, optional, only for existing WS, will be true initially
roundingintegerDefault rounding, premium feature, optional, only for existing WS
rounding_minutesintegerDefault rounding in minutes, premium feature, optional, only for existing WS

Response

200

nametypedescription
adminbooleanCurrent user is workspace admin
api_tokenstringdeprecated
atstringTimestamp of last workspace change
business_wsbooleanWorkspace on Premium subscription
csv_upload
nametypedescription
atstring-
log_idinteger-
CSV upload data
default_currencystringDefault currency, premium feature, optional, only for existing WS, will be 'USD' initially
default_hourly_ratenumberThe default hourly rate, premium feature, optional, only for existing WS, will be 0.0 initially
hide_start_end_timesboolean-
ical_enabledbooleanCalendar integration enabled
ical_urlstringURL of calendar
idintegerIdentifier of the workspace
last_modifiedstringLast modification of data in the workspace
logo_urlstringURL of workspace logo
max_data_retention_daysintegerHow far back free workspaces can access data.
namestringName of the workspace
only_admins_may_create_projectsbooleanOnly admins will be able to create projects, optional, only for existing WS, will be false initially
only_admins_may_create_tagsbooleanOnly admins will be able to create tags, optional, only for existing WS, will be false initially
only_admins_see_billable_ratesbooleanWhether only admins will be able to see billable rates, premium feature, optional, only for existing WS. Will be false initially
only_admins_see_team_dashboardbooleanOnly admins will be able to see the team dashboard, optional, only for existing WS, will be false initially
organization_idintegerIdentifier of the organization
permissionsstringPermissions list
premiumbooleanWorkspace on Starter subscription
profileintegerdeprecated
projects_billable_by_defaultbooleanNew projects billable by default
projects_enforce_billablebooleanWhether tracking time to projects will enforce billable setting to be respected.
projects_private_by_defaultbooleanWorkspace setting for default project visbility.
rate_last_updatedstringTimestamp of last workspace rate update
reports_collapsebooleanWhether reports should be collapsed by default, optional, only for existing WS, will be true initially
rolestringRole of the current user in the workspace
roundingintegerDefault rounding, premium feature, optional, only for existing WS. 0 - nearest, 1 - round up, -1 - round down
rounding_minutesintegerDefault rounding in minutes, premium feature, optional, only for existing WS
subscription
nametypedescription
auto_renewboolean-
card_detailsmodels.CardDetails-
company_idinteger-
contact_detailmodels.ContactDetail-
created_atstring-
currencystring-
customer_idinteger-
deleted_atstring-
last_pricing_plan_idinteger-
organization_idinteger-
payment_detailsmodels.PaymentDetail-
pricing_plan_idinteger-
renewal_atstring-
subscription_idinteger-
subscription_periodmodels.Period-
workspace_idinteger-
deprecated
suspended_atstringTimestamp of suspension
te_constraints
nametypedescription
description_presentboolean-
project_presentboolean-
tag_presentboolean-
task_presentboolean-
time_entry_constraints_enabledboolean-
Time entry constraints setting
working_hours_in_minutesintegerWorking hours in minutes

403

User does not have access to this resource.

500

Internal Server Error

POST Alerts

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

Handles POST alert requests.

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

Response

200

nametypedescription
client_idinteger-
client_namestring-
errorsArray of
nametypedescription
codestring-
messagestring-
-
idinteger-
object_typeinteger-
project_colorstring-
project_idinteger-
project_namestring-
receiver_groupsstring-
receiver_rolesstring-
receiver_usersstring-
receiversinteger-
source_kindstring-
thresholdinteger-
threshold_typestring-
thresholdsstringusing pq types is a workaround to enable reading postgres arrays into go types we should wrap these pq types to avoid polluting our domain
widinteger-

400

Possible errors:

* invalid workspace ID
* source kind can't be blank
* project can't be blank
* project not supported for this source kind
* threshold type can't be blank
* thresholds can't be blank
* receivers can't be blank
* alert type out of range
* receiver type out of range
* threshold out of range
* source kind out of range
* threshold type out of range
* receiver role out of range

500

Internal Server Error

DELETE Alerts

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

Handles DELETE alert requests.

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

Response

200

Successful operation.

400

Possible errors:

* invalid 'alert_id' passed in URL

403

Alert not found or not accessible

500

Internal Server Error

GET Workspace statistics

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

Returns workspace admins list, members count and groups count

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

Response

200

nametypedescription
adminsArray of
nametypedescription
namestring-
user_idinteger-
-
groups_countinteger-
members_countinteger-

403

User does not have access to this resource.

500

Internal Server Error

GET Get workspace time entry constraints

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

Get the time entry constraints for a given workspace.

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

Parameters

Path

nametyperequireddescription
workspace_idintegertrueNumeric ID of the workspace

Response

200

nametypedescription
description_presentboolean-
project_presentboolean-
tag_presentboolean-
task_presentboolean-
time_entry_constraints_enabledboolean-

400

Workspace not found

403

User does not have access to this resource.

500

Internal Server Error

GET TrackReminders

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

Returns a list of track reminders.

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

Parameters

Path

nametyperequireddescription
workspace_idintegertrueNumeric ID of the workspace

Response

200

Returns a list of track reminders.

Array of:

nametypedescription
created_atstringReminder creation time
frequencyintegerFrequency of the reminder in days, should be either 1 or 7
group_idsArray of integerGroups IDs to send the reminder to
reminder_idintegerReminder ID
thresholdintegerThreshold is the number of hours after which the reminder will be sent
user_idsArray of integerUser IDs to send the reminder to
workspace_idintegerWorkspace ID

403

User does not have access to this resource.

500

Internal Server Error

POST TrackReminders

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

Creates a workspace tracking reminder.

curl -X POST https://api.track.toggl.com/api/v9/workspaces/{workspace_id}/track_reminders \
-H "Content-Type: application/json" \
-d '{"frequency":"integer","group_ids":["integer"],"threshold":"number","user_ids":["integer"]}' \
-u <email>:<password>

Parameters

Path

nametyperequireddescription
workspace_idintegertrueNumeric ID of the workspace

Body

nametypedescription
frequencyintegerFrequency of the reminder in days, should be either 1 or 7
group_idsArray of integerGroup IDs to send the reminder to, can be omitted if user_ids is provided
thresholdnumberThreshold is the number of hours after which the reminder will be sent
user_idsArray of integerUser IDs to send the reminder to, can be omitted if group_ids is provided

Response

200

Creates a workspace tracking reminder.
nametypedescription
created_atstringReminder creation time
frequencyintegerFrequency of the reminder in days, should be either 1 or 7
group_idsArray of integerGroups IDs to send the reminder to
reminder_idintegerReminder ID
thresholdintegerThreshold is the number of hours after which the reminder will be sent
user_idsArray of integerUser IDs to send the reminder to
workspace_idintegerWorkspace ID

403

User does not have access to this resource.

500

Internal Server Error

PUT TrackReminder

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

Updates a workspace tracking reminder.

curl -X PUT https://api.track.toggl.com/api/v9/workspaces/{workspace_id}/track_reminders/{reminder_id} \
-H "Content-Type: application/json" \
-d '{"frequency":"integer","group_ids":["integer"],"threshold":"number","user_ids":["integer"]}' \
-u <email>:<password>

Parameters

Path

nametyperequireddescription
workspace_idintegertrueNumeric ID of the workspace
reminder_idintegertrueReminder ID.

Body

nametypedescription
frequencyintegerFrequency of the reminder in days, should be either 1 or 7
group_idsArray of integerGroup IDs to send the reminder to, can be omitted if user_ids is provided
thresholdnumberThreshold is the number of hours after which the reminder will be sent
user_idsArray of integerUser IDs to send the reminder to, can be omitted if group_ids is provided

Response

200

Updates a workspace tracking reminder.
nametypedescription
created_atstringReminder creation time
frequencyintegerFrequency of the reminder in days, should be either 1 or 7
group_idsArray of integerGroups IDs to send the reminder to
reminder_idintegerReminder ID
thresholdintegerThreshold is the number of hours after which the reminder will be sent
user_idsArray of integerUser IDs to send the reminder to
workspace_idintegerWorkspace ID

403

User does not have access to this resource.

500

Internal Server Error

DELETE TrackReminder

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

Deletes a workspace tracking reminder.

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

Parameters

Path

nametyperequireddescription
workspace_idintegertrueNumeric ID of the workspace
reminder_idintegertrueReminder ID.

Response

200

Returns only status code.

403

User does not have access to this resource.

500

Internal Server Error

GET Get workspace users

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

List all users for a given workspace.

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

Parameters

Path

nametyperequireddescription
workspace_idintegertrueNumeric ID of the workspace

Query

nametyperequireddescription
exclude_deletedbooleanfalseExclude deleted records in the response

Response

200

Array of:

nametypedescription
emailstringEmail of the user
fullnamestringName of the user
idintegerGlobal user identifier
inactivebooleaninternal
is_activebooleaninternal
is_adminbooleanFlag indicating if user is admin
rolestringRole of the user

403

User does not have access to this resource.

500

Internal Server Error

PUT Update workspace user

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

Update the data for a user in a given workspace.

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

Parameters

Path

nametyperequireddescription
workspace_idintegertrueNumeric ID of the workspace
user_idintegertrueNumeric ID of the user

Response

200

Successful operation.

400

Bad Request

403

User does not have access to this resource.

404

Not Found

500

Internal Server Error

PUT Update workspace-user

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

Update the data for a workspace_user in a given workspace.

curl -X PUT https://api.track.toggl.com/api/v9/workspaces/{workspace_id}/workspace_users/{workspace_user_id} \
-H "Content-Type: application/json" \
-d '{"email":"string","groups":["integer"],"inactive":"boolean","name":"string","organization_admin":"boolean","role_id":"integer","workspaces":[{"admin":"boolean","cost":"number","default_currency":"string","groups":[{"group_id":"integer","name":"string"}],"inactive":"boolean","rate":"number","role":"string","role_id":"integer","working_hours":"number","workspace_id":"integer","workspace_name":"string","workspace_user_id":"integer"}]}' \
-u <email>:<password>

Parameters

Path

nametyperequireddescription
workspace_idintegertrueNumeric ID of the workspace
workspace_user_idintegertrueNumeric ID of the workspace user

Body

nametypedescription
emailstring-
groupsArray of integer-
inactiveboolean-
namestring-
organization_adminboolean-
role_idinteger-
workspacesArray of
nametypedescription
adminbooleanDeprecated, to be removed
costnumber-
default_currencystring-
groupsArray of
nametypedescription
group_idinteger-
namestring-
-
inactiveboolean-
ratenumber-
rolestringDeprecated, to be removed
role_idinteger-
working_hoursnumber-
workspace_idinteger-
workspace_namestring-
workspace_user_idinteger-
-

Response

200

Successful operation.

400

Possible error messages:

* Workspace not found/accessible
* User not found
* Workspace user not found/accessible by user
* Working hours must be positive or null
* Invalid role_id.
* Cannot use both admin flags and role_id.
* User does not exist in the organization.
* User does not exist in the workspace.

403

User does not have access to this resource.

500

Internal Server Error

DELETE Delete workspace user

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

Removes user from workspace

curl -X DELETE https://api.track.toggl.com/api/v9/workspaces/{workspace_id}/workspace_users/{workspace_user_id} \
-H "Content-Type: application/json"

Parameters

Path

nametyperequireddescription
workspace_idintegertrueNumeric ID of the workspace.
workspace_user_idintegertrueNumeric ID of the workspace user.

Response

200

OK

400

Bad Request

403

Workspace user is not found or accessible

500

Internal Server Error
© 2024 Toggl. All rights reserved.