---
title: "Get Requests"
method: GET
path: "/v1/time-off/requests"
---

# Get Requests

`GET /v1/time-off/requests`

## Request

- Base URL: `https://app.untetherlabs.com/api`
- URL: `https://app.untetherlabs.com/api/v1/time-off/requests`
- Auth: HTTP bearer

Get all time off requests. Can be filtered if necessary.

## Query parameters

- `providerId` string, uuid: Filter to requests for a specific provider.
- `teamId` union: Filter to requests for providers in specific teams.
  - string, uuid
  - string[]
- `policyId` union: Filter to requests for specific policies.
  - string, uuid
  - string[]
- `startDate` string: Filter to requests whose start date is on or after the given timestamp.
- `endDate` string: Filter to requests whose end date is earlier than the provided timestamp.
- `status` 'pending' | 'approved' | 'rejected' | 'cancelled' | 'pending_sync' | 'sync_failed'
- `query` string
- `expand` string: Available expansions: `policy`, `provider`, `rejectedBy` See [Query Parameters](/using-the-api/query-parameters) for more information on expansions.
- `sort` string: Available fields: `createdAt`, `startDate` See [Query Parameters](/using-the-api/query-parameters) for more information on sorting.
- `pageSize` number
- `cursor` string

## Response `200`

- GetRequestsResponse
  - `items` TimeOffRequest[], required
    - `id` string, uuid, required
    - `createdAt` string, required
    - `status` 'pending' | 'approved' | 'rejected' | 'cancelled' | 'pending_sync' | 'sync_failed', required
    - `startDate` string, required
    - `endDate` string, required
    - `policyId` string, uuid, required
    - `policy` TimeOffPolicy
      - `id` string, uuid, required
      - `createdAt` string, required
      - `type` 'bereavement' | 'floating-holiday' | 'holiday-pay' | 'jury-duty' | 'learning-and-development' | 'paid-time-off' | 'vacation' | 'parental-leave' | 'personal-day' | 'sick' | 'volunteer' | 'weather' | 'wellness' | 'flex-day' | 'marriage-code' | 'unpaid-day' | 'absence' | 'custom', required
      - `name` string, required
      - `description` string, nullable, required
      - `accrualUnit` 'hours' | 'days', required
      - `yearlyAccrual` number, nullable: Allowance granted per accrual period, in `accrualUnit`.
      - `accrualPeriodRRule` string, nullable: RRULE describing when the balance resets.
      - `properties` unknown
      - `payCodeId` string, uuid, nullable, required: The pay code for which associated time will be paid out.
      - `payCode` PayCode
        - `id` string, uuid, required
        - `name` string, required
        - `shorthandName` string, required
        - `hexColor` string, required
        - `type` 'hours' | 'days' | 'money', required
        - `value` number, required
      - `enrolled` boolean: Only with `defaultsForProviderId`: whether that provider is enrolled in this policy.
      - `suggested` boolean: Only with `defaultsForProviderId`: most of the provider’s active teammates hold this policy. For vacation policies, only the single most common one is suggested.
      - `teammateCount` integer: Only with `defaultsForProviderId`: number of the provider’s active teammates enrolled in this policy.
    - `providerId` string, uuid, required
    - `provider` Provider
      - `id` string, uuid, required
      - `name` string, nullable, required
      - `email` string, required
      - `hireDate` string, nullable, required
      - `jobTitle` string, nullable, required: The provider's job title.
      - `status` 'onboarding' | 'active' | 'dismissed' | 'unmanaged', required
      - `teamId` string, uuid, nullable, required
      - `licensedRegions` string[], required
      - `employmentType` string, uuid, nullable, required
    - `note` string, nullable, required
    - `dailyHours` TimeOffDayEntry[], required: Represents the number of hours requested off for each day in the time off request.
      - `date` string, required: ISO timestamp of the date for the daily hours.
      - `duration` number, required: Number of hours requested off for this day.
    - `paidHours` number, required: The total number of hours that will be paid out for this time off request.
    - `rejectedById` string, uuid: Only present for rejected time off requests, the user who rejected the request.
    - `rejectedBy` User
      - `id` string, uuid, required
      - `type` 'user' | 'bot', required
      - `name` string, required
      - `email` string, required
      - `status` 'onboarding' | 'active' | 'dismissed' | 'unmanaged', required
      - `isAdmin` boolean, required
    - `rejectionReason` string, nullable: Only present for rejected time off requests, reason may be null for unspecified.
    - `syncError` object, nullable: Present for pending_sync requests, contains the latest Rippling sync status and error message.
      - `status` 'success' | 'failed', required
      - `message` string, nullable, required
      - `createdAt` string, required
    - `conflictResolution` 'delete' | 'deleteWithOpen' | 'callout' | 'calloutWithOpen' | 'keep' | 'keepWithOpen' | 'null', nullable: The shift conflict resolution strategy selected when this request was approved.
    - `isFullDay` boolean, nullable: Whether the request blocks whole calendar days rather than the dailyHours windows. Null for requests created before this field existed; treated as full-day when the policy accrues in days.
  - `cursor` string

## Other responses

- `400`: We follow the [RFC-9457](https://www.rfc-editor.org/rfc/rfc9457.html) Problem Detail specification for error responses. Errors should be identified by their `type` field. You can view extensions for each error response below.

---

[API](https://skmtc.dev/untetherlabs/apis/untether-labs-api.md) - [All operations](https://skmtc.dev/untetherlabs/apis/untether-labs-api/llms.txt) - [OpenAPI document](https://skmtc.dev/untetherlabs/apis/untether-labs-api/revisions/143223935df3?raw)
