Skip to main content
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));
{
  "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"
          }
        ]
      }
    ]
  }
}

Documentation Index

Fetch the complete documentation index at: https://developer.trackpilots.com/llms.txt

Use this file to discover all available pages before exploring further.

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Body

application/json

Request payload to fetch the activity timeline for a day. Either userId or teamId must be provided. Both cannot be empty.

startDate
string<date-time>
required
Example:

"2026-02-08 00:00:00"

endDate
string<date-time>
required
Example:

"2026-02-08 23:59:59"

timeZone
string
required

IANA timezone of the requester

Example:

"Asia/Kolkata"

userId
string<uuid>[]
required

List of user UUIDs to fetch timeline for

offset
integer

Page number for pagination (1-based). Defaults to 1.

Required range: x >= 1
Example:

1

teamId
string<uuid>[]

List of team UUIDs to fetch timeline for

Response

Fetched timeline successfully.

statusCode
integer
Example:

200

statusMessage
string
Example:

"Fetched timeline successfully"

error
unknown
response
object