curl -X DELETE -H "X-API-KEY: your_api_key" \
https://www.gomry.com/api/v1/events/AbCdEfGhIjKlMnOpQrSt
await fetch("https://www.gomry.com/api/v1/events/AbCdEfGhIjKlMnOpQrSt", {
method: "DELETE",
headers: { "X-API-KEY": "your_api_key" },
});
{ "deleted": true, "id": "AbCdEfGhIjKlMnOpQrSt" }
{
"error": "refund_confirmation_required",
"message": "This event has paid orders. Deleting it refunds every one in full and your organization covers the fees. Resend with `refund: { confirm: true, quote_id }` (or `?confirm_refund=true"e_id=`) to go ahead.",
"quote": {
"quote_id": "3f1c9a0d2b7e4c51a8f06e2d9b4c7a13",
"buyers": 63,
"tickets": 88,
"holds_released": 3,
"totals": [{ "currency": "eur", "refund": 4820.0, "fees_covered": 212.36 }],
"orders": [{ "payment_id": "pay_1", "currency": "eur", "refund_amount": 76.5, "fees_covered": 3.37, "attendee_ids": ["t_1", "t_2"] }],
"balances": [{ "space_id": null, "currency": "eur", "balance": 5430.12, "refund_total": 4820.0, "shortfall": 0 }],
"not_refunded": { "paid_offline": 0, "resale": 0, "bundle": 0, "credits": 0 }
}
}
{ "error": "Event not found" }
Events
Delete Event
Delete an event, refunding its paid orders first
DELETE
/
events
/
{eventId}
curl -X DELETE -H "X-API-KEY: your_api_key" \
https://www.gomry.com/api/v1/events/AbCdEfGhIjKlMnOpQrSt
await fetch("https://www.gomry.com/api/v1/events/AbCdEfGhIjKlMnOpQrSt", {
method: "DELETE",
headers: { "X-API-KEY": "your_api_key" },
});
{ "deleted": true, "id": "AbCdEfGhIjKlMnOpQrSt" }
{
"error": "refund_confirmation_required",
"message": "This event has paid orders. Deleting it refunds every one in full and your organization covers the fees. Resend with `refund: { confirm: true, quote_id }` (or `?confirm_refund=true"e_id=`) to go ahead.",
"quote": {
"quote_id": "3f1c9a0d2b7e4c51a8f06e2d9b4c7a13",
"buyers": 63,
"tickets": 88,
"holds_released": 3,
"totals": [{ "currency": "eur", "refund": 4820.0, "fees_covered": 212.36 }],
"orders": [{ "payment_id": "pay_1", "currency": "eur", "refund_amount": 76.5, "fees_covered": 3.37, "attendee_ids": ["t_1", "t_2"] }],
"balances": [{ "space_id": null, "currency": "eur", "balance": 5430.12, "refund_total": 4820.0, "shortfall": 0 }],
"not_refunded": { "paid_offline": 0, "resale": 0, "bundle": 0, "credits": 0 }
}
}
{ "error": "Event not found" }
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 returns404.
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 answers409 refund_confirmation_required with the quote. Show it to whoever decides, then resend the same request with the quote’s id, in the body:
{ "refund": { "confirm": true, "quote_id": "<quote.quote_id>" } }
DELETE, as ?confirm_refund=true"e_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) andfees_covered(the part your organization pays for).orders[]: eachpayment_idwith itscurrency,refund_amount,fees_coveredandattendee_ids.balances[]: each balance the refunds come out of (space_id,nullfor the main balance), withbalance,refund_totalandshortfall.not_refunded: tickets left out (paid_offline,resale,bundle,credits).
Path Parameters
string
required
The unique identifier of the event.
Response
Returns200 OK when the event is deleted at once:
{ "deleted": true, "id": "AbCdEfGhIjKlMnOpQrSt" }
202 Accepted once confirmed refunds have started; the event is cancelling (sales closed) until they are done, then deleted:
{
"deleted": false,
"id": "AbCdEfGhIjKlMnOpQrSt",
"status": "cancelling",
"refunds": { "total": 63, "done": 0, "failed": 0 },
"message": "Sales are closed and every paid order is being refunded. The event is deleted once the refunds are done."
}
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 haveevents:write.409 refund_confirmation_required: the event has paid orders. Nothing changed; confirm thequote(see above).409 refund_quote_changed: the money changed since the quote (someone bought, or an order was refunded). Confirm the newquote.409 insufficient_balance: a balance can’t cover its refunds;quote.balances[].shortfallsays 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 withpayments:read.
curl -X DELETE -H "X-API-KEY: your_api_key" \
https://www.gomry.com/api/v1/events/AbCdEfGhIjKlMnOpQrSt
await fetch("https://www.gomry.com/api/v1/events/AbCdEfGhIjKlMnOpQrSt", {
method: "DELETE",
headers: { "X-API-KEY": "your_api_key" },
});
{ "deleted": true, "id": "AbCdEfGhIjKlMnOpQrSt" }
{
"error": "refund_confirmation_required",
"message": "This event has paid orders. Deleting it refunds every one in full and your organization covers the fees. Resend with `refund: { confirm: true, quote_id }` (or `?confirm_refund=true"e_id=`) to go ahead.",
"quote": {
"quote_id": "3f1c9a0d2b7e4c51a8f06e2d9b4c7a13",
"buyers": 63,
"tickets": 88,
"holds_released": 3,
"totals": [{ "currency": "eur", "refund": 4820.0, "fees_covered": 212.36 }],
"orders": [{ "payment_id": "pay_1", "currency": "eur", "refund_amount": 76.5, "fees_covered": 3.37, "attendee_ids": ["t_1", "t_2"] }],
"balances": [{ "space_id": null, "currency": "eur", "balance": 5430.12, "refund_total": 4820.0, "shortfall": 0 }],
"not_refunded": { "paid_offline": 0, "resale": 0, "bundle": 0, "credits": 0 }
}
}
{ "error": "Event not found" }

