Skip to content

docs/resources/live-data.md misdocuments three endpoint paths and the batch() return shape #318

Closed

Description

@TexasCoding

Problem

Three concrete mismatches on the public docs page for the live-data resource:

  1. Quick-reference table drops the /milestone segment in two URLs. The actual endpoints are /live_data/milestone/{milestone_id} and /live_data/milestone/{milestone_id}/game_stats.
  2. The batch() row says GET /live_data — the real path is /live_data/batch.
  3. The batch() snippet does for entry in resp.live_data: — but batch() returns a plain builtins.list[LiveData] (the resource already unwraps GetLiveDatasResponse.live_datas, note the trailing s). Copy-pasting the snippet raises AttributeError: 'list' object has no attribute 'live_data' on the first iteration.

Evidence

  • docs/resources/live-data.md:13-15 — wrong paths in the quick reference:
| `get(milestone_id, *, include_player_stats=None)` | `GET /live_data/{milestone_id}` |
| `batch(milestone_ids, *, include_player_stats=None)` | `GET /live_data` |
| `game_stats(milestone_id)` | `GET /live_data/{milestone_id}/game_stats` |
  • docs/resources/live-data.md:27-34 — broken snippet:
resp = client.live_data.batch(
    milestone_ids=["ms_a", "ms_b", "ms_c"],
    include_player_stats=False,
)
for entry in resp.live_data:
    print(entry.milestone_id, entry.payload)
  • kalshi/resources/live_data.py:36-40, 70-96, 98-106 — actual implementation:
data = self._get(
    f"/live_data/milestone/{_seg(milestone_id, name='milestone_id')}",
    ...
)
...
data = self._get("/live_data/batch", params=params, extra_headers=extra_headers)
return GetLiveDatasResponse.model_validate(data).live_datas
...
data = self._get(
    f"/live_data/milestone/{_seg(milestone_id, name='milestone_id')}/game_stats",
    ...
)
  • CHANGELOG.md:1487-1491 — release notes already document the correct paths (/live_data/milestone/{milestone_id}, /live_data/batch, /live_data/milestone/{milestone_id}/game_stats); the standalone docs page never caught up.

Suggested fix

In docs/resources/live-data.md:

  • Quick-reference table: change /live_data/{milestone_id} → /live_data/milestone/{milestone_id}, /live_data → /live_data/batch, /live_data/{milestone_id}/game_stats → /live_data/milestone/{milestone_id}/game_stats.
  • Batch snippet: iterate the returned list directly:
entries = client.live_data.batch(
    milestone_ids=["ms_a", "ms_b", "ms_c"],
    include_player_stats=False,
)
for entry in entries:
    print(entry.milestone_id, entry.payload)

Source

Round-3 independent audit (reviewer: resources_api).

Activity

  1. added
    bugSomething isn't working
    documentationImprovements or additions to documentation
    on May 22, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingdocumentationImprovements or additions to documentation

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions