Skip to main content
The Tracks API gives you access to the full catalog of race circuits and their associated layouts. Each track represents a physical venue; each track layout is a specific configuration of that venue — for example, the full circuit versus an infield variant. GET endpoints are public and require no authentication. Creating or updating records requires a CRUD+ role.

Track object

string (UUID)
required
Unique identifier for the track.
string
required
Human-readable name of the circuit (3–120 characters).
string[]
required
Additional names or historical names for the circuit.
string
required
URL-safe identifier (2–20 characters).
CDN key for the circuit logo asset (max 255 characters).
boolean
Whether the logo asset is an SVG file.
string
required
ISO 3166-1 alpha-3 country code (exactly 3 characters).
string
required
City or region where the circuit is located (max 120 characters).
boolean
Whether the track is visible in public listings.
string (ISO 8601)
Timestamp when the track was created.
string (ISO 8601)
Timestamp of the most recent update.

List tracks

Public endpoint — no authentication required.
Returns all enabled tracks as an unordered list.
Example request
cURL
Example response
200

List tracks (paged)

Public endpoint — no authentication required.
Returns enabled tracks in a paginated response. Default page size is 20, sorted by displayName.
Query parameters
number
default:"0"
Zero-based page index.
number
default:"20"
Number of items per page.
string
default:"displayName"
Field to sort by and direction, e.g. displayName,asc.
Example request
cURL

Get a track

Public endpoint — no authentication required.
Returns a single track by its UUID.
Path parameters
string (UUID)
required
The UUID of the track to retrieve.
Example request
cURL

Create a track

Requires CRUD+ role.
Creates a new track record. Returns 201 Created with a Location header pointing to the new resource.
Request body
string
required
Circuit name (3–120 characters).
string[]
required
Alternative or historical names. Send an empty array if none apply.
string
required
URL-safe identifier (2–20 characters). Must be unique.
string
required
CDN key of the logo asset uploaded via the CDN API (max 255 characters).
boolean
Set to true when the logo is an SVG file. Defaults to false.
string
required
ISO 3166-1 alpha-3 country code (exactly 3 characters, e.g. "DEU").
string
required
City or region name (max 120 characters).
boolean
Whether the track appears in public listings. Defaults to true.
Example request
cURL

Update a track

Requires CRUD+ role.
Partially updates an existing track. Send only the fields you want to change — omitted fields remain unchanged.
Path parameters
string (UUID)
required
The UUID of the track to update.
Request body
string
New display name (3–120 characters).
string[]
Replacement list of alternative names.
string
New URL-safe identifier (2–20 characters).
string
New CDN key for the logo asset (max 255 characters).
boolean
Whether the new logo is an SVG file.
string
New ISO 3166-1 alpha-3 country code (exactly 3 characters).
string
New city or region name (max 120 characters).
boolean
Set to false to hide the track from public listings.
Example request
cURL

Track layout object

A track layout represents a specific configuration of a circuit — for example the full GP layout versus a shorter national variant. Each layout belongs to exactly one track.
string (UUID)
required
Unique identifier for the track layout.
string
required
Human-readable name of the layout (3–120 characters).
string
required
URL-safe identifier (2–40 characters).
string
required
Circuit classification. One of the TrackType enum values — see below.
string (UUID)
required
UUID of the parent track.
string
required
Display name of the parent track.
number
required
Circuit length in metres (minimum 1).
number
required
Year this layout was first used in competition.
number
required
Year this layout was last used. Send -1 to indicate the layout is still in active use.
number
required
Total number of corners on the layout.
string[]
required
Names of each corner in order. Use "-" for unnamed corners.
string
required
CDN key for the track map image (max 255 characters).
string[]
required
CDN keys for additional circuit images.
boolean
Whether the layout appears in public listings.
string (ISO 8601)
Timestamp when the layout was created.
string (ISO 8601)
Timestamp of the most recent update.

TrackType values


List track layouts

Public endpoint — no authentication required.
Returns all enabled track layouts.
Example request
cURL

List track layouts (paged)

Public endpoint — no authentication required.
Returns enabled track layouts in a paginated response. Default page size is 20, sorted by displayName.
Query parameters
number
default:"0"
Zero-based page index.
number
default:"20"
Items per page.
string
default:"displayName"
Field and direction, e.g. displayName,asc.

Get a track layout

Public endpoint — no authentication required.
Returns a single track layout by its UUID.
Path parameters
string (UUID)
required
The UUID of the track layout to retrieve.
Example request
cURL

Create a track layout

Requires CRUD+ role.
Creates a new layout for an existing track.
Request body
string
required
Layout name (3–120 characters).
string
required
URL-safe identifier (2–40 characters).
string
required
TrackType enum value describing the circuit surface and permanence.
string (UUID)
required
UUID of the parent track.
number
required
Circuit length in metres (minimum 1).
number
required
Year this layout was first used (minimum 0).
number
required
Year this layout was last used. Pass -1 for still-active layouts.
number
required
Total number of corners (minimum 0).
string[]
required
Names for each corner. Use "-" for unnamed corners.
string
required
CDN key for the circuit map image (max 255 characters).
string[]
required
CDN keys for additional circuit images.
boolean
Whether the layout appears in public listings. Defaults to true.
Example request
cURL

Update a track layout

Requires CRUD+ role.
Partially updates a track layout. Only the fields you include are changed.
Path parameters
string (UUID)
required
The UUID of the track layout to update.
Request body
string
New layout name (3–120 characters).
string
New URL-safe identifier (2–40 characters).
string
New TrackType value.
string (UUID)
UUID of the new parent track, if reassigning.
number
New circuit length in metres (minimum 1).
number
New first-usage year (minimum 0).
number
New last-usage year. Use -1 for still-active layouts.
number
New corner count (minimum 0).
string[]
Replacement list of corner names.
string
New CDN key for the circuit map (max 255 characters).
string[]
Replacement list of CDN keys for circuit images.
boolean
Set to false to hide the layout from public listings.
Example request
cURL