Ticketing APIAPI reference
Authenticate every request with your client API key as a bearer token. All amounts are in pence and all times are ISO 8601. Every request is scoped to your own events and sales.
Sell a sharable ticket (a group, such as a table of 10): create a ticket type with is_sharable and a group_size, then issue a group to an owner by email with POST /events/{id}/allocations. Wild Card emails the owner a code to add the group in the app and share the seats; each friend claims one.
This is API v1. Within v1 we only add fields and endpoints, never remove or repurpose them.
Base URL
https://api.thewildcardapp.com/api/v1Authentication
Authorization: Bearer wc_live_...Your account
/meYour client profile and Stripe Connect status.
Example request
curl https://api.thewildcardapp.com/api/v1/me \
-H "Authorization: Bearer wc_live_..."Example response
{
"organiser": {
"id": 3,
"name": "The Brickworks",
"type": "standard",
"status": "active"
},
"stripe": { "connect_ready": true }
}Events
Create and manage the events you sell tickets to.
/eventsList your events, each with its ticket types.
Example request
curl https://api.thewildcardapp.com/api/v1/events \
-H "Authorization: Bearer wc_live_..."Example response
{
"events": [
{
"id": 7,
"name": "Friday Live Session",
"start_date": "2026-12-05T20:00:00+00:00",
"is_active": true,
"ticket_types": []
}
]
}/eventsCreate an event.
Body
namestringrequiredEvent name.descriptionstringOptional description.start_datedate-timeISO 8601 start.end_datedate-timeISO 8601 end, on or after start.Example request
curl -X POST https://api.thewildcardapp.com/api/v1/events \
-H "Authorization: Bearer wc_live_..." \
-H "Content-Type: application/json" \
-d '{
"name": "Friday Live Session",
"start_date": "2026-12-05T20:00:00+00:00"
}'Example response
{
"event": {
"id": 7,
"name": "Friday Live Session",
"start_date": "2026-12-05T20:00:00+00:00",
"is_active": true,
"ticket_types": []
}
}/events/{id}Get one event with its ticket types.
Parameters
idintegerrequiredEvent id (path).Example request
curl https://api.thewildcardapp.com/api/v1/events/7 \
-H "Authorization: Bearer wc_live_..."Example response
{
"event": {
"id": 7,
"name": "Friday Live Session",
"is_active": true,
"ticket_types": [
{ "id": 42, "name": "General admission", "price_pence": 1500, "sold": 37 }
]
}
}/events/{id}Update an event.
Body
namestringdescriptionstringstart_datedate-timeend_datedate-timeis_activebooleanOn/off sale.Example request
curl -X PATCH https://api.thewildcardapp.com/api/v1/events/7 \
-H "Authorization: Bearer wc_live_..." \
-H "Content-Type: application/json" \
-d '{ "is_active": true }'Example response
{ "event": { "id": 7, "is_active": true } }Ticket types
The tickets on an event. Prices are in pence; 0 is a free allocation.
/events/{id}/ticket-typesAdd a ticket type to an event.
Body
namestringrequirede.g. General admission.price_penceintegerrequiredPrice in pence (0 = free).descriptionstringcurrencystringDefaults to gbp.capacityintegerNull = unlimited.max_per_orderintegerCap per order.plus_onlybooleanRestrict to Wild Card Plus members.is_sharablebooleanMake this a sharable group ticket (e.g. a table of N). Issue groups with POST /events/{id}/allocations.group_sizeintegerSeats per group. Required when is_sharable is true.is_activebooleanOn/off sale.Set is_sharable + group_size to make a group ticket (the example below).
Example request
curl -X POST https://api.thewildcardapp.com/api/v1/events/7/ticket-types \
-H "Authorization: Bearer wc_live_..." \
-H "Content-Type: application/json" \
-d '{
"name": "Ringside table",
"price_pence": 0,
"is_sharable": true,
"group_size": 10
}'Example response
{
"ticket_type": {
"id": 42,
"event_id": 7,
"name": "Ringside table",
"price_pence": 0,
"is_sharable": true,
"group_size": 10,
"is_active": true,
"sold": 0
}
}/ticket-types/{id}Update a ticket type (same fields as create, all optional).
Example request
curl -X PATCH https://api.thewildcardapp.com/api/v1/ticket-types/42 \
-H "Authorization: Bearer wc_live_..." \
-H "Content-Type: application/json" \
-d '{ "is_active": false }'Example response
{ "ticket_type": { "id": 42, "is_active": false } }Orders
What has been purchased from you. Amounts in pence.
/events/{id}/ordersList orders for an event.
Parameters
statusstringFilter: pending, paid, failed, cancelled.per_pageintegerPage size, up to 100.Example request
curl "https://api.thewildcardapp.com/api/v1/events/7/orders?status=paid" \
-H "Authorization: Bearer wc_live_..."Example response
{
"orders": [
{
"uuid": "1b2c3d4e-0000-1111-2222-333344445555",
"status": "paid",
"total_pence": 3225,
"tickets": 2,
"paid_at": "2026-11-20T18:04:11+00:00"
}
]
}/orders/{uuid}Get one order by its uuid.
Example request
curl https://api.thewildcardapp.com/api/v1/orders/1b2c3d4e-0000-1111-2222-333344445555 \
-H "Authorization: Bearer wc_live_..."Example response
{
"order": {
"uuid": "1b2c3d4e-0000-1111-2222-333344445555",
"event_id": 7,
"status": "paid",
"subtotal_pence": 3000,
"booking_fee_pence": 225,
"total_pence": 3225,
"tickets": 2,
"paid_at": "2026-11-20T18:04:11+00:00"
}
}