Skip to content
Game Action 360 SPORTS
HUB
Menu
Application manual

Race Timing System: Direct Sports Hub race integration

Operational reference for direct sports hub race integration in Race Timing System.

Updated November 4, 2026 · 3 minute read · Application 1.0.7

Direct Sports Hub race integration

Open the timing application with Launch Timing.command (Mac) or Launch Timing.bat (Windows). Do not open assignments.html directly. The app now embeds race options into the served page and shows connection errors explicitly.

  1. In Sports Hub races, enter your Hub HTTPS address and active application API key. Alternatively set GA360_API_KEY in the receiver process environment and leave the key field blank.
  2. Click Connect & load meets. The account/plan/key must grant cross_country_meets:read and cross_country_races:read; the key owner must have access to the meet under Hub management permissions and record licenses.
  3. Choose your meet, then Load races for selected meet. The app calls the existing commercial API with pagination and the meet-ID filter. It does not invent race records or use public scraping.
  4. Select the races you will time. Confirm their gun/wave start in your computer's local time; a supplied Hub scheduled start is prefilled. Choose start/finish or lap mode, gun/chip start, checkpoint mapping, required laps, and minimum plausible duration/lap interval. The app converts the local start time to a timezone-aware UTC timestamp.
  5. Click Use selected races in this session. The racer-assignment dropdown then uses the actual Hub race names; saved assignments retain their exact Hub race keys. Hub meet ID, race IDs, names and distance plus local timing rules are persisted in SQLite.
  6. Assign bibs and RFID tags below. Start reader capture only after linking the meet/races and reviewing the timing setup.

The first Hub import requires a session with no existing tag assignments or raw reads, to prevent mixing unrelated meets. If your existing local/demo session contains data, preserve that database and start with a fresh --db path (for example new_meet.sqlite3) using the same reader configuration. A linked session cannot silently change Hub deployment or meet. Additions to the same meet are supported; timing rules for existing races are locked after enrollment/capture. Import does not change the reader's antenna configuration.

The API key is held in receiver memory only; it is not written into HTML, the timing database, logs, exports or the archive. It is cleared from the browser input after a successful connection. After restarting, reconnect or supply the environment key to fetch more Hub data. Cached race assignments and timing continue locally without a Hub network connection. HTTPS origins only, certificate verification enabled, redirects blocked. Live Hub requests count under the existing API account's quota/billing rules.

The linked meet ID is shown on screen and stored under hub_session; use that ID with the existing uploader's --meet-id when sending reviewed results. Upload requires the separate cross_country_entries:write scope. This version directly integrates meet/race selection, not pre-race Hub roster registration, tag storage in the Hub, or automatic result publication. It never changes remote races during linking.

Need more help with this?

Search a specific symptom, review related guides below, or prepare a report with the app version, operating system and exact error. Guides describe the documented release; installed versions and subscription access can differ.

Prepare a support report

Related guides

Troubleshooting · 2 min

Troubleshooting: start here

A reusable process for finding the failing layer and avoiding unnecessary reinstalls.

Application reference manuals · 2 min

Audio-to-NDI: Operation

Operational reference for operation in Audio-to-NDI.

Audio-to-NDI