Get Timesheets
curl --request GET \
--url https://app.untetherlabs.com/api/v1/timekeeping/timesheet \
--header 'Authorization: Bearer <token>'{
"items": [
{
"providerId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"startDate": "2024-11-20T07:43:34+0000",
"endDate": "2024-11-20T07:43:34+0000",
"payPeriodId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"scheduledShifts": [
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"createdAt": "2024-11-20T07:43:34+0000",
"provider": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"startDate": "2024-11-20T07:43:34+0000",
"endDate": "2024-11-20T07:43:34+0000",
"segments": [
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"importedId": "<string>",
"createdAt": "2024-11-20T07:43:34+0000",
"role": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"isBreak": false,
"isOnCall": false,
"startDate": "2024-11-20T07:43:34+0000",
"endDate": "2024-11-20T07:43:34+0000",
"labels": [
"<string>"
],
"roleImportedId": "<string>",
"additionalInfo": "<unknown>",
"skillRequirement": {
"type": "equal",
"skill": "<string>",
"value": "<string>"
}
}
],
"team": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"note": "<string>",
"isCallout": true,
"workRuleOverride": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"version": 123,
"payCodes": [
{
"payCodeId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"value": 123
}
]
}
],
"punches": [
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"timecardId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"providerId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"createdAt": "2024-11-20T07:43:34+0000",
"updatedAt": "2024-11-20T07:43:34+0000",
"action": "<string>",
"time": "2024-11-20T07:43:34+0000",
"providerNote": "Felt sick, had to leave early.",
"adminNote": "Adjusted to schedule.",
"generated": false
}
],
"provider": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"name": "Bruce Wayne",
"email": "bruce.wayne@goodhealth.com",
"hireDate": "2024-11-20T07:43:34+0000",
"status": "active",
"teamId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"licensedRegions": [
"<string>"
],
"employmentType": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
},
"paySegments": [
{
"id": "<string>",
"startDate": "2024-11-20T07:43:34+0000",
"endDate": "2024-11-20T07:43:34+0000",
"payCodes": [
"<string>"
],
"overtime": [
"<string>"
],
"timeRanges": [
"<string>"
],
"itemId": "<string>",
"shiftId": "<string>",
"timecardId": "<string>",
"workRuleOverride": "<string>",
"role": "<string>"
}
],
"scheduledPaySegments": [
{
"id": "<string>",
"startDate": "2024-11-20T07:43:34+0000",
"endDate": "2024-11-20T07:43:34+0000",
"payCodes": [
"<string>"
],
"overtime": [
"<string>"
],
"timeRanges": [
"<string>"
],
"itemId": "<string>",
"shiftId": "<string>",
"timecardId": "<string>",
"workRuleOverride": "<string>",
"role": "<string>"
}
],
"warnings": [
{
"punchId": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
}
],
"errors": [
{
"shiftId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"timecardId": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
}
],
"approval": {
"approved": true,
"ranges": [
{
"startDate": "2024-11-20T07:43:34+0000",
"endDate": "2024-11-20T07:43:34+0000"
}
]
},
"signOff": {
"signedOff": true,
"ranges": [
{
"startDate": "2024-11-20T07:43:34+0000",
"endDate": "2024-11-20T07:43:34+0000"
}
]
},
"historicalCorrections": [
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"changes": [
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"createdAt": "2024-11-20T07:43:34+0000",
"actor": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"name": "<string>"
},
"auditLogReference": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"auditLogAction": "<string>",
"note": "<string>"
}
],
"payCodeDifference": [
{
"date": "2024-11-20T07:43:34+0000",
"payCode": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"role": "<string>",
"value": 123
}
]
}
],
"totals": [
{
"payCodeId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"roleId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"scheduled": 123,
"actual": 123
}
],
"historicalCorrectionTotals": [
{
"payCodeId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"roleId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"scheduled": 123,
"actual": 123
}
]
}
],
"cursor": "<string>"
}Timekeeping
Get Timesheets
GET
/
v1
/
timekeeping
/
timesheet
Get Timesheets
curl --request GET \
--url https://app.untetherlabs.com/api/v1/timekeeping/timesheet \
--header 'Authorization: Bearer <token>'{
"items": [
{
"providerId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"startDate": "2024-11-20T07:43:34+0000",
"endDate": "2024-11-20T07:43:34+0000",
"payPeriodId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"scheduledShifts": [
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"createdAt": "2024-11-20T07:43:34+0000",
"provider": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"startDate": "2024-11-20T07:43:34+0000",
"endDate": "2024-11-20T07:43:34+0000",
"segments": [
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"importedId": "<string>",
"createdAt": "2024-11-20T07:43:34+0000",
"role": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"isBreak": false,
"isOnCall": false,
"startDate": "2024-11-20T07:43:34+0000",
"endDate": "2024-11-20T07:43:34+0000",
"labels": [
"<string>"
],
"roleImportedId": "<string>",
"additionalInfo": "<unknown>",
"skillRequirement": {
"type": "equal",
"skill": "<string>",
"value": "<string>"
}
}
],
"team": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"note": "<string>",
"isCallout": true,
"workRuleOverride": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"version": 123,
"payCodes": [
{
"payCodeId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"value": 123
}
]
}
],
"punches": [
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"timecardId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"providerId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"createdAt": "2024-11-20T07:43:34+0000",
"updatedAt": "2024-11-20T07:43:34+0000",
"action": "<string>",
"time": "2024-11-20T07:43:34+0000",
"providerNote": "Felt sick, had to leave early.",
"adminNote": "Adjusted to schedule.",
"generated": false
}
],
"provider": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"name": "Bruce Wayne",
"email": "bruce.wayne@goodhealth.com",
"hireDate": "2024-11-20T07:43:34+0000",
"status": "active",
"teamId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"licensedRegions": [
"<string>"
],
"employmentType": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
},
"paySegments": [
{
"id": "<string>",
"startDate": "2024-11-20T07:43:34+0000",
"endDate": "2024-11-20T07:43:34+0000",
"payCodes": [
"<string>"
],
"overtime": [
"<string>"
],
"timeRanges": [
"<string>"
],
"itemId": "<string>",
"shiftId": "<string>",
"timecardId": "<string>",
"workRuleOverride": "<string>",
"role": "<string>"
}
],
"scheduledPaySegments": [
{
"id": "<string>",
"startDate": "2024-11-20T07:43:34+0000",
"endDate": "2024-11-20T07:43:34+0000",
"payCodes": [
"<string>"
],
"overtime": [
"<string>"
],
"timeRanges": [
"<string>"
],
"itemId": "<string>",
"shiftId": "<string>",
"timecardId": "<string>",
"workRuleOverride": "<string>",
"role": "<string>"
}
],
"warnings": [
{
"punchId": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
}
],
"errors": [
{
"shiftId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"timecardId": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
}
],
"approval": {
"approved": true,
"ranges": [
{
"startDate": "2024-11-20T07:43:34+0000",
"endDate": "2024-11-20T07:43:34+0000"
}
]
},
"signOff": {
"signedOff": true,
"ranges": [
{
"startDate": "2024-11-20T07:43:34+0000",
"endDate": "2024-11-20T07:43:34+0000"
}
]
},
"historicalCorrections": [
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"changes": [
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"createdAt": "2024-11-20T07:43:34+0000",
"actor": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"name": "<string>"
},
"auditLogReference": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"auditLogAction": "<string>",
"note": "<string>"
}
],
"payCodeDifference": [
{
"date": "2024-11-20T07:43:34+0000",
"payCode": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"role": "<string>",
"value": 123
}
]
}
],
"totals": [
{
"payCodeId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"roleId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"scheduled": 123,
"actual": 123
}
],
"historicalCorrectionTotals": [
{
"payCodeId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"roleId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"scheduled": 123,
"actual": 123
}
]
}
],
"cursor": "<string>"
}Allows reading computed timesheet data for one or more providers.
Timesheets are returned for any matching provider who was active during the
specified date range even if they worked zero hours. These values are impacted
by historical corrections, you are advised to review the Historical
Corrections documentation.
Available Expansions
Show expand options
Show expand options
- provider: Includes the entire provider object for each timesheet.
- paySegments: Pay segments describe each individually worked span during the timesheet. They are the primitive unit of timekeeping data.
- scheduledPaySegments: Scheduled pay segments represent the expected set of worked segments based on the schedule only, not punch data.
- problems: Includes any warnings and errors for the timesheet.
- approval: Includes whether the entire range is approved, and the exact sub ranges that have been approved.
- signOff: Includes whether the entire range is signed off, and the exact sub ranges that have been signed off.
- historicalCorrections: Includes any historical corrections which are applied to the time range of the timesheet. These are historical corrections which were made to this time range as opposed to applied to/paid out in this range.
- totals: The computed totals broken down by pay code and role for the requested range.
- historicalCorrectionTotals: The totals from any historical corrections which are applied to this timesheet (as opposed to corrections made to this timesheet). Historical correction totals are only available when requesting a particular pay period (by offset or exact reference).
This endpoint may have to do significant computation to generate timesheet data on-the-fly,
you are advised to set appropriate timeout and consider caching the results if applicable.
Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Query Parameters
Optional offset from current pay period. 0 = current, 1 = next, -1 = previous.
Example:
"2024-11-20T07:43:34+0000"
Example:
"2024-11-20T07:43:34+0000"
Available expansions: provider, paySegments, scheduledPaySegments, problems, approval, signOff, historicalCorrections, totals, historicalCorrectionTotals
See Query Parameters for more information on expansions.
Required range:
1 <= x <= 200⌘I