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

# Get team-total lines and live progress for an event

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

## Request

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

NFL, NCAAF, MLB, and Soccer only. Joins persisted team-total mains to this-event participant scores and grades over/under/push. GET /odds stays on h2h/spreads/totals. Other sports return HTTP 400. available:false is free.

## Path parameters

- `event_id` integer, required: Lumify event ID

## Response `200`

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

- TeamPropsResponse
  - `event_id` integer, required: Lumify event ID.
  - `available` boolean, required: False when no team-total mains have been ingested for this event. available:false is not charged.
  - `sport` string, nullable: Sport slug (nfl, ncaaf, mlb, or soccer).
  - `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').
  - `team_props` TeamPropLine[]: One row per (team, line). All books at that exact line are nested under books. Empty when available is false.
    - `team` string, required: Team display name (home or away participant).
    - `team_id` integer, nullable: Lumify team id for this side. Null only if the participant has no team row.
    - `side` string, required: 'home' or 'away'.
    - `market` string, required: Always 'team_total' today — this team's full-game points/goals Over/Under.
    - `line` number, required: Main Over/Under number for this team's score.
    - `current` number, nullable: This-event team score from lumify_participants.score. Null before kickoff or when the score is not numeric.
    - `pct_of_line` number, nullable: current / line as a percent (one decimal). Null when current is null.
    - `settleable` boolean, required: True — team totals grade from the same participant score /odds uses.
    - `result` string, nullable: in_progress while the event is not final. over / under / push once final and current is present. Null when current is missing.
    - `books` object: Per-book Over/Under American prices at this exact line. Keys are odds slugs (pinnacle, …).

## 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)
