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โ
| Parameter | Type | Description |
|---|---|---|
id | integer | The shift ID |
Request Bodyโ
| Parameter | Type | Required | Description |
|---|---|---|---|
start_time | string | No | Start time (HH:MM) |
end_time | string | No | End time (HH:MM) |
location_id | integer|null | No | Location for the shift |
shift_notes | string|null | No | Notes for the shift (max 1000 characters) |
break_setting | boolean | No | Enable break |
break_type | string | No | Break type |
break_time | string | No | Break duration in minutes |
break_payment | string | No | Break payment: paid or unpaid |
remove_break | boolean | No | Set 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โ
| Status | Code | Description |
|---|---|---|
| 401 | authentication_required | No API key provided |
| 401 | invalid_api_key | Invalid API key |
| 403 | insufficient_scope | API key lacks staff:write scope |
| 403 | forbidden | Shift belongs to a different supplier |
| 404 | not_found | Shift not found |
| 422 | validation_error | Invalid 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"
}'