---
title: "Get Shifts"
method: GET
path: "/scheduling/shifts"
tags: ["scheduling"]
deprecated: true
---

# Get Shifts

`GET /scheduling/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/shifts`
- Auth: HTTP bearer

> **Deprecated.**

DEPRECATED hourly view of shift blocks. Use GET /scheduling/shift-blocks.

Lossy by construction: a shift paints every hour it overlaps by any amount,
and overlapping shifts have their seats merged into one list ordered
most-recently-started first, so index 0 is the incoming operator during a
handoff. Retires when ops-view moves to the calendar.

## Query parameters

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

## Response `200`

Successful Response

- GetShiftsResponse
  - `cells` ShiftCellModel[], required: Every non-empty (group, date, hour) cell in the requested range, seats in order (index 0 = primary).
    - `group_id` string, uuid, required: The coverage group this cell belongs to.
    - `shift_date` string, date, required: Center-local calendar date of the cell.
    - `hour` integer, required: Center-local hour of day (0-23).
    - `operator_ids` string[], required: Seated operators in seat order - index 0 is the PRIMARY, who bears a miss for this hour.
  - `operator_names` object, required: operator_id -> display name for every operator appearing in cells.

## 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/00252d8227c1?raw)
