Features Pricing Guide Blog Book a Demo
Chapter 15 · API

The venue API and webhooks.

Pull your laps, leaderboards, drivers, leagues and bookings into your own website or tools, and get a signed webhook the moment a record falls.

Where to find it·Admin panel API

The venue API is an add-on that opens your data to your own website and tools. A key in a header, a request to your-venue.mlttp.com/api/v1/, and you have your leaderboard as JSON for your homepage, your drivers for a mailing tool, your league standings for a widget, or a booking created from a form you designed. Webhooks work the other way: Multitap calls your server, with a signed message, the moment a lap lands or a record falls.

Enabling the add-on

The API is enabled per venue by Multitap. Until then the API page in your admin panel shows a short description and a link to the reference. Once enabled, the page shows an Enabled badge, your rate limit and monthly quota, a usage panel and the key and webhook managers.

The API page

The API page with the Enabled badge, rate limit and monthly quota, the Usage This Month bar and 30-day chart, and the API Keys table with Create Key and Revoke
The API pageKeys · usage · webhooks

Usage This Month

Requests so far this month against your quota, how many remain, a bar that turns amber past 70 percent and red past 90, and a sparkline of the last thirty days.

API Keys

Press Create Key.

FieldWhat it does
TypeSecret keys start with sk_ and are for your server. Never put one in a web page. Publishable keys start with pk_ and are for browser code on your own site: they are read-only and only work from the origins you list.
LabelA name for your own reference, such as Venue website.
Include driver contact dataSecret keys only. Grants the driver endpoints, which include names, emails and birthdates. Leave it off unless the integration needs them.
Allowed originsPublishable keys only. One website origin per line, for example https://www.yourvenue.com. Browser requests from anywhere else are refused.

The full key is shown once, in a Copy your key now dialog. Store it; it cannot be displayed again. The table lists each key's prefix, label, type, scopes, who created it and when it was last used. Revoke stops a key immediately after a confirmation. You can hold up to ten active keys.

Webhooks

Press Add Endpoint, enter a public https:// address on your server, and tick the events you want. A signing secret is shown once, and can be revealed again later from the table. Each endpoint row has Secret, Rotate, Test (sends a ping and reports the response time), Deliveries (the last 25 attempts with status and timing), Disable or Enable, and Delete. Up to five active endpoints.

EventSent when
lap.completedAny lap is recorded, valid or not: game, driver, car, track, time, sectors, validity, tyre, top speed and cuts.
personal_best.setA valid lap beats the driver's previous best on that car and track, with the previous time.
record.brokenA valid lap takes first place for a class and track, with the previous holder and time. Ticked by default.
league.round_confirmedA league round is confirmed: the top ten and links to the standings and results.

Deliveries are signed with an X-Multitap-Signature header containing a timestamp and an HMAC-SHA256 of the body, so your server can verify each message came from Multitap. A delivery that does not get a 2xx response is retried at one minute, five minutes, thirty minutes and two hours before being marked dead. An endpoint that fails ten times in a row is disabled automatically until you re-enable it.

Using the API

curl https://your-venue.mlttp.com/api/v1/leaderboard?track=monza \
  -H "Authorization: Bearer sk_your_key"

Responses wrap results in a data field with paging information in meta. Errors carry a code and a message. Every response includes rate-limit headers so your code can back off. Limits are per key per minute, with publishable keys getting half the venue's rate, and a monthly quota shared across keys.

Endpoints

EndpointReturns
GET /venueVenue name, branding and enabled games. A handy key check.
GET /usageThis month's request count and quota.
GET /leaderboardBest valid lap per driver, filtered by game, period, track, car or class, paged.
GET /lapsFull lap history with the same filters plus player and validity.
GET /activityRecent laps with their milestone, for a live ticker.
GET /drivers, /drivers/{id}, /drivers/{id}/statsRegistered drivers, their linked names, and their statistics. Needs the driver contact scope.
GET /leagues, /leagues/{id}, /leagues/{id}/standings, /leagues/{id}/roundsChampionships, standings and rounds.
GET /rounds/{id}/results, /rounds/{id}/laps, /rounds/{id}/incidentsResults, laps and incidents for a round's practice, qualifying or race.
GET /traffic/leaderboard, /traffic/players/{name}Traffic scores by track, and one player's history.
GET /content/cars, /content/tracksYour catalogue with display names, classes, regions and preview image links.

Booking endpoints

EndpointPurpose
GET /booking/configDurations, slot increment, opening hours, prices, terms and bookable rigs.
GET /booking/availabilityFree start times for a date and duration, optionally for a party size and rig type.
POST /bookingCreates a confirmed booking and queues the confirmation email. Needs a secret key with the booking write scope.
GET /booking/{id}One booking.
POST /booking/{id}/cancelCancels it.

Reference

The Multitap Venue API reference with a sidebar of Authentication, Scopes, Rate limits, Conventions, Webhooks and endpoint groups, and the authentication and scopes sections
The public API referenceyour-venue.mlttp.com/api/docs

The full reference, with every parameter, response schema, error code and a webhook verification example, is published at your-venue.mlttp.com/api/docs. It is public, so your developer can read it before a key exists.