---
title: "Retrieve time off requests"
method: GET
path: "/v1/org/{orgId}/timeoff"
tags: ["timeoff"]
---

# Retrieve time off requests

`GET /v1/org/{orgId}/timeoff`

## Path parameters

- `orgId` string, required

## Query parameters

- `personId` string
- `fromDate` string, date
- `untilDate` string, date
- `from` string
- `limit` integer
- `returnAccess` string

## Response `200`

successful operation

- ResultsTimeOffEntity
  - `data` TimeOffEntity[], required
    - `id` string, required — globally unique id of time off
    - `orgId` string, required — org that the time off belongs to
    - `personId` string, required — person taking the time off
    - `externalId` string — external identifier, if time off synced from external system
    - `startDate` string, date, required — start date of time off, inclusive
    - `startDatePartialDay` number — portion of the start date to take
    - `startDatePartialDayPeriod` 'AM' | 'PM' — Portion of the start day requested (e.g. AM or PM)
    - `endDate` string, date, required — end date of time off, inclusive
    - `endDatePartialDay` number — portion of the end date to take
    - `endDatePartialDayPeriod` 'AM' | 'PM' — Portion of the end day requested (e.g. AM or PM)
    - `days` number — number of days used
    - `hours` number — number of hours used
    - `typeDescription` string — type of time off
    - `timeOffPolicyId` string — policy id to pull the balance from
    - `note` string — notes on the time off
    - `approval` 'APPROVED' | 'PENDING' | 'CANCELLED' | 'REJECTED' | 'SUPERSEDED' — approval status of the time off
    - `approvalAt` string — timestamp of approval
    - `approvalUserId` string — user who either is the next one requesting approval, or the user who did the final approval or rejection
    - `createId` string — created by user id
    - `createBehalfId` string — created on behalf of user id
    - `createAttribution` Attribution
      - `principalUserId` string
      - `agentUserIds` string[]
      - `eventId` string
      - `aiChatId` string
      - `aiToolUseId` string
      - `channel` 'WEB' | 'MOBILE' | 'SLACK' | 'TEAMS' | 'MCP'
    - `createAt` string — created timestamp
    - `updateAt` string — updated timestamp
    - `updateId` string — updated by user id
    - `updateBehalfId` string — last updated on behalf of user id
    - `updateAttribution` Attribution
      - `principalUserId` string
      - `agentUserIds` string[]
      - `eventId` string
      - `aiChatId` string
      - `aiToolUseId` string
      - `channel` 'WEB' | 'MOBILE' | 'SLACK' | 'TEAMS' | 'MCP'
    - `deleteId` string — deleted by user id
    - `deleteBehalfId` string — deleted on behalf of user id
    - `deleteAttribution` Attribution
      - `principalUserId` string
      - `agentUserIds` string[]
      - `eventId` string
      - `aiChatId` string
      - `aiToolUseId` string
      - `channel` 'WEB' | 'MOBILE' | 'SLACK' | 'TEAMS' | 'MCP'
    - `deleteAt` string — deleted timestamp
    - `requestAt` string — requested at timestamp -- often the same as createAt
  - `next` string
  - `access` ResultsAccess[]
    - `ids` string[]
    - `allowed` AccessAction[], required
      - `action` string, required
      - `fields` string[]
      - `types` string[]

## Other responses

- `400` — bad request
- `401` — not authorized
- `404` — not found
- `500` — Not Implemented

---

[API](https://skmtc.net/charthop/apis/charthop-api.md) · [All operations](https://skmtc.net/charthop/apis/charthop-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/charthop/charthop-api/versions/50a1edd6b27e/schema)
