History tape
Quote tape and settlement for one contract. Vault only — no live source fan-out on the request path.
GET/v6/esports/history/contract
| Param | Type | Required | Description |
|---|---|---|---|
| market_key | string | — | Canonical market key. Required unless prop_id + book. |
| prop_id | string | — | Use with book when you do not have market_key. |
| book | string | — | Book slug. Required with prop_id. |
cURLGET
curl -H "X-API-Key: YOUR_API_KEY" \ "https://kashrock.up.railway.app/v6/esports/history/contract?market_key=kr_mk_bb9dc1e03b45f0d4"
200 · live
{
"prop_id": "kr_prop_90f5d48848af",
"market_key": "kr_mk_bb9dc1e03b45f0d4",
"contract": {
"book": "underdog",
"event_id": "kr_ev_d2a547772dc4",
"market_definition_id": "kr_md_lol_kills_maps_1_2_v1"
},
"quote_tape": [
{
"side": "over",
"line": 6.5,
"price_american": -121,
"market_status": "open",
"is_latest": true
}
]
}Closing mainlines
Opening and closing match winner, map winner, total maps, and map handicap for one match. Vault prints only — not the in-play Redis shift log. Builder+. Unknown match is 404; known match with no quotes is 200 with an empty markets list.
GET/v6/esports/{sport}/matches/{slug_or_kr_match_id}/lines/history
| Param | Type | Required | Description |
|---|---|---|---|
| sport | path | — | cs2, valorant, lol, dota2, … |
| slug_or_kr_match_id | path | — | From get_matches / get_match. Never a foreign numeric id. |
| market | query | — | Optional. match_winner | map_winner | total_maps | map_handicap | correct_score. Omit = all. For correct_score every listed final score is a side with its own open, close and quote tape. |
| book | query | — | Optional book slug. |
cURLGET
curl -H "X-API-Key: YOUR_API_KEY" \ "https://kashrock.up.railway.app/v6/esports/cs2/matches/esport-berg-vs-oldboys-pl-16-09-2026/lines/history?market=match_winner"
200 · closing
{
"source": "kashrock",
"sport": "cs2",
"kr_match_id": "kr_cs2_esport-berg-vs-oldboys-pl-16-09-2026",
"match_slug": "esport-berg-vs-oldboys-pl-16-09-2026",
"event_id": "kr_ev_df690c2c50d9",
"markets": [
{
"market": "match_winner",
"map_number": null,
"line": null,
"books": [
{
"book": "sleeper",
"opening": {
"side": "home",
"name": "OLDBOYS-",
"american": -104,
"observed_at": "2026-09-15T12:03:32Z"
},
"closing": {
"side": "home",
"name": "OLDBOYS-",
"american": -335,
"observed_at": "2026-09-15T17:53:12Z"
},
"sides": [
{
"side": "home",
"name": "OLDBOYS-",
"opening": {
"american": -104,
"observed_at": "2026-09-15T12:03:32Z"
},
"closing": {
"american": -335,
"observed_at": "2026-09-15T17:53:12Z"
}
},
{
"side": "away",
"name": "Esport BERG",
"opening": {
"american": 153,
"observed_at": "2026-09-15T12:03:32Z"
},
"closing": {
"american": 355,
"observed_at": "2026-09-15T18:53:50Z"
}
}
]
}
]
}
]
}