POST
luma_events_guests_update_tickets.py
import asyncio
from charter.packs import luma
result = asyncio.run(luma.events_guests_update_tickets.ainvoke({"eventId": ..., "guestId": ...}))
Body
| Field | Type | Description |
|---|---|---|
eventId * | string | Event ID, this usually starts with evt- |
guestId * | string | Guest identifier — the guest ID (gst-), a ticket key, a guest key (g-), or the user’s email. |
ticketIdsToRemove | string[] | Existing ticket IDs to invalidate. At least one valid ticket must remain on the guest. Pass should_refund to refund the removed tickets. Defaults to [] when omitted. |
shouldRefund | boolean | Optional. Refund each removed paid ticket for what the guest paid for it. The guest stays registered with their remaining tickets. The refund is limited to what’s left on the order beyond the tickets the guest keeps, so a partial refund already issued from the dashboard isn’t paid out again. Crypto payments can’t be refunded this way. Defaults to false. |
ticketsToAdd | TicketsToAddItem[] | Complimentary tickets to grant. Each entry creates a new $0 administrative ticket, even when the ticket type is normally paid. Defaults to [] when omitted. |
sendEmail | boolean | Optional. Whether Luma may email the guest about the ticket change, including the refund receipt when should_refund is set. Defaults to true and still respects their notification preferences. This only controls email — the guest still gets an in-app notification, and push follows their preferences. |