---
title: "Get Calibration"
method: GET
path: "/api/audit/calibration"
tags: ["audit"]
---

# Get Calibration

`GET /api/audit/calibration`

## 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/audit/calibration`
- Auth: HTTP bearer

Post-selection calibration over graded bets in a date range.

Bins each placed bet's stated probability against how often it won, and the
claimed edge against the realized edge, per market. `suggested_lambda` is the
blend-to-market weight implied by the claimed-vs-realized gap (the Phase 4
shrinkage input). Shares the pure aggregation with the offline report script.

The result is cached for 15 minutes under the exact (start_date, end_date,
sport) the caller asked for, in the shared cache in `api.calibration_cache`,
so a repeated 30-day admin refresh returns without running the query again.
Concurrent callers that miss the same key await one shared asyncio.Task.

This route holds its own one-token AnyIO capacity limiter and the public
transparency route holds a separate one, so each API process runs at most two
calibration queries at once and an admin request never waits behind a public
refresh. Callers awaiting a token do not occupy the default AnyIO thread
capacity.

## Query parameters

- `start_date` string, date, required: Start of date range (inclusive)
- `end_date` string, date, required: End of date range (inclusive)
- `sport` string, nullable: Filter by sport (mlb/nhl/epl/nfl)

## Response `200`

Successful Response

- CalibrationResponse: Post-selection calibration over graded bets in a date range.
  - `start_date` string, date, required
  - `end_date` string, date, required
  - `sport` string, nullable, required
  - `below_floor` boolean
  - `value_flags_gated` boolean
  - `note` string, nullable
  - `overall` MarketCalibration, required: Calibration rollup for one market (or 'overall').
    - `market` string, required
    - `n_graded` integer, required
    - `brier` number, nullable, required
    - `calibration_error` number, nullable, required
    - `base_rate` number, nullable
    - `brier_baseline` number, nullable
    - `brier_skill` number, nullable
    - `mean_claimed_edge` number, nullable, required
    - `realized_edge` number, nullable, required
    - `suggested_lambda` number, nullable, required
    - `reliability` ReliabilityBin[], required
      - `lo` number, required
      - `hi` number, required
      - `n` integer, required
      - `mean_predicted` number, required
      - `observed_rate` number, required
    - `edge_bins` EdgeBin[], required
      - `lo` number, required
      - `hi` number, required
      - `n` integer, required
      - `mean_claimed_edge` number, required
      - `realized_edge` number, required
      - `shrink_ratio` number, nullable, required
  - `by_market` MarketCalibration[], required
    - `market` string, required
    - `n_graded` integer, required
    - `brier` number, nullable, required
    - `calibration_error` number, nullable, required
    - `base_rate` number, nullable
    - `brier_baseline` number, nullable
    - `brier_skill` number, nullable
    - `mean_claimed_edge` number, nullable, required
    - `realized_edge` number, nullable, required
    - `suggested_lambda` number, nullable, required
    - `reliability` ReliabilityBin[], required
      - `lo` number, required
      - `hi` number, required
      - `n` integer, required
      - `mean_predicted` number, required
      - `observed_rate` number, required
    - `edge_bins` EdgeBin[], required
      - `lo` number, required
      - `hi` number, required
      - `n` integer, required
      - `mean_claimed_edge` number, required
      - `realized_edge` number, required
      - `shrink_ratio` number, nullable, required

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/fairline/apis/fairline-api.md) · [All operations](https://skmtc.dev/fairline/apis/fairline-api/llms.txt) · [OpenAPI document](https://skmtc.dev/fairline/apis/fairline-api/revisions/9f7ed2bfdf75?raw)
