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

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

Downloads weekly report in pdf 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.pdf".to_string()).json(&serde_json::json!(\{"billable":"boolean","calculate":"string","cents_separator":"string","client_ids":[\{\}],"date_format":"string","description":"string","duration_format":"string","end_date":"string","group_by_task":"boolean","group_ids":[\{\}],"grouping":"string","logo_url":"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.
cents_separator string -
client_ids Array of integer Client IDs, optional, filtering attribute. To filter records with no clients, use [null].
date_format string Date 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”.
description string Description, optional, filtering attribute.
duration_format string Duration format, optional, default “classic”. Can be “classic”, “decimal” or “improved”.
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.
logo_url string -
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 pdf 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