"Weekly reports" Endpoints - POST Export weekly report (CSV)

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

Downloads weekly report in a CSV format.

  • cURL
  • Go
  • Ruby
  • JavaScript
  • Python
  • Rust
extern crate tokio;extern crate serde_json;use reqwest::{Client};use reqwest::header::{CONTENT_TYPE};#[tokio::main]async fn main() -> Result<(), reqwest::Error> {  let client = Client::new().basic_auth("<email>", "<password>");  let json = client.request(Method::POST, "https://api.track.toggl.com/reports/api/v3/workspace/{workspace_id}/weekly/time_entries.csv".to_string()).json(&serde_json::json!(\{"billable":"boolean","calculate":"string","client_ids":[\{\}],"description":"string","end_date":"string","group_by_task":"boolean","group_ids":[\{\}],"grouping":"string","max_duration_seconds":"integer","min_duration_seconds":"integer","project_ids":[\{\}],"rounding":"integer","rounding_minutes":"integer","startTime":"string","start_date":"string","tag_ids":[\{\}],"task_ids":[\{\}],"time_entry_ids":[\{\}],"user_ids":[\{\}]\}))  .header(CONTENT_TYPE, "application/json")  .send()  .await?  .json()  .await?;    println!("{:#?}", json);  Ok(())}

Parameters

Path

name type required description
workspace_id integer true Workspace ID

Body

Name Type Description
billable boolean Whether the time entry is set as billable, optional, premium feature.
calculate string Calculate option, optional. Can be by time or amounts.
client_ids Array of integer Client IDs, optional, filtering attribute. To filter records with no clients, use [null].
description string Description, optional, filtering attribute.
end_date string End date, example time.DateOnly. Should be greater than Start date.
group_by_task boolean GroupByTask tells the weekly report to return the data grouped by all the usual groups plus planned task.
group_ids Array of integer Group IDs, optional, filtering attribute.
grouping string Grouping option, optional.
max_duration_seconds integer Max duration seconds, optional, filtering attribute. Time Audit only, should be greater than MinDurationSeconds.
min_duration_seconds integer Min duration seconds, optional, filtering attribute. Time Audit only, should be less than MaxDurationSeconds.
project_ids Array of integer Project IDs, optional, filtering attribute. To filter records with no projects, use [null].
rounding integer Whether time should be rounded, optional, default from user preferences.
rounding_minutes integer Rounding minutes value, optional, default from user preferences. Should be 0, 1, 5, 6, 10, 12, 15, 30, 60 or 240.
startTime string -
start_date string Start date, example time.DateOnly. Should be less than End date.
tag_ids Array of integer Tag IDs, optional, filtering attribute. To filter records with no tags, use [null].
task_ids Array of integer Task IDs, optional, filtering attribute. To filter records with no tasks, use [null].
time_entry_ids Array of integer TimeEntryIDs filters by time entries. This was added to support retro-compatibility with reports v2.
user_ids Array of integer User IDs, optional, filtering attribute.

Response

200

Returns the weekly report in csv format

400

Possible error messages:

  • At least one parameter must be set
  • Invalid workspace id
  • The ‘{parameter}’ parameter is not supported
  • 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