Update a shift
Updates a shift. For a shift in a recurring series, the scope query parameter controls whether the change applies to just this occurrence (this, the default), this and later occurrences (following), or the entire series (all).
POST
/v1/shifts/{id}
Authorizations
Section titled “Authorizations”Parameters
Section titled “Parameters”Query Parameters
Section titled “Query Parameters”scope
string
Request Bodyrequired
Section titled “Request Bodyrequired”Media typeapplication/json
object
startDate
required
string format: date-time
endDate
required
string format: date-time
isSplit
boolean
splitEndTime
string format: date-time
splitStartTime
string format: date-time
templateId
required
integer
tempId
required
string
notes
string
visibility
required
string
Example
{ "startDate": "2026-01-01T09:00:00.000Z", "endDate": "2026-01-01T09:00:00.000Z", "isSplit": true, "splitEndTime": "2026-01-01T09:00:00.000Z", "splitStartTime": "2026-01-01T09:00:00.000Z", "templateId": 0, "tempId": "string", "notes": "string", "visibility": "public"}Responses
Section titled “Responses”The updated shift
Media typeapplication/json
object
item
required
object
id
required
integer
startDate
required
string format: date-time
endDate
required
string format: date-time
isSplit
boolean
splitEndTime
string format: date-time
splitStartTime
string format: date-time
userId
required
integer
templateId
required
integer
tempId
required
string
notes
string
visibility
required
string
seriesId
integer
Example
{ "item": { "id": 0, "startDate": "2026-01-01T09:00:00.000Z", "endDate": "2026-01-01T09:00:00.000Z", "isSplit": true, "splitEndTime": "2026-01-01T09:00:00.000Z", "splitStartTime": "2026-01-01T09:00:00.000Z", "userId": 0, "templateId": 0, "tempId": "string", "notes": "string", "visibility": "public", "seriesId": 0 }}