ENDURANCE RACING / MARATHON RACING API

Every split deserves the right context.

Design marathon racing API integrations around timing bases, checkpoint definitions, and source-attributed observations. A recorded checkpoint passage is not continuous knowledge of a runner’s current location.

Start with the fields that matter.

The following is an application-side planning checklist. These names illustrate concepts; they are not a promise that any particular provider uses this contract.

Field conceptSuggested typeWhy it matters
wave_idstring or nullThe applicable start group or reference.
gun_time_msnumber or nullDuration from the defined common start.
net_time_msnumber or nullDuration from an individual recorded start.
splitsarrayAccepted observations tied to checkpoint identities.
classification_statusstringKeep provisional results and later decisions visible.

Show observations before predictions

Use explicit labels for gun time and net time, and verify which basis the organizer uses for classification. A missing read is not proof of withdrawal. Label pace-based projections as estimates, with their input checkpoint and calculation time.

Make the first version inspectable.

Begin with a small, fictional fixture and write down the expected display for a missing measurement, a revised result, and an unfamiliar status. Keep identifiers and original source values available so a later correction reaches the right record. Do not make a smooth interface substitute for a clear data contract.

The bundled samples use a shared envelope with a sample: true flag, a source reference, an event, a result state, and a sport_data object. The additional fields on this page are design concepts; the small fixture does not attempt to implement every possible field.

Read the fixture contract

Questions for your provider evaluation

Confirm event and historical coverage, field meanings, update and correction behavior, authentication, and the permissions for your intended display. Inspect actual sample responses rather than assuming that a familiar endpoint name guarantees the information you need.

A provider credential and a finished frontend are separate pieces of a production system. This site includes neither a private ingestion service nor secret credentials. Use the local examples to establish the interface behavior before implementing the selected provider’s supported access path.

Are there real participant records here?

No. The local examples use invented participants and results. They do not collect registrations, personal contact information, or live athlete locations. Production public fields should be agreed with the event organizer and provider.

What is included in the local sample?

A fictional event, three invented entries, illustrative durations, a provisional classification, and selected discipline-specific fields. It is bundled with this site and does not refresh from an external source.

TAKE THE NEXT LAP

Your next racing project starts here.

Pick a discipline. Explore the data model. Build something worth following.

Explore the docs