Skip to main content
POST
/
v1
/
proof-of-work
/
app-usage
/
work-summary
Fetch Work Summary
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'],
    teamId: []
  })
};

fetch('https://api.trackpilots.com/v1/proof-of-work/app-usage/work-summary', options)
  .then(res => res.json())
  .then(res => console.log(res))
  .catch(err => console.error(err));
{
  "success": true,
  "statusCode": 200,
  "statusMessage": "Fetched app usage work summary successfully",
  "error": null,
  "data": {
    "timeSummary": {
      "totalWorkedTimeInSeconds": 13665,
      "activeWorkedTimeInSeconds": 11724,
      "idleWorkedTimeInSeconds": 1941,
      "productiveWorkedTimeInSeconds": 8982,
      "unproductiveWorkedTimeInSeconds": 0,
      "neutralWorkedTimeInSeconds": 2742
    },
    "activityStats": {
      "appsVisitedCount": 235,
      "websitesVisitedCount": 124
    }
  }
}

Authorizations

Authorization
string
header
required

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

Body

application/json

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

teamId
string<uuid>[]

List of team UUIDs to fetch screenshots for

Example:
[]

Response

Fetched work summary successfully.

success
boolean
Example:

true

statusCode
integer
Example:

200

statusMessage
string
Example:

"Fetched app usage work summary successfully"

data
object