v1

latestOpenAPI 3.1.02026-07-26294215839.4 KB
Scheduling
Public API

Update Schedule

Partially updates an existing schedule by its UUID. Fields not provided retain their existing values.

OAuth Scopes: scheduling:schedules.write, time_tracking.write

patch/api/v1/scheduling/schedules/{id}

Path parameters

idstring uuid required

The schedule UUID

Request body

namestring

The name of the schedule

locationIdinteger

The ID of the location the schedule belongs to

timezonestring

The timezone of the schedule. Required if location does not have a timezone. Error if location already has a timezone.

startOfWeekstring

The starting day of the week for the schedule

earlyClockInThresholdinteger

The threshold (in minutes) that an employee is allowed to clock in early to a shift on this schedule

lateClockInThresholdinteger nullable

The threshold (in minutes) after a shift starts before an employee is considered late clocking in

earlyClockOutThresholdinteger nullable

The threshold (in minutes) before a shift ends within which an employee is considered to have clocked out early

lateClockOutThresholdinteger nullable

The threshold (in minutes) after a shift ends before an employee is considered to have clocked out late

managerUserIdsinteger[]

User IDs of managers for this schedule

employeeIdsinteger[]

Employee IDs assigned to this schedule

Example request

{
  "name": "Morning Shift",
  "locationId": 1,
  "timezone": "America/Denver",
  "startOfWeek": "Monday",
  "earlyClockInThreshold": 15,
  "lateClockInThreshold": 10,
  "earlyClockOutThreshold": 5,
  "lateClockOutThreshold": 15,
  "managerUserIds": [
    1,
    2,
    3
  ],
  "employeeIds": [
    10,
    20,
    30
  ]
}

Response

Schedule updated successfully

idstring uuid

The UUID of the schedule

namestring

The name of the schedule

locationIdinteger

The ID of the location the schedule belongs to

timezonestring

The timezone of the schedule, provide if location is missing timezone

startOfWeekstring

The starting day of the week for the schedule

earlyClockInThresholdinteger

The threshold (in minutes) that an employee is allowed to clock in early to a shift on this schedule

lateClockInThresholdinteger

The threshold (in minutes) after a shift starts before an employee is considered late clocking in

earlyClockOutThresholdinteger

The threshold (in minutes) before a shift ends within which an employee is considered to have clocked out early

lateClockOutThresholdinteger

The threshold (in minutes) after a shift ends before an employee is considered to have clocked out late

managerUserIdsinteger[]

What users manage this schedule

employeeIdsinteger[]

What employees are assigned to this schedule

createdAtstring date-time

UTC timestamp when the schedule was created

updatedAtstring date-time nullable

UTC timestamp when the schedule was last updated

deletedAtstring date-time nullable

UTC timestamp when the schedule was deleted

Example response

{
  "id": "0199de9b-6bcb-77e7-941d-3caf74b9a372",
  "name": "Main Schedule",
  "locationId": 123,
  "timezone": "America/Denver",
  "startOfWeek": "Monday",
  "earlyClockInThreshold": 10,
  "lateClockInThreshold": 10,
  "earlyClockOutThreshold": 5,
  "lateClockOutThreshold": 15,
  "managerUserIds": [
    1,
    2
  ],
  "employeeIds": [
    10,
    20
  ],
  "createdAt": "2025-01-01T06:00:00Z",
  "updatedAt": "2025-01-01T06:00:00Z",
  "deletedAt": "2025-01-01T06:00:00Z"
}