Match overview (UAV)

One call for a whole match, from first listing to the final board. phase says where the match is: prematch, live or finished. MCP: v7_uav. The same match pushes on the WebSocket — subscribe with the ws.subscribe object in the response and ticks arrive as the board, events, odds and Flow plays change.

Match overview

GET/v7/{'{sport}'}/uav

Requires the Pro plan.

ParamTypeRequiredDescription
sportpathYescs2, valorant, lol, dota2, cod, r6, mlbb, deadlock
matchqueryYeskr_match_id or slug. Retired ids follow their redirect; pending ids return match_pending.
includequery—Comma blocks. Prematch: lines, prep, veto, maps, player_board, streams, h2h. Live: boxscore, events, frame, odds, odds_history. Any phase: flow.
fieldsquery—Comma list of top-level keys to keep.

The match card and phaseare in every answer. Prematch blocks are the same ones Matches serves; live blocks are the same ones Live serves, with your plan's delay applied. lines, odds, odds_history and flow need Hobby+. Ask for them on Sandbox and the whole call answers 403, the same gate as the dedicated routes.

cURLGET
curl -H "X-API-Key: YOUR_API_KEY" \
  "https://kashrock.up.railway.app/v7/cs2/uav?match=elite-klan-vs-passion-academy-18-10-2026"
200 · prematch
{
  "available": true,
  "sport": "cs2",
  "kr_match_id": "kr_cs2_elite-klan-vs-passion-academy-18-10-2026",
  "slug": "elite-klan-vs-passion-academy-18-10-2026",
  "phase": "prematch",
  "match": {
    "kr_match_id": "kr_cs2_elite-klan-vs-passion-academy-18-10-2026",
    "team1": "Elite Klan",
    "team2": "Passion Academy",
    "team1_id": "kr_tm_fac53dcc91e5",
    "team2_id": "kr_tm_d35cf9999a5f",
    "status": "not_started",
    "event_time": "2026-10-18T08:00:00Z",
    "competition": "United21"
  },
  "ws": {
    "url": "/v7/live/ws",
    "subscribe": {
      "op": "subscribe",
      "sport": "cs2",
      "game_id": "kr_cs2_elite-klan-vs-passion-academy-18-10-2026"
    },
    "ticks": "frame, boxscore, event, odds, meta, status, flow"
  }
}
200 · live, include=boxscore,events,flow
{
  "available": true,
  "sport": "cs2",
  "kr_match_id": "kr_cs2_voca-vs-liquid-23-09-2026",
  "slug": "voca-vs-liquid-23-09-2026",
  "phase": "live",
  "match": {
    "kr_match_id": "kr_cs2_voca-vs-liquid-23-09-2026",
    "team1": "Voca",
    "team2": "Liquid",
    "status": "live",
    "competition": "CCT Europe 2026 Series 10"
  },
  "live": {
    "stats_available": true,
    "live_state": "in_map",
    "last_frame_at": "2026-09-23T18:04:41.870+00:00",
    "boxscore": {
      "boxscore": {
        "map_name": "Anubis",
        "round": 16,
        "blue": {
          "map_score": 10,
          "kills": 69
        },
        "red": {
          "map_score": 5,
          "kills": 44
        }
      }
    },
    "events": {
      "total": 1,
      "events": [
        {
          "type": "KILL",
          "side": "blue",
          "map": 1,
          "round": 16,
          "killer": "Jorko",
          "victim": "dare",
          "weapon": "ak47",
          "headshot": true,
          "info": "Jorko killed dare with ak47 (headshot)",
          "ts": "2026-09-23T18:04:11.402+00:00"
        }
      ]
    }
  },
  "flow": {
    "total": 1,
    "kind": "all",
    "plays": [
      {
        "play_id": "kr_flow_9f2c1a04b3d7",
        "kind": "volume",
        "kr_match_id": "kr_cs2_voca-vs-liquid-23-09-2026",
        "market": "match_winner",
        "selection": "Voca",
        "money_behind": 41250,
        "side_share": 0.7813,
        "best_decimal": 1.72,
        "best_source": "thunderpick"
      }
    ]
  },
  "ws": {
    "url": "/v7/live/ws",
    "subscribe": {
      "op": "subscribe",
      "sport": "cs2",
      "game_id": "kr_cs2_voca-vs-liquid-23-09-2026"
    },
    "ticks": "frame, boxscore, event, odds, meta, status, flow"
  }
}

Push updates

The overview is read-only HTTP. For live push, connect to the WebSocket (Builder+) and send the subscribe object from the response. The wire then carries frame, boxscore, event (kills, bomb, round wins), odds and flow ticks for that match. A flowtick arrives whenever the match's Flow play set changes: a new volume, shift or steam indicator, or the set clearing.

{"op":"subscribe","sport":"cs2","game_id":"kr_cs2_voca-vs-liquid-23-09-2026"}
{"op":"update","type":"flow","sport":"cs2","game_id":"kr_cs2_voca-vs-liquid-23-09-2026","data":{"total":1,"plays":[...]},"ts":"..."}

A match that is not on our schedule yet answers available: false with reason: match_not_found; a retired id answers 404 id_retired.