On-call
Who gets paged when an escalation path's notify_on_call step runs. A schedule has rotation layers, where members take turns, and overrides, where someone covers for a while. Overrides win over every layer; where layers overlap, the top one wins. On-call is part of the Team plan and up.
List on-call schedules
Returns the team's schedules, by name, each with who is on call now and the next handoff.
query Parameters
pagePage number, from 1.
per_pageSchedules per page, 1 to 100.
List on-call schedules › Responses
Paginated set of OnCallSchedule
current_pagefirst_page_urlfromlast_page_urllast_pageGenerated paginator links.
next_page_urlpathBase path for paginator generated URLs.
per_pageNumber of items shown per page.
prev_page_urltoNumber of the last item in the slice.
totalTotal number of items being paginated.
Create an on-call schedule
The schedule starts empty: nobody is on call until you add a rotation layer. Needs a plan
with on-call (403 PLAN_FEATURE_UNAVAILABLE).
Create an on-call schedule › Request Body
nameName, up to 255 characters
timezoneIANA time zone the rotations' dates, handoffs and restrictions are in
descriptionWhat the schedule covers, up to 1000 characters
Create an on-call schedule › Responses
The new schedule.
idSchedule ID
nameName
descriptionWhat the schedule covers
timezoneIANA time zone the rotations' dates, handoffs and restrictions are in
next_handoff_atWhen the person on call changes next, within 4 weeks
Rotation layers, top first
Overrides that haven't ended
Escalation paths with a step that pages this schedule
created_atWhen the schedule was created
Get an on-call schedule
Returns the schedule with its rotation layers, upcoming overrides, who is on call now and the escalation paths that page it.
path Parameters
scheduleSchedule ID.
Get an on-call schedule › Responses
The schedule.
idSchedule ID
nameName
descriptionWhat the schedule covers
timezoneIANA time zone the rotations' dates, handoffs and restrictions are in
next_handoff_atWhen the person on call changes next, within 4 weeks
Rotation layers, top first
Overrides that haven't ended
Escalation paths with a step that pages this schedule
created_atWhen the schedule was created
Update an on-call schedule
Changes only the fields you send.
path Parameters
scheduleSchedule ID.
Update an on-call schedule › Request Body
nameName
descriptionWhat the schedule covers
timezoneIANA time zone. Rotations keep their dates and wall-clock handoff times in the new zone
Update an on-call schedule › Responses
The updated schedule.
idSchedule ID
nameName
descriptionWhat the schedule covers
timezoneIANA time zone the rotations' dates, handoffs and restrictions are in
next_handoff_atWhen the person on call changes next, within 4 weeks
Rotation layers, top first
Overrides that haven't ended
Escalation paths with a step that pages this schedule
created_atWhen the schedule was created
Get a schedule's timeline
Who is on call between from and to (default: now and 14 days later; at most 62 days):
each layer's shifts, the overrides, and the result, which is who actually gets paged.
path Parameters
scheduleSchedule ID.
query Parameters
fromStart of the window, ISO 8601. Default now.
toEnd of the window, ISO 8601, at most 62 days after from. Default 14 days after from.
Get a schedule's timeline › Responses
The timeline of the window.
fromStart of the window
toEnd of the window
timezoneThe schedule's time zone
Each layer's shifts, top layer first
Override shifts
Who actually gets paged when: overrides first, then the highest layer. Gaps are absent
Get who is on call
Add a rotation layer
New layers go below the existing ones unless position is given. Participants must be
members of the team (422).
path Parameters
scheduleSchedule ID.
Add a rotation layer › Request Body
nameName, up to 255 characters
shift_unitThe unit of the shift length
hours Absolute hours: shifts keep their length across DST changes. |
days Calendar days in the schedule's time zone: the handoff stays at the same wall-clock time. |
weeks Calendar weeks in the schedule's time zone. |
shift_lengthShift length in shift_units: up to 720 hours, 90 days or 12 weeks
start_date^\d{4}-\d{2}-\d{2}$ · requiredThe first handoff's date in the schedule's time zone; turns are counted from it
handoff_timeHandoff time as HH:MM in the schedule's time zone
positionLayer order, 0 for the top. Default: below the existing layers
participant_ids1 to 50 team members taking turns, in order
Add a rotation layer › Responses
The new rotation layer.
idRotation ID
nameName
positionLayer order; 0 is the top layer and wins where layers overlap
shift_unitThe unit of the shift length
hours Absolute hours: shifts keep their length across DST changes. |
days Calendar days in the schedule's time zone: the handoff stays at the same wall-clock time. |
weeks Calendar weeks in the schedule's time zone. |
shift_lengthShift length in shift_units
start_dateThe first handoff's date in the schedule's time zone
handoff_timeHandoff time as HH:MM in the schedule's time zone
The members taking turns, in order
created_atWhen the rotation was created
Update a rotation layer
Changes only the fields you send; participant_ids replaces the members taking turns.
path Parameters
scheduleSchedule ID.
rotationRotation ID.
Update a rotation layer › Request Body
nameName
positionMove the layer to this position, 0 for the top; the others shift
shift_unitThe unit of the shift length
hours Absolute hours: shifts keep their length across DST changes. |
days Calendar days in the schedule's time zone: the handoff stays at the same wall-clock time. |
weeks Calendar weeks in the schedule's time zone. |
shift_lengthShift length in shift_units
start_date^\d{4}-\d{2}-\d{2}$The first handoff's date
handoff_timeHandoff time as HH:MM
participant_idsMembers taking turns, in order; replaces the current ones
Update a rotation layer › Responses
The updated rotation layer.
idRotation ID
nameName
positionLayer order; 0 is the top layer and wins where layers overlap
shift_unitThe unit of the shift length
hours Absolute hours: shifts keep their length across DST changes. |
days Calendar days in the schedule's time zone: the handoff stays at the same wall-clock time. |
weeks Calendar weeks in the schedule's time zone. |
shift_lengthShift length in shift_units
start_dateThe first handoff's date in the schedule's time zone
handoff_timeHandoff time as HH:MM in the schedule's time zone
The members taking turns, in order
created_atWhen the rotation was created
Add an override
Has a team member cover the schedule from starts_at to ends_at, at most 90 days.
Overrides win over every layer; where overrides overlap, the newest wins.
path Parameters
scheduleSchedule ID.
Add an override › Request Body
member_idThe member who covers
starts_atFrom when, as an ISO 8601 date and time
ends_atUntil when; after starts_at
noteWhy, for the team; up to 500 characters
Add an override › Responses
The new override.
idOverride ID
Who covers
starts_atFrom when
ends_atUntil when
noteWhy, for the team
created_atWhen it was added