Use Luma to create, update, retrieve, or cancel events and list calendar events with date filters and pagination. Guest actions list attendees, retrieve an individual guest, add guests, send invitations, and change approval status.
Provide the calendar or event ID required by the operation, then inspect the returned event or guest details before sending invitations or changing attendance.
Create, update, look up, and cancel events, list calendar events, manage guest lists (get one or many, add guests, send invites, and update approval status).
Retrieve details of a Luma event including name, time, location, hosts, and visibility settings.
Inputs and outputsParameter Type Required Description apiKeystring Yes Luma API key eventIdstring Yes Event ID (starts with evt-)
Parameter Type Description eventobject Event details ↳ id string Event ID ↳ name string Event name ↳ startAt string Event start time (ISO 8601) ↳ endAt string Event end time (ISO 8601) ↳ timezone string Event timezone (IANA) ↳ durationInterval string Event duration (ISO 8601 interval, e.g. PT2H) ↳ createdAt string Event creation timestamp (ISO 8601) ↳ description string Event description (plain text) ↳ descriptionMd string Event description (Markdown) ↳ coverUrl string Event cover image URL ↳ url string Event page URL on lu.ma ↳ visibility string Event visibility (public, members-only, private) ↳ meetingUrl string Virtual meeting URL ↳ geoAddressJson json Structured location/address data ↳ geoLatitude string Venue latitude coordinate ↳ geoLongitude string Venue longitude coordinate ↳ calendarId string Associated calendar ID hostsarray Event hosts ↳ id string Host ID ↳ name string Host display name ↳ firstName string Host first name ↳ lastName string Host last name ↳ email string Host email address ↳ avatarUrl string Host avatar image URL
Create a new event on Luma with a name, start time, timezone, and optional details like description, location, and visibility.
Inputs and outputsParameter Type Required Description apiKeystring Yes Luma API key namestring Yes Event name/title startAtstring Yes Event start time in ISO 8601 format (e.g., 2025-03-15T18:00:00Z) timezonestring Yes IANA timezone (e.g., America/New_York, Europe/London) endAtstring No Event end time in ISO 8601 format (e.g., 2025-03-15T20:00:00Z) durationIntervalstring No Event duration as ISO 8601 interval (e.g., PT2H for 2 hours, PT30M for 30 minutes). Used if endAt is not provided. descriptionMdstring No Event description in Markdown format meetingUrlstring No Virtual meeting URL for online events (e.g., Zoom, Google Meet link) visibilitystring No Event visibility: public, members-only, or private (defaults to public) coverUrlstring No Cover image URL (must be a Luma CDN URL from images.lumacdn.com)
Parameter Type Description eventobject Created event details ↳ id string Event ID ↳ name string Event name ↳ startAt string Event start time (ISO 8601) ↳ endAt string Event end time (ISO 8601) ↳ timezone string Event timezone (IANA) ↳ durationInterval string Event duration (ISO 8601 interval, e.g. PT2H) ↳ createdAt string Event creation timestamp (ISO 8601) ↳ description string Event description (plain text) ↳ descriptionMd string Event description (Markdown) ↳ coverUrl string Event cover image URL ↳ url string Event page URL on lu.ma ↳ visibility string Event visibility (public, members-only, private) ↳ meetingUrl string Virtual meeting URL ↳ geoAddressJson json Structured location/address data ↳ geoLatitude string Venue latitude coordinate ↳ geoLongitude string Venue longitude coordinate ↳ calendarId string Associated calendar ID hostsarray Event hosts ↳ id string Host ID ↳ name string Host display name ↳ firstName string Host first name ↳ lastName string Host last name ↳ email string Host email address ↳ avatarUrl string Host avatar image URL
Update an existing Luma event. Only the fields you provide will be changed; all other fields remain unchanged.
Inputs and outputsParameter Type Required Description apiKeystring Yes Luma API key eventIdstring Yes Event ID to update (starts with evt-) namestring No New event name/title startAtstring No New start time in ISO 8601 format (e.g., 2025-03-15T18:00:00Z) timezonestring No New IANA timezone (e.g., America/New_York, Europe/London) endAtstring No New end time in ISO 8601 format (e.g., 2025-03-15T20:00:00Z) durationIntervalstring No New duration as ISO 8601 interval (e.g., PT2H for 2 hours). Used if endAt is not provided. descriptionMdstring No New event description in Markdown format meetingUrlstring No New virtual meeting URL (e.g., Zoom, Google Meet link) visibilitystring No New visibility: public, members-only, or private coverUrlstring No New cover image URL (must be a Luma CDN URL from images.lumacdn.com)
Parameter Type Description eventobject Updated event details ↳ id string Event ID ↳ name string Event name ↳ startAt string Event start time (ISO 8601) ↳ endAt string Event end time (ISO 8601) ↳ timezone string Event timezone (IANA) ↳ durationInterval string Event duration (ISO 8601 interval, e.g. PT2H) ↳ createdAt string Event creation timestamp (ISO 8601) ↳ description string Event description (plain text) ↳ descriptionMd string Event description (Markdown) ↳ coverUrl string Event cover image URL ↳ url string Event page URL on lu.ma ↳ visibility string Event visibility (public, members-only, private) ↳ meetingUrl string Virtual meeting URL ↳ geoAddressJson json Structured location/address data ↳ geoLatitude string Venue latitude coordinate ↳ geoLongitude string Venue longitude coordinate ↳ calendarId string Associated calendar ID hostsarray Event hosts ↳ id string Host ID ↳ name string Host display name ↳ firstName string Host first name ↳ lastName string Host last name ↳ email string Host email address ↳ avatarUrl string Host avatar image URL
List events from your Luma calendar with optional date range filtering, sorting, and pagination.
Inputs and outputsParameter Type Required Description apiKeystring Yes Luma API key afterstring No Return events after this ISO 8601 datetime (e.g., 2025-01-01T00:00:00Z) beforestring No Return events before this ISO 8601 datetime (e.g., 2025-12-31T23:59:59Z) paginationLimitnumber No Maximum number of events to return per page paginationCursorstring No Pagination cursor from a previous response (next_cursor) to fetch the next page of results sortColumnstring No Column to sort by (only start_at is supported) sortDirectionstring No Sort direction: asc, desc, asc nulls last, or desc nulls last
Parameter Type Description eventsarray List of calendar events ↳ id string Event ID ↳ name string Event name ↳ startAt string Event start time (ISO 8601) ↳ endAt string Event end time (ISO 8601) ↳ timezone string Event timezone (IANA) ↳ durationInterval string Event duration (ISO 8601 interval, e.g. PT2H) ↳ createdAt string Event creation timestamp (ISO 8601) ↳ description string Event description (plain text) ↳ descriptionMd string Event description (Markdown) ↳ coverUrl string Event cover image URL ↳ url string Event page URL on lu.ma ↳ visibility string Event visibility (public, members-only, private) ↳ meetingUrl string Virtual meeting URL ↳ geoAddressJson json Structured location/address data ↳ geoLatitude string Venue latitude coordinate ↳ geoLongitude string Venue longitude coordinate ↳ calendarId string Associated calendar ID hasMoreboolean Whether more results are available for pagination nextCursorstring Cursor to pass as paginationCursor to fetch the next page
Look up an event by its public URL or event ID to resolve its canonical ID, API ID, and approval status.
Inputs and outputsParameter Type Required Description apiKeystring Yes Luma API key urlstring No Public event URL on lu.ma (provide this or an event ID) eventIdstring No Event ID to look up (starts with evt-). Provide this or a URL. platformstring No Event platform to look up: luma or external (defaults to luma)
Parameter Type Description foundboolean Whether a matching event was found eventIdstring Resolved event ID apiIdstring Resolved event API ID (deprecated identifier) statusstring Event approval status (approved, pending, rejected)
Cancel a Luma event. This is irreversible and notifies all registered guests. Requires a cancellation token obtained from the Request Event Cancellation endpoint.
Inputs and outputsParameter Type Required Description apiKeystring Yes Luma API key eventIdstring Yes Event ID to cancel (starts with evt-) cancellationTokenstring Yes Cancellation token from the Request Event Cancellation endpoint (POST /v1/event/cancel/request) shouldRefundboolean No Whether to refund paid guests. Required if the event has paid registrations.
Parameter Type Description cancelledboolean Whether the event was successfully cancelled
Retrieve the guest list for a Luma event with optional filtering by approval status, sorting, and pagination.
Inputs and outputsParameter Type Required Description apiKeystring Yes Luma API key eventIdstring Yes Event ID (starts with evt-) approvalStatusstring No Filter by approval status: approved, session, pending_approval, invited, declined, or waitlist paginationLimitnumber No Maximum number of guests to return per page paginationCursorstring No Pagination cursor from a previous response (next_cursor) to fetch the next page of results sortColumnstring No Column to sort by: name, email, created_at, registered_at, or checked_in_at sortDirectionstring No Sort direction: asc, desc, asc nulls last, or desc nulls last
Parameter Type Description guestsarray List of event guests ↳ id string Guest ID ↳ email string Guest email address ↳ name string Guest full name ↳ firstName string Guest first name ↳ lastName string Guest last name ↳ approvalStatus string Guest approval status (approved, session, pending_approval, invited, declined, waitlist) ↳ registeredAt string Registration timestamp (ISO 8601) ↳ invitedAt string Invitation timestamp (ISO 8601) ↳ joinedAt string Join timestamp (ISO 8601) ↳ checkedInAt string Check-in timestamp from the first checked-in ticket (ISO 8601) ↳ phoneNumber string Guest phone number hasMoreboolean Whether more results are available for pagination nextCursorstring Cursor to pass as paginationCursor to fetch the next page
Retrieve a single guest's details on a Luma event, including approval status, registration timestamps, and contact info.
Inputs and outputsParameter Type Required Description apiKeystring Yes Luma API key eventIdstring Yes Event ID the guest belongs to (starts with evt-) guestIdentifierstring Yes Guest ID (gst-...), guest key (g-...), ticket key, or the guest's email address
Parameter Type Description guestobject Guest details ↳ id string Guest ID ↳ email string Guest email address ↳ name string Guest full name ↳ firstName string Guest first name ↳ lastName string Guest last name ↳ approvalStatus string Guest approval status (approved, session, pending_approval, invited, declined, waitlist) ↳ registeredAt string Registration timestamp (ISO 8601) ↳ invitedAt string Invitation timestamp (ISO 8601) ↳ joinedAt string Join timestamp (ISO 8601) ↳ checkedInAt string Check-in timestamp from the first checked-in ticket (ISO 8601) ↳ phoneNumber string Guest phone number
Add guests to a Luma event by email. Guests are added with Going (approved) status and receive one ticket of the default ticket type.
Inputs and outputsParameter Type Required Description apiKeystring Yes Luma API key eventIdstring Yes Event ID (starts with evt-) guestsstring Yes JSON array of guest objects. Each guest requires an "email" field and optionally "name", "first_name", "last_name". Example: [{"email": "user@example.com ", "name": "John Doe"}]
Parameter Type Description addednumber Number of guests submitted to the event (added with Going/approved status)
Send email invitations to guests for a Luma event. Unlike Add Guests (which registers guests directly), this emails an invite that recipients can accept.
Inputs and outputsParameter Type Required Description apiKeystring Yes Luma API key eventIdstring Yes Event ID to invite guests to (starts with evt-) guestsstring Yes JSON array of guest objects. Each guest requires an "email" field and optionally "name". Example: [{"email": "user@example.com ", "name": "John Doe"}] messagestring No Optional custom message included in the invite email (max 200 characters)
Parameter Type Description invitednumber Number of guests invited to the event
Update a guest's approval status on a Luma event — approve, decline, waitlist, or set to pending. Identify the guest by email or guest ID.
Inputs and outputsParameter Type Required Description apiKeystring Yes Luma API key eventIdstring No Event ID the guest belongs to (starts with evt-) guestIdentifierstring Yes Guest email address or guest ID (gst-...). Values containing '@' are treated as emails; otherwise as a guest ID. statusstring Yes New approval status: approved, declined, pending_approval, or waitlist shouldRefundboolean No Refund a paid guest when moving them out of an approved state (defaults to false) sendEmailboolean No Whether to email the guest about the status change (defaults to true)
Parameter Type Description statusstring The approval status applied to the guest gueststring The guest identifier (email or ID) that was updated