Bouw ticketing
in alles.
Een complete REST API, realtime ondertekende webhooks, afgebakende sleutels en een MCP-server. Alles wat het tickts-dashboard doet, kan jouw code ook, met geen API-kosten per ticket.
# Introspect your key: who am I, which scopes, what rate limit? curl https://tickts.co.uk/api/v1/me \ -H "X-Api-Key: sk_live_your_key" # → { "organiser": "Bar Sport Cannock", # "scopes": ["events:read","orders:read"], # "rate_limit": "600/min" }
Live in drie stappen
Geen verkoopgesprek, geen wachtlijst. Genereer een sleutel in je dashboard en doe binnen een minuut je eerste aanroep.
Genereer een sleutel
Ga in je dashboard naar Ontwikkelaars en maak een sleutel aan. Kies precies de scopes die hij nodig heeft: sleutels hebben standaard minimale rechten en falen gesloten.
Authenticate
Stuur hem mee als X-Api-Key of een Bearer token bij elk verzoek naar /api/v1. Al het verkeer gaat alleen via HTTPS.
Build
Vraag evenementen op, geef tickets uit, haal bezoekers op, abonneer je op webhooks. Volledige interactieve documentatie in de API-referentie.
Het hele platform, programmeerbaar
32 endpoints voor evenementen, bestellingen, bezoekers, uitbetalingen en meer: dezelfde motor die tickts.co.uk aandrijft.
Evenementen en tickettypes
Maak evenementen aan, werk ze bij, publiceer of annuleer ze en beheer tickettypes, prijsniveaus, prijzen en capaciteit.
GET · POST · PUT /eventsBestellingen en terugbetalingen
Bekijk en inspecteer bestellingen, betaal volledig of gedeeltelijk terug, stuur losse tickets opnieuw of annuleer ze.
GET /orders · POST /orders/{id}/refundBezoekers en check-in
Haal de live bezoekerslijst op, valideer en scan tickets bij de deur vanuit je eigen app.
GET /events/{id}/attendees · POST /tickets/scanVrijkaarten en gastenlijsten
Geef vrijkaarten programmatisch uit, ideaal voor gastenlijsten en integraties.
POST /events/{id}/ticketsSeizoenkaarten
Lees seizoenkaarten en meerdaagse lidmaatschappen uit die aan een evenement hangen.
GET /events/{id}/season-passesUitbetalingen en statistieken
Vraag Stripe-afrekeningen en je saldo op en haal verkoopstatistieken op: gegevens die de meeste platforms nooit vrijgeven.
GET /payouts · GET /analytics/summaryLocaties en zaalplannen
Beheer locaties, zaalindelingen, live beschikbaarheid en vastgehouden stoelen voor evenementen met gereserveerde plaatsen.
GET /venues · POST /seating/holdActies en kortingen
Maak en beheer kortingscodes en acties vanuit je eigen tooling.
GET · POST /promosWedstrijden in bulk
Maak in één aanroep een heel seizoen aan wedstrijden aan, gemaakt voor clubs.
POST /fixtures/bulkOpenbare evenementenfeed
Geen sleutel nodig. Elke komende datum op tickts, gepagineerd, met locatie, coördinaten, genres, artiesten, prijzen en delta-sync voor uitagenda's en aggregators.
GET /feed/events · GET /eventsNeem over wat er te doen is, geen sleutel nodig
Uitagenda's, aggregators en "wat is er te doen"-apps kunnen elk openbaar evenement op tickts rechtstreeks ophalen via GET /api/v1/feed/events. Eén rij per komende datum, eerstvolgende eerst, verpakt in een { data, meta } envelop met meta.next voor de volgende pagina. Poll met since= om alleen te ontvangen wat er is gewijzigd, inclusief annuleringen als status: "cancelled" markeringen, zodat jouw kopie nooit veroudert.
Verborgen evenementen en concepten verschijnen nooit. Evenementen op een besloten locatie tonen alleen het gebied. Online evenementen hebben geen fysieke locatie. Alle tijden zijn Europe/London ISO 8601; prijzen zijn in de valuta van de organisator (currency op elke rij: GBP of EUR). Beperkt tot 60 verzoeken per minuut; poll met since= in plaats van alles opnieuw op te halen.
page, per_pagePaginering. per_page 1 tot 500 (standaard 100).sinceISO 8601 of Y-m-d. Alleen data waarvan het evenement of de datum op of na dit moment is gewijzigd, plus markeringen voor annuleringen.include_cancelled1 om geannuleerde datums als tombstones mee te nemen bij een volledige ophaalronde.genreGenre-slug of naam, bijv. music, comedy, theatre, sport (komt overeen met het genre of het bovenliggende genre).countryISO 3166-1 alpha-2-land van de locatie, bijv. GB, IE.from, toDatumgrenzen in Y-m-d.organiserAlleen de evenementen van één organisator (hun tickts-organisator-id).artist, qZoeken in vrije tekst op titel, organisator en artiestennaam.online1 = alleen online evenementen, 0 = alleen fysieke evenementen.Voor de feed is geen sleutel nodig, en dat blijft zo. Neem je tickts-evenementen volgens een schema over, vraag ons dan toch om een partnersleutel en stuur hem mee als X-TK-Feed-Key (or Authorization: Bearer). Daarmee gaat je limiet omhoog boven de anonieme 60 per minuut, sta je met naam in onze logboeken zodat we je kunnen waarschuwen voordat er iets verandert, en wordt het adres van je importer automatisch aangemeld bij onze botbescherming, zodat een geplande nachtelijke ophaalronde vanuit een datacenter nooit op een controlepagina stuit. Mail [email protected].
Haal de volgende pagina met muziekevenementen op
curl "https://tickts.co.uk/api/v1/feed/events?genre=music&per_page=200"
{
"data": [{
"id": "SE-kb759-20260912-2000",
"event_id": 1041,
"status": "scheduled",
"title": "Hidden Jazz Club: Late Session",
"description": "An intimate late-night set...",
"url": "https://tickts.co.uk/events/hidden-jazz-club",
"date_url": "https://tickts.co.uk/events/hidden-jazz-club?sub_event_id=SE-kb759-20260912-2000",
"image": "https://tickts.co.uk/storage/events/card.jpg",
"start_at": "2026-09-12T20:00:00+01:00",
"doors_at": "2026-09-12T19:00:00+01:00",
"timezone": "Europe/London",
"venue": { "id": 812, "name": "The Bell Inn", "address": "12 High St", "city": "Bath",
"postcode": "BA1 5AQ", "country": "GB", "lat": 51.38, "lng": -2.36 },
"artists": [{ "name": "Ada Quartet", "headliner": true, "slug": "ada-quartet" }],
"genres": [{ "name": "Jazz", "slug": "jazz", "parent": "Music" }],
"category": "Music",
"organiser": { "id": 812, "name": "Hidden Jazz Club" },
"tickets": { "currency": "GBP", "sold_out": false, "cheapest": 12.5,
"types": [{ "name": "General Admission", "price": 12.5, "available": true }] },
"sales_state": "on_sale",
"updated_at": "2026-08-20T09:14:02+01:00"
}],
"meta": { "page": 1, "per_page": 200, "total": 1893, "total_pages": 10,
"next": "https://tickts.co.uk/api/v1/feed/events?genre=music&per_page=200&page=2" }
}
Afgebakende sleutels, minimale rechten
Elke sleutel heeft een expliciete lijst met toegestane scopes en geeft niets daarbuiten (een sleutel zonder scopes kan niets, hij faalt gesloten). Stuur hem mee als X-Api-Key of een Authorization: Bearer header.
events:readEvenementen lezenevents:writeEvenementen aanmaken en bijwerkenorders:readBestellingen lezenorders:writeBestellingen terugbetalenscanTickets valideren en scannen (de twee hieronder samen, behouden voor oudere integraties)tickets:readTicketcodes valideren (alleen lezen)tickets:scanTickets scannen (registreert toegang)venues:readLocaties lezenvenues:writeLocaties aanmakenfans:readGegevens van fans / klanten lezenanalytics:readStatistieken lezenpromos:readKortingscodes lezenpromos:writeKortingscodes aanmakenwebhooks:readWebhook-abonnementen opvragenwebhooks:writeWebhook-abonnementen aanmaken en verwijderenpayouts:readLees de geschiedenis van uitbetalingen / verrekeningen en het saldocalendar:writeAgendanotities aan je agenda toevoegenRealtime, ondertekend, opnieuw geprobeerd
Meld een endpoint aan via de API en tickts stuurt je gebeurtenissen zodra ze plaatsvinden, zonder polling. Elke payload is ondertekend met X-Tickts-Signature (HMAC-SHA256) zodat je kunt controleren dat het echt van ons komt; leveringen worden in een wachtrij gezet en opnieuw geprobeerd.
curl -X POST https://tickts.co.uk/api/v1/webhooks \ -H "X-Api-Key: sk_live_your_key" \ -d '{ "url": "https://you.com/hook", "events": ["order.created"] }'
Kopiëren, plakken, live
Geef een vrijkaart uit aan een gastenlijst, in wat je ook bouwt met.
curl -X POST https://tickts.co.uk/api/v1/events/759/tickets \ -H "X-Api-Key: sk_live_your_key" \ -H "Content-Type: application/json" \ -d '{ "ticket_type": "GA", "quantity": 2, "name": "Guest List", "email": "[email protected]" }'
$res = Http::withHeaders(['X-Api-Key' => 'sk_live_your_key']) ->post('https://tickts.co.uk/api/v1/events/759/tickets', [ 'ticket_type' => 'GA', 'quantity' => 2, 'email' => '[email protected]', ]);
import requests requests.post( "https://tickts.co.uk/api/v1/events/759/tickets", headers={"X-Api-Key": "sk_live_your_key"}, json={"ticket_type": "GA", "quantity": 2, "email": "[email protected]"}, )
await fetch("https://tickts.co.uk/api/v1/events/759/tickets", { method: "POST", headers: { "X-Api-Key": "sk_live_your_key", "Content-Type": "application/json" }, body: JSON.stringify({ ticket_type: "GA", quantity: 2, email: "[email protected]" }), });
Koppel een AI-assistent met MCP
tickts levert een Model Context Protocol server, zodat assistenten als Claude en Cursor je kassa rechtstreeks kunnen bedienen (verkoop bekijken, vrijkaarten uitgeven, "hoe ging vrijdag?" beantwoorden) met je eigen afgebakende sleutel. Je API is direct klaar voor het agentische web.
Endpoint: https://tickts.co.uk/api/mcp
Details die ertoe doen
Versioned (/api/v1), HTTPS-only, rate-limited with clear headers, consistent JSON errors, cursor pagination, and a machine-readable OpenAPI 3.0.3-specificatie waarmee je een client kunt genereren. Ontworpen met ontwikkelaars (zoals wij) in gedachten.
Klaar wanneer jij dat bent.
Genereer een afgebakende sleutel en doe binnen een minuut je eerste aanroep. Geen kosten, geen poortwachters.