Luma API (Beta)

Victor Pontis
Aug 3, 2021

This is the first release of the Luma API. This is API is used by the Luma web and mobile clients so it's tested on production every day.

But since this is just a beta release of the API, it is subject to breaking changes without announcement. Use at your own risk.


Create API Key

You can create an API Key that authenticates request on behalf of your account. Create your API Key here:

An API Key with Account permissions lets someone take any action on the Luma API as you (including undocumented routes such as deleting your account). So be careful and do not share this API token.

Authenticate Requests

You can authenticate requests by including your Account API Key in the Header field: x-luma-api-key

API URLs + Format

The base of our API is:

The Luma API expects JSON as input and output.

Example Request

The following request is a great way of testing that your API key is working and that your requests are configured properly.

curl -H "x-luma-api-key: API_KEY_SECRET"


POST /event/create

Request Body

  • name — Required. The name of the event.

  • start_at — The start of the event in a Date ISO string.

  • cover_url — Valid URL for the event cover photo. Restricted to Unsplash or an image on the Luma CDN.

  • duration_minutes — The length of your event in minutes.

  • require_rsvp — Require guests to register in order to see meeting information.

  • require_rsvp_approval — Require host approval for a guest to see meeting information. If true, require_rsvp must also be true.

  • zoom_creation_method"created-automatically" | "existing-attached" | "manually-entered". If you want us to create a Zoom on your account, choose "created-automatically".

  • zoom_meeting_id

  • zoom_meeting_password

  • zoom_meeting_url

  • zoom_session_type"meeting" | "webinar"

  • community_api_id — The community that the event should be linked to.

Response Object

  • api_id — The ID of the event.

GET /user

Returns the current user if authenticated. If not authenticated, returns a 401.

POST /user/audience/import

Import members into your audience. Tag existing members.

Request Body

  • emails — Required. An array of emails.

  • member_tag_api_ids — Optional. An array of tag IDs to apply to the members.

Response Object

  • This route returns an empty object on success.