Luma Miscellaneous API

The Miscellaneous API from Luma — 3 operation(s) for miscellaneous.

Operations 5

GET /v1/users/get-self Get Self #
GET /v1/entities/lookup Lookup Entity #
GET /v1/places/search Search Places #
GET /v1/images/search Search Cover Images #
POST /v1/images/create-upload-url Create Upload URL #

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:luma-miscellaneous-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.

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-miscellaneous-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Luma Miscellaneous 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: Miscellaneous
paths:
  /v1/users/get-self:
    get:
      tags:
      - Miscellaneous
      summary: Get Self
      parameters: []
      responses:
        '200':
          description: Successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/User'
      operationId: getV1UsersGetSelf
      x-operation-id-source: derived
  /v1/entities/lookup:
    get:
      tags:
      - Miscellaneous
      summary: Lookup Entity
      parameters:
      - name: slug
        in: query
        required: true
        schema:
          type: string
      description: Look up an event or calendar by its slug, Luma URL, or permanent public path such as `event/evt-...`, `e/evt-...`, or `calendar/cal-...`. URL query parameters and fragments are ignored.
      responses:
        '200':
          description: Successful response.
          content:
            application/json:
              schema:
                $schema: https://json-schema.org/draft/2020-12/schema
                type: object
                properties:
                  entity:
                    anyOf:
                    - $ref: '#/components/schemas/Entity'
                    - type: 'null'
                required:
                - entity
      operationId: getV1EntitiesLookup
      x-operation-id-source: derived
  /v1/places/search:
    get:
      tags:
      - Miscellaneous
      summary: Search Places
      parameters:
      - name: query
        in: query
        required: true
        schema:
          type: string
          minLength: 1
          description: Address or place name, e.g. "120 W 41st St, New York".
        description: Address or place name, e.g. "120 W 41st St, New York".
      description: 'Search Google Maps for a place and get up to 5 candidates. Pass the chosen `place_id` as `geo_address_json: { type: "google", place_id }` when creating or updating an event.'
      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:
                      $ref: '#/components/schemas/PlaceSearchResult'
                required:
                - entries
      operationId: getV1PlacesSearch
      x-operation-id-source: derived
  /v1/images/search:
    get:
      tags:
      - Miscellaneous
      summary: Search Cover Images
      parameters:
      - name: query
        in: query
        required: true
        schema:
          type: string
          minLength: 1
          description: Keywords to match against image descriptions and tags, e.g. "dinner party".
        description: Keywords to match against image descriptions and tags, e.g. "dinner party".
      - 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: Search Luma’s gallery of stock event cover images by keyword. Pass the chosen `image_url` as `cover_url` when creating or updating an event — gallery images don’t need to be uploaded first.
      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:
                      $ref: '#/components/schemas/CoverImage'
                  has_more:
                    type: boolean
                  next_cursor:
                    type: string
                required:
                - entries
                - has_more
      operationId: getV1ImagesSearch
      x-operation-id-source: derived
  /v1/images/create-upload-url:
    post:
      tags:
      - Miscellaneous
      summary: Create Upload URL
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $schema: https://json-schema.org/draft/2020-12/schema
              type: object
              properties:
                content_type:
                  anyOf:
                  - type: string
                    enum:
                    - image/jpeg
                    - image/png
                  - type: 'null'
      responses:
        '200':
          description: Successful response.
          content:
            application/json:
              schema:
                $schema: https://json-schema.org/draft/2020-12/schema
                type: object
                properties:
                  upload_url:
                    type: string
                    description: You'll upload your image here using a PUT request.
                  file_url:
                    type: string
                required:
                - upload_url
                - file_url
      operationId: postV1ImagesCreateUploadUrl
      x-operation-id-source: derived
components:
  schemas:
    CoverImage:
      type: object
      properties:
        id:
          type: string
        image_url:
          type: string
          description: Pass this as `cover_url` when creating or updating an event.
        description:
          type:
          - string
          - 'null'
        tags:
          type: array
          items:
            type: string
        colors:
          anyOf:
          - type: array
            items:
              type: string
          - type: 'null'
          description: Dominant colors of the image as hex strings.
      required:
      - id
      - image_url
      - description
      - tags
      - colors
    PlaceSearchResult:
      type: object
      properties:
        place_id:
          type: string
          description: Google Maps Place ID.
        name:
          type:
          - string
          - 'null'
        full_address:
          type:
          - string
          - 'null'
        coordinate:
          anyOf:
          - type: object
            properties:
              longitude:
                type: number
              latitude:
                type: number
            required:
            - longitude
            - latitude
          - type: 'null'
      required:
      - place_id
      - name
      - full_address
      - coordinate
    Entity:
      oneOf:
      - type: object
        properties:
          type:
            type: string
            const: calendar
          calendar:
            type: object
            properties:
              id:
                type: string
              name:
                type: string
              slug:
                type:
                - string
                - 'null'
              avatar_url:
                type:
                - string
                - 'null'
            required:
            - id
            - name
            - slug
        required:
        - type
        - calendar
      - type: object
        properties:
          type:
            type: string
            const: event
          event:
            type: object
            properties:
              id:
                type: string
              name:
                type: string
              slug:
                type: string
              cover_url:
                type: string
              start_at:
                type: string
                format: date-time
                description: ISO 8601 Datetime. For example, 2022-10-19T03:27:13.673Z
              end_at:
                type: string
                format: date-time
                description: ISO 8601 Datetime. For example, 2022-10-19T03:27:13.673Z
            required:
            - id
            - name
            - slug
            - cover_url
            - start_at
            - end_at
        required:
        - type
        - event
    User:
      type: object
      properties:
        id:
          type: string
        name:
          type:
          - string
          - 'null'
        avatar_url:
          type: string
        email:
          type: string
        first_name:
          type:
          - string
          - 'null'
        last_name:
          type:
          - string
          - 'null'
      required:
      - id
      - name
      - avatar_url
      - email
      - first_name
      - last_name
  securitySchemes:
    apiKeyAuth:
      type: apiKey
      in: header
      name: x-luma-api-key
      description: API key to authenticate requests to the Luma API. Generate an API key on your Luma dashboard.
x-provenance:
  method: harvested
  publisher: Luma
  source: https://public-api.luma.com/openapi.json
  note: split by refine-openapis from the provider's own published document, verified by fetch (openapi/_original/*.fetch.json);
    stamped by stamp-openapi-provenance.py (roadmap#793)