Skip to main content
A rig represents a physical timing station that records lap data during a racing event. Rigs self-register using a hardware identifier and a signed license file obtained from POST /api/v1/licenses/{licenseId}/file. On successful registration, the server returns a bootstrapped API key for the rig to use in subsequent requests. All GET endpoints require authentication. Only PATCH requires a higher CRUD-level role; POST is open to any authenticated caller.

GET /api/v1/rigs

Return all enabled rigs. Required role: Any authenticated user
The response is an array of rig objects.
string (UUID)
required
Unique identifier for the rig.
string
required
Display name of the rig.
string
Optional description of the rig’s location or purpose.
string
required
Unique hardware identifier supplied by the device.
string (UUID)
required
UUID of the license this rig is registered under.
string
required
Human-readable name of the associated license.
boolean
required
Whether this rig is available for assignment to events.
string (ISO 8601)
required
Timestamp when the rig was registered.
string (ISO 8601)
required
Timestamp of the most recent update.

GET /api/v1/rigs/paged

Return a paginated list of enabled rigs, sorted by name ascending by default. Required role: Any authenticated user
number
default:"0"
Zero-based page number.
number
default:"20"
Number of rigs per page.
string
default:"name"
Field to sort by, optionally followed by ,asc or ,desc.
Returns a page envelope with content, totalElements, totalPages, number, and size.

GET /api/v1/rigs/

Return a single rig by UUID. Required role: Any authenticated user
string (UUID)
required
UUID of the rig to retrieve.
Returns a single rig object with the same shape as items from GET /api/v1/rigs.

GET /api/v1/rigs/hardwareId/

Look up a rig by its hardware identifier. This is the primary lookup used by timing devices to find their own registration record. Required role: Any authenticated user
string
required
The hardware identifier string as reported by the device.
Returns a single rig object with the same shape as GET /api/v1/rigs/{rigId}.

POST /api/v1/rigs

Register a new timing rig. The rig identifies itself with a hardware ID and proves ownership by submitting a signed license file issued via POST /api/v1/licenses/{licenseId}/file. On success, the server registers the rig and returns a fresh API key for the device to use. Required role: Any authenticated user
string
required
Unique identifier reported by the hardware device. Maximum 255 characters.
object
required
Signed license token obtained from POST /api/v1/licenses/{licenseId}/file.
object
required
The registered rig record.
object
required
A bootstrapped API key for the rig to use in subsequent requests. The full token is only present in this response.

PATCH /api/v1/rigs/

Update an existing rig’s metadata. All fields are optional — only the fields you provide are changed. Required role: CRUD or higher
string (UUID)
required
UUID of the rig to update.
string
New display name. Must be 2–120 characters.
string
Updated description. Maximum 255 characters.
string
Updated hardware identifier. Maximum 255 characters.
string (UUID)
Reassign the rig to a different license.
boolean
Enable or disable the rig.
Returns 200 OK with the updated rig object.