---
title: "Get Support Shifts"
method: GET
path: "/scheduling/support-shifts"
tags: ["scheduling"]
---

# Get Support Shifts

`GET /scheduling/support-shifts`

## Request

- Base URL: `https://api.verdun.ai` (the document declares no server; this is the origin it was published from)
- URL: `https://api.verdun.ai/scheduling/support-shifts`
- Auth: HTTP bearer

Support shifts overlapping [start, end] (at most 62 days), each with its
ordered on-call list and every seated person's display name.

## Query parameters

- `start` string, date, required
- `end` string, date, required

## Response `200`

Successful Response

- GetSupportShiftsResponse
  - `shifts` SupportShiftModel[], required: Every support shift overlapping the requested range, ordered by start. Overlaps are normal - a handoff is two of them.
    - `id` string, uuid, required: The support shift ID. Stable across move and resize.
    - `shift_date` string, date, required: Center-local calendar date the shift STARTS on.
    - `start_minute` integer, required: Minutes after local midnight of shift_date (0-1439, multiple of 15).
    - `end_minute` integer, required: Minutes after local midnight of shift_date. Exceeds 1440 for an overnight shift; at most start_minute + 1440.
    - `end_day_offset` integer, required: 0 when the shift ends on shift_date, 1 when it runs past midnight.
    - `notes` string, nullable: Free-form notes about the shift.
    - `seats` SupportShiftSeatModel[], required: On-call list in seat order - index 0 is the PRIMARY. May be EMPTY: an unassigned block reads as a gap in the rotation.
      - `id` string, uuid, required: The seat's own ID.
      - `shift_id` string, uuid, required: The support shift this seat belongs to.
      - `operator_id` string, uuid, required: The person on call in this seat.
      - `operator_name` string, required: Display name of the seated person, so a read-only viewer needs no GET /operator/ call to render the rotation.
      - `seat_order` integer, required: Position on call, contiguous from 0: 0 is the PRIMARY, 1 the backup, 2+ further backups.
    - `created_at` string, date-time, nullable: When the shift was created.
    - `updated_at` string, date-time, nullable: When the shift was last changed.

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/verdun/apis/verdun-api.md) - [All operations](https://skmtc.dev/verdun/apis/verdun-api/llms.txt) - [OpenAPI document](https://skmtc.dev/verdun/apis/verdun-api/revisions/35a2a6ebedda?raw)
