Overrides
Take a page (or hand it off) for a finite window without changing the rotation.
Overrides
An override reassigns on-call coverage for a specific time window. It wins over fixed shifts and rotations.
Use cases:
- "I'll cover for Bob this evening"
- "Page Carol for the next 2 hours, I'm in a meeting"
- Holiday coverage that doesn't repeat
List overrides
GET /oncall/schedules/{schedule_id}/overrides
bashcurl https://happyuptime.com/api/v1/oncall/schedules/sch_abc123/overrides \ -H "Authorization: Bearer hu_..."
json{ "data": [ { "id": "ovr_xyz", "schedule_id": "sch_abc123", "layer_id": "lyr_p1", "user_id": "usr_carol", "starts_at": "2026-04-17T20:00:00Z", "ends_at": "2026-04-17T22:00:00Z", "note": "Covering for Alice", "created_by": "usr_alice" } ]}
Create override
POST /oncall/schedules/{schedule_id}/overrides
Layer to override. Omit to override the entire schedule (top layer).
Who's covering. Must be a member of the project.
ISO 8601 timestamp.
ISO 8601 timestamp. Must be after starts_at.
Free-form note shown in timeline and Slack DMs.
json{ "layer_id": "lyr_p1", "user_id": "usr_carol", "starts_at": "2026-04-17T20:00:00Z", "ends_at": "2026-04-17T22:00:00Z", "note": "Covering for Alice during her meeting"}
Update override
PATCH /oncall/overrides/{id}
Update times, user, or note.
Delete override
DELETE /oncall/overrides/{id}
Restores normal rotation/shift coverage immediately.