---
title: "/timeoff/requests"
method: GET
path: "/timeoff/requests"
---

# /timeoff/requests

`GET /timeoff/requests`

Returns a paginated collection of time off requests. Required scope: `r_timeoff`. Supports both user and account tokens.

**Account token** — when `employee_id`/`employee_ids` are omitted, returns all requests in the account.

**User token** — when `employee_id`/`employee_ids` are omitted, returns the user's own requests plus all direct and indirect descendants' requests. A user with the **time off requests view** permission receives all account requests.

## Query parameters

- `from_date` string, required
- `to_date` string
- `category_ids` string[]
- `states` string[]
- `employee_id` string
- `employee_ids` string[]
- `limit` 10 | 20 | 50 | 100
- `offset` integer

## Response `200`

200

- object
  - `total_count` integer — Total number of requests matching the query, ignoring `limit`/`offset`.
  - `requests` object[]
    - `id` string
    - `employee_id` string — SPI key of the employee the request belongs to
    - `from_date` string
    - `to_date` string
    - `formatted_period` string
    - `state` string
    - `requesting_total` integer
    - `timeoff_tracking_unit` 'full_days' | 'half_days' | 'hours'
    - `half_days` unknown[]
      - unknown
    - `updated_by` string
    - `updated_at` string
    - `category_name` string
    - `pending_approvals` object[] — List of approvals still awaiting action. Empty array when no approvals are pending.
      - `id` string — SPI key of the approval
      - `approver_id` string — Identifier of the member whose approval action is required

## Other responses

- `400` — 400

---

[API](https://skmtc.net/workable/apis/account-root.md) · [All operations](https://skmtc.net/workable/apis/account-root/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/workable/account-root/versions/3ead9ec42165/schema)
