---
title: "Create Event"
method: POST
path: "/api/calendars/{calendar_public_id}/events"
tags: ["Events"]
---

# Create Event

`POST /api/calendars/{calendar_public_id}/events`

## Request

- Base URL: `https://addcal.co`
- URL: `https://addcal.co/api/calendars/{calendar_public_id}/events`
- Auth: none required

## Query parameters

- `with_html` boolean: Include HTML variants for calendar links in the response

## Request body

- object
  - `title` string, required: Must not be greater than 255 characters.
  - `internal_name` string, nullable: Must not be greater than 255 characters.
  - `is_draft` boolean, nullable
  - `description` string, nullable
  - `location` string, nullable: Must not be greater than 255 characters.
  - `is_all_day` boolean, nullable
  - `recurrence_rule` string, nullable
  - `series_title` string, nullable: Must not be greater than 255 characters.
  - `has_rsvp` boolean, nullable
  - `date_start` string, required: Must be a valid date.
  - `date_end` string, required: Must be a valid date. Must be a date after or equal to <code>date_start</code>.
  - `timezone` string, required: Must be a valid time zone, such as <code>Africa/Accra</code>.
  - `busy_type` 'busy' | 'free', nullable
  - `reminder_before` integer, nullable: Must be at least 0.
  - `short_link` string, nullable: Must match the regex /^[a-zA-Z0-9-]+$/. Must not be greater than 50 characters.

## Response `200`

- object
  - `data` object
    - `uid` string
    - `public_id` string
    - `calendar_uid` string
    - `short_link` string, nullable
    - `title` string
    - `internal_name` string, nullable
    - `is_draft` boolean
    - `description` string
    - `location` string, nullable
    - `is_all_day` boolean
    - `has_rsvp` boolean
    - `has_calendar_invites` boolean
    - `rsvp_limit` string, nullable
    - `is_recurring` boolean
    - `recurrence_rule` string, nullable
    - `recurrence_text` string, nullable
    - `date_start` string
    - `date_end` string
    - `timezone` string
    - `busy_type` string, nullable
    - `reminder_before` string, nullable
    - `date_range_formatted` string
    - `public_url` string
    - `embed_url` string
    - `location_url` string, nullable
    - `image_url` string, nullable
    - `timezone_readable` string
    - `calendar` object
      - `uid` string
      - `public_id` string
      - `short_link` string, nullable
      - `name` string
      - `internal_name` string, nullable
      - `description` string
      - `timezone` string
      - `week_begins` integer
      - `public_url` string
      - `created_at` string
      - `updated_at` string
    - `created_at` string
    - `updated_at` string
  - `links` object
    - `event_page` string
    - `auto` string
    - `google` string
    - `apple` string
    - `outlook` string
    - `outlook_web` string
    - `yahoo` string
    - `office365` string
    - `ics` string
  - `html` object
    - `single-button` string
    - `icon-buttons-single-row` string
    - `icons` string
    - `dot-sep` string
    - `space-sep` string

## Other responses

- `409`: When the team's event limit has been exceeded

---

[API](https://skmtc.dev/addcal/apis/addcal-api-documentation.md) · [All operations](https://skmtc.dev/addcal/apis/addcal-api-documentation/llms.txt) · [OpenAPI document](https://skmtc.dev/addcal/apis/addcal-api-documentation/revisions/addd0607e492?raw)
