> ## Documentation Index
> Fetch the complete documentation index at: https://docs.happyuptime.com/llms.txt
> Use this file to discover all available pages before exploring further.

# 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`

```bash
curl 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.