Create a holiday calendar
Applies a country's public holidays, or your own feed, to some hosts as ordinary out of office entries, kept up to date by coss.com. A host who removes one keeps it removed.
bearerAuthAuthorizationBearer <token>A secret API key from the dashboard: coss_live_… for production environments, coss_test_… for sandbox environments.
Coss-Version?"2026-10-10"The API version (a date) to use for this request. Defaults to your organization's version, pinned to the latest one when it first used the API and upgraded from the dashboard. The SDK always sends the version it was built for.
"2026-10-10"application/json- body
- body
- …
name*string1 <= length <= 200country?stringA code from the list of holiday calendars, such as GB.
ics_url?stringYour own feed, https or webcal, read in live environments. Stored encrypted.
urilength <= 2000hosts?array<string>These hosts, by id or uid.
items <= 1000host_filter?Everyone matching these attributes, asked again at every sync.
regions?array<>Which regional holidays apply, matched against how the calendar names them, such as England. Without this, all of them do; empty, only nationwide ones.
items <= 50delegates?array<string>Who can be booked in their place on those days, by id or uid, in order.
items <= 10existing_bookings?stringWhat happens to bookings already on a holiday. leave (the default) only reports them. reassign moves them.
"leave""reassign"The calendar.
application/json- response
- response
- …
object*"scheduling.holiday_calendar""scheduling.holiday_calendar"id*stringname*stringsource*string"country""ics"country*string|nullhosts*array<string>|nullhost_filter*|nullregions*array<string>|nulldelegates*array<string>existing_bookings*string"leave""reassign"last_read_at*string|nulllast_error*|Why its feed couldn't be read.
created_at*stringupdated_at*stringimport { Coss } from "coss";const coss = new Coss({ apiKey: process.env.COSS_API_KEY, baseUrl: "https://api.coss.com",});const { data, error } = await coss.scheduling.holidayCalendars.create({ name: "UK team", country: "GB", host_filter: { team: "london", },});{ "object": "scheduling.holiday_calendar", "id": "hcal_01kd2m9a0b1c2d3e4f5g6h7j8m", "name": "UK team", "source": "country", "country": "GB", "hosts": null, "host_filter": { "team": "london" }, "regions": [ "England" ], "delegates": [], "existing_bookings": "leave", "last_read_at": "2027-01-01T10:00:00.000Z", "last_error": null, "created_at": "2027-01-01T10:00:00.000Z", "updated_at": "2027-01-01T10:00:00.000Z"}