---
title: "Create a business calendar"
method: POST
path: "/calendars"
tags: ["dags"]
---

# Create a business calendar

`POST /calendars`

## Request

- Base URL: `http://localhost/api/v1`
- URL: `http://localhost/api/v1/calendars`
- Auth: one of:
  - HTTP bearer
  - HTTP basic
  - none

Creates the calendar file <name>.yaml. Without spec, the file starts as Monday to Friday with no holidays. Requires the write_dags permission and the developer role or above.

## Query parameters

- `remoteNode` string

## Request body

- CreateCalendarRequest
  - `name` string, required: Name of a business calendar: a built-in one, or the file <name>.yaml in paths.calendars_dir
  - `spec` string: The calendar file's content; a template when omitted

## Response `201`

Calendar created

- object
  - `name` string, required: Name of a business calendar: a built-in one, or the file <name>.yaml in paths.calendars_dir

## Other responses

- `400`: Reserved name, or content that is not a valid calendar
- `403`: Calendar writes are not permitted
- `409`: A calendar file has the name
- `default`: Unexpected error

## Changes

> 208 revisions in range; 1 not diffed.

- **2026-11-01** (v1) `d6b5f3398212`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/dagucloud/apis/dagu/changes/calendars/post.md)

---

[API](https://skmtc.dev/dagucloud/apis/dagu.md) - [All operations](https://skmtc.dev/dagucloud/apis/dagu/llms.txt) - [OpenAPI document](https://skmtc.dev/dagucloud/apis/dagu/revisions/4f7617b01d17?raw)
