Driftwatch

APIs / PagerDuty

PagerDuty API changes

Breaking changes, deprecations and new fields in the PagerDuty API, as they ship.

PagerDutyPagerDuty REST API · c07afaed8 breaking2 additive
  • Breaking

    start_time is now required

    Partial payloads are rejected.

    2 places: UpdateEventRequest.event.start_time, UpdateOverrideRequest.override.start_time
    Code that breaks
    await client.post("/…", {
      // …
      start_time: /* now required */,
    });
  • Breaking

    end_time is now required

    Partial payloads are rejected.

    2 places: UpdateOverrideRequest.override.end_time, UpdateEventRequest.event.end_time
    Code that breaks
    await client.post("/…", {
      // …
      end_time: /* now required */,
    });
  • Breaking

    recurrence is now required

    Partial payloads are rejected.

    UpdateEventRequest.event.recurrence · reachable from 1 operation
    Code that breaks
    await client.post("/…", {
      // …
      recurrence: /* now required */,
    });
  • Breaking

    assignment_strategy is now required

    UpdateEventRequest.event.assignment_strategy · reachable from 1 operation
    Code that breaks
    await client.post("/…", {
      // …
      assignment_strategy: /* now required */,
    });
  • Breaking

    effective_since is now required

    UpdateEventRequest.event.effective_since · reachable from 1 operation
    Code that breaks
    await client.post("/…", {
      // …
      effective_since: /* now required */,
    });
  • Breaking

    name is now required

    UpdateEventRequest.event.name · reachable from 1 operation
    Code that breaks
    await client.post("/…", {
      // …
      name: /* now required */,
    });
  • Breaking

    overriding_member is now required

    Partial payloads are rejected.

    UpdateOverrideRequest.override.overriding_member · reachable from 1 operation
    Code that breaks
    await client.post("/…", {
      // …
      overriding_member: /* now required */,
    });
  • Breaking

    type is now required

    UpdateOverrideRequest.override.type · reachable from 1 operation
    Code that breaks
    await client.post("/…", {
      // …
      type: /* now required */,
    });
2 new request properties
  • UpdateOverrideRequest.override.overridden_member
  • UpdateOverrideRequest.override.type
PagerDutyPagerDuty REST API · 6d58ee7a8 breaking2 behavioral3 additive
  • Breaking

    Response field limit removed

    Reads of this field return undefined, and the failure surfaces wherever that value is used rather than at the call.

    GET /v3/schedules/{id}/custom_shifts · limit · 2 call sites
    Code that breaks
    // response.limit is now undefined
    const limit = response.limit;
  • Breaking

    Response field more removed

    GET /v3/schedules/{id}/custom_shifts · more · 2 call sites
    Code that breaks
    // response.more is now undefined
    const more = response.more;
  • Breaking

    Response field offset removed

    GET /v3/schedules/{id}/custom_shifts · offset · 2 call sites
    Code that breaks
    // response.offset is now undefined
    const offset = response.offset;
  • Breaking

    end_time is now required

    Partial payloads are rejected.

    UpdateCustomShiftRequest.custom_shift.end_time · reachable from 1 operation
    Code that breaks
    await client.post("/…", {
      // …
      end_time: /* now required */,
    });
  • Breaking

    start_time is now required

    UpdateCustomShiftRequest.custom_shift.start_time · reachable from 1 operation
    Code that breaks
    await client.post("/…", {
      // …
      start_time: /* now required */,
    });
  • Breaking

    type is now required

    UpdateCustomShiftRequest.custom_shift.type · reachable from 1 operation
    Code that breaks
    await client.post("/…", {
      // …
      type: /* now required */,
    });
  • Breaking

    time_zone is now required

    Partial payloads are rejected.

    UpdateScheduleRequest.schedule.time_zone · reachable from 1 operation
    Code that breaks
    await client.post("/…", {
      // …
      time_zone: /* now required */,
    });
  • Breaking

    assignments is now required

    Partial payloads are rejected.

    UpdateCustomShiftRequest.custom_shift.assignments · reachable from 1 operation
    Code that breaks
    await client.post("/…", {
      // …
      assignments: /* now required */,
    });
  • Behavioral

    Pagination default for limit changed to 100

    Silent truncation. Code that does not paginate keeps working and quietly returns a different slice of the data.

    GET /v3/schedules/{id}/rotations · limit · 2 call sites
    Code that breaks
    // Unpaginated calls now return 100 items, previously 25
    const page = await client.get("/v3/schedules/{id}/rotations");
  • Behavioral

    Pagination default for limit changed to 25

    Silent truncation. Code that does not paginate keeps working and quietly returns a different slice of the data.

    GET /v3/schedules · limit
    Code that breaks
    // Unpaginated calls now return 25 items, previously 100
    const page = await client.get("/v3/schedules");
  • Additive

    user_id is now optional

    No action needed.

    GET /v3/schedules · user_id
2 new request properties
  • UpdateCustomShiftRequest.custom_shift.type
  • UpdateScheduleRequest.schedule.teams
PagerDutyPagerDuty REST API · 38daa03e2 additive
  • Additive

    Response field enabled added

    No action needed unless you validate responses against a closed schema.

    EmailContactMethod.enabled · reachable from 4 operations
  • Additive

    Request property enabled added

    No action needed unless it is required.

    EmailContactMethod.enabled · reachable from 4 operations
PagerDutyPagerDuty REST API · 3e1ec29d8 additive
PagerDutyPagerDuty REST API · 725ee3225 additive
PagerDutyPagerDuty REST API · fb503fd67 additive
2 new response fields
  • User.http_cal_url
  • User.web_cal_url
4 new request properties
  • User.http_cal_url
  • User.web_cal_url
  • user.http_cal_url
  • user.web_cal_url
PagerDutyPagerDuty REST API · 168308765 additive
PagerDutyPagerDuty REST API · 5b8fc61b4 additive