---
title: "Calendar Event Submitted"
method: POST
path: "calendar.event.submitted"
tags: ["Webhook Types"]
---

# Calendar Event Submitted

`POST calendar.event.submitted` (webhook)

Triggered when an event is submitted to your calendar and is pending approval. This can be a Luma event or an external event. Use the `id` with the Approve Event or Reject Event endpoint to process the submission — with an organization API key, pass `submitted_to_calendar.id` as the `x-luma-calendar-id` header.

## Payload

- object
  - `type` 'calendar.event.submitted', required
  - `data` union, required
    - object
      - `platform` 'luma', required
      - `id` string, required — The event ID
      - `api_id` string — Deprecated, use id instead
      - `name` string, required
      - `url` string, required
      - `cover_url` string, required
      - `start_at` string, date-time, required — ISO 8601 Datetime. For example, 2022-10-19T03:27:13.673Z
      - `end_at` string, date-time, required — ISO 8601 Datetime. For example, 2022-10-19T03:27:13.673Z
      - `timezone` string, required
      - `calendar` object, nullable, required — The event's owning calendar.
        - `id` string, required
        - `name` string, required
        - `slug` string, nullable, required
        - `avatar_url` string, nullable, required
        - `url` string, required
        - `description` string, nullable, required
        - `social_image_url` string, nullable, required
        - `cover_image_url` string, nullable, required
        - `is_personal` boolean, required
        - `location` object, nullable, required — City the calendar is based in (e.g. for city calendars). Null when the calendar isn't tied to a place.
          - `city` string, required — City name, e.g. 'New York'.
          - `region` string, nullable, required — State or province, e.g. 'New York' or 'California'.
          - `country` string, nullable, required — Country name, e.g. 'United States'. Null for cities in disputed territories where Google omits the country.
          - `country_code` string, nullable, required — ISO 3166-1 alpha-2 country code, e.g. 'US'.
          - `timezone` string, required — IANA timezone of the city, e.g. 'America/New_York'.
        - `coordinate` object, nullable, required — Latitude and longitude of the calendar's primary location (e.g. city calendars). Null when the calendar isn't tied to a place.
          - `longitude` number, required
          - `latitude` number, required
        - `instagram_handle` string, nullable, required
        - `twitter_handle` string, nullable, required
        - `youtube_handle` string, nullable, required
        - `website` string, nullable, required
      - `hosts` object[], required
        - `id` string, required
        - `name` string, nullable, required
        - `avatar_url` string, required
      - `submitted_to_calendar` object, required — The calendar the event was submitted to. With an organization API key, pass its `id` as the `x-luma-calendar-id` header when approving or rejecting the submission.
        - `id` string, required
        - `name` string, required
        - `slug` string, nullable, required
        - `avatar_url` string, nullable, required
        - `url` string, required
        - `description` string, nullable, required
        - `social_image_url` string, nullable, required
        - `cover_image_url` string, nullable, required
        - `is_personal` boolean, required
        - `location` object, nullable, required — City the calendar is based in (e.g. for city calendars). Null when the calendar isn't tied to a place.
          - `city` string, required — City name, e.g. 'New York'.
          - `region` string, nullable, required — State or province, e.g. 'New York' or 'California'.
          - `country` string, nullable, required — Country name, e.g. 'United States'. Null for cities in disputed territories where Google omits the country.
          - `country_code` string, nullable, required — ISO 3166-1 alpha-2 country code, e.g. 'US'.
          - `timezone` string, required — IANA timezone of the city, e.g. 'America/New_York'.
        - `coordinate` object, nullable, required — Latitude and longitude of the calendar's primary location (e.g. city calendars). Null when the calendar isn't tied to a place.
          - `longitude` number, required
          - `latitude` number, required
        - `instagram_handle` string, nullable, required
        - `twitter_handle` string, nullable, required
        - `youtube_handle` string, nullable, required
        - `website` string, nullable, required
    - object
      - `platform` 'external', required
      - `id` string, required — The calendar event ID
      - `api_id` string — Deprecated, use id instead
      - `name` string, required
      - `url` string, required
      - `start_at` string, date-time, required — ISO 8601 Datetime. For example, 2022-10-19T03:27:13.673Z
      - `end_at` string, date-time, nullable, required — ISO 8601 Datetime. For example, 2022-10-19T03:27:13.673Z
      - `timezone` string, nullable, required
      - `host_name` string, nullable, required
      - `submitted_to_calendar` object, required — The calendar the event was submitted to. With an organization API key, pass its `id` as the `x-luma-calendar-id` header when approving or rejecting the submission.
        - `id` string, required
        - `name` string, required
        - `slug` string, nullable, required
        - `avatar_url` string, nullable, required
        - `url` string, required
        - `description` string, nullable, required
        - `social_image_url` string, nullable, required
        - `cover_image_url` string, nullable, required
        - `is_personal` boolean, required
        - `location` object, nullable, required — City the calendar is based in (e.g. for city calendars). Null when the calendar isn't tied to a place.
          - `city` string, required — City name, e.g. 'New York'.
          - `region` string, nullable, required — State or province, e.g. 'New York' or 'California'.
          - `country` string, nullable, required — Country name, e.g. 'United States'. Null for cities in disputed territories where Google omits the country.
          - `country_code` string, nullable, required — ISO 3166-1 alpha-2 country code, e.g. 'US'.
          - `timezone` string, required — IANA timezone of the city, e.g. 'America/New_York'.
        - `coordinate` object, nullable, required — Latitude and longitude of the calendar's primary location (e.g. city calendars). Null when the calendar isn't tied to a place.
          - `longitude` number, required
          - `latitude` number, required
        - `instagram_handle` string, nullable, required
        - `twitter_handle` string, nullable, required
        - `youtube_handle` string, nullable, required
        - `website` string, nullable, required

## Acknowledgement `200`

Return a 2xx status to acknowledge receipt of the webhook.

---

[API](https://skmtc.net/luma/apis/luma-api.md) · [All operations](https://skmtc.net/luma/apis/luma-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/luma/luma-api/revisions/12835be09062/schema)
