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

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 timesheet. 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 screenshots 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 screenshots for

Example:
[]

Response

Fetched timesheet successfully.

statusCode
integer
Example:

200

statusMessage
string
Example:

"Fetched timesheet successfully"

error
unknown
response
object