Skip to main content

Workspace-settings

GET Get current user's permissions in workspace​

https://focus.toggl.com/api/workspaces/{workspace_id}/permissions

Returns the complete list of permissions for the current user in the specified workspace. This combines unconditional permissions from the user's role with conditional permissions based on workspace settings.

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

Parameters​

Path​

nametyperequireddescription
workspace_idintegertrueworkspace ID

Response​

200​

Permissions retrieved successfully

NameTypeDescription
permissionsArray of string-

403​

User does not have access to workspace

500​

Internal server error

GET Get workspace settings​

https://focus.toggl.com/api/workspaces/{workspace_id}/settings

Returns default_private to all workspace members; permission settings are included only for workspace admins.

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

Parameters​

Path​

nametyperequireddescription
workspace_idintegertrueworkspace ID

Response​

200​

Settings retrieved successfully

NameTypeDescription
created_atstring-
default_privateboolean-
settingsobject-
updated_atstring-
workspace_idinteger-
settings​

403​

User does not have access to workspace

500​

Internal server error

PUT Update workspace settings​

https://focus.toggl.com/api/workspaces/{workspace_id}/settings

Updates permission settings and/or default_private atomically. Omitted fields are preserved; at least one is required and null is invalid. Requires workspace-admin rights. Private defaults require access_private_projects_tasks_feature. The settings object should map role IDs to their permissions. Note: Use role IDs as string keys (e.g., "15" for ws_admin, "16" for ws_manager, "17" for ws_user), not role codes. Available permissions:

  • Clients: create_client, rename_client, archive_client, delete_client
  • Statuses: create_status, update_status, delete_status
  • Tags: create_tags, update_tags, delete_tags
\{
"settings": \{
"15": \{
"create_client": true,
"rename_client": true,
"archive_client": true,
"delete_client": true,
"create_status": true,
"update_status": true,
"delete_status": true,
"create_tags": true,
"update_tags": true,
"delete_tags": true
\},
"16": \{
"create_client": true,
"rename_client": true,
"archive_client": false,
"delete_client": false,
"create_status": true,
"update_status": true,
"delete_status": false,
"create_tags": true,
"update_tags": true,
"delete_tags": false
\},
"17": \{
"create_client": false,
"rename_client": false,
"archive_client": false,
"delete_client": false,
"create_status": false,
"update_status": false,
"delete_status": false,
"create_tags": false,
"update_tags": false,
"delete_tags": false
\}
\}
\}
curl -X PUT https://focus.toggl.com/api/workspaces/{workspace_id}/settings \
-H "Content-Type: application/json" \
-d '\{"default_private":"boolean","settings":\{\}\}' \
-u <email>:<password>

Parameters​

Path​

nametyperequireddescription
workspace_idintegertrueworkspace ID

Body​

NameTypeDescription
default_privateboolean-
settingsobject-
settings​

Response​

200​

Settings updated successfully

NameTypeDescription
created_atstring-
default_privateboolean-
settingsobject-
updated_atstring-
workspace_idinteger-
settings​

400​

Invalid request body

402​

Private projects and tasks are not available on the current plan

403​

User is not authorized to update workspace settings

500​

Internal server error

© 2026 Toggl. All rights reserved.