On-call

Update a rotation layer

Changes only the fields you send; participant_ids replaces the members taking turns.

patch/on-call-schedules/{schedule}/rotations/{rotation}

Request

  • Base URL
    https://api.spectate.net/v1
  • Auth
    HTTP bearer

Path parameters

schedulestring uuid required

Schedule ID.

rotationstring uuid required

Rotation ID.

Request body

namestring

Name

positioninteger

Move the layer to this position, 0 for the top; the others shift

shift_unit'hours' | 'days' | 'weeks'

The unit of a rotation's shift length.

hours <br/> Absolute hours: shifts keep their length across DST changes.
days <br/> Calendar days in the schedule's time zone: the handoff stays at the same wall-clock time.
weeks <br/> Calendar weeks in the schedule's time zone.
shift_lengthinteger

Shift length in shift_units

start_datestring date

The first handoff's date

handoff_timestring

Handoff time as HH:MM

participant_idsstring[]

Members taking turns, in order; replaces the current ones

Example request

{
  "name": "Weekly primary",
  "handoff_time": "09:00",
  "restrictions": {
    "start_time": "09:00",
    "end_time": "17:00"
  }
}

Response

The updated rotation layer.

idstring uuid required

Rotation ID

namestring required

Name

positioninteger required

Layer order; 0 is the top layer and wins where layers overlap

shift_unit'hours' | 'days' | 'weeks' required

The unit of a rotation's shift length.

hours <br/> Absolute hours: shifts keep their length across DST changes.
days <br/> Calendar days in the schedule's time zone: the handoff stays at the same wall-clock time.
weeks <br/> Calendar weeks in the schedule's time zone.
shift_lengthinteger required

Shift length in shift_units

start_datestring date required

The first handoff's date in the schedule's time zone

handoff_timestring required

Handoff time as HH:MM in the schedule's time zone

created_atstring date-time required

When the rotation was created

Example response

{
  "name": "Weekly primary",
  "shift_length": 1,
  "start_date": "2026-11-02",
  "handoff_time": "09:00",
  "restrictions": {
    "start_time": "09:00",
    "end_time": "17:00"
  },
  "participants": [
    {
      "name": "Jane Doe",
      "email": "jane@example.com"
    }
  ]
}

Changes

No recorded changes to this operation across all 1 revision of this API.