Bulk Create Company Holidays
Changed onCreates multiple company holidays in one synchronous call. Each record follows the single-create semantics: it may be fully-specified or carry a globalHolidayUuid that seeds name, dates, and countries from the global catalog entry (mix-and-match within the same request). Records are processed in request order.
OAuth Scopes: holidays.write
Request
- Base URLhttps://companySubDomain.bamboohr.com
- Auth
- HTTP basic
- or OAuth 2Authorization code/authorize.phpToken URL/token.phpScopesholidays.write
- TypeScriptA function with typed inputs. Its response is checked against the schema.
Query parameters
When true, the entire batch is committed in a single transaction and any per-record failure aborts the whole request with a 422 (no records are created). When false, each record commits independently and failures are reported per record in a 207 response. Accepted values: true/false, 1/0, yes/no, on/off.
When true, each entry in the response records array also includes the full created company holiday under the record key. Accepted values: true/false, 1/0, yes/no, on/off.
Request body
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
All records were created successfully.
Example response
{
"status": "success",
"operation": "insert",
"totalRequested": 3,
"totalProcessed": 2,
"failed": 1,
"errors": [
{
"recordIndex": 1,
"type": "https://api.bamboohr.com/problems/conflict",
"title": "Catalog holiday already imported.",
"status": 409,
"detail": "The supplied globalHolidayUuid already exists on an active company holiday.",
"code": "catalog_holiday_already_imported"
}
],
"records": [
{
"id": 101,
"status": "inserted",
"httpStatus": 201,
"record": {
"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
- info
endpoint added
- info