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":[\{\}],"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_uploadobjectCSV 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
subscriptionobjectdeprecated
suspended_atstringTimestamp of suspension
te_constraintsobjectTime entry constraints setting
working_hours_in_minutesintegerWorking hours in minutes
csv_upload
NameTypeDescription
atstring-
log_idinteger-
subscription
NameTypeDescription
auto_renewboolean-
card_detailsobject-
company_idinteger-
contact_detailobject-
created_atstring-
currencystring-
customer_idinteger-
deleted_atstring-
last_pricing_plan_idinteger-
organization_idinteger-
payment_detailsobject-
pricing_plan_idinteger-
renewal_atstring-
subscription_idinteger-
subscription_periodobject-
workspace_idinteger-
card_details
NameTypeDescription
added_atstring-
card_numberstring-
card_typestring-
creator_idinteger-
creator_namestring-
expiry_datestring-
holder_namestring-
contact_detail
NameTypeDescription
company_addressstring-
company_citystring-
company_namestring-
contact_detail_idinteger-
contact_emailstring-
contact_personstring-
country_idinteger-
country_subdivision_idinteger-
created_atstring-
customer_idinteger-
is_eu_residentboolean-
updated_atstring-
user_idinteger-
vat_numberstring-
vat_number_validbooleanDEPRECATED
vat_number_validated_atstringDEPRECATED
zip_codestring-
payment_details
NameTypeDescription
created_atstring-
currencystring-
customer_idinteger-
payment_typestring-
referencestring-
user_idinteger-
subscription_period
NameTypeDescription
created_atstring-
finished_onstring-
started_onstring-
subscription_idinteger-
subscription_period_idinteger-
trialboolean-
user_countinteger-
te_constraints
NameTypeDescription
description_presentboolean-
project_presentboolean-
tag_presentboolean-
task_presentboolean-
time_entry_constraints_enabledboolean-

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

NameTypeDescription
itemsArray of object-
items
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_idsArray of integerList 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)
labor_costnumberLabor cost assigned to the user
labor_cost_last_updatedstringTimestamp of the last labor 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":[\{\}]\}' \
-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_uploadobjectCSV 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
subscriptionobjectdeprecated
suspended_atstringTimestamp of suspension
te_constraintsobjectTime entry constraints setting
working_hours_in_minutesintegerWorking hours in minutes
csv_upload
NameTypeDescription
atstring-
log_idinteger-
subscription
NameTypeDescription
auto_renewboolean-
card_detailsobject-
company_idinteger-
contact_detailobject-
created_atstring-
currencystring-
customer_idinteger-
deleted_atstring-
last_pricing_plan_idinteger-
organization_idinteger-
payment_detailsobject-
pricing_plan_idinteger-
renewal_atstring-
subscription_idinteger-
subscription_periodobject-
workspace_idinteger-
card_details
NameTypeDescription
added_atstring-
card_numberstring-
card_typestring-
creator_idinteger-
creator_namestring-
expiry_datestring-
holder_namestring-
contact_detail
NameTypeDescription
company_addressstring-
company_citystring-
company_namestring-
contact_detail_idinteger-
contact_emailstring-
contact_personstring-
country_idinteger-
country_subdivision_idinteger-
created_atstring-
customer_idinteger-
is_eu_residentboolean-
updated_atstring-
user_idinteger-
vat_numberstring-
vat_number_validbooleanDEPRECATED
vat_number_validated_atstringDEPRECATED
zip_codestring-
payment_details
NameTypeDescription
created_atstring-
currencystring-
customer_idinteger-
payment_typestring-
referencestring-
user_idinteger-
subscription_period
NameTypeDescription
created_atstring-
finished_onstring-
started_onstring-
subscription_idinteger-
subscription_period_idinteger-
trialboolean-
user_countinteger-
te_constraints
NameTypeDescription
description_presentboolean-
project_presentboolean-
tag_presentboolean-
task_presentboolean-
time_entry_constraints_enabledboolean-

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":[\{\}],"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_uploadobjectCSV 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
subscriptionobjectdeprecated
suspended_atstringTimestamp of suspension
te_constraintsobjectTime entry constraints setting
working_hours_in_minutesintegerWorking hours in minutes
csv_upload
NameTypeDescription
atstring-
log_idinteger-
subscription
NameTypeDescription
auto_renewboolean-
card_detailsobject-
company_idinteger-
contact_detailobject-
created_atstring-
currencystring-
customer_idinteger-
deleted_atstring-
last_pricing_plan_idinteger-
organization_idinteger-
payment_detailsobject-
pricing_plan_idinteger-
renewal_atstring-
subscription_idinteger-
subscription_periodobject-
workspace_idinteger-
card_details
NameTypeDescription
added_atstring-
card_numberstring-
card_typestring-
creator_idinteger-
creator_namestring-
expiry_datestring-
holder_namestring-
contact_detail
NameTypeDescription
company_addressstring-
company_citystring-
company_namestring-
contact_detail_idinteger-
contact_emailstring-
contact_personstring-
country_idinteger-
country_subdivision_idinteger-
created_atstring-
customer_idinteger-
is_eu_residentboolean-
updated_atstring-
user_idinteger-
vat_numberstring-
vat_number_validbooleanDEPRECATED
vat_number_validated_atstringDEPRECATED
zip_codestring-
payment_details
NameTypeDescription
created_atstring-
currencystring-
customer_idinteger-
payment_typestring-
referencestring-
user_idinteger-
subscription_period
NameTypeDescription
created_atstring-
finished_onstring-
started_onstring-
subscription_idinteger-
subscription_period_idinteger-
trialboolean-
user_countinteger-
te_constraints
NameTypeDescription
description_presentboolean-
project_presentboolean-
tag_presentboolean-
task_presentboolean-
time_entry_constraints_enabledboolean-

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" \
-d '\{\}' \
-u <email>:<password>

Parameters

Body

NameTypeDescription
requestObjectAlert data

Response

200

NameTypeDescription
client_idinteger-
client_namestring-
errorsArray of object-
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-
errors
NameTypeDescription
codestring-
messagestring-

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

POST Rates creation

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

Creates a new rate.

curl -X POST https://api.track.toggl.com/api/v9/workspaces/{workspace_id}/rates \
-H "Content-Type: application/json" \
-d '\{"amount":"number","level":"string","level_id":"integer","mode":"string","start":"string","type":"string"\}' \
-u <email>:<password>

Parameters

Path

nametyperequireddescription
workspace_idintegertrueNumeric ID of the workspace

Body

NameTypeDescription
amountnumberAmount of the rate, required, must be greater than 0
levelstringLevel of the rate, required, must be one of: 'workspace', 'workspace_user', 'project', 'project_user', 'task'
level_idintegerIdentifier of the level, required
modestringMode of the rate, required if Start is not informed, must be one of: 'override-all', 'override-current', 'start-today'
startstringStart date time of the rate, required if Mode is not informed, must be a valid date time
typestringType of the rate, required, must be one of 'billable_rates', 'labor_rates'

Response

201

Successfully created.

400

Possible error messages:

  • Request payload must be informed
  • Invalid workspace ID

402

Billable rates are available for Starter and higher plans.

403

User cannot access billable rate(s).

500

Internal Server Error

GET Rates list

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

Get rates by level(workspace|project|task|user).

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

Parameters

Path

nametyperequireddescription
workspace_idintegertrueNumeric ID of the workspace
levelstringtrueRates level: workspace, project, task or user
level_idintegertrueNumeric ID of the entity level

Query

nametyperequireddescription
typestringfalseType of rate values to be returned: billable_rates or labor_costs. Default is billable_rates.

Response

200

NameTypeDescription
itemsArray of object-
items
NameTypeDescription
amountnumberAmount of the rate
created_atstringCreation date of the rate
creatorIDinteger-
deleted_atstringDeletion date of the rate, in case that is null it means the rates is active
endstringEnd date time of the rate
idintegerIdentifier of the rate
planned_task_idintegerPlanned task ID which the rate is applied
project_idintegerProject ID which the rate is applied
project_user_idintegerProject user ID which the rate is applied
startstringStart date time of the rate
typestring-
updated_atstringLast update date of the rate
workspace_idintegerWorkspace ID which the rate is applied
workspace_user_idintegerWorkspace user ID which the rate is applied

400

Possible error messages:

  • Invalid workspace ID
  • Invalid entity ID
  • Invalid level: it should be workspace, workspace_user, project or project_user
  • User not found in workspace
  • Task not found in workspace

402

Billable rates are available for Starter and higher plans.

403

User cannot access billable rate(s).

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 object-
groups_countinteger-
members_countinteger-
admins
NameTypeDescription
namestring-
user_idinteger-

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.

NameTypeDescription
itemsArray of object-
items
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":[\{\}],"threshold":"number","user_ids":[\{\}]\}' \
-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":[\{\}],"threshold":"number","user_ids":[\{\}]\}' \
-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

NameTypeDescription
itemsArray of object-
items
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 '\{"admin":"boolean","inactive":"boolean","labor_cost":"number","labor_cost_change_mode":"string","postedFields":[\{\}],"rate":"number","rate_change_mode":"string","role":"string","role_id":"integer","working_hours_in_minutes":"integer"\}' \
-u <email>:<password>

Parameters

Path

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

Body

NameTypeDescription
adminboolean-
inactiveboolean-
labor_costnumberCustom labor cost for project user
labor_cost_change_modestring-
postedFieldsArray of stringfor explicit NULL-s, add field name here
ratenumberPaid feature
rate_change_modestringPaid feature
rolestringAllowed inputs: "admin", "user", "projectlead" and "teamlead"
role_idinteger-
working_hours_in_minutesintegerPaid feature

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.