---
title: "Create holiday calendar"
method: POST
path: "/v1/holiday-calendar"
tags: ["Holiday calendar"]
---

# Create holiday calendar

`POST /v1/holiday-calendar`

Creates a new holiday calendar with associated holidays. 

This endpoint does not generate an event.

## Request body

- PresenterCreateHolidayCalendarRequest
  - `name` string, required — Holiday calendar name. Must be unique per organization.
  - `type` string, required — Type, free-form field. For example, `Country` or `Region`.
  - `external_id` string — Customer-provided external ID field for customer monitoring and tracking.
  - `holidays` PresenterCreateNewHolidayRequest2[] — Holidays array
    - `name` string, required — Holiday name
    - `holiday_date` string, required — Holiday date. Format = yyyy-mm-dd.
    - `description` string — Holiday description
    - `metadata` string — Any data object with key/value pairs. No limit on length. **Note**: This field must not be used to send Personally Identifiable Information (PII), Payment Card Industry (PCI) data, or any sensitive/regulated information. Metadata fields are intended for operational, non-sensitive data only. For sensitive data, use the specific parameters designed for that purpose. For more information, refer to [Get started with Pismo APIs](https://developers.pismo.io/pismo-docs/reference/get-started-with-pismo-apis#metadata).
  - `metadata` string — Any data object with key/value pairs. No limit on length. **Note**: This field must not be used to send Personally Identifiable Information (PII), Payment Card Industry (PCI) data, or any sensitive/regulated information. Metadata fields are intended for operational, non-sensitive data only. For sensitive data, use the specific parameters designed for that purpose. For more information, refer to [Get started with Pismo APIs](https://developers.pismo.io/pismo-docs/reference/get-started-with-pismo-apis#metadata).
  - `parent_external_id` string — Client-created external ID for parent calendar. Refer to `parent_id` parameter for more information.
  - `parent_id` integer — Calendar parent ID. Holiday calendars can have parent-child relationships, creating a hierarchy. Child calendars inherit holidays from their parent calendars. Common use case: Country → State → City hierarchy Example: - Brazil (parent) - São Paulo (child of Brazil) - Campinas (child of São Paulo) When you query holidays for Campinas, you automatically get: - Campinas city holidays - São Paulo state holidays - Brazil national holidays You can reference the parent calendar using either: - `parent_id`: The internal parent calendar ID - `parent_external_id`: The parent calendar `external_id`
  - `working_days` integer[] — Working days array `1` = Monday, `6` = Saturday. Default = `[1, 2, 3, 4, 5]`.

## Response `201`

Created

- PresenterCreateHolidayCalendarResponse
  - `external_id` string — Customer-provided external ID field for customer monitoring and tracking.
  - `holiday_calendar_id` integer — Holiday calendar ID
  - `holidays` PresenterCreateNewHolidayResponse[]
    - `description` string — Holiday description
    - `holiday_date` string — Holiday date. Format = yyyy-mm-dd.
    - `holiday_id` integer — Holiday ID
    - `metadata` string — Any data object with key/value pairs. No limit on length. **Note**: This field must not be used to send Personally Identifiable Information (PII), Payment Card Industry (PCI) data, or any sensitive/regulated information. Metadata fields are intended for operational, non-sensitive data only. For sensitive data, use the specific parameters designed for that purpose. For more information, refer to [Get started with Pismo APIs](https://developers.pismo.io/pismo-docs/reference/get-started-with-pismo-apis#metadata).
    - `name` string — Holiday name
    - `working_date` string, date — Next work day following the holiday. Format = yyyy-mm-dd.
  - `metadata` string — Any data object with key/value pairs. No limit on length. **Note**: This field must not be used to send Personally Identifiable Information (PII), Payment Card Industry (PCI) data, or any sensitive/regulated information. Metadata fields are intended for operational, non-sensitive data only. For sensitive data, use the specific parameters designed for that purpose. For more information, refer to [Get started with Pismo APIs](https://developers.pismo.io/pismo-docs/reference/get-started-with-pismo-apis#metadata).
  - `name` string — Holiday name
  - `parent_external_id` string — Client-created external ID for parent calendar. Refer to `parent_id` parameter for more information.
  - `parent_id` integer — Calendar parent ID. Holiday calendars can have parent-child relationships, creating a hierarchy. Child calendars inherit holidays from their parent calendars. Common use case: Country → State → City hierarchy Example: - Brazil (parent) - São Paulo (child of Brazil) - Campinas (child of São Paulo) When you query holidays for Campinas, you automatically get: - Campinas city holidays - São Paulo state holidays - Brazil national holidays You can reference the parent calendar using either: - `parent_id`: The internal parent calendar ID - `parent_external_id`: The parent calendar `external_id`
  - `type` string — Type, free-form field. For example, `Country` or `Region`.
  - `working_days` integer[] — Working days array `1` = Monday, `6` = Saturday. Default = `[1, 2, 3, 4, 5]`.

## Other responses

- `400` — Bad request
- `404` — Not found
- `409` — Conflict
- `500` — Internal server error

---

[API](https://skmtc.net/pismo/apis/platform-authentication.md) · [All operations](https://skmtc.net/pismo/apis/platform-authentication/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/pismo/platform-authentication/revisions/935b62e16de4/schema)
