---
title: "Get player-prop lines and live progress for an event"
method: GET
path: "/v1/events/{event_id}/player-props"
tags: ["events"]
---

# Get player-prop lines and live progress for an event

`GET /v1/events/{event_id}/player-props`

## Request

- Base URL: `https://lumify.ai`
- URL: `https://lumify.ai/v1/events/{event_id}/player-props`
- Auth: HTTP bearer

NFL, NCAAF, NBA, NCAAB, NHL, MLB, and Soccer only. Joins persisted player-prop mains to this-event player box rows and grades over/under/push (1:1 slugs, combo sums including rush+rec and pass+rush yards, weighted combos, and yes/no thresholds). GET /odds stays on h2h/spreads/totals. Other sports return HTTP 400. available:false is free. Market catalog: https://lumify.ai/docs/player-props

## Path parameters

- `event_id` integer, required: Lumify event ID

## Response `200`

One row per (player, market, line) with per-book Over/Under prices, the live counting stat (current), pct_of_line, and result (in_progress / over / under / push). 400 if the event's sport is not NFL, NCAAF, NBA, NCAAB, NHL, MLB, and Soccer. 404 if the event does not exist.

- PlayerPropsResponse
  - `event_id` integer, required: Lumify event ID.
  - `available` boolean, required: False when no player-prop mains have been ingested for this event. available:false is not charged.
  - `sport` string, nullable: Sport slug (nfl, ncaaf, nba, ncaab, nhl, or mlb on this endpoint).
  - `status` string, nullable: Event status: scheduled, inprogress, delayed, final, …
  - `period` string, nullable: Current period label from the live score snapshot (e.g. '3').
  - `clock` string, nullable: Game clock from the live score snapshot (e.g. '8:42').
  - `player_props` PlayerPropLine[]: One row per (player, market, line). All books at that exact line are nested under books. Empty when available is false.
    - `player` string, required: Player display name as stored on the prop line.
    - `player_id` integer, nullable: Lumify player id when the line's player name matches this event's roster or box (normalized full_name, then unique last-token fallback). Null when unmatched — the line is still returned.
    - `market` string, required: Prop market category, used as lumify_odds.market_key (e.g. passing_yards, points). Not the legacy player_* names.
    - `line` number, required: Main Over/Under number for this player + market.
    - `current` number, nullable: This-event counting stat from lumify_player_game_stats — a direct 1:1 box slug, a combo sum (e.g. points + rebounds), a weighted combo (e.g. total_bases = H + 2B + 2*3B + 3*HR), or a yes/no threshold (1.0/0.0, e.g. double-double). Null before the box lands, when unmatched, or when settleable is false.
    - `pct_of_line` number, nullable: current / line as a percent (one decimal). Null when current is null, or for yes/no threshold markets (double_double, triple_double) where current is a 1.0/0.0 flag and a ratio against the line is not meaningful.
    - `settleable` boolean, required: True when this market can be graded from this-event box counts (1:1 slug, combo sum, weighted combo, or yes/no threshold). False when the line is returned but not graded.
    - `result` string, nullable: in_progress while the event is not final. over / under / push once final and current is present. At final with no current: dnp when box ingest has landed and this player has zero tracked box rows (did not play); no_stat when the player has other box rows this event but this market's stat category never landed, the priced name never matched, or box ingest has not landed yet. Null when settleable is false.
    - `books` object: Per-book Over/Under American prices at this exact line. Keys are odds slugs (pinnacle, fanduel, …). Books that posted a different number appear on a separate player_props row.

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/lumify/apis/lumify-sports-intelligence-api.md) · [All operations](https://skmtc.dev/lumify/apis/lumify-sports-intelligence-api/llms.txt) · [OpenAPI document](https://skmtc.dev/lumify/apis/lumify-sports-intelligence-api/revisions/f91ea41a2606?raw)
