v1

latestOpenAPI 3.1.02026-07-26294215839.4 KB
Time Tracking
Public API

Create Time Tracking Shift Differential

Creates a new time tracking shift differential.

OAuth Scopes: time_tracking:shift_differentials.write

post/api/v1/time-tracking/shift-differentials

Request body

namestring required
ratestring required

Non-negative decimal string with at most two decimal places.

rateType'AMOUNT' | 'PERCENT' required
allowAllEmployeesboolean

If true, every time-tracked employee is assigned. Ignored when employeeIds is provided.

employeeIdsinteger[]

Specific internal employee IDs to assign. Minimum 1 entry required when provided. Takes precedence over allowAllEmployees.

Example request

{
  "name": "Night Shift Premium",
  "rate": "12.00",
  "rateType": "AMOUNT",
  "employeeIds": [
    1,
    2,
    3
  ],
  "times": [
    {
      "startDay": "MONDAY",
      "endDay": "MONDAY",
      "start": "00:00",
      "end": "04:00"
    }
  ]
}

Response

Shift differential created successfully.

idinteger

The ID of the shift differential.

namestring

The name of the shift differential rule.

ratestring

The differential pay rate as a decimal string.

rateType'AMOUNT' | 'PERCENT'

How the rate is applied.

allowAllEmployeesboolean

Whether all time & attendance employees are assigned.

employeeIdsinteger[]

Employee IDs assigned to this shift differential.

createdAtstring date-time nullable

ISO 8601 timestamp when the shift differential was created.

updatedAtstring date-time nullable

ISO 8601 timestamp when the shift differential was last updated.

archivedAtstring date-time nullable

ISO 8601 timestamp when the shift differential was archived.

deletedAtstring date-time nullable

ISO 8601 timestamp when the shift differential was deleted.

Example response

{
  "id": 1,
  "name": "Night Shift Premium",
  "rate": "12.00",
  "rateType": "AMOUNT",
  "allowAllEmployees": true,
  "times": [
    {
      "id": 22,
      "startDay": "MONDAY",
      "endDay": "MONDAY",
      "start": "00:00",
      "end": "04:00"
    }
  ],
  "employeeIds": [
    1,
    2,
    3
  ],
  "createdAt": "2026-01-29T18:52:50Z",
  "updatedAt": "2026-02-09T17:56:06Z"
}