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

# Changelog

> Recent updates, new features, and improvements to TheRundown API.

## 2026

### June 2026

* **Affiliate `status` field** -- The `GET /api/v2/affiliates` (and `/api/v2/sportsbooks`) response now includes a `status` for each sportsbook: `healthy` (live and verified), `unhealthy` (the feed is currently degraded or down), or `beta` (a new integration whose coverage we are still verifying). Use it to surface book health in your UI or to skip beta books in production. Treat unrecognized values as unknown — new statuses may be added without notice, so don't hard-code the set on the client side.

### May 2026

* **ATP and WTA Tennis leagues** -- Added ATP Tennis (sport ID `38`) and WTA Tennis (sport ID `39`) as first-class leagues. Full-match tennis markets use full-game periods (`0` prematch, `7` live); set-specific markets use period IDs to distinguish Set 1 and Set 2, including prematch Set 1/Set 2 (`3`/`4`) and live Set 1/Set 2 (`15`/`16`).

### April 2026

* **theScore Bet affiliate** -- theScore Bet is now available as affiliate ID 24, providing moneyline, spread/runline/puckline, and total markets for NBA, MLB, and NHL (prematch and live). Expanded coverage of additional supported markets is in progress.
* **In-play coverage for LowVig, BetOnline, and Sportsbetting** -- LowVig (11), BetOnline (6), and Sportsbetting (4) now stream live in-play lines across the V2 market catalog, including player props, team props, and alternate lines. Additional market coverage for these books is in progress.

### March 2026

* **Live market variants now default** -- V2 event endpoints now return live moneyline, spread, and total (IDs 41, 42, 43) alongside the standard prematch markets by default. Integrations that pass explicit `market_ids` are unaffected.
* **Faster live score updates** -- Live score data now reflects in-game changes much faster. The `score` object on event responses — including `event_status`, `display_clock`, `game_period`, and current scores — updates more frequently during live games.
* **Ultra tier latency improvements** -- Ultra tier subscribers now receive WebSocket price updates in real time with no batching delay. REST endpoints for Ultra tier also return fresher data.

### February 2026

* **`exclude_status` parameter** -- New query parameter for V1 and V2 event endpoints. Pass `exclude_status=STATUS_POSTPONED,STATUS_CANCELED` (comma-separated) to filter out postponed and canceled games before they reach your application.
* **`delta_last_id` bootstrap** -- V2 markets responses now include `meta.delta_last_id`, a starting cursor for delta polling. Use it to initialize `/api/v2/markets/delta` immediately after a snapshot without missing updates.
* **Subscription plan headers** -- V2 responses now include headers that surface your subscription tier, rate limits, allowed bookmaker IDs, and active feature flags. Useful for building adaptive clients and debugging plan entitlements.
* **`Retry-After` headers on rate limit responses** -- All `429 Too Many Requests` responses now include a `Retry-After` header indicating when you may retry.
* **MLB Spring Training migration** -- MLB Spring Training events have been migrated from sport ID `3` to a dedicated sport ID `30`, isolating preseason games from the regular season. This follows the same pattern used for NBA Summer League (32) and other season-specific sport IDs. If you consume spring training data, update your integration to query sport ID `30`.
* **OpenAPI spec published** -- Full OpenAPI 3.1 specification now available for automated client generation and tooling integration.
* **Market 553 deprecated — use market 410** -- The `any_time_goal_scorer` market (ID 553) has been consolidated into the `to_score` market (ID 410). Market ID 553 will no longer return data. Update integrations that query market 553 to use market 410 instead.

### January 2026

* **V2 Markets WebSocket** -- New `wss://therundown.io/api/v2/ws/markets` endpoint for real-time market and price updates, replacing the legacy V1 WebSocket. Supports granular filtering by sport, market, event, and affiliate.
* **`price_delta` field** -- Pass `include=price_delta` on V2 event endpoints to receive the previous price and direction of change alongside current odds. Useful for animating line movement on page load.
* **`live_variant_id` field** -- Market objects now include a `live_variant_id` mapping prematch markets to their live equivalents, enabling seamless prematch-to-live market switching.

## 2025

### Q4 2025

* **Player prop markets expansion** -- Added combo prop markets: PRA (93), Points + Assists (99), Points + Rebounds (297), Rebounds + Assists (298). Added live player prop markets for points (90), assists (91), three-pointers (92), rebounds (982), blocks (983), and turnovers (984).
* **Market line price history** -- New `GET /api/v2/events/{eventID}/markets/history` and `GET /api/v2/events/{eventID}/markets/{marketID}/history` endpoints for full price history with RFC 3339 time range filtering. Opening and closing line endpoints added at `/openers` and `/closing`.

### Q3 2025

* **V2 markets delta endpoint** -- `GET /api/v2/markets/delta` returns only markets that have changed, providing a more efficient alternative to full event polling.
* **Team totals market** -- Market ID 94 added for individual team over/under totals.
* **Kalshi affiliate** -- Added Kalshi (affiliate ID 25) to tracked sportsbooks.

### Q2 2025

* **V2 API general availability** -- The V2 market-based data model is now the recommended API version. V1 remains available but new features are V2-only.
* **Alternate lines support** -- V2 events endpoint returns main and alternate lines. Use `main_line=true` to filter to primary lines only.
* **Period-based markets** -- Markets now include `period_id` for half, quarter, and period-specific odds.
