Holidays
Public API

Update Company Holiday

Changed on

Updates a company holiday with a JSON Merge Patch (RFC 7396) document. Only the fields present in the patch change; countryCodes, audience, and holidayPay replace their stored blocks wholesale when supplied. Send null for endDate to revert to a single-day holiday and null for holidayPay to clear the pay treatment. globalHolidayUuid is read-only and rejected if present.

OAuth Scopes: holidays.write

patch/api/v1/holidays/{id}

Request

Path parameters

idinteger required

The company holiday ID.

Request body

namestring

The name of the holiday. 1-255 characters.

startDatestring date

The start date of the holiday.

endDatestring date nullable

The end date of the holiday. Must be greater than or equal to startDate. Send null to clear it and revert to a single-day holiday.

isPublicboolean

Whether the holiday is visible to all employees on calendars, independent of audience.

countryCodesstring[]

Country filter as ISO 3166-1 alpha-2 codes. Replaces the stored country filter wholesale; an empty array removes the filter.

Example request

{
  "name": "Independence Day",
  "startDate": "2026-07-04",
  "endDate": "2026-07-05",
  "countryCodes": [
    "US",
    "CA"
  ],
  "holidayPay": {
    "defaultHours": "8.00",
    "hoursByEmploymentStatus": [
      {
        "employmentStatusListValueId": 17946,
        "hours": "5.00"
      }
    ],
    "multiplier": "1.50"
  }
}

Response

The updated company holiday.

idinteger

The ID of the holiday

namestring

The name of the holiday

startDatestring date

The start date of the holiday

endDatestring date nullable

The end date of the holiday. Null for single-day holidays.

isPublicboolean

Whether the holiday is visible to all employees on calendars, independent of audience

countryCodesstring[]

Country filter as ISO 3166-1 alpha-2 codes. Empty means no country filter.

globalHolidayUuidstring uuid nullable

UUID of the global catalog entry this holiday was sourced from. Null for custom holidays.

createdAtstring date-time

ISO 8601 timestamp when the holiday was created

updatedAtstring date-time

ISO 8601 timestamp when the holiday was last updated

deletedAtstring date-time nullable

ISO 8601 timestamp when the holiday was soft-deleted. Null for active holidays.

Example response

{
  "id": 42,
  "name": "Independence Day",
  "startDate": "2026-07-04",
  "endDate": "2026-07-05",
  "countryCodes": [
    "US",
    "CA"
  ],
  "holidayPay": {
    "defaultHours": "8.00",
    "hoursByEmploymentStatus": [
      {
        "employmentStatusListValueId": 17946,
        "hours": "5.00"
      }
    ],
    "multiplier": "1.50"
  },
  "createdAt": "2026-04-30T18:00:00Z",
  "updatedAt": "2026-04-30T18:00:00Z"
}

Changes