Skip to main content

Reports

POST Generate flexible query report

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

Executes a flexible query against the analytics database and returns formatted results.

curl -X POST https://focus.toggl.com/api/reports/workspaces/{workspace_id}/query \
-H "Content-Type: application/json" \
-d '\{"aggregation_filters":[\{"aggregation":\{"function":"string","property":"string"\},"conditions":[\{"aggregation":\{"function":"string","property":"string"\},"conditions":[\{"aggregation":\{"function":"string","property":"string"\},"conditions":[\{"aggregation":\{\},"conditions":[\{\}],"operator":"string","property":"string","value":\{\}\}],"operator":"string","property":"string","value":\{\}\}],"operator":"string","property":"string","value":\{\}\}],"operator":"string","property":"string","value":\{\}\}],"aggregations":[\{"function":"string","property":"string"\}],"attributes":[\{"property":"string"\}],"filters":[\{"conditions":[\{"conditions":[\{"conditions":[\{"conditions":[\{\}],"operator":"string","property":"string","value":\{\}\}],"operator":"string","property":"string","value":\{\}\}],"operator":"string","property":"string","value":\{\}\}],"operator":"string","property":"string","value":\{\}\}],"groupings":[\{"property":"string","show_empty":"boolean"\}],"limit":"integer","modifiers":\{\},"ordinations":[\{"direction":"string","nulls":"string","property":"string"\}],"pagination":\{"page":"integer","per_page":"integer"\},"period":\{"from":"string","preset":"string","to":"string"\},"transformations":[\{"name":"string","parameters":[\{\}]\}]\}' \
-u <email>:<password>

Parameters

Path

nametyperequireddescription
workspace_idintegertrueworkspace ID

Query

nametyperequireddescription
include_dictsbooleanfalseinclude dictionary data in response

Body

NameTypeDescription
aggregation_filtersArray of object-
aggregationsArray of object-
attributesArray of object-
filtersArray of object-
groupingsArray of object-
limitinteger-
modifiersobject-
ordinationsArray of object-
paginationobject-
periodobject-
transformationsArray of object-
aggregation_filters
NameTypeDescription
aggregationobject-
conditionsArray of object-
operatorstring-
propertystring-
valueobject-
aggregation
NameTypeDescription
functionstring-
propertystring-
conditions
NameTypeDescription
aggregationobject-
conditionsArray of object-
operatorstring-
propertystring-
valueobject-
aggregation
NameTypeDescription
functionstring-
propertystring-
conditions
NameTypeDescription
aggregationobject-
conditionsArray of object-
operatorstring-
propertystring-
valueobject-
aggregation
NameTypeDescription
functionstring-
propertystring-
conditions
NameTypeDescription
aggregationobject-
conditionsArray of object-
operatorstring-
propertystring-
valueobject-
aggregations
NameTypeDescription
functionstring-
propertystring-
attributes
NameTypeDescription
propertystring-
filters
NameTypeDescription
conditionsArray of object-
operatorstring-
propertystring-
valueobject-
conditions
NameTypeDescription
conditionsArray of object-
operatorstring-
propertystring-
valueobject-
conditions
NameTypeDescription
conditionsArray of object-
operatorstring-
propertystring-
valueobject-
conditions
NameTypeDescription
conditionsArray of object-
operatorstring-
propertystring-
valueobject-
groupings
NameTypeDescription
propertystring-
show_emptyboolean-
modifiers
ordinations
NameTypeDescription
directionstring-
nullsstring-
propertystring-
pagination
NameTypeDescription
pageinteger-
per_pageinteger-
period
NameTypeDescription
fromstring-
presetstring-
tostring-
transformations
NameTypeDescription
namestring-
parametersArray of Object-

Response

200

Successfully generated report

NameTypeDescription
data_hierarchicalobject-
data_json_rowArray of object-
data_tableobject-
dictionariesobject-
total_countinteger-
data_hierarchical
data_json_row
dictionaries
NameTypeDescription
clientsobject-
groupsobject-
projectsobject-
statusobject-
tagsobject-
tasksobject-
usersobject-
clients
groups
projects
status
tags
tasks
users

400

Invalid request parameters

500

Internal server error

POST Generate dictionary from filters

https://focus.toggl.com/api/reports/workspaces/{workspace_id}/query/dictionary

Generates a dictionary containing task, project, client, and status information based on the provided filters.

curl -X POST https://focus.toggl.com/api/reports/workspaces/{workspace_id}/query/dictionary \
-H "Content-Type: application/json" \
-d '[\{"conditions":[\{"conditions":[\{"conditions":[\{"conditions":[\{"conditions":[\{\}],"operator":"string","property":"string","value":\{\}\}],"operator":"string","property":"string","value":\{\}\}],"operator":"string","property":"string","value":\{\}\}],"operator":"string","property":"string","value":\{\}\}],"operator":"string","property":"string","value":\{\}\}]' \
-u <email>:<password>

Parameters

Path

nametyperequireddescription
workspace_idintegertrueworkspace ID

Body

NameTypeDescription
itemsArray of object-
items
NameTypeDescription
conditionsArray of object-
operatorstring-
propertystring-
valueobject-
conditions
NameTypeDescription
conditionsArray of object-
operatorstring-
propertystring-
valueobject-
conditions
NameTypeDescription
conditionsArray of object-
operatorstring-
propertystring-
valueobject-
conditions
NameTypeDescription
conditionsArray of object-
operatorstring-
propertystring-
valueobject-
conditions
NameTypeDescription
conditionsArray of object-
operatorstring-
propertystring-
valueobject-

Response

200

Successfully generated dictionary

NameTypeDescription
clientsobject-
groupsobject-
projectsobject-
statusobject-
tagsobject-
tasksobject-
usersobject-
clients
groups
projects
status
tags
tasks
users

400

Invalid request parameters

500

Internal server error

POST Generate workload report

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

Generates a workload report based on the given input. Breakdown reports (grouped by user_account_id) support optional pagination via 'page' and 'per_page'. Paginated response includes 'total_count' with the total number of users matching the filters.

curl -X POST https://focus.toggl.com/api/reports/workspaces/{workspace_id}/workload \
-H "Content-Type: application/json" \
-d '\{"aggregation_filters":[\{"aggregation":\{"function":"string","property":"string"\},"conditions":[\{"aggregation":\{"function":"string","property":"string"\},"conditions":[\{"aggregation":\{"function":"string","property":"string"\},"conditions":[\{"aggregation":\{\},"conditions":[\{\}],"operator":"string","property":"string","value":\{\}\}],"operator":"string","property":"string","value":\{\}\}],"operator":"string","property":"string","value":\{\}\}],"operator":"string","property":"string","value":\{\}\}],"aggregations":[\{"function":"string","property":"string"\}],"attributes":[\{"property":"string"\}],"filters":[\{"conditions":[\{"conditions":[\{"conditions":[\{"conditions":[\{\}],"operator":"string","property":"string","value":\{\}\}],"operator":"string","property":"string","value":\{\}\}],"operator":"string","property":"string","value":\{\}\}],"operator":"string","property":"string","value":\{\}\}],"groupings":[\{"property":"string","show_empty":"boolean"\}],"limit":"integer","modifiers":\{\},"ordinations":[\{"direction":"string","nulls":"string","property":"string"\}],"pagination":\{"page":"integer","per_page":"integer"\},"period":\{"from":"string","preset":"string","to":"string"\},"transformations":[\{"name":"string","parameters":[\{\}]\}]\}' \
-u <email>:<password>

Parameters

Path

nametyperequireddescription
workspace_idintegertrueworkspace ID

Body

NameTypeDescription
aggregation_filtersArray of object-
aggregationsArray of object-
attributesArray of object-
filtersArray of object-
groupingsArray of object-
limitinteger-
modifiersobject-
ordinationsArray of object-
paginationobject-
periodobject-
transformationsArray of object-
aggregation_filters
NameTypeDescription
aggregationobject-
conditionsArray of object-
operatorstring-
propertystring-
valueobject-
aggregation
NameTypeDescription
functionstring-
propertystring-
conditions
NameTypeDescription
aggregationobject-
conditionsArray of object-
operatorstring-
propertystring-
valueobject-
aggregation
NameTypeDescription
functionstring-
propertystring-
conditions
NameTypeDescription
aggregationobject-
conditionsArray of object-
operatorstring-
propertystring-
valueobject-
aggregation
NameTypeDescription
functionstring-
propertystring-
conditions
NameTypeDescription
aggregationobject-
conditionsArray of object-
operatorstring-
propertystring-
valueobject-
aggregations
NameTypeDescription
functionstring-
propertystring-
attributes
NameTypeDescription
propertystring-
filters
NameTypeDescription
conditionsArray of object-
operatorstring-
propertystring-
valueobject-
conditions
NameTypeDescription
conditionsArray of object-
operatorstring-
propertystring-
valueobject-
conditions
NameTypeDescription
conditionsArray of object-
operatorstring-
propertystring-
valueobject-
conditions
NameTypeDescription
conditionsArray of object-
operatorstring-
propertystring-
valueobject-
groupings
NameTypeDescription
propertystring-
show_emptyboolean-
modifiers
ordinations
NameTypeDescription
directionstring-
nullsstring-
propertystring-
pagination
NameTypeDescription
pageinteger-
per_pageinteger-
period
NameTypeDescription
fromstring-
presetstring-
tostring-
transformations
NameTypeDescription
namestring-
parametersArray of Object-

Response

200

Successfully generated workload report

NameTypeDescription
data_hierarchicalobject-
data_json_rowArray of object-
data_tableobject-
dictionariesobject-
total_countinteger-
data_hierarchical
data_json_row
dictionaries
NameTypeDescription
clientsobject-
groupsobject-
projectsobject-
statusobject-
tagsobject-
tasksobject-
usersobject-
clients
groups
projects
status
tags
tasks
users

400

Invalid request parameters

500

Internal server error

© 2026 Toggl. All rights reserved.