Skip to main content

Detailed reports

POST Search time entries

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

Returns time entries for detailed report according to the given filters. Supports pagination via X-Next-ID and X-Next-Row-Number headers returned in the response. See Overview

curl -X POST https://api.track.toggl.com/reports/api/v3/workspace/{workspace_id}/search/time_entries \
-H "Content-Type: application/json" \
-d '\{"billable":"boolean","client_ids":[\{\}],"description":"string","end_date":"string","enrich_response":"boolean","first_id":"integer","first_row_number":"integer","first_timestamp":"integer","group_ids":[\{\}],"grouped":"boolean","hide_amounts":"boolean","max_duration_seconds":"integer","min_duration_seconds":"integer","order_by":"string","order_dir":"string","page_size":"integer","project_ids":[\{\}],"rounding":"integer","rounding_minutes":"integer","startTime":"string","start_date":"string","tag_ids":[\{\}],"task_ids":[\{\}],"time_entry_ids":[\{\}],"user_ids":[\{\}]\}' \
-u <email>:<password>

Parameters

Path

nametyperequireddescription
workspace_idintegertrueWorkspace ID

Body

NameTypeDescription
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.
end_datestringEnd date, example time.DateOnly. Should be greater than Start date.
enrich_responsebooleanEnrichResponse, optional, default false. It will force the detailed report to return as much information as possible, as it does for the export.
first_idinteger-
first_row_numberinteger-
first_timestampinteger-
group_idsArray of integerGroup IDs, optional, filtering attribute.
groupedbooleanWhether time entries should be grouped, optional, default false.
hide_amountsbooleanWhether amounts should be hidden, optional, default false.
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 field, optional, default "date". Can be "date", "user", "duration", "description" or "last_update".
order_dirstringOrder direction, optional. Can be ASC or DESC.
page_sizeintegerPageSize defines the number of items per page, optional, default 50.
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.
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 grouped time entries for detailed report

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 detailed report

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

Downloads detailed report in pdf format.

curl -X POST https://api.track.toggl.com/reports/api/v3/workspace/{workspace_id}/search/time_entries.pdf \
-H "Content-Type: application/json" \
-d '\{"billable":"boolean","cents_separator":"string","client_ids":[\{\}],"date_format":"string","description":"string","display_mode":"string","duration_format":"string","end_date":"string","enrich_response":"boolean","first_id":"integer","first_row_number":"integer","first_timestamp":"integer","group_ids":[\{\}],"grouped":"boolean","hide_amounts":"boolean","hour_format":"string","max_duration_seconds":"integer","min_duration_seconds":"integer","order_by":"string","order_dir":"string","page_size":"integer","project_ids":[\{\}],"rounding":"integer","rounding_minutes":"integer","startTime":"string","start_date":"string","tag_ids":[\{\}],"task_ids":[\{\}],"time_entry_ids":[\{\}],"user_ids":[\{\}]\}' \
-u <email>:<password>

Parameters

Path

nametyperequireddescription
workspace_idintegertrueWorkspace ID

Body

NameTypeDescription
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].
date_formatstring-
descriptionstringDescription, optional, filtering attribute.
display_modestring-
duration_formatstringDuration format, optional, default "classic". Can be "classic", "decimal" or "improved".
end_datestringEnd date, example time.DateOnly. Should be greater than Start date.
enrich_responsebooleanEnrichResponse, optional, default false. It will force the detailed report to return as much information as possible, as it does for the export.
first_idinteger-
first_row_numberinteger-
first_timestampinteger-
group_idsArray of integerGroup IDs, optional, filtering attribute.
groupedbooleanWhether time entries should be grouped, optional, default false.
hide_amountsbooleanWhether amounts should be hidden, optional, default false.
hour_formatstring-
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 field, optional, default "date". Can be "date", "user", "duration", "description" or "last_update".
order_dirstringOrder direction, optional. Can be ASC or DESC.
page_sizeintegerPageSize defines the number of items per page, optional, default 50.
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.
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 detailed 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 detailed report

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

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

curl -X POST https://api.track.toggl.com/reports/api/v3/workspace/{workspace_id}/search/time_entries.{extension} \
-H "Content-Type: application/json" \
-d '\{"billable":"boolean","client_ids":[\{\}],"description":"string","duration_format":"string","end_date":"string","enrich_response":"boolean","first_id":"integer","first_row_number":"integer","first_timestamp":"integer","group_ids":[\{\}],"grouped":"boolean","hide_amounts":"boolean","max_duration_seconds":"integer","min_duration_seconds":"integer","order_by":"string","order_dir":"string","page_size":"integer","project_ids":[\{\}],"rounding":"integer","rounding_minutes":"integer","startTime":"string","start_date":"string","tag_ids":[\{\}],"task_ids":[\{\}],"time_entry_ids":[\{\}],"user_ids":[\{\}]\}' \
-u <email>:<password>

Parameters

Path

nametyperequireddescription
workspace_idintegertrueWorkspace ID
extensionstringtruecsv,xlsx

Body

NameTypeDescription
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.
duration_formatstringDuration format, optional, default "classic". Can be "classic", "decimal" or "improved".
end_datestringEnd date, example time.DateOnly. Should be greater than Start date.
enrich_responsebooleanEnrichResponse, optional, default false. It will force the detailed report to return as much information as possible, as it does for the export.
first_idinteger-
first_row_numberinteger-
first_timestampinteger-
group_idsArray of integerGroup IDs, optional, filtering attribute.
groupedbooleanWhether time entries should be grouped, optional, default false.
hide_amountsbooleanWhether amounts should be hidden, optional, default false.
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 field, optional, default "date". Can be "date", "user", "duration", "description" or "last_update".
order_dirstringOrder direction, optional. Can be ASC or DESC.
page_sizeintegerPageSize defines the number of items per page, optional, default 50.
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.
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 detailed report in 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

POST Load totals detailed report

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

Returns totals sums for detailed report.

curl -X POST https://api.track.toggl.com/reports/api/v3/workspace/{workspace_id}/search/time_entries/totals \
-H "Content-Type: application/json" \
-d '\{"billable":"boolean","client_ids":[\{\}],"description":"string","end_date":"string","granularity":"string","group_ids":[\{\}],"grouped":"boolean","max_duration_seconds":"integer","min_duration_seconds":"integer","project_ids":[\{\}],"resolution":"string","rounding":"integer","rounding_minutes":"integer","startTime":"string","start_date":"string","tag_ids":[\{\}],"task_ids":[\{\}],"time_entry_ids":[\{\}],"user_ids":[\{\}],"withInlineRates":"boolean","with_graph":"boolean"\}' \
-u <email>:<password>

Parameters

Path

nametyperequireddescription
workspace_idintegertrueWorkspace ID

Body

NameTypeDescription
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.
end_datestringEnd date, example time.DateOnly. Should be greater than Start date.
granularitystringTotals granularity, optional, overrides resolution values. Possible values: day, week and month.
group_idsArray of integerGroup IDs, optional, filtering attribute.
groupedbooleanWhether time entries should be grouped, optional, default false.
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].
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.
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 integerTime entry IDs, optional.
user_idsArray of integerUser IDs, optional, filtering attribute.
withInlineRatesbooleanWhether results should be returned in line, optional, default false.
with_graphbooleanWhether Graph information should be loaded, optional, default false.

Response

200

Returns totals values sums for detailed report

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.