---
title: "List Shift Assessments"
method: GET
path: "/api/v1/scheduling/shift-assessments"
tags: ["Scheduling", "Public API"]
---

# List Shift Assessments

`GET /api/v1/scheduling/shift-assessments`

Lists shift assessments matching the given filters. A filter is required and must include at least one of: employeeId, shiftId, or a date filter (eq/gt/ge/lt/le on date). Results are scoped to the assessments the authenticated user may view.

OAuth Scopes: scheduling:shifts

## Query parameters

- `filter` string
- `sort` string
- `page` integer
- `pageSize` integer

## Response `200`

Shift assessments retrieved successfully

- object
  - `data` SchedulingSchedulingShiftAssessmentV1[] — Collection of shift assessments
    - `id` string, uuid, required — The unique ID of this assessment.
    - `shiftId` string, uuid, nullable — The ID of the shift this assessment is for. Null for unscheduled-work assessments.
    - `employeeId` integer, required — The ID of the employee this assessment is for.
    - `date` string, date, required — The date of the shift or clock entry in the local timezone of the shift.
    - `result` 'compliant' | 'violation', required — The assessment result.
    - `violations` SchedulingSchedulingShiftAssessmentViolationV1[], required — The violations associated with this assessment.
      - `assessmentId` string, uuid, required — The ID of the assessment this violation belongs to.
      - `type` 'missed' | 'late_clock_in' | 'early_clock_out' | 'late_clock_out' | 'unscheduled', required — The type of violation.
      - `amount` integer, nullable — The magnitude of the violation in minutes, where applicable.
      - `employeeTimesheetClockEntryId` integer, nullable — The clock entry ID associated with this violation, where applicable.
    - `createdAt` string, date-time, nullable — UTC timestamp when the assessment was created.
    - `updatedAt` string, date-time, nullable — UTC timestamp when the assessment was last updated.
  - `meta` object
    - `totalItems` integer — Total number of shift assessments matching the filter.
    - `page` integer — Current page number.
    - `pageSize` integer — Number of items per page.
  - `_links` object
    - `prev` object — Link to the previous page.
      - `href` string, nullable — URL for the previous page, or null if on the first page.
    - `next` object — Link to the next page.
      - `href` string, nullable — URL for the next page, or null if on the last page.

## Other responses

- `400` — Bad request
- `422` — Invalid input — missing or invalid filter, or pageSize exceeds maximum
- `500` — Internal server error

---

[API](https://skmtc.net/bamboohr/apis/bamboohr-api.md) · [All operations](https://skmtc.net/bamboohr/apis/bamboohr-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/bamboohr/bamboohr-api/versions/19ebf391a399/schema)
