Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
97 changes: 51 additions & 46 deletions CHANGELOG.md

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion docs/auth-quota-and-health.html
Original file line number Diff line number Diff line change
Expand Up @@ -202,7 +202,7 @@
<header class="docs-site-header"><a class="docs-brand" href="./"><img src="logo.svg" width="28" height="28" alt="">Live Tennis API <span>Docs</span></a><nav class="docs-desktop-nav" aria-label="Documentation"><a href="./">Overview</a><a href="./reference.html">API reference</a><a href="./changelog.html">Changelog</a></nav><a class="docs-key" href="https://livetennisapi.com/subscribe/free">Get a free key <span aria-hidden="true">↗</span></a></header><details class="docs-topic-menu"><summary>Explore the documentation</summary><nav aria-label="Documentation topics"><a href="./">Overview</a><a href="./reference.html">API reference</a><a href="./changelog.html">Changelog</a><a href="./live-scores.html">Live tennis scores API</a><a href="./players-and-tournaments.html">Tennis players, tournaments and rankings API</a><a href="./tennis-odds.html">Tennis odds API — markets and price ticks</a><a href="./point-by-point-history.html">Point-by-point tennis data API</a><a href="./historical-results-archive.html">Historical tennis results API — 1968 onward</a><a href="./shot-level-rally-data.html">Shot-by-shot tennis rally and charting API</a><a href="./broadcast-graphics.html">Tennis scores for on-air graphics</a><a href="./push-feed-and-webhooks.html">Tennis WebSocket feed and webhooks</a><a href="./auth-quota-and-health.html" aria-current="page">Tennis API authentication, quota and status</a><a href="./ai-sdk.html">Live Tennis API tools for the Vercel AI SDK</a></nav></details>
<div class="wrap">
<header>
<p class="meta">Live Tennis API &middot; docs &middot; version 1.13.74</p>
<p class="meta">Live Tennis API &middot; docs &middot; version 1.13.75</p>
<h1>Tennis API authentication, quota and status</h1>
<p><strong>How do you authenticate, and how do you see what quota is left?</strong> Send your key as <code>X-API-Key</code> on every request. <code>GET /usage</code> returns your own consumption against your plan's quota and works on every tier including FREE, so a client can check its own headroom before a burst. <code>GET /health</code> is the unauthenticated liveness probe.</p>
<p class="meta">2 endpoints on this page. Base URL
Expand Down
2 changes: 1 addition & 1 deletion docs/broadcast-graphics.html
Original file line number Diff line number Diff line change
Expand Up @@ -202,7 +202,7 @@
<header class="docs-site-header"><a class="docs-brand" href="./"><img src="logo.svg" width="28" height="28" alt="">Live Tennis API <span>Docs</span></a><nav class="docs-desktop-nav" aria-label="Documentation"><a href="./">Overview</a><a href="./reference.html">API reference</a><a href="./changelog.html">Changelog</a></nav><a class="docs-key" href="https://livetennisapi.com/subscribe/free">Get a free key <span aria-hidden="true">↗</span></a></header><details class="docs-topic-menu"><summary>Explore the documentation</summary><nav aria-label="Documentation topics"><a href="./">Overview</a><a href="./reference.html">API reference</a><a href="./changelog.html">Changelog</a><a href="./live-scores.html">Live tennis scores API</a><a href="./players-and-tournaments.html">Tennis players, tournaments and rankings API</a><a href="./tennis-odds.html">Tennis odds API — markets and price ticks</a><a href="./point-by-point-history.html">Point-by-point tennis data API</a><a href="./historical-results-archive.html">Historical tennis results API — 1968 onward</a><a href="./shot-level-rally-data.html">Shot-by-shot tennis rally and charting API</a><a href="./broadcast-graphics.html" aria-current="page">Tennis scores for on-air graphics</a><a href="./push-feed-and-webhooks.html">Tennis WebSocket feed and webhooks</a><a href="./auth-quota-and-health.html">Tennis API authentication, quota and status</a><a href="./ai-sdk.html">Live Tennis API tools for the Vercel AI SDK</a></nav></details>
<div class="wrap">
<header>
<p class="meta">Live Tennis API &middot; docs &middot; version 1.13.74</p>
<p class="meta">Live Tennis API &middot; docs &middot; version 1.13.75</p>
<h1>Tennis scores for on-air graphics</h1>
<p><strong>How do you put live tennis scores into a broadcast graphics template?</strong> <code>GET /broadcast/match/{matchId}</code> returns ONE flat object for one match and <code>GET /broadcast/live</code> the same object for every live match in a single call. Both are ULTRA. A graphics template binds each field to a fixed path, so three things are contractual: the object is flat, every key is present on every read (<code>null</code>, never missing), and the score is already in display form — <code>p1_points</code> reads <code>"40"</code> or <code>"AD"</code> and <code>set_line</code> is one string. Built for 1 Hz: every response carries a strong <code>ETag</code>, so <code>If-None-Match</code> makes an unchanged state a 304 with no body. Detect a new state on <code>sequence</code>, never on <code>served_at</code>, which changes on every read.</p>
<p class="meta">2 endpoints on this page. Base URL
Expand Down
77 changes: 41 additions & 36 deletions docs/changelog.html

Large diffs are not rendered by default.

8 changes: 4 additions & 4 deletions docs/historical-results-archive.html

Large diffs are not rendered by default.

24 changes: 12 additions & 12 deletions docs/live-scores.html

Large diffs are not rendered by default.

10 changes: 5 additions & 5 deletions docs/llms.txt
Original file line number Diff line number Diff line change
Expand Up @@ -154,11 +154,11 @@ begins. GET /history/packages lists exactly which bulk periods exist (monthly fo
tape, yearly for ?kind=archive and ?kind=archive_tape) and is always the
authoritative answer.
Is there point-by-point data before 2023? For 2013–2022 yes, RECONSTRUCTED, not
recorded: GET /history/archive/matches/{archiveId}/tape rebuilds the score sequence
behind a 2013–2022 archive result from the public record — 97,901 matches and
14,340,663 rows. The floor is hard: 977,903 archive results from 1968–2012 have NO
tape and never will, because no public point-by-point record of those years exists
to rebuild and we do not manufacture one. Nobody watched those matches, so
recorded: GET /history/archive/matches/{archiveId}/tape serves the score sequence
behind a 2013–2022 archive result as reconstructed point sequences, no capture
timestamps. 97,901 matches and 14,340,663 rows. The floor is hard: 977,903 archive
results from 1968–2012 have NO tape and never will, because we hold no point
sequence for those years and we do not manufacture one. Nobody watched those matches, so
timestamp, win_probability_p1 and danger are null on EVERY row and cannot be filled
in later — the production table has no timestamp column at all, and the promotion
script refuses to run if one ever appears. Do not time
Expand Down
92 changes: 46 additions & 46 deletions docs/openapi.json

Large diffs are not rendered by default.

Loading
Loading