Skip to main content
DELETE

Delete Event

Soft-deletes an event. The event is hidden from the dashboard, its public page, and the List Events endpoint. The underlying record is kept, so the id stays reserved and historical reporting is unaffected. Only the primary host organization can delete an event. An event your organization merely co-hosts is not visible to your key and returns 404. Deleting an event that has not ended and has paid orders refunds every order in full first, with your organization covering every fee, and emails every attendee (one email: the event is cancelled, and how much was refunded). Approval requests whose card was only held are released at no cost. Sales close as soon as you confirm, the refunds run in the background, and the event is deleted once every refund has gone through. Cash, comp and pay-at-the-door tickets, resale seats and bundle seats are not refunded here (quote.not_refunded counts them). An event with no paid orders, or one that has already ended, is deleted at once: nothing is refunded and attendees are not notified. Deleting an event that is already deleted returns 200 again; the call is idempotent. Requires the events:write scope. Refunding paid orders also requires payments:read.

Confirming the refunds

The first call on an event with paid orders changes nothing and answers 409 refund_confirmation_required with the quote. Show it to whoever decides, then resend the same request with the quote’s id, in the body:
or, for clients that can’t send a body on DELETE, as ?confirm_refund=true&quote_id=<quote.quote_id>. The same shape confirms refunds on Delete Attendee.

Refund quote

  • quote_id: what you confirm.
  • buyers, tickets, holds_released: people refunded, tickets refunded, approval holds released.
  • totals[]: per currency, refund (what buyers get back) and fees_covered (the part your organization pays for).
  • orders[]: each payment_id with its currency, refund_amount, fees_covered and attendee_ids.
  • balances[]: each balance the refunds come out of (space_id, null for the main balance), with balance, refund_total and shortfall.
  • not_refunded: tickets left out (paid_offline, resale, bundle, credits).

Path Parameters

string
required
The unique identifier of the event.

Response

Returns 200 OK when the event is deleted at once:
Returns 202 Accepted once confirmed refunds have started; the event is cancelling (sales closed) until they are done, then deleted:

Errors

  • 404 Event not found: the event does not exist, or is not owned by your organization (including events you co-host).
  • 403 insufficient_scope: the API key does not have events:write.
  • 409 refund_confirmation_required: the event has paid orders. Nothing changed; confirm the quote (see above).
  • 409 refund_quote_changed: the money changed since the quote (someone bought, or an order was refunded). Confirm the new quote.
  • 409 insufficient_balance: a balance can’t cover its refunds; quote.balances[].shortfall says how much. Add funds on the dashboard (Payments, Add funds); an API key can’t make deposits.
  • 403 refund_permission_required: refunding needs a key with payments:read.