STAT-API

DFS slate_settings API

slate_settingsdfs.slate_settings
The scoring format and roster-construction ruleset a slate is built on — salary cap, position slots, seat multipliers, and the scoring rule (`scoring`) per operator / league / format version. A small reference table that many slates point at; a slate's scoring comes only from its setting.
GET/api/v1/dfs/slate_settings
Requires one of: operator_id or operator — requests satisfying none of these return 400.
Parameters
operator_idquerybigintoptional
Filter by operator: by numeric id (1 DraftKings, 2 FanDuel, 3 Yahoo).
operatorquerystringoptional
Filter by operator: by name (draftkings, fanduel) or numeric id (1, 2).
limitqueryintegeroptionaldefault 50
Page size. Defaults to 50; max 5000.
from_idquerybigintoptional
Return rows with id strictly greater than this value; page using the previous response's `next_from_id`. Omit on the first page.
Restores the documented defaults (trial keys only accept the unchanged defaults).
Request
curl -sS --compressed \
  -H 'Authorization: Bearer YOUR_API_KEY' \
  'https://api.stat-api.com/api/v1/dfs/slate_settings?operator_id=1'
Responses
200slate_settings rows matching the declared filter set, wrapped in { slate_settings, limit, next_from_id }. next_from_id is the last row's id on a full page — pass it back via ?from_id= to walk the full result; null marks the terminal page.application/jsonshow example ▸
400No declared filter set was satisfied — response body matches MissingRequiredFiltersError; pick one combo from the accepted-sets hint and resend.application/json
Response Schema(11 fields)show schema ▸
FieldTypeReferencesDescription
idkey
bigint—Primary Key
league_id
bigint——
e.g. 2
operator_id
bigint—
e.g. 2
operator_setting_id
stringnullable—The operator's own id for this format (DraftKings gameTypeId, FanDuel slateFormatId). Operators reuse these ids across versions and formats, so it is unique only together with operator, league, game type and valid_from.
e.g. 45
contest_type
integer—Contest structure code (0 = Tournament / GPP, 1 = Cash game / Double-up).
e.g. 0
game_style
stringnullable—Operator game style label.
Values:CLASSICSINGLE_GAMEPICK_EMFULL_ROSTERLATE_SWAPSHOW_DOWNSHOW_DOWN_CAPTAIN_MODESINGLE_GAME_BOOSTSINGLE_GAME_V3NON_LATE_SWAPSTARTING_5WEEKENDSHOW_DOWN_CAPTAIN_MODE_…FINAL_ROUND_ONLYSINGLE_GAME_DEPRECATEDSINGLE_GAME_V2-DEPRECAT…SINGLE_GAME_V2
game_type
integer—Contest format code (0 = Classic full-slate, 1 = Showdown / Single Game, 2 = Tiers).
e.g. 1
name
string—Ruleset name (e.g. "Classic", "Showdown Captain Mode", "Single Game").
e.g. Showdown
scoring
jsonbnullable—The setting's scoring rule, the only source of its slates' points: `rule` (a name shared by settings that score alike, e.g. fanduel-nfl-2024), `part_of_game` (full, second_half, fourth_quarter), and for a full-game rule `stats`: points per stat, yardage bonuses (stat, at, points), field-goal tiers, and defense points (with the points-allowed figure the operator counts). An in-game rule holds no `stats`: its slates carry the operator's own points. NULL = no rule yet.
e.g. {"part_of_game":"full","rule":"fanduel-nba","stats":{"assis…
settings
jsonb—The lineup ruleset as JSON, from the operator's own data: salary cap, roster slots, eligible positions, and the seat multipliers (syntheticPositions, e.g. CPT 1.5x). The points per stat are in `scoring`.
e.g. {"containsDuplicatePlayers":false,"lateSwap":false,"maxPlay…
↳scoring
settings.scoring
objectnullable—Legacy: per-stat settings copied onto some old rows from an earlier configuration, served as stored. Not read; the scoring rule is the `scoring` column.
↳lateSwap
settings.lateSwap
booleannullable—Whether late lineup swapping is permitted.
↳positions
settings.positions
listnullable—Roster slot requirements and eligible positions.
↳salaryCap
settings.salaryCap
integernullable—Total team salary cap in dollars (e.g. 50000).
↳minTeamCount
settings.minTeamCount
integernullable—Minimum distinct teams represented in lineup.
↳salaryIncrement
settings.salaryIncrement
integernullable—Minimum salary step unit.
↳maxPlayersSameTeamCount
settings.maxPlayersSameTeamCount
integernullable—Maximum players allowed from a single team.
↳containsDuplicatePlayers
settings.containsDuplicatePlayers
booleannullable—Whether captain/MVP multiplier slots allow player duplicates.
valid_from
datenullable—First slate day (US Eastern) this version of the format applies to.
e.g. 2015-10-01
GET/api/v1/dfs/slate_settings/{id}
Parameters
idpathbigintrequired
Primary key (id) of the slate_setting row.
Restores the documented defaults (trial keys only accept the unchanged defaults).
Request
curl -sS --compressed \
  -H 'Authorization: Bearer YOUR_API_KEY' \
  'https://api.stat-api.com/api/v1/dfs/slate_settings/130'
Responses
200Single slate_setting row.application/jsonshow example ▸
404Row not found.
Response Schema(11 fields)show schema ▸
FieldTypeReferencesDescription
idkey
bigint—Primary Key
league_id
bigint——
e.g. 2
operator_id
bigint—
e.g. 2
operator_setting_id
stringnullable—The operator's own id for this format (DraftKings gameTypeId, FanDuel slateFormatId). Operators reuse these ids across versions and formats, so it is unique only together with operator, league, game type and valid_from.
e.g. 45
contest_type
integer—Contest structure code (0 = Tournament / GPP, 1 = Cash game / Double-up).
e.g. 0
game_style
stringnullable—Operator game style label.
Values:CLASSICSINGLE_GAMEPICK_EMFULL_ROSTERLATE_SWAPSHOW_DOWNSHOW_DOWN_CAPTAIN_MODESINGLE_GAME_BOOSTSINGLE_GAME_V3NON_LATE_SWAPSTARTING_5WEEKENDSHOW_DOWN_CAPTAIN_MODE_…FINAL_ROUND_ONLYSINGLE_GAME_DEPRECATEDSINGLE_GAME_V2-DEPRECAT…SINGLE_GAME_V2
game_type
integer—Contest format code (0 = Classic full-slate, 1 = Showdown / Single Game, 2 = Tiers).
e.g. 1
name
string—Ruleset name (e.g. "Classic", "Showdown Captain Mode", "Single Game").
e.g. Showdown
scoring
jsonbnullable—The setting's scoring rule, the only source of its slates' points: `rule` (a name shared by settings that score alike, e.g. fanduel-nfl-2024), `part_of_game` (full, second_half, fourth_quarter), and for a full-game rule `stats`: points per stat, yardage bonuses (stat, at, points), field-goal tiers, and defense points (with the points-allowed figure the operator counts). An in-game rule holds no `stats`: its slates carry the operator's own points. NULL = no rule yet.
e.g. {"part_of_game":"full","rule":"fanduel-nba","stats":{"assis…
settings
jsonb—The lineup ruleset as JSON, from the operator's own data: salary cap, roster slots, eligible positions, and the seat multipliers (syntheticPositions, e.g. CPT 1.5x). The points per stat are in `scoring`.
e.g. {"containsDuplicatePlayers":false,"lateSwap":false,"maxPlay…
↳scoring
settings.scoring
objectnullable—Legacy: per-stat settings copied onto some old rows from an earlier configuration, served as stored. Not read; the scoring rule is the `scoring` column.
↳lateSwap
settings.lateSwap
booleannullable—Whether late lineup swapping is permitted.
↳positions
settings.positions
listnullable—Roster slot requirements and eligible positions.
↳salaryCap
settings.salaryCap
integernullable—Total team salary cap in dollars (e.g. 50000).
↳minTeamCount
settings.minTeamCount
integernullable—Minimum distinct teams represented in lineup.
↳salaryIncrement
settings.salaryIncrement
integernullable—Minimum salary step unit.
↳maxPlayersSameTeamCount
settings.maxPlayersSameTeamCount
integernullable—Maximum players allowed from a single team.
↳containsDuplicatePlayers
settings.containsDuplicatePlayers
booleannullable—Whether captain/MVP multiplier slots allow player duplicates.
valid_from
datenullable—First slate day (US Eastern) this version of the format applies to.
e.g. 2015-10-01