Fetch Timesheet
const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
startDate: '2026-02-08 00:00:00',
endDate: '2026-02-08 23:59:59',
timeZone: 'Asia/Kolkata',
userId: ['ab7c4f30-1024-471a-a767-739df0dc53fd'],
offset: 1,
teamId: []
})
};
fetch('https://api.trackpilots.com/v1/proof-of-work/timesheet', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));curl --request POST \
--url https://api.trackpilots.com/v1/proof-of-work/timesheet \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"startDate": "2026-02-08 00:00:00",
"endDate": "2026-02-08 23:59:59",
"timeZone": "Asia/Kolkata",
"userId": [
"ab7c4f30-1024-471a-a767-739df0dc53fd"
],
"offset": 1,
"teamId": []
}
'import requests
url = "https://api.trackpilots.com/v1/proof-of-work/timesheet"
payload = {
"startDate": "2026-02-08 00:00:00",
"endDate": "2026-02-08 23:59:59",
"timeZone": "Asia/Kolkata",
"userId": ["ab7c4f30-1024-471a-a767-739df0dc53fd"],
"offset": 1,
"teamId": []
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text){
"statusCode": 200,
"statusMessage": "Fetched timesheet successfully",
"error": null,
"response": {
"totalActiveUsers": 12,
"usersList": [
{
"user": {
"userId": "ab7c4f30-1024-471a-a767-739df0dc53fd",
"name": "Sakthivel Govinthan",
"profilePicUrl": "https://trackpilots.s3.amazonaws.com/profile-pic/xxx.png"
},
"dailySummary": [
{
"date": "2026-02-12T00:00:00.000Z",
"day": "Thursday",
"inTime": "2026-02-12T10:02:01.676Z",
"outTime": "2026-02-12T22:23:56.461Z",
"totalTimeSpendSeconds": 18432,
"activeTimeSpendSeconds": 16787,
"idleTimeSpendSeconds": 1645,
"productiveTimeSpendSeconds": 14288,
"unproductiveTimeSpendSeconds": 0,
"neutralTimeSpendSeconds": 2499
}
],
"overallSummary": {
"totalActiveTimeSpendSeconds": 29973,
"totalIdleTimeSpendSeconds": 2481,
"totalTimeSpendSeconds": 32454,
"totalProductiveTimeSpendSeconds": 26047,
"totalNeutralTimeSpendSeconds": 3926,
"totalUnproductiveTimeSpendSeconds": 0
},
"session": {
"avgCheckInTime": "01:45:51",
"avgCheckOutTime": "10:46:51"
}
}
]
}
}Proof Of Work
Fetch Timesheet
Fetch timesheet between 2 intervals
POST
/
v1
/
proof-of-work
/
timesheet
Fetch Timesheet
const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
startDate: '2026-02-08 00:00:00',
endDate: '2026-02-08 23:59:59',
timeZone: 'Asia/Kolkata',
userId: ['ab7c4f30-1024-471a-a767-739df0dc53fd'],
offset: 1,
teamId: []
})
};
fetch('https://api.trackpilots.com/v1/proof-of-work/timesheet', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));curl --request POST \
--url https://api.trackpilots.com/v1/proof-of-work/timesheet \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"startDate": "2026-02-08 00:00:00",
"endDate": "2026-02-08 23:59:59",
"timeZone": "Asia/Kolkata",
"userId": [
"ab7c4f30-1024-471a-a767-739df0dc53fd"
],
"offset": 1,
"teamId": []
}
'import requests
url = "https://api.trackpilots.com/v1/proof-of-work/timesheet"
payload = {
"startDate": "2026-02-08 00:00:00",
"endDate": "2026-02-08 23:59:59",
"timeZone": "Asia/Kolkata",
"userId": ["ab7c4f30-1024-471a-a767-739df0dc53fd"],
"offset": 1,
"teamId": []
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text){
"statusCode": 200,
"statusMessage": "Fetched timesheet successfully",
"error": null,
"response": {
"totalActiveUsers": 12,
"usersList": [
{
"user": {
"userId": "ab7c4f30-1024-471a-a767-739df0dc53fd",
"name": "Sakthivel Govinthan",
"profilePicUrl": "https://trackpilots.s3.amazonaws.com/profile-pic/xxx.png"
},
"dailySummary": [
{
"date": "2026-02-12T00:00:00.000Z",
"day": "Thursday",
"inTime": "2026-02-12T10:02:01.676Z",
"outTime": "2026-02-12T22:23:56.461Z",
"totalTimeSpendSeconds": 18432,
"activeTimeSpendSeconds": 16787,
"idleTimeSpendSeconds": 1645,
"productiveTimeSpendSeconds": 14288,
"unproductiveTimeSpendSeconds": 0,
"neutralTimeSpendSeconds": 2499
}
],
"overallSummary": {
"totalActiveTimeSpendSeconds": 29973,
"totalIdleTimeSpendSeconds": 2481,
"totalTimeSpendSeconds": 32454,
"totalProductiveTimeSpendSeconds": 26047,
"totalNeutralTimeSpendSeconds": 3926,
"totalUnproductiveTimeSpendSeconds": 0
},
"session": {
"avgCheckInTime": "01:45:51",
"avgCheckOutTime": "10:46:51"
}
}
]
}
}Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Body
application/json
- Option 1
- Option 2
Request payload to fetch timesheet. Either userId or teamId must be provided. Both cannot be empty.
Example:
"2026-02-08 00:00:00"
Example:
"2026-02-08 23:59:59"
IANA timezone of the requester
Example:
"Asia/Kolkata"
List of user UUIDs to fetch screenshots for
Page number for pagination (1-based). Defaults to 1.
Required range:
x >= 1Example:
1
List of team UUIDs to fetch screenshots for
Example:
[]
