Skip to main content

Utils

POST List clients​

https://api.track.toggl.com/reports/api/v3/workspace/{workspace_id}/filters/clients

Returns filtered clients from a workspace (only ID and name).

curl -X POST https://api.track.toggl.com/reports/api/v3/workspace/{workspace_id}/filters/clients \
-H "Content-Type: application/json" \
-d '\{"ids":[\{\}],"name":"string","start":"integer"\}' \
-u <email>:<password>

Parameters​

Path​

nametyperequireddescription
workspace_idintegertrueWorkspace ID

Body​

NameTypeDescription
idsArray of integerClient IDs for filtering.
namestringClient name for filtering.
startintegerStart is the client ID cursor for pagination.

Response​

200​

Returns filtered clients

NameTypeDescription
itemsArray of object-
items​
NameTypeDescription
idintegerClient ID.
namestringClient name.

400​

Maximum count of posted IDs is 2000

403​

Workspace not found/accessible

500​

Internal Server Error

POST List project groups filter​

https://api.track.toggl.com/reports/api/v3/workspace/{workspace_id}/filters/project_groups

Returns the project groups from a workspace.

curl -X POST https://api.track.toggl.com/reports/api/v3/workspace/{workspace_id}/filters/project_groups \
-H "Content-Type: application/json" \
-d '\{"group_ids":[\{\}],"project_ids":[\{\}],"start_id":"integer"\}' \
-u <email>:<password>

Parameters​

Path​

nametyperequireddescription
workspace_idintegertrueWorkspace ID

Body​

NameTypeDescription
group_idsArray of integerGroup IDs, optional. At least Projects IDs or Group IDs should be informed.
project_idsArray of integerProject IDs, optional. At least Projects IDs or Group IDs should be informed.
start_idinteger-

Response​

200​

Returns project groups

NameTypeDescription
itemsArray of object-
items​
NameTypeDescription
group_idinteger-
idinteger-
namestring-
project_idinteger-

400​

Possible error messages:

  • At least one parameter must be set
  • Maximum count of posted IDs is {value}

403​

Workspace not found/accessible

500​

Internal Server Error

POST List project users​

https://api.track.toggl.com/reports/api/v3/workspace/{workspace_id}/filters/project_users

Returns filtered user projects.

curl -X POST https://api.track.toggl.com/reports/api/v3/workspace/{workspace_id}/filters/project_users \
-H "Content-Type: application/json" \
-d '\{"client_ids":[\{\}],"project_ids":[\{\}],"start_id":"integer"\}' \
-u <email>:<password>

Parameters​

Path​

nametyperequireddescription
workspace_idintegertrueWorkspace ID

Body​

NameTypeDescription
client_idsArray of integerClient IDs, optional.
project_idsArray of integerProject IDs, optional.
start_idinteger-

Response​

200​

Returns project users

NameTypeDescription
itemsArray of object-
items​
NameTypeDescription
group_idintegerGroup ID.
hourly_ratenumberHourly rate.
idintegerProject user ID.
labour_costintegerLabor cost.
project_idintegerProject ID.
user_idintegerUser ID.

400​

Possible error messages:

  • At least one parameter must be set
  • Maximum count of posted IDs is {value}

403​

Workspace not found/accessible

500​

Internal Server Error

POST List projects​

https://api.track.toggl.com/reports/api/v3/workspace/{workspace_id}/filters/projects

Returns filtered projects from a workspace.

curl -X POST https://api.track.toggl.com/reports/api/v3/workspace/{workspace_id}/filters/projects \
-H "Content-Type: application/json" \
-d '\{"client_ids":[\{\}],"currency":"string","ids":[\{\}],"is_active":"boolean","is_billable":"boolean","is_private":"boolean","name":"string","page_size":"integer","start":"integer"\}' \
-u <email>:<password>

Parameters​

Path​

nametyperequireddescription
workspace_idintegertrueWorkspace ID

Body​

NameTypeDescription
client_idsArray of integerClient IDs, optional.
currencystringCurrency, optional, example "EUR".
idsArray of integerProject IDs, optional.
is_activebooleanWhether the wanted projects are archived, optional, default false.
is_billablebooleanWhether the wanted projects are billable, optional, premium feature, default false.
is_privatebooleanWhether the wanted projects are private, optional, default false.
namestringProject name, optional.
page_sizeintegerPageSize is the number of records returned per page. If unset, the default value of 201 will be used.
startintegerStart is used for pagination, optional, default 0. The api will return the next projects page with id >= Start.

Response​

200​

Returns filtered projects

NameTypeDescription
itemsArray of object-
items​
NameTypeDescription
activeboolean-
billableboolean-
client_idinteger-
colorstring-
currencystring-
idinteger-
namestring-

400​

Maximum count of posted IDs is {value}

403​

Workspace not found/accessible

500​

Internal Server Error

POST List projects statuses​

https://api.track.toggl.com/reports/api/v3/workspace/{workspace_id}/filters/projects/status

Returns filtered projects statuses from a workspace.

curl -X POST https://api.track.toggl.com/reports/api/v3/workspace/{workspace_id}/filters/projects/status \
-H "Content-Type: application/json" \
-d '\{"active":"boolean","ids":[\{\}]\}' \
-u <email>:<password>

Parameters​

Path​

nametyperequireddescription
workspace_idintegertrueWorkspace ID

Body​

NameTypeDescription
activebooleanWhether the wanted projects statuses are archived, optional, default false.
idsArray of integerProject IDs.

Response​

200​

Returns projects statuses

NameTypeDescription
itemsArray of object-
items​
NameTypeDescription
billable_amountinteger-
billable_secondsinteger-
currencystring-
estimated_secondsinteger-
idinteger-
tracked_secondsinteger-

403​

Workspace not found/accessible

500​

Internal Server Error

POST List tasks statuses​

https://api.track.toggl.com/reports/api/v3/workspace/{workspace_id}/filters/tasks/status

Filter tasks statuses from a workspace

curl -X POST https://api.track.toggl.com/reports/api/v3/workspace/{workspace_id}/filters/tasks/status \
-H "Content-Type: application/json" \
-d '\{"ids":[\{\}]\}' \
-u <email>:<password>

Parameters​

Path​

nametyperequireddescription
workspace_idintegertrueWorkspace ID

Body​

NameTypeDescription
idsArray of integerTime entries IDs.

Response​

200​

Returns filtered tasks

NameTypeDescription
itemsArray of object-
items​
NameTypeDescription
billable_amountinteger-
billable_secondsinteger-
currencystring-
estimated_secondsinteger-
idinteger-
tracked_secondsinteger-

400​

At least one parameter must be set

402​

Tasks are a premium feature

403​

Workspace not found/accessible

500​

Internal Server Error

POST List users​

https://api.track.toggl.com/reports/api/v3/workspace/{workspace_id}/filters/users

Returns filtered users from a workspace.

curl -X POST https://api.track.toggl.com/reports/api/v3/workspace/{workspace_id}/filters/users \
-H "Content-Type: application/json" \
-d '\{"active":"boolean","ids":[\{\}],"start":"integer"\}' \
-u <email>:<password>

Parameters​

Path​

nametyperequireddescription
workspace_idintegertrueWorkspace ID

Body​

NameTypeDescription
activebooleanWhether the wanted users are active, optional, default true.
idsArray of integerUser IDs, optional.
startintegerCursor to point from where to start the search, it should be a user ID, optional.

Response​

200​

Returns filtered users

NameTypeDescription
itemsArray of object-
items​
NameTypeDescription
deleted_atstring-
idinteger-
namestring-

400​

Maximum count of posted IDs is 100

403​

Workspace not found/accessible

500​

Internal Server Error

POST Search clients​

https://api.track.toggl.com/reports/api/v3/workspace/{workspace_id}/search/clients

Returns filtered clients from a workspace (whole client object).

curl -X POST https://api.track.toggl.com/reports/api/v3/workspace/{workspace_id}/search/clients \
-H "Content-Type: application/json" \
-d '\{"ids":[\{\}],"name":"string","start":"integer"\}' \
-u <email>:<password>

Parameters​

Path​

nametyperequireddescription
workspace_idintegertrueWorkspace ID

Body​

NameTypeDescription
idsArray of integerClient IDs for filtering.
namestringClient name for filtering.
startintegerStart is the client ID cursor for pagination.

Response​

200​

Returns searched clients

NameTypeDescription
itemsArray of object-
items​
NameTypeDescription
idintegerClient ID.
namestringClient name.

400​

Possible error messages:

  • At least one parameter must be set
  • Maximum count of posted IDs is 2000

403​

Workspace not found/accessible

500​

Internal Server Error

POST List projects​

https://api.track.toggl.com/reports/api/v3/workspace/{workspace_id}/search/projects

Returns filtered projects from a workspace (whole project object).

curl -X POST https://api.track.toggl.com/reports/api/v3/workspace/{workspace_id}/search/projects \
-H "Content-Type: application/json" \
-d '\{"client_ids":[\{\}],"currency":"string","ids":[\{\}],"is_active":"boolean","is_billable":"boolean","is_private":"boolean","name":"string","page_size":"integer","start":"integer"\}' \
-u <email>:<password>

Parameters​

Path​

nametyperequireddescription
workspace_idintegertrueWorkspace ID

Body​

NameTypeDescription
client_idsArray of integerClient IDs, optional.
currencystringCurrency, optional, example "EUR".
idsArray of integerProject IDs, optional.
is_activebooleanWhether the wanted projects are archived, optional, default false.
is_billablebooleanWhether the wanted projects are billable, optional, premium feature, default false.
is_privatebooleanWhether the wanted projects are private, optional, default false.
namestringProject name, optional.
page_sizeintegerPageSize is the number of records returned per page. If unset, the default value of 201 will be used.
startintegerStart is used for pagination, optional, default 0. The api will return the next projects page with id >= Start.

Response​

200​

Returns projects

NameTypeDescription
itemsArray of object-
items​
NameTypeDescription
activeboolean-
billableboolean-
client_idinteger-
colorstring-
currencystring-
idinteger-
namestring-

400​

Possible error messages:

  • At least one parameter must be set
  • Maximum count of posted IDs is {value}

403​

Workspace not found/accessible

500​

Internal Server Error

POST List users​

https://api.track.toggl.com/reports/api/v3/workspace/{workspace_id}/search/users

Returns filtered users from a workspace.

curl -X POST https://api.track.toggl.com/reports/api/v3/workspace/{workspace_id}/search/users \
-H "Content-Type: application/json" \
-d '\{"active":"boolean","ids":[\{\}],"start":"integer"\}' \
-u <email>:<password>

Parameters​

Path​

nametyperequireddescription
workspace_idintegertrueWorkspace ID

Body​

NameTypeDescription
activebooleanWhether the wanted users are active, optional, default true.
idsArray of integerUser IDs, optional.
startintegerCursor to point from where to start the search, it should be a user ID, optional.

Response​

200​

Returns users

NameTypeDescription
itemsArray of object-
items​
NameTypeDescription
activebooleanWhether the user is active or not.
avatarstringAvatar file name
deactivatedbooleanWhether the user is deactivated or not.
deleted_atstringDeleted at date.
emailstringEmail
fullnamestringFull name
idintegerUser ID
workspace_user_idintegerWorkspace User ID

400​

Possible error messages:

  • At least one parameter must be set
  • Maximum count of posted IDs is 100

403​

Workspace not found/accessible

500​

Internal Server Error

POST List tasks​

https://api.track.toggl.com/reports/api/v3/workspace/{workspace_id}/{action}/tasks

Returns filtered tasks from workspace.

curl -X POST https://api.track.toggl.com/reports/api/v3/workspace/{workspace_id}/{action}/tasks \
-H "Content-Type: application/json" \
-d '\{"active":"boolean","ids":[\{\}],"name":"string","page_size":"integer","project_active":"boolean","project_ids":[\{\}],"start":"integer","user_ids":[\{\}]\}' \
-u <email>:<password>

Parameters​

Path​

nametyperequireddescription
workspace_idintegertrueWorkspace ID
actionstringtruesearch,filters

Body​

NameTypeDescription
activeboolean-
idsArray of integer-
namestring-
page_sizeinteger-
project_activeboolean-
project_idsArray of integer-
startinteger-
user_idsArray of integer-

Response​

200​

Returns tasks

NameTypeDescription
itemsArray of object-
items​
NameTypeDescription
activebooleanFalse when the task has been done
atstringWhen the task was created/last modified
avatar_urlstringnull
client_idintegernull
client_namestringnull
estimated_secondsintegernull
external_referencestringExternalReference can be used to store an external reference to the Track Task Entity.
idintegerTask ID
integration_ext_idstringThe external ID of the linked entity in the external system (e.g. JIRA/SalesForce)
integration_ext_typestringThe external type of the linked entity in the external system (e.g. JIRA/SalesForce)
integration_providerobjectThe provider (e.g. JIRA/SalesForce) that has an entity linked to this Toggl Track entity
namestringTask Name
permissionsArray of string-
project_billableboolean-
project_colorstringMetadata
project_idintegerProject ID
project_is_privatebooleannull
project_namestring-
ratenumberRate for this task
rate_last_updatedstringnull
recurringbooleanWhether this is a recurring task
toggl_accounts_idstringnull
tracked_secondsintegerThe value tracked_seconds is in milliseconds, not in seconds.
user_idintegernull
user_namestringnull
workspace_idintegerWorkspace ID

400​

Possible error messages:

  • At least one parameter must be set
  • Maximum count of posted IDs is 2000

403​

Workspace not found/accessible

500​

Internal Server Error

© 2026 Toggl. All rights reserved.