Season Stats & Analytics
Referee stats
KBL-only route. Per official named in the season's game extensions: games worked (main / sub role), overtime games, home wins, and both teams' fouls, free-throw attempts and points per game, with the season's league line and every game listed newest first. Officials are keyed by name (the KBL header publishes no official id). A season whose games carry no officials is 404 data_not_yet_available.
Requires the stats entitlement (a paid plan). See Responses & Errors for the success envelope and availability rules.
https://api.sportquanta.com/v1/kbl/refereesReference context: KBL.
Overview · Response conventions
Authorizations
AuthorizationstringheaderrequiredSend a workspace API token in the Authorization: Bearer <token> header.
Query Parameters
seasonintegerrequiredRequired range: 2000 <= x, x <= 2100
Response
application/jsonThe season's officials.
Missing or invalid bearer API token.
Access is forbidden: the token lacks api.read scope, the plan lacks an endpoint/bookmaker capability, or configured billing access is inactive. Inspect error.code and details.feature when present.
The id is well-formed but no document has been ingested for it yet.
Query validation failed. Depending on the handler, invalid_query_parameter is returned with HTTP 400 or 422. Pre-read validation is non-billable.
Hourly rate ceiling or monthly quota exceeded. The error code disambiguates
which limit was hit. X-RateLimit-* and X-Requests-*-Month response headers
carry the current state of both counters.
Token validation or an internal handler failed. Token-store failures use api_token_lookup_failed; unsupported internal sport dispatch can use data_layer_unavailable.
The data layer (Mongo / ClickHouse / Redis cache) is temporarily unreachable. The server attempted the lookup; it failed. Retry with backoff. Per the spec's order of evaluation, this DOES consume monthly quota — the request reached step 6.
The configured billing provider could not verify API access. The request is refused before the data handler and does not consume monthly quota.
dataobjectrequireddata.seasonintegerrequireddata.gamesintegerrequireddata.leagueobjectrequireddata.league.gamesintegerrequireddata.league.fouls_per_gamenumber | nullrequireddata.league.free_throw_attempts_per_gamenumber | nullrequireddata.league.points_per_gamenumber | nullrequireddata.league.home_winsintegerrequireddata.officialsobject[]requireddata.officials.namestringrequireddata.officials.gamesintegerrequireddata.officials.main_gamesintegerrequireddata.officials.sub_gamesintegerrequireddata.officials.overtime_gamesintegerrequireddata.officials.home_winsintegerrequireddata.officials.fouls_per_gamenumber | nullrequireddata.officials.free_throw_attempts_per_gamenumber | nullrequireddata.officials.points_per_gamenumber | nullrequireddata.officials.games_listobject[]requireddata.officials.games_list.game_idstringrequireddata.officials.games_list.schedule_datestringrequireddata.officials.games_list.home_team_idstringrequireddata.officials.games_list.away_team_idstringrequireddata.officials.games_list.rolestringrequireddata.officials.games_list.foulsintegerrequireddata.officials.games_list.free_throw_attemptsintegerrequireddata.officials.games_list.pointsintegerrequireddata.officials.games_list.overtimebooleanrequireddata.officials.games_list.home_winbooleanrequired_metaobjectResponse request/cache metadata. Optional evidence fields are specific to this handler; cache TTL does not measure source-data freshness.
_meta.request_idstring_meta.served_fromenum<string>Available options: live, cache
_meta.cache_ttl_secondsintegerResponse cache TTL; independent of source freshness. Omitted when zero.
errorobjectrequirederror.codestringrequiredStable machine-readable error code.
error.messagestringrequiredUser-facing error summary.
error.detailsanyOptional error details.