Fetch Timeline
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: ['3d4c2ced-f4d6-42ea-b6db-7dcf24a77845']
})
};
fetch('https://api.trackpilots.com/v1/proof-of-work/timeline', 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/timeline \
--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": [
"3d4c2ced-f4d6-42ea-b6db-7dcf24a77845"
]
}
'import requests
url = "https://api.trackpilots.com/v1/proof-of-work/timeline"
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": ["3d4c2ced-f4d6-42ea-b6db-7dcf24a77845"]
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text){
"statusCode": 200,
"statusMessage": "Fetched timeline successfully",
"error": null,
"response": {
"totalActiveUsers": 8,
"usersList": [
{
"userId": "ab7c4f30-1024-471a-a767-739df0dc53fd",
"userName": "Sakthivel Govinthan",
"emailId": "sakthivel@example.com",
"profilePicUrl": "https://trackpilots.s3.amazonaws.com/profile-pic/xxx.png",
"productiveTimeSpend": 14288,
"unProductiveTimeSpend": 0,
"neutralTimeSpend": 2499,
"idleTimeSpend": 1645,
"appTrackingDetails": [
{
"category": "productive",
"appName": "Google Chrome",
"title": "GitHub - trackpilots/trackpilots-web-app",
"startTime": "2026-02-08T04:32:01.000Z",
"endTime": "2026-02-08T04:45:22.000Z"
}
]
}
]
}
}Proof Of Work
Fetch Timeline
Fetch per-user activity timeline for a selected day and optional hour filter. Returns paginated results with totalActiveUsers for load-more support.
POST
/
v1
/
proof-of-work
/
timeline
Fetch Timeline
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: ['3d4c2ced-f4d6-42ea-b6db-7dcf24a77845']
})
};
fetch('https://api.trackpilots.com/v1/proof-of-work/timeline', 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/timeline \
--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": [
"3d4c2ced-f4d6-42ea-b6db-7dcf24a77845"
]
}
'import requests
url = "https://api.trackpilots.com/v1/proof-of-work/timeline"
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": ["3d4c2ced-f4d6-42ea-b6db-7dcf24a77845"]
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text){
"statusCode": 200,
"statusMessage": "Fetched timeline successfully",
"error": null,
"response": {
"totalActiveUsers": 8,
"usersList": [
{
"userId": "ab7c4f30-1024-471a-a767-739df0dc53fd",
"userName": "Sakthivel Govinthan",
"emailId": "sakthivel@example.com",
"profilePicUrl": "https://trackpilots.s3.amazonaws.com/profile-pic/xxx.png",
"productiveTimeSpend": 14288,
"unProductiveTimeSpend": 0,
"neutralTimeSpend": 2499,
"idleTimeSpend": 1645,
"appTrackingDetails": [
{
"category": "productive",
"appName": "Google Chrome",
"title": "GitHub - trackpilots/trackpilots-web-app",
"startTime": "2026-02-08T04:32:01.000Z",
"endTime": "2026-02-08T04:45:22.000Z"
}
]
}
]
}
}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 the activity timeline for a day. 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 timeline for
Page number for pagination (1-based). Defaults to 1.
Required range:
x >= 1Example:
1
List of team UUIDs to fetch timeline for
