Update Shift
Changed onUpdates 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. If updatedAt is provided and no longer matches the stored value, the update is rejected with 409.
OAuth Scopes: scheduling:shifts.write, time_tracking.write
Request
- Base URLhttps://companySubDomain.bamboohr.com
- Auth
- HTTP basic
- or OAuth 2Authorization code/authorize.phpToken URL/token.phpScopesscheduling:shifts.write
- or OAuth 2Authorization code/authorize.phpToken URL/token.phpScopestime_tracking.write
- TypeScriptA function with typed inputs. Its response is checked against the schema.
Path parameters
The shift uuid
Request body
Example request
{
"name": "Front Desk - Morning",
"color": "00FFAA",
"capacity": 3,
"claimable": true,
"claimsRequireApproval": true,
"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",
"updatedAt": "2026-01-14T00: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,
"claimsRequireApproval": true,
"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"
}Changes
- warning
the
/request property's max was set to999.00 - info
the security scope
scheduling:shifts.writewas added to the endpoint's security schemeoauth - info
the security scope
time_tracking.writewas removed from the endpoint's security schemeoauth - info
added the new optional request property
- info
added the new optional request property
- info
added the new optional request property
- info
added the non-success response with the status
- info
added the required property
to the response with the status - info
added the required property
to the response with the status
- warning