Ga naar de hoofdinhoud
tickts · developers

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.

je eerste verzoek
# 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" }
OpenAPI 3.0.3 Afgebakende API-sleutels Met HMAC ondertekende webhooks MCP-server 32 endpoints Geen API-kosten
Snel starten

Live in drie stappen

Geen verkoopgesprek, geen wachtlijst. Genereer een sleutel in je dashboard en doe binnen een minuut je eerste aanroep.

1

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.

2

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.

3

Build

Vraag evenementen op, geef tickets uit, haal bezoekers op, abonneer je op webhooks. Volledige interactieve documentatie in de API-referentie.

Wat je kunt bouwen

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 /events

Bestellingen en terugbetalingen

Bekijk en inspecteer bestellingen, betaal volledig of gedeeltelijk terug, stuur losse tickets opnieuw of annuleer ze.

GET /orders · POST /orders/{id}/refund

Bezoekers 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/scan

Vrijkaarten en gastenlijsten

Geef vrijkaarten programmatisch uit, ideaal voor gastenlijsten en integraties.

POST /events/{id}/tickets

Seizoenkaarten

Lees seizoenkaarten en meerdaagse lidmaatschappen uit die aan een evenement hangen.

GET /events/{id}/season-passes

Uitbetalingen en statistieken

Vraag Stripe-afrekeningen en je saldo op en haal verkoopstatistieken op: gegevens die de meeste platforms nooit vrijgeven.

GET /payouts · GET /analytics/summary

Locaties en zaalplannen

Beheer locaties, zaalindelingen, live beschikbaarheid en vastgehouden stoelen voor evenementen met gereserveerde plaatsen.

GET /venues · POST /seating/hold

Acties en kortingen

Maak en beheer kortingscodes en acties vanuit je eigen tooling.

GET · POST /promos

Wedstrijden in bulk

Maak in één aanroep een heel seizoen aan wedstrijden aan, gemaakt voor clubs.

POST /fixtures/bulk

Openbare 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 /events
Openbare evenementenfeed

Neem 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.
Optionele partnersleutel

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].

Voorbeeld

Haal de volgende pagina met muziekevenementen op

request
curl "https://tickts.co.uk/api/v1/feed/events?genre=music&per_page=200"
antwoord (ingekort)
{
  "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" }
}
Authenticatie

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 lezen
events:writeEvenementen aanmaken en bijwerken
orders:readBestellingen lezen
orders:writeBestellingen terugbetalen
scanTickets valideren en scannen (de twee hieronder samen, behouden voor oudere integraties)
tickets:readTicketcodes valideren (alleen lezen)
tickets:scanTickets scannen (registreert toegang)
venues:readLocaties lezen
venues:writeLocaties aanmaken
fans:readGegevens van fans / klanten lezen
analytics:readStatistieken lezen
promos:readKortingscodes lezen
promos:writeKortingscodes aanmaken
webhooks:readWebhook-abonnementen opvragen
webhooks:writeWebhook-abonnementen aanmaken en verwijderen
payouts:readLees de geschiedenis van uitbetalingen / verrekeningen en het saldo
calendar:writeAgendanotities aan je agenda toevoegen
Webhooks

Realtime, 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.

order.created order.refunded ticket.checked_in event.published
abonneer je op een webhook
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"] }'
Voorbeelden

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]" }),
});
AI-native

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

Goed gebouwd

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.