On-call

Update an on-call schedule

Changes only the fields you send.

patch/on-call-schedules/{schedule}

Request

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

Path parameters

schedulestring uuid required

Schedule ID.

Request body

namestring

Name

descriptionstring nullable

What the schedule covers

timezonestring

IANA time zone. Rotations keep their dates and wall-clock handoff times in the new zone

Example request

{
  "name": "Primary",
  "timezone": "Europe/Amsterdam"
}

Response

The updated schedule.

idstring uuid required

Schedule ID

namestring required

Name

descriptionstring nullable required

What the schedule covers

timezonestring required

IANA time zone the rotations' dates, handoffs and restrictions are in

next_handoff_atstring date-time nullable required

When the person on call changes next, within 4 weeks

created_atstring date-time required

When the schedule was created

Example response

{
  "name": "Primary",
  "timezone": "Europe/Amsterdam",
  "current": {
    "member": {
      "name": "Jane Doe",
      "email": "jane@example.com"
    }
  },
  "next": {
    "member": {
      "name": "Jane Doe",
      "email": "jane@example.com"
    }
  },
  "rotations": [
    {
      "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"
        }
      ]
    }
  ],
  "overrides": [
    {
      "member": {
        "name": "Jane Doe",
        "email": "jane@example.com"
      },
      "note": "Covering for Jane's holiday",
      "created_by": {
        "name": "Jane Doe",
        "email": "jane@example.com"
      }
    }
  ],
  "used_by": [
    {
      "name": "On-call engineers"
    }
  ]
}

Changes

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