Public Calibration
Live post-selection calibration over the trailing days, public.
Bins each placed bet's stated probability against how often it won and the claimed edge against the realized edge, per market, over a window ending today. A sport with fewer than 500 graded bets in the window answers with its graded count, below_floor: true, and no numbers, so no public surface prints a win rate or a skill score off a thin sample. The window is trailing (not caller-supplied dates) so the surface stays a fixed shape the frontend can render simply.
Availability: days clamps up to one of four buckets, so this route asks the shared cache in api.calibration_cache for at most 20 keys (five sport choices x four buckets), keyed by sport and bucket rather than by date, so the keys survive midnight. A result younger than 15 minutes is served as is. A result between 15 minutes and 24 hours old is served at once while one background refresh runs, so no caller waits on the query after the first compute. Each successful public result is also saved to the calibration_cache_entries table and restored at startup, and the api warms the four per-sport 365-day keys in the background after it boots. Concurrent misses for one key await one shared asyncio.Task. This route's SQL passes through the public one-token AnyIO capacity limiter, and /api/audit/calibration uses a separate one, so each API process runs at most two calibration queries at once, one public and one authenticated. Waiting callers do not occupy the default AnyIO thread capacity. The 30/hour quota uses a member-specific key for requests carrying the trusted MCP secret and a valid on-behalf-of user, and the frontend's server-side fetch, which carries the trusted X-Frontend-Secret header, gets its own key with a quota it cannot trip. Other requests use the first X-Forwarded-For hop, which a caller can spoof, so their per-IP quota cannot bound a determined client on its own.
Request
- Base URL: https://api.fairline.io (the document declares no server; this is the origin it was published from)
- URL: https://api.fairline.io/api/transparency/calibration
- Auth: none declared
Query parameters
Filter by sport (mlb/nhl/epl/nfl)
Trailing window in days, ending today (max 365)
Response
Successful Response
Changes
No recorded changes to this operation across all 1 revision of this API.