Luma API (Beta)
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.
Authentication
Create API Key
You can create an API Key that authenticates request on behalf of your account. Create your API Key here: https://lu.ma/home/settings/integrations
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: https://api.lu.ma
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" https://api.lu.ma/user
Routes
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.