---
title: "Win-probability history and market read for one fixture"
method: GET
path: "/txodds/fixtures/{fixture_id}/timeseries"
tags: ["Sports"]
---

# Win-probability history and market read for one fixture

`GET /txodds/fixtures/{fixture_id}/timeseries`

## Request

- Base URL: `https://data.kairos.trade`
- URL: `https://data.kairos.trade/txodds/fixtures/{fixture_id}/timeseries`
- Auth: API key in header `X-Client-Id` and API key in header `X-Api-Key` and API key in header `X-Api-Secret`

The odds-derived curves for a fixture, split out from the detail because they read a table orders of magnitude larger than the score store. Both parts degrade independently: a failed win-probability read returns an empty history, a failed market read returns null projections, and a degraded payload gets a shorter cache TTL. Otherwise the TTL follows kick-off and the last sample.

## Path parameters

- `fixture_id` integer, required

## Response `200`

Win-probability samples and the current market read.

- TxoddsFixtureTimeseries: Odds-derived curves, split out from the detail because they read a table orders of magnitude larger than the score store.
  - `fixtureId` integer, required
  - `winProbHistory` TxoddsWinProbSample[], required
    - `ts` integer, required
    - `minute` integer, required
    - `home` number, required
    - `draw` number, required
    - `away` number, required
  - `marketRead` TxoddsMarketRead, required
    - `expectedGoals` number, nullable, required
    - `supremacyHome` number, nullable, required
    - `projHome` number, nullable, required
    - `projAway` number, nullable, required

## Other responses

- `401`: No valid credential presented — missing/invalid API-key headers, or an invalid/expired session token.
- `403`: Authenticated but not permitted. Three distinct causes: the session user is not invited (`Invite required`), the API key lacks the operation's scope, or API-key access to the requested venue is switched off (`API access is disabled for <provider>`). Admin and API-key callers bypass the invite check; session and admin callers bypass scope and venue checks.
- `404`: No such fixture.
- `422`: Request failed FastAPI parameter validation.
- `429`: Rate limit exceeded for this route's sliding window, keyed on the session `sub` when authenticated and on the trusted client IP otherwise. Honor `Retry-After`. A per-API-key data ceiling (set per credential) rejects with `{"detail": "API key data rate limit exceeded"}` instead of the `error` envelope below.

---

[API](https://skmtc.dev/kairos/apis/kairos-data-api.md) - [All operations](https://skmtc.dev/kairos/apis/kairos-data-api/llms.txt) - [OpenAPI document](https://skmtc.dev/kairos/apis/kairos-data-api/revisions/cf6b76079e38?raw)
