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

# Create holiday calendar

`POST /v1/holiday-calendar`

## Request

- Base URL: `https://sandbox.pismolabs.io/holidays-core`
- URL: `https://sandbox.pismolabs.io/holidays-core/v1/holiday-calendar`
- Auth: HTTP bearer

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: Client-created external ID
  - `holidays` PresenterCreateNewHolidayRequest2[]: Holidays array
    - `name` string, required: Holiday name
    - `holiday_date` string, required: Holiday date. Format = yyyy-mm-dd.
    - `description` string: Holiday description
    - `metadata` Metadata: A valid JSON schema as specified in https://json-schema.org/specification.html. Used to register rules used to authorize the transaction. **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](ref:get-started-with-pismo-apis#metadata).
  - `metadata` Metadata: A valid JSON schema as specified in https://json-schema.org/specification.html. Used to register rules used to authorize the transaction. **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](ref: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 `0` = Sunday, `1` = Monday, ..., `6` = Saturday. Default = `[1, 2, 3, 4, 5]`.

## Response `201`

Created

- PresenterCreateHolidayCalendarResponse
  - `external_id` string: Client-created external ID
  - `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` Metadata: A valid JSON schema as specified in https://json-schema.org/specification.html. Used to register rules used to authorize the transaction. **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](ref: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` Metadata: A valid JSON schema as specified in https://json-schema.org/specification.html. Used to register rules used to authorize the transaction. **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](ref: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 `0` = Sunday, `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.dev/pismo/apis/platform-setup-holidays.md) - [All operations](https://skmtc.dev/pismo/apis/platform-setup-holidays/llms.txt) - [OpenAPI document](https://skmtc.dev/pismo/apis/platform-setup-holidays/revisions/53e8339180bd?raw)
