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​
| name |
type |
required |
description |
| workspace_id |
integer |
true |
Numeric ID of the workspace |
| 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​
| Name |
Type |
Description |
| items |
Array of object |
- |
| Name |
Type |
Description |
| data |
Array of object |
- |
| page |
integer |
- |
| per_page |
integer |
- |
| total_count |
integer |
- |
| 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 |
- |
| Name |
Type |
Description |
| code |
string |
- |
| message |
string |
- |
reviews​
| Name |
Type |
Description |
| approved |
boolean |
- |
| name |
string |
- |
| rejection_comment |
string |
- |
| user_id |
integer |
- |
Possible error messages:
- Workspace not found
- Invalid ID
- Invalid date
- Invalid status
Approvals are a premium feature
User does not have access to this resource
Internal Server Error
pbales
2
I’m not receiving the working hours in minutes as part of my response, please assist.
Support
3
Hello! Is the time being returned at all?
1 Like
pbales
4
Not at all, would you like the list of what I’m receiving?
pbales
5
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 |
Support
7
Let us speak to the team and get back to you 
Hi @pbales
We sent you a DM requesting some extra information - did you receive it?
Thanks!