Luma Organizations API

The Organizations API from Luma — 5 operation(s) for organizations.

OpenAPI Specification

luma-organizations-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Luma Calendars Organizations 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: Organizations
paths:
  /v1/organizations/admins/list:
    get:
      tags:
      - Organizations
      summary: List Organization Admins
      parameters: []
      description: List all admins for the organization.
      responses:
        '200':
          description: Successful response.
          content:
            application/json:
              schema:
                $schema: https://json-schema.org/draft/2020-12/schema
                type: object
                properties:
                  entries:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: string
                        name:
                          anyOf:
                          - type: string
                          - type: 'null'
                        avatar_url:
                          type: string
                        email:
                          type: string
                        first_name:
                          anyOf:
                          - type: string
                          - type: 'null'
                        last_name:
                          anyOf:
                          - type: string
                          - type: 'null'
                        api_id:
                          type: string
                          deprecated: true
                          description: Use `id` instead.
                      required:
                      - id
                      - name
                      - avatar_url
                      - email
                      - first_name
                      - last_name
                      - api_id
                required:
                - entries
  /v1/organizations/calendars/list:
    get:
      tags:
      - Organizations
      summary: List Organization Calendars
      parameters:
      - name: pagination_cursor
        in: query
        required: false
        schema:
          description: Value of `next_cursor` from a previous request.
          type: string
        description: Value of `next_cursor` from a previous request.
      - name: pagination_limit
        in: query
        required: false
        schema:
          description: The number of items to return. The server will enforce a maximum number.
          type: number
        description: The number of items to return. The server will enforce a maximum number.
      description: List all calendars belonging to the organization.
      responses:
        '200':
          description: Successful response.
          content:
            application/json:
              schema:
                $schema: https://json-schema.org/draft/2020-12/schema
                type: object
                properties:
                  entries:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: string
                        name:
                          type: string
                        slug:
                          anyOf:
                          - type: string
                          - type: 'null'
                        avatar_url:
                          anyOf:
                          - type: string
                          - type: 'null'
                        url:
                          type: string
                        description:
                          anyOf:
                          - type: string
                          - type: 'null'
                        social_image_url:
                          anyOf:
                          - type: string
                          - type: 'null'
                        cover_image_url:
                          anyOf:
                          - type: string
                          - type: 'null'
                        is_personal:
                          type: boolean
                        location:
                          anyOf:
                          - type: object
                            properties:
                              city:
                                type: string
                                description: City name, e.g. 'New York'.
                              region:
                                anyOf:
                                - type: string
                                - type: 'null'
                                description: State or province, e.g. 'New York' or 'California'.
                              country:
                                anyOf:
                                - type: string
                                - type: 'null'
                                description: Country name, e.g. 'United States'. Null for cities in disputed territories where Google omits the country.
                              country_code:
                                anyOf:
                                - type: string
                                - type: 'null'
                                description: ISO 3166-1 alpha-2 country code, e.g. 'US'.
                              timezone:
                                type: string
                                description: IANA timezone of the city, e.g. 'America/New_York'.
                            required:
                            - city
                            - region
                            - country
                            - country_code
                            - timezone
                          - type: 'null'
                          description: City the calendar is based in (e.g. for city calendars). Null when the calendar isn't tied to a place.
                        coordinate:
                          anyOf:
                          - type: object
                            properties:
                              longitude:
                                type: number
                              latitude:
                                type: number
                            required:
                            - longitude
                            - latitude
                          - type: 'null'
                          description: Latitude and longitude of the calendar's primary location (e.g. city calendars). Null when the calendar isn't tied to a place.
                        instagram_handle:
                          anyOf:
                          - type: string
                          - type: 'null'
                        twitter_handle:
                          anyOf:
                          - type: string
                          - type: 'null'
                        youtube_handle:
                          anyOf:
                          - type: string
                          - type: 'null'
                        website:
                          anyOf:
                          - type: string
                          - type: 'null'
                      required:
                      - id
                      - name
                      - slug
                      - avatar_url
                      - url
                      - description
                      - social_image_url
                      - cover_image_url
                      - is_personal
                      - location
                      - coordinate
                      - instagram_handle
                      - twitter_handle
                      - youtube_handle
                      - website
                  has_more:
                    type: boolean
                  next_cursor:
                    type: string
                required:
                - entries
                - has_more
  /v1/organizations/events/list:
    get:
      tags:
      - Organizations
      summary: List Organization Events
      parameters:
      - name: before
        in: query
        required: false
        schema:
          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
        description: ISO 8601 Datetime. For example, 2022-10-19T03:27:13.673Z
      - name: after
        in: query
        required: false
        schema:
          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
        description: ISO 8601 Datetime. For example, 2022-10-19T03:27:13.673Z
      - name: pagination_cursor
        in: query
        required: false
        schema:
          description: Value of `next_cursor` from a previous request.
          type: string
        description: Value of `next_cursor` from a previous request.
      - name: pagination_limit
        in: query
        required: false
        schema:
          description: The number of items to return. The server will enforce a maximum number.
          type: number
        description: The number of items to return. The server will enforce a maximum number.
      - name: sort_direction
        in: query
        required: false
        schema:
          type: string
          enum:
          - asc
          - desc
          - asc nulls last
          - desc nulls last
      description: List all events across all calendars belonging to the organization. Events are deduplicated if they appear on multiple calendars within the organization.
      responses:
        '200':
          description: Successful response.
          content:
            application/json:
              schema:
                $schema: https://json-schema.org/draft/2020-12/schema
                type: object
                properties:
                  entries:
                    type: array
                    items:
                      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.
                        api_id:
                          type: string
                          deprecated: true
                          description: Use `id` instead.
                        user_api_id:
                          type: string
                          deprecated: true
                          description: Use `user_id` instead.
                        calendar_api_id:
                          type: string
                          deprecated: true
                          description: Use `calendar_id` instead.
                        zoom_meetin

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