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
workerobjectWorker reference with id and name
assignmentobjectAssignment reference with id and reference
companyobjectCompany reference with id and name
projectobjectProject reference with id and name
siteobjectSite reference with id and name
agencyobjectAgency reference with id and 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
  • rateDescription string
  • hours object with standard, overtime, and total
  • rates object with pay, emp, margin, and charge
  • values object with pay, emp, margin, and charge breakdowns containing standard, overtime, and total
  • absenceAuthorized boolean
  • absenceReason string
  • costCodeAllocations array with child attributes costCode.name, costCode.description, and hours
versionHistoryarrayReturned only when includeVersionHistory=true.
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
}
},
"absenceAuthorized": null,
"absenceReason": null,
"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