v1
latestOpenAPI 3.1.02026-07-26294215839.4 KBScheduling
Public API
Update Shift
Updates a shift by its UUID. Fields not provided will retain their existing values. For published shifts, changes are not applied directly — they are stored as pending (unpublishedChanges) and take effect when the shift is published. recurrenceEditOption is required when the shift already has recurrence settings; ALL and FUTURE edits propagate to published sibling occurrences the same way, staging changes rather than applying them immediately. Sibling shifts may be permanently removed if they no longer conform to changed recurrence fields.
OAuth Scopes: scheduling:shifts.write, time_tracking.write
patch/api/v1/scheduling/shifts/{id}
Path parameters
idstring uuid required
The shift uuid
Request body
Example request
{
"name": "Front Desk - Morning",
"color": "00FFAA",
"capacity": 3,
"start": "2026-01-14T16:00:00Z",
"end": "2026-01-14T20:00:00Z",
"timezone": "America/Denver",
"recurrenceRule": "FREQ=WEEKLY;BYDAY=MO,WE;INTERVAL=1",
"recurrenceEditOption": "future",
"recurrenceDtstart": "2026-01-14T09:00:00Z",
"recurrenceDtend": "2026-01-14T17:00:00Z",
"recurrenceUntil": "2026-03-31T17:00:00Z"
}Response
Successfully updated a shift
Example response
{
"id": "019aa09f-0712-74cb-9186-8ad0eb6038dc_20240101T093000",
"scheduleId": "0199de9b-6bcb-77e7-941d-3caf74b9a372",
"name": "Morning Shift",
"color": "00FFAA",
"capacity": 1,
"start": "2025-01-01T06:00:00Z",
"end": "2025-01-01T14:00:00Z",
"timezone": "America/Denver",
"recurrenceRule": "FREQ=WEEKLY;INTERVAL=1",
"recurrenceId": "20240101T090000",
"recurrenceDtstart": "2024-01-01T09:00:00Z",
"recurrenceDtend": "2024-12-31T23:59:59Z",
"recurrenceUntil": "2024-12-31T23:59:59Z",
"employeeIds": [
10,
20
],
"createdAt": "2025-01-01T06:00:00Z",
"updatedAt": "2025-01-01T06:00:00Z",
"deletedAt": "2025-01-01T06:00:00Z"
}