If you've imported tickets in bulk, or issued tickets directly through the API rather than through a normal checkout, you can still void individual tickets.
Voiding a ticket marks it as no longer valid for entry, so it can't be scanned with the check-in app.
đĄ If you need to control ticket type validity at the door, you may want to filter your check-in app to manage check-in instead of voiding.
How to void an issued ticket
Find the ticket's ID. Every issued ticket has a unique ID starting with
it_(e.g.it_50198). You can find this by:Listing your issued tickets with
GET /v1/issued_tickets, filtering bysource=apiorsource=importto narrow it down to tickets issued outside the usual checkout, orLocating the ticket on your 'Issued tickets' page in the dashboard and copying its ID from the ticket details.
Call the void endpoint, passing that ID in the URL:
POST /v1/issued_tickets/:issued_ticket_id/void
Check the response. A successful call returns a
200with the updated ticket, showing"status": "voided"and avoided_attimestamp.
đĄ Things to note
Voiding a ticket is irreversible. Once voided, it can't be scanned or checked in.
You can void a ticket to a hold instead of a normal void. This creates a hold from the ticket rather than putting its allocation back on public sale, so nobody else can book that spot. See the API docs for more info.
This works the same way whether the ticket was created through a normal checkout, imported in bulk, or issued directly via the API, since they're all the same underlying resource.
You'll need your API key, which you can find (or generate) in your box office Settings â API.
If you manage your box office through an MCP client (like Claude), this action isn't available as a tool yet. You'll need to call the API directly with your API key instead.