---
title: "Reads all Edit timesheet requests"
method: GET
path: "/api/2026-10-01/resources/attendance/edit_timesheet_requests"
tags: ["Attendance > EditTimesheetRequest"]
---

# Reads all Edit timesheet requests

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

## Request

- Base URL: `https://api.factorialhr.com`
- URL: `https://api.factorialhr.com/api/2026-10-01/resources/attendance/edit_timesheet_requests`
- 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`

Reads all Edit timesheet requests

## Query parameters

- `ids[]` string[]: Return only the timesheet-edit requests with these ids.
- `employee_ids[]` string[]: Return only the requests raised for these employees.
- `shift_id` string: Return only the requests targeting this existing attendance shift. Requests that propose a brand-new shift have no shift yet and are never matched.
- `pending` boolean: Set to true to return only the requests still awaiting a decision (`approved` is null). Passing false has no effect: it does not restrict the result to already-decided requests.
- `start_on` string: Return only the requests about a timesheet day on or after this date. This is the day the request refers to, not the day it was created. Given without `end_on` it matches that single day.
- `end_on` string: Return only the requests about a timesheet day on or before this date. Given without `start_on` it matches every request up to that day.

## Response `200`

OK

- object
  - `data` AttendanceEditTimesheetRequest[]
    - `id` string, required: Unique identifier for the edit timesheet request
    - `approved` boolean: Tri-state approval status — true = approved, false = rejected, null = pending approval
    - `request_type` 'create_shift' | 'delete_shift' | 'update_shift', required: What the request asks to do — one of `create_shift`, `update_shift`, `delete_shift`
    - `employee_id` string, required: Id of the shift's employee
    - `workable` boolean: Indicates if the shift is workable or a break
    - `clock_in` string: Clock in of the shift
    - `clock_out` string: Clock out of the shift
    - `location_type` 'office' | 'business_trip' | 'work_from_home': Location of the shift
    - `reason` string: Approve or reject reason
    - `attendance_shift_id` string: Id of the shift for the request
    - `time_settings_break_configuration_id` string: Id of the type of break for the request
    - `observations` string: Additional observations for the shift
    - `date` string: Date of the shift
    - `reference_date` string: Reference date for the shift
    - `workplace_id` string: Id of the workplace (location) for the shift
    - `clock_in_work_area_id` string: Id of the clock-in work area within the workplace
    - `clock_out_work_area_id` string: Id of the clock-out work area within the workplace
  - `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/edit_timesheet_requests/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)
