---
title: "Reads all Shifts"
method: GET
path: "/api/2026-07-01/resources/attendance/shifts"
tags: ["Attendance > Shift"]
---

# Reads all Shifts

`GET /api/2026-07-01/resources/attendance/shifts`

Reads all Shifts

## Query parameters

- `employee_ids[]` string[] — filter by employee ids.
- `start_on` string — filter by shift that starts after or including this date.
- `end_on` string — filter by shift that ends before or including this date.
- `ids[]` string[] — filter by ids.
- `half_day` boolean, required — Flag to filter half day shifts
- `workable` boolean — Flag to filter shifts in workable days
- `latest_shift` boolean — Flag to filter only the latest shift for each employee
- `sort_created_at_asc` boolean, required — Flag to sort by created_at asc
- `breaks_with_time_configuration` boolean — Flag to include breaks with time configuration
- `last_working_shift` boolean — Filter by last working shift
- `updated_at` string — Filter shifts by the date they were last updated

## Response `200`

OK

- object
  - `data` AttendanceShift[]
    - `id` string, required — Unique identifier for the shift
    - `employee_id` string, required — Identifier for the employee assigned to the shift
    - `date` string, required — Date of the shift
    - `reference_date` string, required — Reference date for the shift
    - `clock_in` string — Time when the employee clocked in
    - `clock_out` string — Time when the employee clocked out
    - `in_source` string — Source of the clock-in time
    - `out_source` string — Source of the clock-out time
    - `observations` string — Additional observations about the shift
    - `location_type` 'office' | 'business_trip' | 'work_from_home' — Type of location for the shift
    - `half_day` 'beginning_of_day' | 'end_of_day' — Indicates which worked part of the day
    - `in_location_latitude` number — Latitude of the clock-in location
    - `in_location_longitude` number — Longitude of the clock-in location
    - `in_location_accuracy` number — Accuracy of the clock-in location
    - `out_location_latitude` number — Latitude of the clock-out location
    - `out_location_longitude` number — Longitude of the clock-out location
    - `out_location_accuracy` number — Accuracy of the clock-out location
    - `workable` boolean — Indicates if the shift is workable
    - `created_at` string, required — Timestamp when the shift record was created
    - `workplace_id` string — Identifier for the location
    - `time_settings_break_configuration_id` string — Identifier for the break configuration
    - `company_id` string, required — Identifier for the company
    - `updated_at` string, required — Timestamp when the shift record was updated
    - `minutes` integer, required — Number in minutes of the shift
    - `clock_in_with_seconds` string — Clock in time with seconds
  - `meta` PagedIndexMeta
    - `start_cursor` string
    - `end_cursor` string
    - `has_previous_page` boolean, required
    - `has_next_page` boolean, required
    - `limit` integer, required
    - `total` integer, required

---

[API](https://skmtc.net/factorialhr/apis/factorial-api.md) · [All operations](https://skmtc.net/factorialhr/apis/factorial-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/factorialhr/factorial-api/revisions/1a6bffb20f7d/schema)
