> ## Documentation Index
> Fetch the complete documentation index at: https://pond.dflow.net/llms.txt
> Use this file to discover all available pages before exploring further.

# Live Data Response Details

> Reference for the details field in live data responses

<Warning>
  **Work in progress.** This page documents an evolving standard and is subject to change. The `details` object is passed through directly from Kalshi's API and uses `additionalProperties: true` in the upstream spec, so it is a flexible key-value object rather than a strict schema. Field names and shapes can change as Kalshi updates their data. Validate field presence at runtime rather than relying on this reference being current. This page will be updated when the schema is finalized.
</Warning>

## Common Fields

These fields can appear on any milestone type. Not every type populates every field.

| Field                      | Required | Type                             |
| -------------------------- | -------- | -------------------------------- |
| `type`                     | Yes      | `MilestoneType`                  |
| `widgetLiveText`           | Yes      | `string`                         |
| `tileLiveText`             | Yes      | `string`                         |
| `home_points`              | Yes      | `number`                         |
| `away_points`              | Yes      | `number`                         |
| `home_abbreviation`        | Yes      | `string`                         |
| `away_abbreviation`        | Yes      | `string`                         |
| `home_name`                | Yes      | `string`                         |
| `away_name`                | Yes      | `string`                         |
| `home_short_name`          | Yes      | `string`                         |
| `away_short_name`          | Yes      | `string`                         |
| `home_image_url`           | Yes      | `string`                         |
| `home_image_url_light`     | No       | `string`                         |
| `home_image_url_dark`      | No       | `string`                         |
| `home_secondary_image_url` | No       | `string`                         |
| `away_image_url`           | Yes      | `string`                         |
| `away_image_url_light`     | No       | `string`                         |
| `away_image_url_dark`      | No       | `string`                         |
| `away_secondary_image_url` | No       | `string`                         |
| `home_id`                  | Yes      | `string`                         |
| `away_id`                  | Yes      | `string`                         |
| `home_rank`                | No       | `number \| string`               |
| `away_rank`                | No       | `number \| string`               |
| `status`                   | No       | `"none" \| "live" \| "finished"` |
| `postponed`                | No       | `boolean`                        |
| `scheduled`                | Yes      | `string`                         |
| `round`                    | No       | `number`                         |
| `final_round_time_left`    | No       | `string`                         |
| `winner`                   | No       | `string`                         |
| `home_is_first`            | No       | `boolean`                        |

* **`home_is_first`**: Indicates whether the home team is the first one in the title (e.g., `{home} at {away}` when `true`, vs. `{away} at {home}` when `false`). Most professional sports list the away team first; college sports (along with a handful of others) list the home team first.
* **Compact scoreboard UI**: Try `home_name` / `away_name`, `home_short_name` / `away_short_name`, and `home_abbreviation` / `away_abbreviation` in order of decreasing length. These fields are sourced from Sportradar and may not always be set; some players and teams don't have an abbreviation.

## Football

| Field        | Required | Type               |
| ------------ | -------- | ------------------ |
| `leg`        | No       | `string`           |
| `possession` | No       | `"home" \| "away"` |
| `last_play`  | Yes      | `string`           |
| `sub_title`  | Yes      | `string`           |

## Soccer

| Field                     | Required | Type                       |
| ------------------------- | -------- | -------------------------- |
| `aggregate_text`          | No       | `string`                   |
| `show_penalties`          | No       | `boolean`                  |
| `home_penalties`          | No       | `string[]`                 |
| `away_penalties`          | No       | `string[]`                 |
| `home_penalties_score`    | No       | `number`                   |
| `away_penalties_score`    | No       | `number`                   |
| `home_significant_events` | No       | `SoccerSignificantEvent[]` |
| `away_significant_events` | No       | `SoccerSignificantEvent[]` |

## Tennis

| Field                      | Required | Type                     |
| -------------------------- | -------- | ------------------------ |
| `advantage`                | No       | `string`                 |
| `server`                   | No       | `string`                 |
| `home_current_round_score` | No       | `string`                 |
| `home_seed`                | No       | `number`                 |
| `home_round_scores`        | No       | `TennisRoundScores[]`    |
| `home_tennis_statistics`   | No       | `TennisPlayerStatistics` |
| `home_country`             | No       | `string`                 |
| `away_current_round_score` | No       | `string`                 |
| `away_seed`                | No       | `number`                 |
| `away_round_scores`        | No       | `TennisRoundScores[]`    |
| `away_tennis_statistics`   | No       | `TennisPlayerStatistics` |
| `away_country`             | No       | `string`                 |

* **Tennis scoring**: `home_points` / `away_points` are not the canonical scores in tennis. Sets won is derived from `home_round_scores` / `away_round_scores` by counting entries where `outcome === 'winner'`. The live in-game point score is `home_current_round_score` / `away_current_round_score`, returned as raw `0` / `1` / `2` / `3` and mapped to `"0"` / `"15"` / `"30"` / `"40"` client-side; `advantage` disambiguates 40-40 and onward. Per-set history is exactly what `home_round_scores` and `away_round_scores` carry.

## Esports

| Field                        | Required | Type                 |
| ---------------------------- | -------- | -------------------- |
| `home_game_scores`           | No       | `EsportsGameScore[]` |
| `away_game_scores`           | No       | `EsportsGameScore[]` |
| `esportsRoundBased`          | No       | `boolean`            |
| `esportsHasLiveGameData`     | No       | `boolean`            |
| `format`                     | No       | `string`             |
| `currentGameDurationSeconds` | No       | `number`             |
| `playerStats`                | No       | `EsportsPlayerStats` |
| `seriesStats`                | No       | `EsportsSeriesStats` |

## Golf

| Field         | Required | Type                       |
| ------------- | -------- | -------------------------- |
| `leaderboard` | No       | `MilestoneLeaderboardVo[]` |

## MMA

| Field             | Required | Type     |
| ----------------- | -------- | -------- |
| `methodOfVictory` | No       | `string` |
| `fightLength`     | Yes      | `number` |

## Racing

| Field            | Required | Type     |
| ---------------- | -------- | -------- |
| `completedLaps`  | No       | `number` |
| `totalLaps`      | No       | `number` |
| `weather`        | No       | `string` |
| `substatus`      | No       | `string` |
| `airTemperature` | No       | `number` |
| `humidity`       | No       | `number` |

## Rugby / AFL

| Field                    | Required | Type       |
| ------------------------ | -------- | ---------- |
| `score_breakdown_labels` | No       | `string[]` |
| `home_score_breakdown`   | No       | `number[]` |
| `away_score_breakdown`   | No       | `number[]` |

## Baseball

| Field         | Required | Type     |
| ------------- | -------- | -------- |
| `balls`       | No       | `number` |
| `strikes`     | No       | `number` |
| `outs`        | No       | `number` |
| `inning`      | No       | `number` |
| `inning_half` | No       | `number` |

## Cricket

| Field          | Required | Type                                  |
| -------------- | -------- | ------------------------------------- |
| `batting`      | No       | `"home" \| "away" \| "innings_break"` |
| `home_overs`   | No       | `number`                              |
| `away_overs`   | No       | `number`                              |
| `home_wickets` | No       | `number`                              |
| `away_wickets` | No       | `number`                              |
