---
title: "Reads all Open shifts"
method: GET
path: "/api/2026-10-01/resources/attendance/open_shifts"
tags: ["Attendance > OpenShift"]
---

# Reads all Open shifts

`GET /api/2026-10-01/resources/attendance/open_shifts`

## Request

- Base URL: `https://api.factorialhr.com`
- URL: `https://api.factorialhr.com/api/2026-10-01/resources/attendance/open_shifts`
- Auth: one of:
  - OAuth 2
    - Authorization code: `https://id.factorialhr.com/oauth/authorize`
    - Token URL: `https://id.factorialhr.com/api/oauth/token` scopes: `time_tracking`
  - API key in header `x-api-key`

Returns the currently open shifts. If `employee_ids` is provided, results are
filtered to those employees. If `employee_ids` is omitted, callers holding the
SeeAttendancePeriods permission (e.g. admin API keys) receive every open shift
in the company; other callers receive only their own open shift.

## Query parameters

- `employee_ids[]` string[]: Optional. Employee ids to filter the open shifts by. When omitted, callers holding the SeeAttendancePeriods permission receive all open shifts in the company; other callers receive only their own open shift.

## Response `200`

OK

- object
  - `data` AttendanceOpenShift[]
    - `id` string, required: Open Shift identifier.
    - `employee_id` string, required: Employee identifier from the open shift.
    - `date` string, required: Date of the open shift.
    - `reference_date` string, required: Reference date for the shift
    - `clock_in` string, required: Clock in time from the shift. Ignore the date part.
    - `clock_out` string: For open shifts, this field is null.
    - `status` 'opened' | 'closed' | 'created', required: Status of the shift
    - `workable` boolean, required: Indicates if the shift is a break or a workable shift.
    - `automatic_clock_in` boolean, required: Indicates if the shift is automatic or not
    - `location_type` string: String representing the location type of the shift. Examples work_from_home, office, etc.
    - `workplace_id` string: Identifier for the workplace assinged to the shift.
    - `time_settings_break_configuration_id` string: If the shift is a break, this field will have the break configuration id.
  - `meta` PagedIndexMeta
    - `start_cursor` string
    - `end_cursor` string
    - `has_previous_page` boolean, required
    - `has_next_page` boolean, required
    - `limit` integer, required
    - `total` integer, required

## Changes

- **2026-11-03** `83ac9aa1de50`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/factorialhr/apis/factorial-api/changes/api/2026-10-01/resources/attendance/open_shifts/get.md)

---

[API](https://skmtc.dev/factorialhr/apis/factorial-api.md) - [All operations](https://skmtc.dev/factorialhr/apis/factorial-api/llms.txt) - [OpenAPI document](https://skmtc.dev/factorialhr/apis/factorial-api/revisions/83ac9aa1de50?raw)
