v1

latestOpenAPI 3.1.02026-07-26294215839.4 KB
Time Tracking
Public API

Update Time Tracking Shift Differential

Partially updates a time tracking shift differential identified by its ID.

OAuth Scopes: time_tracking:shift_differentials.write

patch/api/v1/time-tracking/shift-differentials/{id}

Path parameters

idinteger required

The shift differential ID.

Request body

namestring
ratestring

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

rateType'AMOUNT' | 'PERCENT'
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.

archivedboolean

When true, archives the shift differential. When false, unarchives it.

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 updated 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"
}