Skip to content
Product Documentation

Download one operator's live board Parquet.

GET
/v1/games/{game_id}/sportsbook-lines/board/{operator}
curl --request GET \
--url https://api.betflux.ai/v1/games/example/sportsbook-lines/board/example \
--header 'Authorization: Bearer <token>' \
--header 'Range: bytes=0-65535'

One row per selection that operator is currently believed to be quoting, with last_changed_at, operator_observed_through and quote_state. This is what an in-game client should poll; segments are for building history.

HTTP Range is honored (206; partial responses are never cached). Cached 5 s at the edge. Metering: board reads debit the file’s row count multiplied by the deployment’s board weight, rounded down — free while that weight is 0.

game_id
required

Public game id (e.g. NBA_GSW_MIA_20250408, case-insensitive).

string

Public game id (e.g. NBA_GSW_MIA_20250408, case-insensitive).

operator
required

Sportsbook operator code, e.g. FANDUEL (upper-cased server-side).

string

Sportsbook operator code, e.g. FANDUEL (upper-cased server-side).

Range

Standard HTTP byte range, e.g. bytes=0-65535.

string
Example
bytes=0-65535

Standard HTTP byte range, e.g. bytes=0-65535.

The operator’s board Parquet. X-Betflux-Rowcount is its row count; the amount debited is that count times the board weight.

Media typeapplication/vnd.apache.parquet
string format: binary

The requested byte range of the board file (Content-Range set). Never served from the edge cache.

Media typeapplication/vnd.apache.parquet
string format: binary

Validation failed — unknown or invalid query parameter, or a malformed range (problem type validation-error).

Media typeapplication/problem+json

RFC 9457 problem details. Dispatch on the stable type URI (https://api.betflux.ai/problems/*), never on the English title.

object
type
required

Stable problem type URI.

string
title
required

Short human-readable summary.

string
status
required

HTTP status code.

integer
detail

Explanation specific to this occurrence.

string
Examplegenerated
{
"type": "example",
"title": "example",
"status": 1,
"detail": "example"
}

Missing, malformed, or unrecognized API key (problem type invalid-key).

Media typeapplication/problem+json

RFC 9457 problem details. Dispatch on the stable type URI (https://api.betflux.ai/problems/*), never on the English title.

object
type
required

Stable problem type URI.

string
title
required

Short human-readable summary.

string
status
required

HTTP status code.

integer
detail

Explanation specific to this occurrence.

string
Examplegenerated
{
"type": "example",
"title": "example",
"status": 1,
"detail": "example"
}

The key has no entitled tier — subscription lapsed or absent (problem type subscription-required; the body carries an upgrade_url).

Media typeapplication/problem+json

RFC 9457 problem details. Dispatch on the stable type URI (https://api.betflux.ai/problems/*), never on the English title.

object
type
required

Stable problem type URI.

string
title
required

Short human-readable summary.

string
status
required

HTTP status code.

integer
detail

Explanation specific to this occurrence.

string
Examplegenerated
{
"type": "example",
"title": "example",
"status": 1,
"detail": "example"
}

API key revoked or suspended (problem type key-disabled), or the requested range exceeds the tier’s history window (history-restricted).

Media typeapplication/problem+json

RFC 9457 problem details. Dispatch on the stable type URI (https://api.betflux.ai/problems/*), never on the English title.

object
type
required

Stable problem type URI.

string
title
required

Short human-readable summary.

string
status
required

HTTP status code.

integer
detail

Explanation specific to this occurrence.

string
Examplegenerated
{
"type": "example",
"title": "example",
"status": 1,
"detail": "example"
}

Unresolvable game id, no live artifacts for the game, or no board file for that operator.

Media typeapplication/problem+json

RFC 9457 problem details. Dispatch on the stable type URI (https://api.betflux.ai/problems/*), never on the English title.

object
type
required

Stable problem type URI.

string
title
required

Short human-readable summary.

string
status
required

HTTP status code.

integer
detail

Explanation specific to this occurrence.

string
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.

Media typeapplication/problem+json

RFC 9457 problem details. Dispatch on the stable type URI (https://api.betflux.ai/problems/*), never on the English title.

object
type
required

Stable problem type URI.

string
title
required

Short human-readable summary.

string
status
required

HTTP status code.

integer
detail

Explanation specific to this occurrence.

string
Examplegenerated
{
"type": "example",
"title": "example",
"status": 1,
"detail": "example"
}