---
title: "Get Mlb Dog Edge"
method: GET
path: "/api/grading/mlb-dog-edge"
tags: ["grading"]
---

# Get Mlb Dog Edge

`GET /api/grading/mlb-dog-edge`

## 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/grading/mlb-dog-edge`
- Auth: HTTP bearer

Live tracked record for the MLB moneyline dog-edge pocket (issue #143).

Reads the record for MLB moneylines over the window, keeps the pocket rows,
and rolls them up CLV-first. Volume is qualifying plays per active MLB day.
Responses are cached in-process for _DOG_EDGE_CACHE_TTL; summary_only=true
(the dashboard chip) returns the same cached record without the row-level
ledger.

## Query parameters

- `date` string, date, nullable
- `days` integer
- `summary_only` boolean

## Response `200`

Successful Response

- MlbDogEdgeResponse
  - `window_start` string, date, required
  - `window_end` string, date, required
  - `bets` MlbDogEdgeRow[], required
    - `id` integer, required
    - `game_date` string, date, required
    - `external_game_id` string, required
    - `home_team` string, required
    - `away_team` string, required
    - `game_time_utc` string, date-time, nullable
    - `side` string, required
    - `bookmaker` string, required
    - `book_decimal` number, required
    - `first_observed_decimal` number, nullable
    - `units` number, required
    - `entry_fair_edge` number, nullable
    - `fair_edge` number, nullable
    - `sharp_fair_edge` number, nullable
    - `clv_pct` number, nullable
    - `beat_close` boolean, nullable
    - `clv_to_close` boolean
    - `clv_pct_novig` number, nullable
    - `beat_close_novig` boolean, nullable
    - `result` string, required
    - `pnl` number, nullable
  - `summary` MlbDogEdgeSummary, required: CLV-first rollup for the pocket; ROI is at the taken soft-book price.
    - `n_picks` integer, required
    - `n_graded` integer, required
    - `n_pending` integer, required
    - `wins` integer, required
    - `losses` integer, required
    - `pushes` integer, required
    - `voids` integer, required
    - `units_staked` number, required
    - `units_pnl` number, required
    - `roi_pct` number, nullable
    - `clv_soft` DogEdgeClvSummary, required: One anchor's CLV rollup (soft-book OR sharp), never blended together.
      - `n_with_clv` integer, required
      - `avg_clv_pct` number, nullable
      - `pct_beat_close` number, nullable
    - `clv_sharp` DogEdgeClvSummary, required: One anchor's CLV rollup (soft-book OR sharp), never blended together.
      - `n_with_clv` integer, required
      - `avg_clv_pct` number, nullable
      - `pct_beat_close` number, nullable
    - `n_active_days` integer, required
    - `avg_qualifying_per_day` number, nullable
    - `sample_size_label` string, required
  - `disclaimers` string[], 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)
