---
title: "POST /calendars"
method: POST
path: "/calendars"
tags: ["calendars"]
---

# POST /calendars

`POST /calendars`

Creates a secondary calendar.
The authenticated user for the request is made the data owner of the new calendar.

Note: We recommend to authenticate as the intended data owner of the calendar. You can use domain-wide delegation of authority to allow applications to act on behalf of a specific user. Don't use a service account for authentication. If you use a service account for authentication, the service account is the data owner, which can lead to unexpected behavior. For example, if a service account is the data owner, data ownership cannot be transferred.

## Request body

- Calendar
  - `conferenceProperties` ConferenceProperties
    - `allowedConferenceSolutionTypes` string[] — The types of conference solutions that are supported for this calendar. The possible values are: - "eventHangout" - "eventNamedHangout" - "hangoutsMeet" Optional.
  - `id` string — Identifier of the calendar. To retrieve IDs call the calendarList.list() method.
  - `timeZone` string — The time zone of the calendar. (Formatted as an IANA Time Zone Database name, e.g. "Europe/Zurich".) Optional.
  - `dataOwner` string — The email of the owner of the calendar. Set only for secondary calendars. Read-only.
  - `summary` string — Title of the calendar.
  - `etag` string — ETag of the resource.
  - `description` string — Description of the calendar. Optional.
  - `kind` string — Type of the resource ("calendar#calendar").
  - `labelProperties` LabelProperties
    - `eventLabels` EventLabel[] — Event labels defined on this calendar. If this is present when updating the calendar, it will replace the existing event labels. Extend the list to add a new event label, and remove entities from the list to delete a label from calendar. Each calendar can have a maximum of 200 labels.
      - `backgroundColor` string — Background color of the label in hexadecimal format, such as "#039be5". Events with this label are displayed in this color. Required.
      - `name` string — Name of the label. Optional. If provided this must have at most 50 characters.
      - `id` string — The ID of the label. Optional when inserting a new label. If not provided, a unique ID will be generated. Required when updating a label. If provided, the ID must be unique within the calendar and follow UUID format.
  - `autoAcceptInvitations` boolean — Whether this calendar automatically accepts invitations. Only valid for resource calendars.
  - `location` string — Geographic location of the calendar as free-form text. Optional.

## Response `200`

Successful response

---

[API](https://skmtc.net/google/apis/calendar.md) · [All operations](https://skmtc.net/google/apis/calendar/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/google/calendar/revisions/8a9c54b56c55/schema)
