Skip to main content
A lap record captures a single timed lap during a racing event. Each lap is linked to a participant, a timing rig, an event, a car, and a track. Sector times and the total time are all stored as integers in milliseconds. GET endpoints are public and require no authentication. Creating or updating laps requires a CRUD-level key.

GET /api/v1/laps

Return all lap records. Authentication: None required
The response is an array of lap objects.
string (UUID)
required
Unique identifier for the lap.
string (UUID)
required
UUID of the participant who set this lap.
string
required
Full name of the participant (firstName lastName).
string (UUID)
required
UUID of the timing rig that recorded this lap.
string
required
Display name of the rig.
string (UUID)
required
UUID of the event this lap belongs to.
string
required
Display name of the event.
integer[]
required
Ordered list of sector times in milliseconds.
integer
required
Total lap time in milliseconds.
boolean
required
Whether the lap is marked as valid (for example, not penalized or cut).
string (UUID)
required
UUID of the car driven during this lap.
string (UUID)
required
UUID of the track layout used.
string
required
Human-readable name of the track layout.
string (ISO 8601)
required
Timestamp when the lap was recorded.
string (ISO 8601)
required
Timestamp of the most recent update.

GET /api/v1/laps/paged

Return a paginated list of laps, sorted by totalTime ascending by default. Authentication: None required
number
default:"0"
Zero-based page number.
number
default:"20"
Number of laps per page.
string
default:"totalTime"
Field to sort by, optionally followed by ,asc or ,desc.
Returns a page envelope with content, totalElements, totalPages, number, and size.

GET /api/v1/laps/

Return a single lap by UUID. Authentication: None required
string (UUID)
required
UUID of the lap to retrieve.
Returns a single lap object with the same shape as items from GET /api/v1/laps.

POST /api/v1/laps

Record a new lap. Required role: CRUD or higher
string (UUID)
required
UUID of the participant who set this lap.
string (UUID)
required
UUID of the timing rig that recorded the lap.
string (UUID)
required
UUID of the event this lap belongs to.
integer[]
required
Ordered list of sector times in milliseconds. Each value must be ≥ 0.
integer
required
Total lap time in milliseconds. Must be ≥ 0.
boolean
required
Whether this lap should be counted as valid for results.
string (UUID)
required
UUID of the car driven during this lap.
string (UUID)
required
UUID of the track layout.
Returns 201 Created with the full lap object.

PATCH /api/v1/laps/

Update an existing lap record. All fields are optional — only the fields you provide are changed. Required role: CRUD or higher
string (UUID)
required
UUID of the lap to update.
string (UUID)
Reassign the lap to a different participant.
string (UUID)
Reassign the lap to a different rig.
string (UUID)
Move the lap to a different event.
integer[]
Updated sector times in milliseconds. Each value must be ≥ 0. Replaces the entire existing list.
integer
Updated total lap time in milliseconds. Must be ≥ 0.
boolean
Updated validity flag.
string (UUID)
Updated car UUID.
string (UUID)
Updated track layout UUID.
Returns 200 OK with the updated lap object.