"Approvals" Endpoints - GET Get timesheets

https://api.track.toggl.com/api/v9/workspaces/{workspace_id}/timesheets

Get timesheets applying various filters.

  • 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::GET, "https://api.track.toggl.com/api/v9/workspaces/{workspace_id}/timesheets".to_string())  .header(CONTENT_TYPE, "application/json")  .send()  .await?  .json()  .await?;    println!("{:#?}", json);  Ok(())}

Parameters​

Path​

name type required description
workspace_id integer true Numeric ID of the workspace

Query​

name type required description
member_ids integer false Numeric ID of the members, comma-separated
approver_ids integer false Numeric ID of the approvers, comma-separated
timesheet_setup_ids integer false Numeric ID for timesheet setup, comma-separated.
statuses integer false Timesheet status, comma-separated.
before integer false Timesheets starting before this date (YYYY-MM-DD).
after integer false Timesheets starting after this date (YYYY-MM-DD).
page integer false Page number, default 1.
per_page integer false Number of items per page, default 20. Also defaults to 20 if provided an greater than 1000.
sort_field string false Field used for sorting, default start_date.
sort_order string false Sort order.

Response​

200​

Name Type Description
items Array of object -
items​
Name Type Description
data Array of object -
page integer -
per_page integer -
total_count integer -
data​
Name Type Description
approved_or_rejected_at string -
approved_or_rejected_id integer -
approved_or_rejected_name string -
approver_id integer -
approver_name string -
approvers Array of object -
end_date string -
errors Array of object -
member_id integer -
member_name string -
period_editable boolean -
period_end string -
period_locked boolean -
period_start string -
periodicity string -
permissions string -
rejection_comment string -
reminder_day string -
reminder_sent_at string -
reminder_time string -
reviews Array of object -
start_date string -
status string -
submitted_at string -
timesheet_setup_id integer -
working_hours_in_minutes integer -
workspace_id integer -
approvers​
Name Type Description
name string -
user_id integer -
errors​
Name Type Description
code string -
message string -
reviews​
Name Type Description
approved boolean -
name string -
rejection_comment string -
user_id integer -

400​

Possible error messages:

  • Workspace not found
  • Invalid ID
  • Invalid date
  • Invalid status

402​

Approvals are a premium feature

403​

User does not have access to this resource

500​

Internal Server Error

I’m not receiving the working hours in minutes as part of my response, please assist.

Hello! Is the time being returned at all?

1 Like

Not at all, would you like the list of what I’m receiving?

List of attributes I’m receiving

Attribute
per_page
page
total_count
data.timesheet_setup_id
data.workspace_id
data.member_id
data.member_name
data.approver_id
data.approver_name
data.approvers
data.approvers_layers
data.review_layer
data.reviews
data.start_date
data.end_date
data.periodicity
data.status
data.submitted_at
data.approved_or_rejected_at
data.approved_or_rejected_id
data.approved_or_rejected_name
data.timezone
data.reminder_day
data.reminder_time
data.period_locked
data.period_editable
data.period_start
data.period_end
data.permissions.0

Let us speak to the team and get back to you :slight_smile:

Hi @pbales

We sent you a DM requesting some extra information - did you receive it?

Thanks!