List complete MSF revisions after a scope-bound cursor.
const url = 'https://api.betflux.ai/v1/leagues/example/example/changes?cursor=example';const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request GET \ --url 'https://api.betflux.ai/v1/leagues/example/example/changes?cursor=example' \ --header 'Authorization: Bearer <token>'Pages stop at revision boundaries. Send the first page’s high_water_revision as until_revision on every later page to hold that high-water mark fixed. For a key whose history window ends before the head (the demo key’s sample month), high_water_revision is the last revision that key may read. A cursor for another dataset or scope is a 400. Served only where MSF serving is enabled: GET /v1/datasets lists the MSF datasets available, and elsewhere every MSF route answers 404.
Authorizations
Section titled “Authorizations”Parameters
Section titled “Parameters”Path Parameters
Section titled “Path Parameters”Query Parameters
Section titled “Query Parameters”A snapshot or changes cursor; revisions after it are listed.
A snapshot or changes cursor; revisions after it are listed.
Most revisions to list, 1–500 (default 100).
Most revisions to list, 1–500 (default 100).
Highest revision to list: the first page’s high_water_revision. Defaults to the current head.
Highest revision to list: the first page’s high_water_revision. Defaults to the current head.
Responses
Section titled “Responses”Revision listing.
object
object
object
object
object
object
Newest independently evidenced source version applied to serving state; null when no checkpoint evidence is published.
Time of the last publication containing data changes; null when change history is not evidenced.
Latest independently observed source request start, which does not prove request completion.
Latest pull completion evidenced by source pull state; separate from source update time.
Latest normalization evidenced by a retained normalize receipt; null when unavailable.
Time this independent health evidence was observed; null when health evidence is unavailable.
Example
{ "dataset": "game-state", "scope": { "kind": "game" }, "revisions": [ { "dataset": "game-state", "scope": { "kind": "game" }, "revision_kind": "patch", "history_origin": "captured", "source_observation": { "timestamp_basis": "source" }, "status": "provisional", "coverage": { "state": "complete" } } ]}Validation failed — unknown or invalid query parameter, or a malformed range (problem type validation-error).
RFC 9457 problem details. Dispatch on the stable type URI (https://api.betflux.ai/problems/*), never on the English title.
object
Stable problem type URI.
Short human-readable summary.
HTTP status code.
Explanation specific to this occurrence.
Examplegenerated
{ "type": "example", "title": "example", "status": 1, "detail": "example"}Missing, malformed, or unrecognized API key (problem type invalid-key).
RFC 9457 problem details. Dispatch on the stable type URI (https://api.betflux.ai/problems/*), never on the English title.
object
Stable problem type URI.
Short human-readable summary.
HTTP status code.
Explanation specific to this occurrence.
Examplegenerated
{ "type": "example", "title": "example", "status": 1, "detail": "example"}The key is valid, but the account has no active subscription (problem type subscription-required). The response includes upgrade_url.
RFC 9457 problem details. Dispatch on the stable type URI (https://api.betflux.ai/problems/*), never on the English title.
object
Stable problem type URI.
Short human-readable summary.
HTTP status code.
Explanation specific to this occurrence.
Examplegenerated
{ "type": "example", "title": "example", "status": 1, "detail": "example"}API key revoked or suspended (problem type key-disabled), or a game or league revision outside the key’s history window (problem type history-restricted).
RFC 9457 problem details. Dispatch on the stable type URI (https://api.betflux.ai/problems/*), never on the English title.
object
Stable problem type URI.
Short human-readable summary.
HTTP status code.
Explanation specific to this occurrence.
Examplegenerated
{ "type": "example", "title": "example", "status": 1, "detail": "example"}Unknown MSF dataset, unknown game, an uncovered league, or nothing published yet (problem type not-yet-available).
RFC 9457 problem details. Dispatch on the stable type URI (https://api.betflux.ai/problems/*), never on the English title.
object
Stable problem type URI.
Short human-readable summary.
HTTP status code.
Explanation specific to this occurrence.
Examplegenerated
{ "type": "example", "title": "example", "status": 1, "detail": "example"}Stream reset (problem type stream-reset); fetch the replacement snapshot.
RFC 9457 problem details. Dispatch on the stable type URI (https://api.betflux.ai/problems/*), never on the English title.
object
Stable problem type URI.
Short human-readable summary.
HTTP status code.
Explanation specific to this occurrence.
Examplegenerated
{ "type": "example", "title": "example", "status": 1, "detail": "example"}Cursor expired (problem type cursor-expired); fetch a new snapshot.
RFC 9457 problem details. Dispatch on the stable type URI (https://api.betflux.ai/problems/*), never on the English title.
object
Stable problem type URI.
Short human-readable summary.
HTTP status code.
Explanation specific to this occurrence.
Examplegenerated
{ "type": "example", "title": "example", "status": 1, "detail": "example"}Rate limit, monthly row quota, or ops throttle — the problem type distinguishes rate-limited, quota-exhausted, and throttled.
RFC 9457 problem details. Dispatch on the stable type URI (https://api.betflux.ai/problems/*), never on the English title.
object
Stable problem type URI.
Short human-readable summary.
HTTP status code.
Explanation specific to this occurrence.
Examplegenerated
{ "type": "example", "title": "example", "status": 1, "detail": "example"}Temporary failure resolving the game id; retry shortly.
RFC 9457 problem details. Dispatch on the stable type URI (https://api.betflux.ai/problems/*), never on the English title.
object
Stable problem type URI.
Short human-readable summary.
HTTP status code.
Explanation specific to this occurrence.
Examplegenerated
{ "type": "example", "title": "example", "status": 1, "detail": "example"}