---
title: "Get Company Holiday"
method: GET
path: "/api/v1/holidays/{id}"
tags: ["Holidays", "Public API"]
---

# Get Company Holiday

`GET /api/v1/holidays/{id}`

## Request

- Base URL: `https://companySubDomain.bamboohr.com`
- URL: `https://companySubDomain.bamboohr.com/api/v1/holidays/{id}`
- Auth: one of:
  - HTTP basic
  - OAuth 2
    - Authorization code: `/authorize.php`
    - Token URL: `/token.php` scopes: `holidays`
- TypeScript: <https://skmtc.dev/bamboohr/apis/bamboohr-api/docs/api/v1/holidays/:id/get.ts> (a function with typed inputs; its response is checked against the schema)

Gets a company holiday by ID.

OAuth Scopes: holidays

## Path parameters

- `id` integer, required

## Response `200`

The company holiday.

- HolidayCompanyHolidayV1: A company holiday
  - `id` integer: The ID of the holiday
  - `name` string: The name of the holiday
  - `startDate` string, date: The start date of the holiday
  - `endDate` string, date, nullable: The end date of the holiday. Null for single-day holidays.
  - `isPublic` boolean: Whether the holiday is visible to all employees on calendars, independent of audience
  - `countryCodes` string[]: Country filter as ISO 3166-1 alpha-2 codes. Empty means no country filter.
  - `audience` HolidayCompanyHolidayAudienceV1: Defines which employees a company holiday applies to
    - `mode` 'ALL_EMPLOYEES' | 'FILTERED' | 'SPECIFIC_EMPLOYEES': How the holiday audience is determined
    - `filterListValueIds` integer[]: List-value IDs that filter the audience. Only populated in FILTERED mode.
    - `specificEmployeeIds` integer[]: Employee IDs that define the audience. Only populated in SPECIFIC_EMPLOYEES mode.
    - `additionalEmployeeIds` integer[]: Employee IDs explicitly included on top of the mode's default audience.
    - `exemptEmployeeIds` integer[]: Employee IDs explicitly excluded from the mode's default audience.
  - `holidayPay` HolidayCompanyHolidayPayV1, nullable: Pay treatment for a company holiday
    - `mode` 'HOURS_BY_STATUS' | 'MULTIPLIER': How holiday pay is calculated
    - `defaultHours` string, nullable: Catch-all hours applied to employment statuses without an override. Only populated in HOURS_BY_STATUS mode.
    - `hoursByEmploymentStatus` HolidayCompanyHolidayPayStatusHoursV1[]: Per-employment-status hour overrides. Only populated in HOURS_BY_STATUS mode.
      - `employmentStatusListValueId` integer: List-value ID from the company's Employment Status list
      - `hours` string: Paid hours for the employment status
    - `multiplier` string, nullable: Pay rate multiplier. Only populated in MULTIPLIER mode.
  - `globalHolidayUuid` string, uuid, nullable: UUID of the global catalog entry this holiday was sourced from. Null for custom holidays.
  - `createdAt` string, date-time: ISO 8601 timestamp when the holiday was created
  - `updatedAt` string, date-time: ISO 8601 timestamp when the holiday was last updated
  - `deletedAt` string, date-time, nullable: ISO 8601 timestamp when the holiday was soft-deleted. Null for active holidays.

## Other responses

- `401`: Unauthorized. Missing or invalid authentication.
- `403`: Forbidden. Insufficient permissions.
- `404`: Holiday not found.

## Changes

- **2026-11-03** `922fc15f43a7`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/bamboohr/apis/bamboohr-api/changes/api/v1/holidays/:id/get.md)

---

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