---
title: "Get time off policy"
method: GET
path: "/v2/time_off_policies/{time_off_policy_id}"
tags: ["time_off_policies"]
---

# Get time off policy

`GET /v2/time_off_policies/{time_off_policy_id}`

## Request

- Base URL: `https://api.hubstaff.com`
- URL: `https://api.hubstaff.com/v2/time_off_policies/{time_off_policy_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_policies/:time_off_policy_id/get.ts> (a function with typed inputs; its response is checked against the schema)

Returns the time off policy with the given ID.

Callers without an organization management role can only access policies they are an active member of. Other policies return 404.

## Path parameters

- `time_off_policy_id` integer, required

## Response `200`

A time off policy

- object
  - `time_off_policy` TimeOffPolicy: TimeOffPolicy model
    - `id` integer, required: Time off policy ID
    - `organization_id` integer, required: Organization ID
    - `created_at` string, date-time, required: When the record was created
    - `updated_at` string, date-time, required: When the record was last updated
    - `name` string, required: Time off policy name
    - `created_by_id` integer: User ID who created the policy
    - `auto_add_new_users` boolean, required: Automatically add new members to this policy
    - `allow_negative_balances` boolean, required: Member can request time off before having the balance for it.
    - `requires_approval` boolean, required: When false time off requests are automatically approved.
    - `balance_rolls_over_annually` boolean, required: balance rolls over annually
    - `paid` boolean, required: When true members will be paid for time off taken.
    - `status` string, required: Policy status
    - `policy_type` 'none' | 'annual' | 'monthly' | 'hours_worked' | 'joined_date', required: Type of policy. Submitted as `accrual_type` when creating a policy
    - `policy_config` object, required: Accrual configuration. Submitted as `accrual_policy` when creating or updating a policy
      - `starting_balance` number, float: Starting balance (hours)
      - `hours_per` integer: Hours per at amount accrued
      - `hours_worked` integer: Hours worked at amount accrued
      - `maximum_to_accrue` integer: Maximum amount of time off that can be accrued per year. (hours)
      - `hours_per_year` integer: Hours per year
      - `hours_per_month` number, float: Hours per month
      - `accrual_period` 'month' | 'year': Accrual period. If set to "month", hours_per_month is required. If set to "year", hours_per_year is required
      - `accrual_day` 'first_day_of_month' | 'monthly_anniversary' | 'last_day_of_month': Day of the month when accrual happens
      - `prorate_on_start` boolean: Whether to prorate time based on start date
    - `membership_rules` object
      - `countries` unknown, required
      - `employment_types` unknown, required

## 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

## Changes

- **2026-11-06** `c6b90e4e4bdc`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/hubstaff/apis/hubstaff-v2-api/changes/v2/time_off_policies/:time_off_policy_id/get.md)

---

[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)
