---
title: "Retrieve a single shift by id"
method: GET
path: "/shifts/{id}"
tags: ["Shifts"]
---

# Retrieve a single shift by id

`GET /shifts/{id}`

## Request

- Base URL: `https://app.hireart.com/api/v2`
- URL: `https://app.hireart.com/api/v2/shifts/{id}`
- Auth: HTTP bearer

## Path parameters

- `id` string, required

## Response `200`

Successful response

- Shift
  - `object` 'shift', required
  - `id` string, required
  - `worker_id` string, nullable
  - `assignment_id` string, nullable
  - `pay_cycle_id` string, nullable
  - `date` string, date, nullable
  - `status` 'draft' | 'submitted' | 'approved' | 'null', nullable
  - `description` string, nullable
  - `reference_number` string, nullable
  - `submission` ShiftSubmission
    - `object` 'shift_submission', required
    - `auto_submitted` boolean, nullable
    - `submitted_at` string, date-time, nullable
  - `hours` ShiftHours
    - `object` 'shift_hours', required
    - `total_hours` number, nullable
    - `payable_hours` number, nullable
    - `reported_by_employee` EmployeeReportedHours
      - `object` 'employee_reported_hours', required
      - `break` number, nullable
      - `holiday_non_worked` number, nullable
      - `starts_at` string, date-time, nullable
      - `ends_at` string, date-time, nullable
    - `reported_by_employer` EmployerReportedHours
      - `object` 'employer_reported_hours', required
      - `break_override` number, nullable
      - `holiday_non_worked_override` number, nullable
      - `total_hours_worked_override` number, nullable
  - `approval` ShiftApproval
    - `object` 'shift_approval', required
    - `approved_at` string, date-time, nullable
    - `auto_approved` boolean, nullable
    - `approved_by` PersonSummary
      - `object` 'person', required
      - `id` string, required
      - `full_name` string, nullable
      - `first_name` string, nullable
      - `last_name` string, nullable
      - `email` string, nullable
      - `phone` string, nullable

## Other responses

- `401`: Unauthorized
- `404`: Not found
- `429`: Rate limit exceeded (100 requests per 60 seconds per API key)
- `500`: Internal server error

---

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