Construisez votre billetterie
dans tout.
Une API REST complète, des webhooks signés en temps réel, des clés à portée limitée et un serveur MCP. Tout ce que fait le tableau de bord tickts, votre code peut le faire aussi, avec zéro frais d'API par billet.
# 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" }
En ligne en trois étapes
Aucun rendez-vous commercial, aucune liste d'attente. Générez une clé depuis votre tableau de bord et faites votre premier appel en moins d'une minute.
Générer une clé
Dans votre tableau de bord, allez dans Développeurs et créez une clé. Choisissez exactement les portées nécessaires : les clés appliquent par défaut le privilège minimal et échouent en mode fermé.
Authenticate
Envoyez-la en tant que X-Api-Key ou un Bearer sur chaque requête vers /api/v1. Tout le trafic passe exclusivement par HTTPS.
Build
Listez les événements, émettez des billets, récupérez les participants, abonnez-vous aux webhooks. Documentation interactive complète dans la Documentation de l'API.
Toute la plateforme, programmable
32 points d'accès couvrant événements, commandes, participants, versements et plus encore : le même moteur qui fait tourner tickts.co.uk.
Événements et types de billets
Créez, modifiez, publiez et annulez des événements, et gérez types de billets, paliers, prix et jauge.
GET · POST · PUT /eventsCommandes et remboursements
Listez et examinez les commandes, effectuez des remboursements totaux ou partiels, renvoyez ou annulez des billets individuels.
GET /orders · POST /orders/{id}/refundParticipants et contrôle d'entrée
Récupérez la liste des participants en direct, validez et scannez les billets à l'entrée depuis votre propre application.
GET /events/{id}/attendees · POST /tickets/scanInvitations et listes d'invités
Émettez des invitations par programme, parfait pour les listes d'invités et les intégrations.
POST /events/{id}/ticketsAbonnements saison
Consultez les abonnements saison et les adhésions multi-jours rattachés à un événement.
GET /events/{id}/season-passesVersements et statistiques
Listez les règlements Stripe et votre solde, et récupérez les statistiques de vente, des données que la plupart des plateformes n'exposent jamais.
GET /payouts · GET /analytics/summaryLieux et plans de salle
Gérez les lieux, les plans de salle, les disponibilités en direct et les places bloquées pour les événements en places numérotées.
GET /venues · POST /seating/holdPromotions et réductions
Créez et gérez codes de réduction et promotions depuis vos propres outils.
GET · POST /promosCalendrier en masse
Créez toute une saison de matchs en un seul appel, conçu pour les clubs.
POST /fixtures/bulkFlux public des événements
Aucune clé requise. Toutes les dates à venir sur tickts, paginées, avec lieu, coordonnées, genres, artistes, prix et synchronisation différentielle, pour les sites d'agenda et les agrégateurs.
GET /feed/events · GET /eventsDiffusez l'agenda, sans clé requise
Les sites d'agenda, agrégateurs et applications de sorties peuvent récupérer chaque événement public de tickts directement depuis GET /api/v1/feed/events. Une ligne par date à venir, de la plus proche à la plus lointaine, encapsulée dans une { data, meta } enveloppe comportant meta.next pour la page suivante. Interrogez avec since= pour ne recevoir que ce qui a changé, y compris les annulations sous forme de marqueurs status: "cancelled" d'annulation, pour que votre copie ne soit jamais périmée.
Les événements non répertoriés et les brouillons n'apparaissent jamais. Les événements à lieu privé n'exposent que le secteur. Les événements en ligne ne portent aucun lieu physique. Toutes les heures sont au format ISO 8601 Europe/London ; les prix sont dans la devise de l'organisateur (currency sur chaque ligne : GBP ou EUR). Limité à 60 requêtes par minute ; interrogez avec since= plutôt que de tout récupérer à nouveau.
page, per_pagePagination. per_page de 1 à 500 (100 par défaut).sinceISO 8601 ou Y-m-d. Uniquement les dates dont l'événement ou la date a changé à partir de cet instant, plus les marqueurs d'annulation.include_cancelled1 pour inclure les dates annulées comme tombstones lors d'une récupération complète.genreIdentifiant ou nom du genre, ex. : musique, humour, théâtre, sport (correspond au genre ou à son parent).countryPays du lieu au format ISO 3166-1 alpha-2, ex. : GB, IE.from, toBornes de dates au format Y-m-d.organiserLes événements d'un seul organisateur (son identifiant d'organisateur tickts).artist, qRecherche en texte libre sur le titre, l'organisateur et le nom de l'artiste.online1 = événements en ligne uniquement, 0 = événements en présentiel uniquement.Le flux ne nécessite aucune clé et n'en nécessitera jamais. Si vous diffusez les événements tickts de façon régulière, demandez-nous tout de même une clé partenaire et envoyez-la en tant que X-TK-Feed-Key (or Authorization: Bearer). Elle relève votre limite au-delà des 60 requêtes anonymes par minute, vous identifie dans nos journaux pour que nous puissions vous prévenir avant tout changement, et enregistre automatiquement l'adresse de votre importateur auprès de notre protection anti-bots, pour qu'une récupération nocturne planifiée depuis un datacenter ne tombe jamais sur une page de vérification. Écrivez à [email protected].
Récupérer la page suivante des événements musicaux
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" }
}
Clés à portée limitée, privilège minimal
Chaque clé porte une liste explicite de portées autorisées et n'accorde rien au-delà (une clé sans portée ne peut rien faire : elle échoue en mode fermé). Envoyez-la en tant que X-Api-Key ou un Authorization: Bearer header.
events:readLire les événementsevents:writeCréer et mettre à jour des événementsorders:readLire les commandesorders:writeRembourser des commandesscanValider et scanner les billets (les deux ci-dessous, conservé pour les anciennes intégrations)tickets:readValider les codes de billet (lecture seule)tickets:scanScanner des billets (enregistre l'entrée)venues:readLire les lieuxvenues:writeCréer des lieuxfans:readLire les données des fans et des clientsanalytics:readLire les statistiquespromos:readLire les codes promopromos:writeCréer des codes promowebhooks:readLister les abonnements aux webhookswebhooks:writeCréer et supprimer des abonnements webhookpayouts:readLire l'historique des virements / règlements et le soldecalendar:writeAjouter des entrées d'agenda à votre calendrierEn temps réel, signés, réessayés
Abonnez un point d'accès via l'API et tickts vous envoie les événements dès qu'ils se produisent, sans interrogation régulière. Chaque charge utile est signée avec X-Tickts-Signature (HMAC-SHA256) pour que vous puissiez vérifier qu'il vient bien de nous ; les envois sont mis en file d'attente et réessayés.
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"] }'
Copiez, collez, livrez
Émettez une invitation pour une liste d'invités, dans l'outil de votre choix.
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]" }), });
Connectez un assistant IA avec MCP
tickts fournit un Model Context Protocol serveur, pour que des assistants comme Claude et Cursor puissent piloter directement votre billetterie : consulter les ventes, émettre des invitations, répondre à « comment s'est passé vendredi ? », avec votre propre clé à portée limitée. Votre API est prête pour le web agentique dès le départ.
Endpoint: https://tickts.co.uk/api/mcp
Les détails qui comptent
Versioned (/api/v1), HTTPS-only, rate-limited with clear headers, consistent JSON errors, cursor pagination, and a machine-readable Spécification OpenAPI 3.0.3 à partir de laquelle vous pouvez générer un client. Conçue en pensant aux développeurs (comme nous).
Prêt quand vous l'êtes.
Générez une clé à portée limitée et faites votre premier appel dans la minute. Sans frais, sans barrière.