Creates a new override shift from provided data. If any existing override shifts overlap with the specified time range, they will be automatically deleted and replaced by the new override.
curl --request POST \
--url https://api.rootly.com/v1/schedules/{schedule_id}/override_shifts \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/vnd.api+json' \
--data '
{
"data": {
"type": "shifts",
"attributes": {
"starts_at": "2023-11-07T05:31:56Z",
"ends_at": "2023-11-07T05:31:56Z",
"user_id": 123
}
}
}
'{
"data": {
"id": "74fd48ee-a54f-4d0e-adc3-decf8e9d50ed",
"type": "shifts",
"attributes": {
"schedule_id": "0a6be2f4-bf61-4eba-abe8-0424e07f1b53",
"rotation_id": null,
"user_id": 749,
"starts_at": "2026-01-24T00:59:24.000-08:00",
"ends_at": "2026-01-24T22:59:24.000-08:00",
"is_override": true
},
"relationships": {
"shift_override": {
"data": {
"id": "7436d6af-1e2b-4ce2-a3f8-d159f0e269a9",
"type": "shift_overrides"
}
},
"user": {
"data": {
"id": "749",
"type": "users"
}
},
"assignee": {
"data": {
"id": "749",
"type": "users"
}
}
}
}
}Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Show child attributes
returns assignee relationship when schedule nesting enabled
Show child attributes
Was this page helpful?
curl --request POST \
--url https://api.rootly.com/v1/schedules/{schedule_id}/override_shifts \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/vnd.api+json' \
--data '
{
"data": {
"type": "shifts",
"attributes": {
"starts_at": "2023-11-07T05:31:56Z",
"ends_at": "2023-11-07T05:31:56Z",
"user_id": 123
}
}
}
'{
"data": {
"id": "74fd48ee-a54f-4d0e-adc3-decf8e9d50ed",
"type": "shifts",
"attributes": {
"schedule_id": "0a6be2f4-bf61-4eba-abe8-0424e07f1b53",
"rotation_id": null,
"user_id": 749,
"starts_at": "2026-01-24T00:59:24.000-08:00",
"ends_at": "2026-01-24T22:59:24.000-08:00",
"is_override": true
},
"relationships": {
"shift_override": {
"data": {
"id": "7436d6af-1e2b-4ce2-a3f8-d159f0e269a9",
"type": "shift_overrides"
}
},
"user": {
"data": {
"id": "749",
"type": "users"
}
},
"assignee": {
"data": {
"id": "749",
"type": "users"
}
}
}
}
}