---
title: "Update On Call Schedule Hours"
method: PUT
path: "/on-call-schedule/hours"
tags: ["On-Call Schedule"]
---

# Update On Call Schedule Hours

`PUT /on-call-schedule/hours`

Replace the full set of per-weekday on-call windows.

An empty list means on-call 24/7 (the queue reconciler always runs).
end_time <= start_time means the window crosses midnight into the next day.

## Request body

- UpdateOnCallScheduleHoursRequest
  - `hours` OnCallScheduleHoursEntry[], required — Full replacement set of weekday windows; an empty list means on-call 24/7
    - `weekday` integer, required — Weekday, 0=Monday .. 6=Sunday
    - `enabled` boolean — Whether there is an on-call window on this weekday
    - `start_time` string, time, required — Window start (firm timezone)
    - `end_time` string, time, required — Window end; end <= start means the window crosses midnight

## Response `200`

Successful Response

- OnCallScheduleHoursResponse[]
  - `weekday` integer, required — Weekday, 0=Monday .. 6=Sunday
  - `enabled` boolean, required — Whether there is an on-call window on this weekday
  - `start_time` string, time, required — Window start (firm timezone)
  - `end_time` string, time, required — Window end; end <= start means the window crosses midnight into the next day

## Other responses

- `422` — Validation Error

---

[API](https://skmtc.dev/openintake/apis/fastapi.md) · [All operations](https://skmtc.dev/openintake/apis/fastapi/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/openintake/fastapi/revisions/4a81645b59f6/schema)
