---
title: "Get time off request"
method: GET
path: "/v2/time_off_requests/{time_off_request_id}"
tags: ["time_off_requests"]
---

# Get time off request

`GET /v2/time_off_requests/{time_off_request_id}`

## Request

- Base URL: `https://api.hubstaff.com`
- URL: `https://api.hubstaff.com/v2/time_off_requests/{time_off_request_id}`
- Auth: OAuth 2
  - Authorization code: `https://account.hubstaff.com/authorizations/new`
  - Token URL: `https://account.hubstaff.com/access_tokens` scopes: `hubstaff:read`, `hubstaff:write`
- TypeScript: <https://skmtc.dev/hubstaff/apis/hubstaff-v2-api/docs/v2/time_off_requests/:time_off_request_id/get.ts> (a function with typed inputs; its response is checked against the schema)

Returns the time off request with the given ID.

Includes time_off_request_days with per-day breakdown of dates, amounts, and holiday/paid status.

Also includes balance_preview showing the policy balance impact.

Callers without an organization management role can only access their own requests and those of members of teams they lead with time off approval enabled. Other requests return 404.

## Path parameters

- `time_off_request_id` integer, required

## Response `200`

A time off request with its balance preview

- TimeOffRequestWithBalancePreview: TimeOffRequestWithBalancePreview model
  - `time_off_request` TimeOffRequest, required: TimeOffRequest model
    - `id` integer, required: Time edit log ID
    - `user_id` integer, required: User ID
    - `time_off_policy_id` integer, required: Time off request ID
    - `status` string, required: Status
    - `all_day` boolean, required: Time off request for all day (User's time zone)
    - `starts_at` string, date-time, required: Time off request start time
    - `stops_at` string, date-time, required: Time off request stop time
    - `submitted_at` string, date-time: Time off request submission time
    - `approved_at` string, date-time: Time off request approving time
    - `denied_at` string, date-time: Time off request denial time
    - `paid` boolean, required: If the time off request has been paid
    - `amount_used` integer, required: Time off request amount used
    - `message` string: message
    - `response` string: response
    - `created_by_id` integer, required: User ID from creator
    - `approved_by_id` integer: Approving User ID
    - `denied_by_id` integer: Denying User ID
    - `team_payment_detail_id` integer: Team payment detail ID
    - `team_payment_id` integer: Team payment ID
    - `time_off_request_days` TimeOffRequestDay[], required: Individual work days covered by this time off request
      - `date` string, date, required: Date of the time off day
      - `amount_used` integer, required: Amount of time used in seconds for this day
      - `starts_at` string, date-time, required: Start time for this specific day
      - `stops_at` string, date-time, required: Stop time for this specific day
      - `holiday` boolean, required: Whether this day is a holiday
      - `paid` boolean, required: Whether this day has been paid
    - `attachment_original_filename` string: Original filename of the attachment, present only with an attachment
    - `attachment_url` string, uri: Attachment download URL, expires in 2 hours, present only with an attachment
    - `created_at` string, date-time, required: When the record was created
    - `updated_at` string, date-time, required: When the record was last updated
  - `balance_preview` TimeOffBalancePreview, required
    - `starting_balance` TimeOffBalanceAmount, required
      - `current` integer, required: Value for the year the request starts in
      - `next` integer: Value for the next year, only for two-year requests
    - `pending_approval` TimeOffBalanceAmount, required
      - `current` integer, required: Value for the year the request starts in
      - `next` integer: Value for the next year, only for two-year requests
    - `amount_left` TimeOffBalanceAmount, required
      - `current` integer, required: Value for the year the request starts in
      - `next` integer: Value for the next year, only for two-year requests
    - `amount_used` TimeOffBalanceAmount, required
      - `current` integer, required: Value for the year the request starts in
      - `next` integer: Value for the next year, only for two-year requests
    - `holiday_hours` TimeOffBalanceAmount, required
      - `current` integer, required: Value for the year the request starts in
      - `next` integer: Value for the next year, only for two-year requests

## Other responses

- `400`: Invalid parameters
- `401`: Unauthorized
- `403`: API access is only for organizations on an active plan
- `404`: Could not find record
- `429`: Rate limit exceeded

---

[API](https://skmtc.dev/hubstaff/apis/hubstaff-v2-api.md) - [All operations](https://skmtc.dev/hubstaff/apis/hubstaff-v2-api/llms.txt) - [OpenAPI document](https://skmtc.dev/hubstaff/apis/hubstaff-v2-api/revisions/c6b90e4e4bdc?raw)
