Skip to main content

GET /timesheets/{id}

Summary

Get timesheet

URL Parameters

NameTypeRequiredDescription
idstringYesTimesheet id or nanoid

Query Parameters

NameTypeRequiredDescription
includeVersionHistorybooleanNoInclude version history snapshots for this timesheet
includeTimelogsbooleanNoInclude timelog rows for this timesheet

Request Body Fields

No request body is accepted for this endpoint.

Request Example

curl -X GET 'https://api.requidex.com/api/open/v1/timesheets/{id}?includeVersionHistory=true&includeTimelogs=true' \
-H 'Authorization: Bearer <API_KEY>' \
-H 'Accept: application/json'

Response Fields

FieldTypeDescription
idstringTimesheet id
referencestringTimesheet reference
statusstringTimesheet status
workerobject
Show child attributes
  • id string - Worker id
  • name string - Worker name
assignmentobject
Show child attributes
  • id string - Assignment id
  • reference string - Assignment reference
companyobject
Show child attributes
  • id string - Company id
  • name string - Company name
projectobject
Show child attributes
  • id string - Project id
  • name string - Project name
siteobject
Show child attributes
  • id string - Site id
  • name string - Site name
agencyobject
Show child attributes
  • id string - Agency id
  • name string - Agency name
payTypestringPay type
rateTypestringRate type
startstringTimesheet period start in ISO 8601 date-time format
endstringTimesheet period end in ISO 8601 date-time format
weekEndingstringWeek ending date in ISO 8601 date-time format
versionintegerCurrent timesheet version number
approvedDatestringApproval timestamp in ISO 8601 date-time format
netHoursnumberTotal net hours after breaks
ratesobjectTimesheet rate sets.
Show child attributes
  • wd object with pay, emp, margin, charge, and uplift
  • wdNw object with pay, emp, margin, charge, and uplift
  • weNw object with pay, emp, margin, charge, and uplift
  • bh object with pay, emp, margin, charge, and uplift
  • bhNight object with pay, emp, margin, charge, and uplift
  • sat object with pay, emp, margin, charge, and uplift
  • sun object with pay, emp, margin, charge, and uplift
  • ot object with pay, emp, margin, charge, and uplift
valuesobjectPay/charge/expense values.
Show child attributes
  • pay object with wdBasic, wdOvertime, wdNightwork, weNightwork, bankHoliday, bankHolidayNight, saturday, sunday, saturdayNightwork, sundayNightwork, and total
  • charge object with wdBasic, wdOvertime, wdNightwork, weNightwork, bankHoliday, bankHolidayNight, saturday, sunday, saturdayNightwork, sundayNightwork, and total
  • expense number
timelogsarrayReturned only when includeTimelogs=true.
Show child attributes
  • id string
  • status string
  • date string
  • start string
  • end string
  • shiftType string
  • breaks number - break duration in minutes
  • rateDescription string
  • hours object with standard, overtime, and total; standard and total are gross values including breaks
  • rates object with pay, emp, margin, and charge
  • values object with pay, emp, margin, and charge breakdowns containing standard, overtime, and total
  • absenceAuthorized boolean - returned only when recorded
  • absenceReason string - returned only when recorded
  • costCodeAllocations array - returned only when non-empty, with child attributes costCode.name, costCode.description, and hours
versionHistoryarrayReturned only when includeVersionHistory=true and snapshots exist.
Show child attributes
  • version integer
  • snapshotReason string
  • snapshotAt string
  • netHours number
  • expenseValue number
  • values object with the same child attributes as the main values field
  • rates object with the same child attributes as the main rates field
createdAtstringCreation timestamp
updatedAtstringLast update timestamp

Response Example (200)

{
"success": true,
"data": {
"id": "67bc36db80a1616ec3f4a001",
"reference": "TS-1044",
"status": "approved",
"worker": {
"id": "67bc36db80a1616ec3f48999",
"name": "Jordan Smith"
},
"assignment": {
"id": "67bc36db80a1616ec3f49001",
"reference": "A1044"
},
"company": {
"id": "67bc36db80a1616ec3f47001",
"name": "Requidex Construction Ltd"
},
"project": {
"id": "67bc36db80a1616ec3f47011",
"name": "Northern Rail Electrification"
},
"site": {
"id": "67bc36db80a1616ec3f47055",
"name": "Manchester Central"
},
"agency": {
"id": "67bc36db80a1616ec3f47101",
"name": "Northline Labour Desk"
},
"payType": "hourly",
"rateType": "cis",
"start": "2026-03-02T00:00:00.000Z",
"end": "2026-03-08T23:59:59.999Z",
"weekEnding": "2026-03-08T00:00:00.000Z",
"version": 2,
"approvedDate": "2026-03-09T09:15:00.000Z",
"netHours": 37.5,
"rates": {
"wd": { "pay": 21.5, "emp": 2.93, "margin": 4.32, "charge": 28.75, "uplift": null },
"wdNw": { "pay": 0, "emp": 0, "margin": 0, "charge": 0, "uplift": 25 },
"weNw": { "pay": 0, "emp": 0, "margin": 0, "charge": 0, "uplift": 40 },
"bh": { "pay": 0, "emp": 0, "margin": 0, "charge": 0, "uplift": 100 },
"bhNight": { "pay": 0, "emp": 0, "margin": 0, "charge": 0, "uplift": 125 },
"sat": { "pay": 32.25, "emp": 4.39, "margin": 6.48, "charge": 43.13, "uplift": 50 },
"sun": { "pay": 43, "emp": 5.86, "margin": 8.64, "charge": 57.5, "uplift": 100 },
"ot": { "pay": 32.25, "emp": 4.39, "margin": 6.48, "charge": 43.13, "uplift": 50 }
},
"values": {
"pay": {
"wdBasic": 860,
"wdOvertime": 215,
"wdNightwork": 0,
"weNightwork": 0,
"bankHoliday": 0,
"bankHolidayNight": 0,
"saturday": 294,
"sunday": 295,
"saturdayNightwork": 0,
"sundayNightwork": 0,
"total": 1664
},
"charge": {
"wdBasic": 1150,
"wdOvertime": 287.5,
"wdNightwork": 0,
"weNightwork": 0,
"bankHoliday": 0,
"bankHolidayNight": 0,
"saturday": 396,
"sunday": 396.5,
"saturdayNightwork": 0,
"sundayNightwork": 0,
"total": 2230
},
"expense": 125
},
"timelogs": [
{
"id": "67bc36db80a1616ec3f4a101",
"status": "approved",
"date": "2026-03-03T00:00:00.000Z",
"start": "2026-03-03T08:00:00.000Z",
"end": "2026-03-03T17:00:00.000Z",
"shiftType": "day",
"breaks": 30,
"rateDescription": "wdBasic",
"hours": {
"standard": 8,
"overtime": 0,
"total": 8
},
"rates": {
"pay": 21.5,
"emp": 2.93,
"margin": 4.32,
"charge": 28.75
},
"values": {
"pay": {
"standard": 172,
"overtime": 0,
"total": 172
},
"emp": {
"standard": 23.44,
"overtime": 0,
"total": 23.44
},
"margin": {
"standard": 34.56,
"overtime": 0,
"total": 34.56
},
"charge": {
"standard": 230,
"overtime": 0,
"total": 230
}
},
"costCodeAllocations": [
{
"costCode": {
"name": "CC-001",
"description": "Trackside installation"
},
"hours": 8
}
]
}
],
"versionHistory": [
{
"version": 1,
"snapshotReason": "created",
"snapshotAt": "2026-03-08T18:00:00.000Z",
"netHours": 37.5,
"expenseValue": 0,
"values": {
"pay": {
"wdBasic": 860,
"wdOvertime": 215,
"wdNightwork": 0,
"weNightwork": 0,
"bankHoliday": 0,
"bankHolidayNight": 0,
"saturday": 294,
"sunday": 295,
"saturdayNightwork": 0,
"sundayNightwork": 0,
"total": 1664
},
"charge": {
"wdBasic": 1150,
"wdOvertime": 287.5,
"wdNightwork": 0,
"weNightwork": 0,
"bankHoliday": 0,
"bankHolidayNight": 0,
"saturday": 396,
"sunday": 396.5,
"saturdayNightwork": 0,
"sundayNightwork": 0,
"total": 2230
},
"expense": 0
},
"rates": {
"wd": { "pay": 21.5, "emp": 2.93, "margin": 4.32, "charge": 28.75, "uplift": null },
"wdNw": { "pay": 0, "emp": 0, "margin": 0, "charge": 0, "uplift": 25 },
"weNw": { "pay": 0, "emp": 0, "margin": 0, "charge": 0, "uplift": 40 },
"bh": { "pay": 0, "emp": 0, "margin": 0, "charge": 0, "uplift": 100 },
"bhNight": { "pay": 0, "emp": 0, "margin": 0, "charge": 0, "uplift": 125 },
"sat": { "pay": 32.25, "emp": 4.39, "margin": 6.48, "charge": 43.13, "uplift": 50 },
"sun": { "pay": 43, "emp": 5.86, "margin": 8.64, "charge": 57.5, "uplift": 100 },
"ot": { "pay": 32.25, "emp": 4.39, "margin": 6.48, "charge": 43.13, "uplift": 50 }
}
}
],
"createdAt": "2026-03-08T18:00:00.000Z",
"updatedAt": "2026-03-09T09:15:00.000Z"
}
}

Errors

HTTP StatusDescription
400Invalid or missing timesheet id
401Missing, invalid, revoked, or expired API key
403Forbidden due to scope or IP restrictions
404Timesheet not found
405Method not allowed on Open API routes
429Rate limit exceeded
500Unexpected internal error