Skip to main content

Update Shift

Update an existing staff shift. Only include the fields you want to change.

Endpointโ€‹

PATCH /v1/staff/shifts/{id}

Authenticationโ€‹

Requires an API key with the staff:write scope.

Path Parametersโ€‹

ParameterTypeDescription
idintegerThe shift ID

Request Bodyโ€‹

ParameterTypeRequiredDescription
start_timestringNoStart time (HH:MM)
end_timestringNoEnd time (HH:MM)
location_idinteger|nullNoLocation for the shift
shift_notesstring|nullNoNotes for the shift (max 1000 characters)
break_settingbooleanNoEnable break
break_typestringNoBreak type
break_timestringNoBreak duration in minutes
break_paymentstringNoBreak payment: paid or unpaid
remove_breakbooleanNoSet to true to remove break settings

Responseโ€‹

Success (200 OK)โ€‹

{
"data": {
"id": 15,
"staff": {
"id": 5,
"first_name": "Jane",
"last_name": "Smith"
},
"staff_id": 5,
"location": null,
"location_id": null,
"shift_date": "2026-03-15",
"start_time": "10:00:00",
"end_time": "18:00:00",
"duration_calculation": "8 hours",
"break_setting": false,
"break_type": null,
"break_time": null,
"break_payment": null,
"shift_notes": "Updated notes",
"status": "Updated",
"publish_type": null,
"created_at": "2026-03-10T08:00:00+00:00",
"updated_at": "2026-03-10T09:30:00+00:00"
},
"meta": {
"request_id": "req_abc123",
"timestamp": "2026-03-10T09:30:00+00:00"
}
}
info

Updating a shift automatically sets its status to Updated and recalculates the duration.

Errorsโ€‹

StatusCodeDescription
401authentication_requiredNo API key provided
401invalid_api_keyInvalid API key
403insufficient_scopeAPI key lacks staff:write scope
403forbiddenShift belongs to a different supplier
404not_foundShift not found
422validation_errorInvalid request body

Example Requestโ€‹

curl -X PATCH "https://app.equipdash.com/api/v1/staff/shifts/15" \
-H "Authorization: Bearer eqd_live_abc123xyz789..." \
-H "Content-Type: application/json" \
-d '{
"start_time": "10:00",
"end_time": "18:00",
"shift_notes": "Updated notes"
}'