Layers are managed separately. See Rotation Layers for
endpoints that add, update, or remove rotation layers from a schedule.
GET /oncall/schedules
List all on-call schedules for your organization. Returns schedule metadata only — to include rotation layers, fetch an individual schedule with GET /oncall/schedules/{scheduleId}.
Response fields
Array of schedule objects.
Error codes
POST /oncall/schedules
Create a new on-call schedule for your organization. The name must be unique within your org.
Request body
Display name for the schedule. Must be unique within your organization. 1–255
characters.
Optional description of the schedule’s purpose.
IANA timezone identifier for the schedule, e.g.
America/Chicago. All
rotation layer handoff times are interpreted in this timezone.Response fields
The created schedule object.
Error codes
GET /oncall/schedules/{scheduleId}
Retrieve a single schedule by ID, including all of its rotation layers.
Path parameters
The UUID of the schedule to retrieve.
Response fields
The schedule object with its rotation layers.
Error codes
PATCH /oncall/schedules/{scheduleId}
Update one or more fields on a schedule. All fields are optional — only the fields you include are updated.
Path parameters
The UUID of the schedule to update.
Request body
New display name for the schedule. Must be unique within your organization.
1–255 characters.
Updated description. Pass
null to clear the description.New IANA timezone identifier. Changing the timezone affects how all existing
rotation layer handoff times are interpreted.
Response fields
The updated schedule object (metadata only — does not include layers).
Error codes
DELETE /oncall/schedules/{scheduleId}
Delete a schedule and all of its rotation layers. This action is permanent and cannot be undone.
Path parameters
The UUID of the schedule to delete.
Response fields
true when the schedule was deleted.Error codes
GET /oncall/schedules/{scheduleId}/resolve
Resolve who is currently on call for a schedule. Returns three views in one response: the Schedule Owner (a single user for the incident Lead), the Paging Targets (the full set of users an escalation policy targeting this schedule would page), and the Current On-call View (a richer, position-ordered breakdown including override provenance).
By default this returns the resolution at the current time. Pass the optional at query parameter to resolve at a specific moment.
The Schedule Owner is the lowest-positioned currently-active rotation layer’s resolved participant — with the schedule’s active override applied if one is in effect. If position 0 is between effective windows, owner resolution falls through to the next-lowest position.
Path parameters
The UUID of the schedule to query.
Query parameters
ISO 8601 datetime to resolve on-call for. Defaults to the current server time
if omitted. Example:
2026-06-15T14:00:00.000Z.Response fields
The on-call resolution result.