Skip to main content
TRUE OVERLAYAI racing intelligence

Documentation

Use the platform with confidence.

A practical reference for reading an analysis, understanding freshness, managing an account, and consuming derived prediction records.

Reading an analysis

1. Check freshness

Start with the race source timestamp and completeness score.

2. Read probability

Treat fair odds as the reciprocal of an estimate, not a promised market truth.

3. Audit evidence

Open the cited runner fields and uncertainty before considering the market gap.

For the full generation and validation contract, see the methodology reference.

HTTP API

MethodPathPurpose
GET/api/races?date=&region=Normalized race index and freshness
GET/api/races/{id}Racecard, runners, form summary, and permitted prices
POST/api/analysesAuthenticated custom analysis request
GET/api/analyses/{id}Immutable analysis and uncertainty record
GET/api/resultsPublic settled prediction ledger
POST/api/checkoutSubscription Checkout session
GET/api/v1/predictionsSyndicate derived-prediction API
POST / DELETE/api/v1/keysCreate or revoke a hashed Syndicate API key
GET/api/exports/predictionsDerived CSV export for Syndicate accounts

Syndicate authentication

Send a generated API key as Authorization: Bearer to_…. Keys are shown once, stored only as SHA-256 hashes, and rejected immediately after revocation or entitlement loss.

The Syndicate interface exposes derived platform records only. It is not a substitute for a licensed racing-data feed.

Response discipline

Public list endpoints may return an empty array when no provider-backed records exist. Protected routes use explicit error codes including UNAUTHORIZED, FORBIDDEN, ANALYSIS_QUOTA_EXCEEDED, and SERVICE_NOT_CONFIGURED.