Luma Webhook Types API

The Webhook Types API from Luma — 0 operation(s) for webhook types.

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/luma-webhook-types-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

luma-webhook-types-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Luma Webhook Types API
  version: 1.0.0
  description: 'API for interacting with Luma''s event platform.


    ## Rate Limits


    The Luma API uses a per-minute rate limit shared across `GET` and `POST` requests:


    - **Calendar API keys** and OAuth tokens: **200 requests/minute** per calendar.

    - **Organization API keys**: **500 requests/minute** per organization.


    When you exceed the limit the API returns `429 Too Many Requests`. Back off before retrying.'
  contact:
    name: Luma Support
    url: https://help.luma.com
  license:
    name: Proprietary
servers:
- url: https://public-api.luma.com
  description: Production server
security:
- apiKeyAuth: []
tags:
- name: Webhook Types
paths: {}
webhooks:
  event.created:
    post:
      summary: Event Created
      description: Triggered when a new event is created on your calendar.
      operationId: webhook_event_created
      tags:
      - Webhook Types
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $schema: https://json-schema.org/draft/2020-12/schema
              type: object
              properties:
                type:
                  type: string
                  const: event.created
                data:
                  type: object
                  properties:
                    platform:
                      type: string
                      const: luma
                    id:
                      type: string
                    user_id:
                      type: string
                    calendar_id:
                      type: string
                    start_at:
                      type: string
                      format: date-time
                      pattern: ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z|([+-](?:[01]\d|2[0-3]):[0-5]\d)))$
                      description: ISO 8601 Datetime. For example, 2022-10-19T03:27:13.673Z
                    duration_interval:
                      type: string
                    end_at:
                      type: string
                      format: date-time
                      pattern: ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z|([+-](?:[01]\d|2[0-3]):[0-5]\d)))$
                      description: ISO 8601 Datetime. For example, 2022-10-19T03:27:13.673Z
                    created_at:
                      type: string
                      format: date-time
                      pattern: ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z|([+-](?:[01]\d|2[0-3]):[0-5]\d)))$
                      description: ISO 8601 Datetime. For example, 2022-10-19T03:27:13.673Z
                    timezone:
                      type: string
                      description: IANA Timezone, e.g. America/New_York. https://en.wikipedia.org/wiki/List_of_tz_database_time_zones
                    name:
                      type: string
                    description:
                      type: string
                    description_md:
                      type: string
                    geo_address_json:
                      anyOf:
                      - type: object
                        properties:
                          address:
                            type: string
                          city:
                            anyOf:
                            - type: string
                            - type: 'null'
                          region:
                            anyOf:
                            - type: string
                            - type: 'null'
                          country:
                            anyOf:
                            - type: string
                            - type: 'null'
                          city_state:
                            anyOf:
                            - type: string
                            - type: 'null'
                          full_address:
                            anyOf:
                            - type: string
                            - type: 'null'
                          google_maps_place_id:
                            anyOf:
                            - type: string
                            - type: 'null'
                          apple_maps_place_id:
                            anyOf:
                            - type: string
                            - type: 'null'
                          description:
                            anyOf:
                            - type: string
                            - type: 'null'
                        required:
                        - address
                        - city
                        - region
                        - country
                        - city_state
                        - full_address
                        - google_maps_place_id
                        - apple_maps_place_id
                        - description
                      - type: 'null'
                    coordinate:
                      anyOf:
                      - type: object
                        properties:
                          longitude:
                            type: number
                          latitude:
                            type: number
                        required:
                        - longitude
                        - latitude
                      - type: 'null'
                      description: Latitude and longitude of the event location. Null for online events or when the address can't be geocoded.
                    meeting_url:
                      anyOf:
                      - type: string
                      - type: 'null'
                    location_type:
                      type: string
                      enum:
                      - discord
                      - meet
                      - twitch
                      - twitter
                      - youtube
                      - zoom
                      - offline
                      - missing
                      - unknown
                      description: '`offline` for in-person events. Online events have the meeting platform (`zoom`, `meet`, etc.), or `unknown` if we don''t recognize the meeting link. `missing` if the event has no location set.'
                    location_visibility:
                      type: string
                      enum:
                      - public
                      - guests-only
                      description: Whether the event's address is shown to everyone or only to approved guests. This API always returns the full address.
                    cover_url:
                      type: string
                    registration_questions:
                      type: array
                      items:
                        anyOf:
                        - type: object
                          properties:
                            id:
                              type: string
                            label:
                              type: string
                            required:
                              type: boolean
                            question_type:
                              type: string
                              const: agree-check
                          required:
                          - id
                          - label
                          - required
                          - question_type
                        - type: object
                          properties:
                            id:
                              type: string
                            label:
                              type: string
                            required:
                              type: boolean
                            question_type:
                              type: string
                              const: company
                            collect_job_title:
                              anyOf:
                              - type: boolean
                              - type: 'null'
                            job_title_label:
                              anyOf:
                              - type: string
                              - type: 'null'
                          required:
                          - id
                          - label
                          - required
                          - question_type
                        - type: object
                          properties:
                            id:
                              type: string
                            label:
                              type: string
                            required:
                              type: boolean
                            question_type:
                              type: string
                              const: dropdown
                            options:
                              maxItems: 250
                              type: array
                              items:
                                type: string
                          required:
                          - id
                          - label
                          - required
                          - question_type
                          - options
                        - type: object
                          properties:
                            id:
                              type: string
                            label:
                              type: string
                            required:
                              type: boolean
                            question_type:
                              type: string
                              const: github
                          required:
                          - id
                          - label
                          - required
                          - question_type
                        - type: object
                          properties:
                            id:
                              type: string
                            label:
                              type: string
                            required:
                              type: boolean
                            question_type:
                              type: string
                              const: instagram
                          required:
                          - id
                          - label
                          - required
                          - question_type
                        - type: object
                          properties:
                            id:
                              type: string
                            label:
                              type: string
                            required:
                              type: boolean
                            question_type:
                              type: string
                              const: linkedin
                          required:
                          - id
                          - label
                          - required
                          - question_type
                        - type: object
                          properties:
                            id:
                              type: string
                            label:
                              type: string
                            required:
                              type: boolean
                            question_type:
                              type: string
                              const: long-text
                          required:
                          - id
                          - label
                          - required
                          - question_type
                        - type: object
                          properties:
                            id:
                              type: string
                            label:
                              type: string
                            required:
                              type: boolean
                            question_type:
                              type: string
                              const: multi-select
                            options:
                              maxItems: 250
                              type: array
                              items:
                                type: string
                          required:
                          - id
                          - label
                          - required
                          - question_type
                          - options
                        - type: object
                          properties:
                            id:
                              type: string
                            label:
                              type: string
                            required:
                              type: boolean
                            question_type:
                              type: string
                              const: phone-number
                          required:
                          - id
                          - label
                          - required
                          - question_type
                        - type: object
                          properties:
                            id:
                              type: string
                            label:
                              type: string
                            required:
                              type: boolean
                            question_type:
                              type: string
                              const: telegram
                          required:
                          - id
                          - label
                          - required
                          - question_type
                        - type: object
                          properties:
                            id:
                              type: string
                            label:
                              type: string
                            required:
                              type: boolean
                            question_type:
                              type: string
                              const: text
                          required:
                          - id
                          - label
                          - required
                          - question_type
                        - type: object
                          properties:
                            id:
                              type: string
                            label:
                              type: string
                            required:
                              type: boolean
                            question_type:
                              type: string
                              const: twitter
                          required:
                          - id
                          - label
                          - required
                          - question_type
                        - type: object
                          properties:
                            id:
                              type: string
                            label:
                              type: string
                            required:
                              type: boolean
                            question_type:
                              type: string
                              const: url
                          required:
                          - id
                          - label
                          - required
                          - question_type
                        - type: object
                          properties:
                            id:
                              type: string
                            label:
                              type: string
                            required:
                              type: boolean
                            question_type:
                              type: string
                              const: youtube
                          required:
                          - id
                          - label
                          - required
                          - question_type
                        - type: object
                          properties:
                            id:
                              type: string
                            label:
                              type: string
                            required:
                              type: boolean
                            question_type:
                              type: string
                              const: terms
                            terms:
                              oneOf:
                              - type: object
                                properties:
                                  content_type:
                                    type: string
                                    const: text
                                  content_md:
                                    type: string
                                    description: Markdown content for the terms. Luma converts this to rich text internally.
                                  collect_signature:
                                    type: boolean
                                  require_review:
                                    description: When true, guests must open the hosted terms before accepting.
                                    type: boolean
                                required:
                                - content_type
                                - content_md
                                - collect_signature
                              - type: object
                                properties:
                                  content_type:
                                    type: string
                                    const: link
                                  url:
                                    type: string
                                    format: uri
                                  collect_signature:
                                    type: boolean
                                required:
                                - content_type
                                - url
                                - collect_signature
                          required:
                          - id
                          - label
                          - required
                          - question_type
                          - terms
                    url:
                      type: string
                    visibility:
                      type: string
                      enum:
                      - public
                      - members-only
                      - private
                    waitlist_status:
                      type: string
                      enum:
                      - disabled
                      - enabled
                      description: '`enabled` if the event has a waitlist. New registrations join the waitlist once the event reaches capacity.'
                    feedback_email:
                      type: object
                      properties:
                        enabled:
                          type: boolean
                          description: Whether to send the feedback email.
                        delay:
                          description: How long after the event ends to send the feedback email. Defaults to PT0M (immediately). Maximum is P7D (7 days).
                          type: string
                      required:
                      - enabled
                      description: Settings for the post-event feedback email sent to guests.
                    geo_latitude:
                      anyOf:
                      - type: string
                      - type: 'null'
                      deprecated: true
                      description: Use `coordinate.latitude` instead.
                    geo_longitude:
                      anyOf:
                      - type: string
                      - type: 'null'
                      deprecated: true
                      description: Use `coordinate.longitude` instead.
                    tags:
                      type: array
                      items:
                        type: object
                        properties:
                          id:
                            type: string
                          name:
                            type: string
                        required:
                        - id
                        - name
                  required:
                  - platform
                  - id
                  - user_id
                  - calendar_id
                  - start_at
                  - duration_interval
                  - end_at
                  - created_at
                  - timezone
                  - name
                  - description
                  - description_md
                  - geo_address_json
                  - coordinate
                  - meeting_url
                  - location_type
                  - location_visibility
                  - cover_url
                  - url
                  - visibility
                  - waitlist_status
                  - feedback_email
                  - geo_latitude
                  - geo_longitude
                  - tags
              required:
              - type
              - data
      responses:
        '200':
          description: Return a 2xx status to acknowledge receipt of the webhook.
  event.updated:
    post:
      summary: Event Updated
      description: Triggered when an event's details are updated (name, time, location, etc.).
      operationId: webhook_event_updated
      tags:
      - Webhook Types
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $schema: https://json-schema.org/draft/2020-12/schema
              type: object
              properties:
                type:
                  type: string
                  const: event.updated
                data:
                  type: object
                  properties:
                    platform:
                      type: string
                      const: luma
                    id:
                      type: string
                    user_id:
                      type: string
                    calendar_id:
                      type: string
                    start_at:
                      type: string
                      format: date-time
                      pattern: ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z|([+-](?:[01]\d|2[0-3]):[0-5]\d)))$
                      description: ISO 8601 Datetime. For example, 2022-10-19T03:27:13.673Z
                    duration_interval:
                      type: string
                    end_at:
                      type: string
                      format: date-time
                      pattern: ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z|([+-](?:[01]\d|2[0-3]):[0-5]\d)))$
                      description: ISO 8601 Datetime. For example, 2022-10-19T03:27:13.673Z
                    created_at:
                      type: string
                      format: date-time
                      pattern: ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z|([+-](?:[01]\d|2[0-3]):[0-5]\d)))$
                      description: ISO 8601 Datetime. For example, 2022-10-19T03:27:13.673Z
                    timezone:
                      type: string
                      description: IANA Timezone, e.g. America/New_York. https://en.wikipedia.org/wiki/List_of_tz_database_time_zones
                    name:
                      type: string
                    description:
                      type: string
                    description_md:
                      type: string
                    geo_address_json:
                      anyOf:
                      - type: object
                        properties:
                          address:
                            type: string
                          city:
                            anyOf:
                            - type: string
                            - type: 'null'
                          region:
                            anyOf:
                            - type: string
                            - type: 'null'
                          country:
                            anyOf:
                            - type: string
                            - type: 'null'
                          city_state:
                            anyOf:
                            - type: string
                            - type: 'null'
                          full_address:
                            anyOf:
                            - type: string
                            - type: 'null'
                          google_maps_place_id:
                            anyOf:
                            - type: string
                            - type: 'null'
                          apple_maps_place_id:
                            anyOf:
                            - type: string
                            - type: 'null'
                          description:
                            anyOf:
                            - type: string
                            - type: 'null'
                        required:
                        - address
                        - city
                        - region
                        - country
                        - city_state
                        - full_address
                        - google_maps_place_id
                        - apple_maps_place_id
                        - description
                      - type: 'null'
                    coordinate:
                      anyOf:
                      - type: object
                        properties:
                          longitude:
                            type: number
                          latitude:
                            type: number
                        required:
                        - longitude
                        - latitude
                      - type: 'null'
                      description: Latitude and longitude of the event location. Null for online events or when the address can't be geocoded.
                    meeting_url:
                      anyOf:
                      - type: string
                      - type: 'null'
                    location_type:
                      type: string
                      enum:
                      - discord
                      - meet
                      - twitch
                      - twitter
                      - youtube
                      - zoom
                      - offline
                      - missing
                      - unknown
                      description: '`offline` for in-person events. Online events have the meeting platform (`zoom`, `meet`, etc.), or `unknown` if we don''t recognize the meeting link. `missing` if the event has no location set.'
                    location_visibility:
                      type: string
                      enum:
                      - public
                      - guests-only
                      description: Whether the event's address is shown to everyone or only to approved guests. This API always returns the full address.
                    cover_url:
                      type: string
                    registration_questions:
                      type: array
                      items:
                        anyOf:
                        - type: object
                          properties:
                            id:
                              type: string
                            label:
                              type: string
                            required:
                              type: boolean
                            question_type:
                              type: string
                              const: agree-check
                          required:
                          - id
                          - label
                          - required
                          - question_type
                        - type: object
                          properties:
                            id:
                              type: string
                            label:
                              type: string
                            required:
                              type: boolean
                            question_type:
                              type: string
                              const: company
                            collect_job_title:
                              anyOf:
                              - type: boolean
                              - type: 'null'
                            job_title_label:
                              anyOf:
                              - type: string
                              - type: 'null'
                          required:
                          - id
                          - label
                          - required
                          - question_type
                        - type: object
                          properties:
                            id:
                              type: string
                            label:
                              type: string
                            required:
                              type: boolean
                            question_type:
                              type: string
                              const: dropdown
                            options:
                              maxItems: 250
                              type: array
                              items:
                                type: string
                          required:
                          - id
                          - label
                          - required
                          - question_type
                          - options
                        - type: object
                          properties:
                            id:
                              type: string
                            label:
                              type: string
                            required:
                              type: boolean
                            question_type:
                              type: string
                              const: github
                          required:
                          - id
                          - label
                          - required
                          - question_type
                        - type: object
                          properties:
                            id:
                              type: string
                            label:
                              type: string
                            required:
                              type: boolean
                            question_type:
                              type: string
                              const: instagram
                          required:
                          - id
                          -

# --- truncated at 32 KB (258 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/luma/refs/heads/main/openapi/luma-webhook-types-api-openapi.yml