KashRock V7: one schema, every endpoint

V7 is a condense-and-harden release, not a rebuild. About forty routes collapse into twelve sport routes plus /v7/meta and a live WebSocket. Every endpoint reads a cache the workers already filled — a response is a read, not a fan-out — and every route answers in under 2 seconds.

One route per question

Each route answers one question, in one shape: matches, props, lines, parlays, flow, live, players, teams, history, results, breakdown. Params behave the same on all of them — fields, include, limit/cursor, format=slim|full.

curl -H "X-API-Key: YOUR_KEY" \
  "https://kashrock.up.railway.app/v7/cs2/matches?status=upcoming"

What is genuinely new

Parlays prices a ticket or discovers ranked +EV parlays on the book you name — the fair price always excludes the leg book, so a book never grades its own number.

Flow surfaces steam, shift, volume and whale plays — where a price moved, how far, and which venue led, with the thresholds each play cleared.

Teams is the team-level counterpart to player research: form, roster, map pool, head-to-head, and main lines with open/close per book.

Breakdown pages are free and keyless — every published match, team and H2H page is a plain GET, and the same facts render our public pages.

Bet365 joined the line-book set — the registry now holds 25 books whose prices sit on the same canonical ids.

What stayed the same

Every V6 route keeps working with its current response shape — existing integrations do not change. Ids are permanent. And an empty board still answers honestly: available: false plus a reason, never a silent 200.

The full contract is in the V7 API reference; the free tier is on pricing.

KashRock is an independent data provider, not a sportsbook. Data is for informational and analytical use.

Frequently asked questions

What is KashRock V7?

V7 is a condense-and-harden release: roughly forty V6 routes collapse into twelve sport routes plus a global /v7/meta and a live WebSocket — one route per question, one response schema across every title, and a hard rule that every endpoint answers in under 2 seconds.

What is actually new in V7?

Four things did not exist before: /v7/{sport}/parlays (price a ticket or discover +EV parlays), /v7/{sport}/flow (steam, shift, volume and whale movement plays), /v7/{sport}/teams (team-level research), and published breakdown pages that are keyless. Bet365 also joined the line-book set.

Does V6 still work?

Yes. Every V6 route keeps serving its current response shape — V6 sits as an alias layer over the V7 handlers. The deprecation window is at least six months, announced in the changelog, docs, and by email before anything changes.

What does one schema mean in practice?

A match, team, player, market or book serializes identically on every endpoint. kr_match_id, kr_tm_*, kr_pl_* and kr_prop_* are permanent — an id stored today still resolves after a rename, and reversed team order resolves as an alias.

What happens when there is no data?

You get available: false with a reason — stale, no_parlays, board_not_published, page_not_published — never a silent empty 200. Unknown ids return a coded error.