Skip to main content

Summary reports

POST List project users​

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

Returns summary user projects.

curl -X POST https://api.track.toggl.com/reports/api/v3/workspace/{workspace_id}/projects/summary \
-H "Content-Type: application/json" \
-d '{"end_date":"string","startTime":"string","start_date":"string"}' \
-u <email>:<password>

Parameters​

Path​

nametyperequireddescription
workspace_idintegertrueWorkspace ID

Body​

nametypedescription
end_datestringEnd date, example time.DateOnly. Should be greater than Start date.
startTimestring-
start_datestringStart date, example time.DateOnly. Should be less than End date.

Response​

200​

Returns summary user projects

Array of:

nametypedescription
billable_secondsinteger-
project_idinteger-
tracked_secondsinteger-
user_idinteger-

400​

Possible error messages:

* At least one parameter must be set
* Invalid workspace id

403​

Workspace not found/accessible

500​

Internal Server Error

POST Load project summary​

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

Returns project's summary.

curl -X POST https://api.track.toggl.com/reports/api/v3/workspace/{workspace_id}/projects/{project_id}/summary \
-H "Content-Type: application/json" \
-d '{"end_date":"string","startTime":"string","start_date":"string"}' \
-u <email>:<password>

Parameters​

Path​

nametyperequireddescription
workspace_idintegertrueWorkspace ID
project_idintegertrueProject ID

Body​

nametypedescription
end_datestringEnd date, example time.DateOnly. Should be greater than Start date.
startTimestring-
start_datestringStart date, example time.DateOnly. Should be less than End date.

Response​

200​

Returns project summary
nametypedescription
billable_amount_in_centsinteger-
graphArray of
nametypedescription
billable_amount_in_centsinteger-
by_rate
nametypedescription
additionalPropertiesobject-
-
labour_cost_in_centsinteger-
secondsinteger-
-
labour_cost_in_centsinteger-
ratesArray of
nametypedescription
billable_secondsinteger-
currencystring-
hourly_rate_in_centsinteger-
-
resolutionstring-
secondsinteger-
tracked_daysinteger-

400​

Possible error messages:

* Invalid workspace id
* Invalid project id
* The {parameter} parameter is required
* Invalid {parameter} format
* {date_range} should be within 2006-01-01 to 2030-01-01

402​

Workspace needs to have the {feature} feature enabled

403​

Possible error messages:

* Workspace not found/accessible
* project not found or not accessible

500​

Internal Server Error

POST Search time entries​

https://api.track.toggl.com/reports/api/v3/workspace/{workspace_id}/summary/time_entries

Returns time entries for summary report according to the given filters.

curl -X POST https://api.track.toggl.com/reports/api/v3/workspace/{workspace_id}/summary/time_entries \
-H "Content-Type: application/json" \
-d '{"audit":{"group_filter":{"currency":"string","max_amount_cents":"integer","max_duration_seconds":"integer","min_amount_cents":"integer","min_duration_seconds":"integer"},"show_empty_groups":"boolean","show_tracked_groups":"boolean"},"billable":"boolean","client_ids":["integer"],"description":"string","distinguish_rates":"boolean","end_date":"string","group_ids":["integer"],"grouping":"string","include_time_entry_ids":"boolean","max_duration_seconds":"integer","min_duration_seconds":"integer","postedFields":["string"],"project_ids":["integer"],"rounding":"integer","rounding_minutes":"integer","startTime":"string","start_date":"string","sub_grouping":"string","tag_ids":["integer"],"task_ids":["integer"],"time_entry_ids":["integer"],"user_ids":["integer"]}' \
-u <email>:<password>

Parameters​

Path​

nametyperequireddescription
workspace_idintegertrueWorkspace ID

Body​

nametypedescription
audit
nametypedescription
group_filter
nametypedescription
currencystringAudit currency, optional, example "USD", premium feature.
max_amount_centsintegerAudit max amount in cents, optional, premium feature.
max_duration_secondsintegerAudit max duration in seconds, optional, premium feature.
min_amount_centsintegerAudit min amount in cents, optional, premium feature.
min_duration_secondsintegerAudit min duration in seconds, optional, premium feature.
-
show_empty_groupsbooleanWhether empty groups should be displayed, default false, premium feature.
show_tracked_groupsbooleanWhether tacked groups should be displayed, default true, premium feature.
-
billablebooleanWhether the time entry is set as billable, optional, premium feature.
client_idsArray of integerClient IDs, optional, filtering attribute. To filter records with no clients, use [null].
descriptionstringDescription, optional, filtering attribute.
distinguish_ratesbooleanDistinguishRates will create new subgroups for each rate, optional, default false.
end_datestringEnd date, example time.DateOnly. Should be greater than Start date.
group_idsArray of integerGroup IDs, optional, filtering attribute.
groupingstringGrouping option, optional.
include_time_entry_idsbooleanWhether time entry IDs should be included in the results, optional, default false. Not applicable for export.
max_duration_secondsintegerMax duration seconds, optional, filtering attribute. Time Audit only, should be greater than MinDurationSeconds.
min_duration_secondsintegerMin duration seconds, optional, filtering attribute. Time Audit only, should be less than MaxDurationSeconds.
postedFieldsArray of string-
project_idsArray of integerProject IDs, optional, filtering attribute. To filter records with no projects, use [null].
roundingintegerWhether time should be rounded, optional, default from workspace settings.
rounding_minutesintegerRounding minutes value, optional, default from workspace settings. Should be 0, 1, 5, 6, 10, 12, 15, 30, 60 or 240.
startTimestring-
start_datestringStart date, example time.DateOnly. Should be less than End date.
sub_groupingstringSubGrouping option, optional.
tag_idsArray of integerTag IDs, optional, filtering attribute. To filter records with no tags, use [null].
task_idsArray of integerTask IDs, optional, filtering attribute. To filter records with no tasks, use [null].
time_entry_idsArray of integerTimeEntryIDs filters by time entries. This was added to support retro-compatibility with reports v2.
user_idsArray of integerUser IDs, optional, filtering attribute.

Response​

200​

Returns the summary time entries

400​

Possible error messages:

* At least one parameter must be set
* Invalid workspace id
* Invalid '{parameter}' value, allowed values are: '{valid_values}'

402​

Workspace needs to have this feature enabled

403​

Workspace not found/accessible

500​

Internal Server Error

POST Export summary report​

https://api.track.toggl.com/reports/api/v3/workspace/{workspace_id}/summary/time_entries.pdf

Downloads summary report in pdf format.

curl -X POST https://api.track.toggl.com/reports/api/v3/workspace/{workspace_id}/summary/time_entries.pdf \
-H "Content-Type: application/json" \
-d '{"audit":{"group_filter":{"currency":"string","max_amount_cents":"integer","max_duration_seconds":"integer","min_amount_cents":"integer","min_duration_seconds":"integer"},"show_empty_groups":"boolean","show_tracked_groups":"boolean"},"billable":"boolean","cents_separator":"string","client_ids":["integer"],"collapse":"boolean","date_format":"string","description":"string","distinguish_rates":"boolean","duration_format":"string","end_date":"string","group_ids":["integer"],"grouping":"string","hide_amounts":"boolean","hide_rates":"boolean","include_time_entry_ids":"boolean","max_duration_seconds":"integer","min_duration_seconds":"integer","order_by":"string","order_dir":"string","postedFields":["string"],"project_ids":["integer"],"resolution":"string","rounding":"integer","rounding_minutes":"integer","startTime":"string","start_date":"string","sub_grouping":"string","tag_ids":["integer"],"task_ids":["integer"],"time_entry_ids":["integer"],"user_ids":["integer"]}' \
-u <email>:<password>

Parameters​

Path​

nametyperequireddescription
workspace_idintegertrueWorkspace ID

Body​

nametypedescription
audit
nametypedescription
group_filter
nametypedescription
currencystringAudit currency, optional, example "USD", premium feature.
max_amount_centsintegerAudit max amount in cents, optional, premium feature.
max_duration_secondsintegerAudit max duration in seconds, optional, premium feature.
min_amount_centsintegerAudit min amount in cents, optional, premium feature.
min_duration_secondsintegerAudit min duration in seconds, optional, premium feature.
-
show_empty_groupsbooleanWhether empty groups should be displayed, default false, premium feature.
show_tracked_groupsbooleanWhether tacked groups should be displayed, default true, premium feature.
-
billablebooleanWhether the time entry is set as billable, optional, premium feature.
cents_separatorstring-
client_idsArray of integerClient IDs, optional, filtering attribute. To filter records with no clients, use [null].
collapsebooleanWhether collapse others, optional, default false.
date_formatstringDate format, optional, default "MM/DD/YYYY". Can be "MM/DD/YYYY", "DD-MM-YYYY", "MM-DD-YYYY", "YYYY-MM-DD", "DD/MM/YYYY" or "DD.MM.YYYY".
descriptionstringDescription, optional, filtering attribute.
distinguish_ratesbooleanDistinguishRates will create new subgroups for each rate, optional, default false.
duration_formatstringDuration format, optional, default "classic". Can be "classic", "decimal" or "improved".
end_datestringEnd date, example time.DateOnly. Should be greater than Start date.
group_idsArray of integerGroup IDs, optional, filtering attribute.
groupingstringGrouping option, optional.
hide_amountsbooleanWhether amounts should be hidden, optional, default false.
hide_ratesbooleanWhether rates should be hidden, optional, default false.
include_time_entry_idsbooleanWhether time entry IDs should be included in the results, optional, default false. Not applicable for export.
max_duration_secondsintegerMax duration seconds, optional, filtering attribute. Time Audit only, should be greater than MinDurationSeconds.
min_duration_secondsintegerMin duration seconds, optional, filtering attribute. Time Audit only, should be less than MaxDurationSeconds.
order_bystringOrder by option, optional, default title. Can be title or duration.
order_dirstringOrder direction, optional. Can be ASC or DESC.
postedFieldsArray of string-
project_idsArray of integerProject IDs, optional, filtering attribute. To filter records with no projects, use [null].
resolutionstringGraph resolution, optional. Allow clients to explicitly request a resolution.
roundingintegerWhether time should be rounded, optional, default from workspace settings.
rounding_minutesintegerRounding minutes value, optional, default from workspace settings. Should be 0, 1, 5, 6, 10, 12, 15, 30, 60 or 240.
startTimestring-
start_datestringStart date, example time.DateOnly. Should be less than End date.
sub_groupingstringSubGrouping option, optional.
tag_idsArray of integerTag IDs, optional, filtering attribute. To filter records with no tags, use [null].
task_idsArray of integerTask IDs, optional, filtering attribute. To filter records with no tasks, use [null].
time_entry_idsArray of integerTimeEntryIDs filters by time entries. This was added to support retro-compatibility with reports v2.
user_idsArray of integerUser IDs, optional, filtering attribute.

Response​

200​

Returns the summary report in pdf format

400​

Possible error messages:

* At least one parameter must be set
* Invalid workspace id
* Invalid '{parameter}' value, allowed values are: '{valid_values}'

402​

Workspace needs to have this feature enabled

403​

Workspace not found/accessible

500​

Internal Server Error

POST Export summary report​

https://api.track.toggl.com/reports/api/v3/workspace/{workspace_id}/summary/time_entries.{extension}

Downloads summary report in the specified in the specified format: csv or xlsx.

curl -X POST https://api.track.toggl.com/reports/api/v3/workspace/{workspace_id}/summary/time_entries.{extension} \
-H "Content-Type: application/json" \
-d '{"audit":{"group_filter":{"currency":"string","max_amount_cents":"integer","max_duration_seconds":"integer","min_amount_cents":"integer","min_duration_seconds":"integer"},"show_empty_groups":"boolean","show_tracked_groups":"boolean"},"billable":"boolean","client_ids":["integer"],"collapse":"boolean","description":"string","distinguish_rates":"boolean","duration_format":"string","end_date":"string","group_ids":["integer"],"grouping":"string","hide_amounts":"boolean","hide_rates":"boolean","include_time_entry_ids":"boolean","max_duration_seconds":"integer","min_duration_seconds":"integer","order_by":"string","order_dir":"string","postedFields":["string"],"project_ids":["integer"],"rounding":"integer","rounding_minutes":"integer","startTime":"string","start_date":"string","sub_grouping":"string","tag_ids":["integer"],"task_ids":["integer"],"time_entry_ids":["integer"],"user_ids":["integer"]}' \
-u <email>:<password>

Parameters​

Path​

nametyperequireddescription
workspace_idintegertrueWorkspace ID
extensionstringtruecsv,xlsx

Body​

nametypedescription
audit
nametypedescription
group_filter
nametypedescription
currencystringAudit currency, optional, example "USD", premium feature.
max_amount_centsintegerAudit max amount in cents, optional, premium feature.
max_duration_secondsintegerAudit max duration in seconds, optional, premium feature.
min_amount_centsintegerAudit min amount in cents, optional, premium feature.
min_duration_secondsintegerAudit min duration in seconds, optional, premium feature.
-
show_empty_groupsbooleanWhether empty groups should be displayed, default false, premium feature.
show_tracked_groupsbooleanWhether tacked groups should be displayed, default true, premium feature.
-
billablebooleanWhether the time entry is set as billable, optional, premium feature.
client_idsArray of integerClient IDs, optional, filtering attribute. To filter records with no clients, use [null].
collapsebooleanWhether collapse others, optional, default false.
descriptionstringDescription, optional, filtering attribute.
distinguish_ratesbooleanDistinguishRates will create new subgroups for each rate, optional, default false.
duration_formatstringDuration format, optional, default "classic". Can be "classic", "decimal" or "improved".
end_datestringEnd date, example time.DateOnly. Should be greater than Start date.
group_idsArray of integerGroup IDs, optional, filtering attribute.
groupingstringGrouping option, optional.
hide_amountsbooleanWhether amounts should be hidden, optional, default false.
hide_ratesbooleanWhether rates should be hidden, optional, default false.
include_time_entry_idsbooleanWhether time entry IDs should be included in the results, optional, default false. Not applicable for export.
max_duration_secondsintegerMax duration seconds, optional, filtering attribute. Time Audit only, should be greater than MinDurationSeconds.
min_duration_secondsintegerMin duration seconds, optional, filtering attribute. Time Audit only, should be less than MaxDurationSeconds.
order_bystringOrder by option, optional, default title. Can be title or duration.
order_dirstringOrder direction, optional. Can be ASC or DESC.
postedFieldsArray of string-
project_idsArray of integerProject IDs, optional, filtering attribute. To filter records with no projects, use [null].
roundingintegerWhether time should be rounded, optional, default from workspace settings.
rounding_minutesintegerRounding minutes value, optional, default from workspace settings. Should be 0, 1, 5, 6, 10, 12, 15, 30, 60 or 240.
startTimestring-
start_datestringStart date, example time.DateOnly. Should be less than End date.
sub_groupingstringSubGrouping option, optional.
tag_idsArray of integerTag IDs, optional, filtering attribute. To filter records with no tags, use [null].
task_idsArray of integerTask IDs, optional, filtering attribute. To filter records with no tasks, use [null].
time_entry_idsArray of integerTimeEntryIDs filters by time entries. This was added to support retro-compatibility with reports v2.
user_idsArray of integerUser IDs, optional, filtering attribute.

Response​

200​

Returns the summary report on the specified format: csv or xlsx

400​

Possible error messages:

* At least one parameter must be set
* Invalid workspace id
* Invalid '{parameter}' value, allowed values are: '{valid_values}'

402​

Workspace needs to have this feature enabled

403​

Workspace not found/accessible

500​

Internal Server Error
© 2024 Toggl. All rights reserved.