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

NameTypeDescription
itemsArray of object-
items
NameTypeDescription
billable_secondsinteger-
project_idinteger-
tracked_secondsinteger-
user_idinteger-

400

Possible error messages:

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

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 object-
labour_cost_in_centsinteger-
ratesArray of object-
resolutionstring-
secondsinteger-
tracked_daysinteger-
graph
NameTypeDescription
billable_amount_in_centsinteger-
by_rateobject-
labour_cost_in_centsinteger-
secondsinteger-
by_rate
rates
NameTypeDescription
billable_secondsinteger-
currencystring-
hourly_rate_in_centsinteger-

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":[\{\}],"description":"string","distinguish_rates":"boolean","end_date":"string","group_ids":[\{\}],"grouping":"string","include_time_entry_ids":"boolean","max_duration_seconds":"integer","min_duration_seconds":"integer","project_ids":[\{\}],"rounding":"integer","rounding_minutes":"integer","startTime":"string","start_date":"string","sub_grouping":"string","tag_ids":[\{\}],"task_ids":[\{\}],"time_entry_ids":[\{\}],"user_ids":[\{\}]\}' \
-u <email>:<password>

Parameters

Path

nametyperequireddescription
workspace_idintegertrueWorkspace ID

Body

NameTypeDescription
auditobject-
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.
project_idsArray of integerProject IDs, optional, filtering attribute. To filter records with no projects, use [null].
roundingintegerWhether time should be rounded, optional, default from user preferences.
rounding_minutesintegerRounding minutes value, optional, default from user preferences. 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.
audit
NameTypeDescription
group_filterobject-
show_empty_groupsbooleanWhether empty groups should be displayed, default false, premium feature.
show_tracked_groupsbooleanWhether tacked groups should be displayed, default true, premium feature.
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.

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":[\{\}],"collapse":"boolean","date_format":"string","description":"string","distinguish_rates":"boolean","duration_format":"string","end_date":"string","group_ids":[\{\}],"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","project_ids":[\{\}],"resolution":"string","rounding":"integer","rounding_minutes":"integer","startTime":"string","start_date":"string","sub_grouping":"string","tag_ids":[\{\}],"task_ids":[\{\}],"time_entry_ids":[\{\}],"user_ids":[\{\}]\}' \
-u <email>:<password>

Parameters

Path

nametyperequireddescription
workspace_idintegertrueWorkspace ID

Body

NameTypeDescription
auditobject-
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.
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 user preferences.
rounding_minutesintegerRounding minutes value, optional, default from user preferences. 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.
audit
NameTypeDescription
group_filterobject-
show_empty_groupsbooleanWhether empty groups should be displayed, default false, premium feature.
show_tracked_groupsbooleanWhether tacked groups should be displayed, default true, premium feature.
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.

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":[\{\}],"collapse":"boolean","description":"string","distinguish_rates":"boolean","duration_format":"string","end_date":"string","group_ids":[\{\}],"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","project_ids":[\{\}],"rounding":"integer","rounding_minutes":"integer","startTime":"string","start_date":"string","sub_grouping":"string","tag_ids":[\{\}],"task_ids":[\{\}],"time_entry_ids":[\{\}],"user_ids":[\{\}]\}' \
-u <email>:<password>

Parameters

Path

nametyperequireddescription
workspace_idintegertrueWorkspace ID
extensionstringtruecsv,xlsx

Body

NameTypeDescription
auditobject-
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.
project_idsArray of integerProject IDs, optional, filtering attribute. To filter records with no projects, use [null].
roundingintegerWhether time should be rounded, optional, default from user preferences.
rounding_minutesintegerRounding minutes value, optional, default from user preferences. 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.
audit
NameTypeDescription
group_filterobject-
show_empty_groupsbooleanWhether empty groups should be displayed, default false, premium feature.
show_tracked_groupsbooleanWhether tacked groups should be displayed, default true, premium feature.
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.

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.