STAT-API

DFS GraphQL Reference

Daily-fantasy contest data across operators — the slates (operator + league + game pool + scoring rules), their game pools, player pools with salaries and positions, projection sources and projections, and the contests with their entrants, submitted lineups, and per-lineup player rosters.

Every GraphQL type, relation, and argument — generated from the served schema, so it can never disagree with the API. Root fields take the same filters as REST; requests are metered by rows resolved, nested lists included.

Main

slatesDfsSlates
DFS contest slate. A slate is one operator + one league + a fixed game pool + scoring rules; users build lineups against it.
Required filters: one of operator_id + date.
Relations
  • operatorReferenceOperatorsThe main.operators row referenced by operator_id; null when unlinked.
  • slate_settingDfsSlateSettingsThe dfs.slate_settings row referenced by slate_setting_id; null when unlinked.
  • contests[DfsContests!]!dfs.contests rows whose slate_id references this row.
  • slate_games[DfsSlateGames!]!dfs.slate_games rows whose slate_id references this row.
  • slate_players[DfsSlatePlayers!]!dfs.slate_players rows whose slate_id references this row.
Arguments (5)
  • firstIntPage size; clamped to the table's REST default/max limits.
  • afterBigIntKeyset cursor — returns rows with id > after, ordered by id ascending.
  • operator_idIntFilter to all slates for a single DFS operator: 1 DraftKings, 2 FanDuel, 3 Yahoo.
  • dateStringSlate calendar date in US Eastern time (YYYY-MM-DD), derived from start_time.
  • leagueStringLeague — code (NFL, NBA, MLB, NHL, GOLF; case-insensitive) or numeric league id. Resolves via main.leagues.
Columns (11) — full docs in the data dictionary
id: BigInt
operator_id: BigInt
league_id: BigInt
slate_setting_id: BigInt
external_id: BigInt
name: String
main: Boolean
start_time: String
created_at: String
updated_at: String
date: String
slate_settingsDfsSlateSettings
The scoring format and roster-construction ruleset a slate is built on — salary cap, position slots, and scoring rules per operator / league / game-type combination. A small reference table that many slates point at.
Relations
  • operatorReferenceOperatorsThe main.operators row referenced by operator_id; null when unlinked.
  • slates[DfsSlates!]!dfs.slates rows whose slate_setting_id references this row.
  • slate_projection_sources[DfsSlateProjectionSources!]!dfs.slate_projection_sources rows whose slate_setting_id references this row.
Arguments (2)
  • firstIntPage size; clamped to the table's REST default/max limits.
  • afterBigIntKeyset cursor — returns rows with id > after, ordered by id ascending.
Columns (10) — full docs in the data dictionary
id: BigInt
operator_id: BigInt
league_id: BigInt
name: String
game_type: Int
contest_type: Int
game_style: String
settings: JSON
created_at: String
updated_at: String
slate_gamesDfsSlateGames
Many-to-many bridge between a DFS slate and the sport games included in its pool.
Required filters: one of slate_id.
Relations
  • slateDfsSlatesThe dfs.slates row referenced by slate_id; null when unlinked.
  • slate_players[DfsSlatePlayers!]!dfs.slate_players rows whose slate_game_id references this row.
Arguments (3)
  • firstIntPage size; clamped to the table's REST default/max limits.
  • afterBigIntKeyset cursor — returns rows with id > after, ordered by id ascending.
  • slate_idIntFilter to the games in a single slate pool.
Columns (8) — full docs in the data dictionary
id: BigInt
slate_id: BigInt
league_id: BigInt
game_id: BigInt
external_id: String
data: JSON
created_at: String
updated_at: String
slate_playersDfsSlatePlayers
Player pool for a DFS slate — one row per (slate, player, roster slot). Carries operator salary, positions, and any operator-side metadata.
Required filters: one of slate_id.
Relations
  • slateDfsSlatesThe dfs.slates row referenced by slate_id; null when unlinked.
  • slate_gameDfsSlateGamesThe dfs.slate_games row referenced by slate_game_id; null when unlinked.
  • slate_player_projections[DfsSlatePlayerProjections!]!dfs.slate_player_projections rows whose slate_player_id references this row.
  • contest_user_lineup_player_entries[DfsContestUserLineupPlayerEntries!]!dfs.contest_user_lineup_player_entries rows whose slate_player_id references this row.
Arguments (3)
  • firstIntPage size; clamped to the table's REST default/max limits.
  • afterBigIntKeyset cursor — returns rows with id > after, ordered by id ascending.
  • slate_idIntFilter to the player pool of a single slate.
Columns (19) — full docs in the data dictionary
id: BigInt
slate_id: BigInt
league_id: BigInt
player_id: BigInt
slate_game_id: BigInt
team_id: BigInt
salary: Int
position: String
roster_position: String
external_id: String
first_name: String
last_name: String
display_name: String
avg_points: Float
injury_status: String
injury_details: String
export_id: String
created_at: String
updated_at: String

Stats

slate_player_projectionsDfsSlatePlayerProjections
Fantasy-points projection for one player in one slate from one source. Multiple sources produce multiple rows per (slate_player).
Required filters: one of slate_player_id.
Relations
  • slate_playerDfsSlatePlayersThe dfs.slate_players row referenced by slate_player_id; null when unlinked.
  • slate_projection_sourceDfsSlateProjectionSourcesThe dfs.slate_projection_sources row referenced by slate_projection_source_id; null when unlinked.
Arguments (3)
  • firstIntPage size; clamped to the table's REST default/max limits.
  • afterBigIntKeyset cursor — returns rows with id > after, ordered by id ascending.
  • slate_player_idIntFilter to all source projections for a single slate-player.
Columns (10) — full docs in the data dictionary
id: BigInt
slate_player_id: BigInt
slate_projection_source_id: BigInt
projection: Float
floor: Float
ceiling: Float
std_dev: Float
stats: JSON
created_at: String
updated_at: String
slate_projection_sourcesDfsSlateProjectionSources
A registered projection provider for a slate (e.g., RotoGrinders consensus, an in-house model, a user upload).
Relations
  • slate_settingDfsSlateSettingsThe dfs.slate_settings row referenced by slate_setting_id; null when unlinked.
  • slate_player_projections[DfsSlatePlayerProjections!]!dfs.slate_player_projections rows whose slate_projection_source_id references this row.
Arguments (2)
  • firstIntPage size; clamped to the table's REST default/max limits.
  • afterBigIntKeyset cursor — returns rows with id > after, ordered by id ascending.
Columns (9) — full docs in the data dictionary
id: BigInt
slate_setting_id: BigInt
name: String
description: String
source_type: Int
enabled: Boolean
display_order: Int
created_at: String
updated_at: String

Contests

contest_user_lineup_player_entriesDfsContestUserLineupPlayerEntries
A single roster slot within a submitted contest lineup — one slate player in one position, with the fantasy points they scored.
Required filters: one of contest_user_lineup_id.
Relations
  • contest_user_lineupDfsContestUserLineupsThe dfs.contest_user_lineups row referenced by contest_user_lineup_id; null when unlinked.
  • slate_playerDfsSlatePlayersThe dfs.slate_players row referenced by slate_player_id; null when unlinked.
Arguments (3)
  • firstIntPage size; clamped to the table's REST default/max limits.
  • afterBigIntKeyset cursor — returns rows with id > after, ordered by id ascending.
  • contest_user_lineup_idIntFilter to the player roster of a single submitted lineup.
Columns (8) — full docs in the data dictionary
id: BigInt
contest_user_lineup_id: BigInt
slate_player_id: BigInt
roster_position: String
display_order: Int
points: Float
created_at: String
updated_at: String
contest_usersDfsContestUsers
A contest entrant — one operator-side user who submitted at least one lineup. Identified by the operator's user id, not a statview account.
Required filters: one of operator_id.
Relations
  • operatorReferenceOperatorsThe main.operators row referenced by operator_id; null when unlinked.
  • contest_user_lineups[DfsContestUserLineups!]!dfs.contest_user_lineups rows whose contest_user_id references this row.
Arguments (3)
  • firstIntPage size; clamped to the table's REST default/max limits.
  • afterBigIntKeyset cursor — returns rows with id > after, ordered by id ascending.
  • operator_idIntFilter to all contest entrants for a single DFS operator: 1 DraftKings, 2 FanDuel, 3 Yahoo.
Columns (6) — full docs in the data dictionary
id: BigInt
operator_id: BigInt
external_id: String
name: String
created_at: String
updated_at: String
contestsDfsContests
A DFS contest run on a slate — its entry fee, prize pool, entry caps, and type (GPP vs cash). One slate hosts many contests.
Required filters: one of slate_id.
Relations
  • slateDfsSlatesThe dfs.slates row referenced by slate_id; null when unlinked.
  • contest_user_lineups[DfsContestUserLineups!]!dfs.contest_user_lineups rows whose contest_id references this row.
Arguments (3)
  • firstIntPage size; clamped to the table's REST default/max limits.
  • afterBigIntKeyset cursor — returns rows with id > after, ordered by id ascending.
  • slate_idIntFilter to all contests run on a single slate.
Columns (13) — full docs in the data dictionary
id: BigInt
slate_id: BigInt
external_id: BigInt
name: String
contest_type: Int
entry_fee: Int
prize_pool: Int
max_entries: Int
entry_count: Int
max_entries_per_user: Int
guaranteed: Boolean
created_at: String
updated_at: String
contest_user_lineupsDfsContestUserLineups
A single lineup submitted to a contest by an entrant, with its finishing rank, total fantasy points, and winnings where the contest has settled.
Required filters: one of contest_id | contest_user_id.
Relations
  • contestDfsContestsThe dfs.contests row referenced by contest_id; null when unlinked.
  • contest_userDfsContestUsersThe dfs.contest_users row referenced by contest_user_id; null when unlinked.
  • contest_user_lineup_player_entries[DfsContestUserLineupPlayerEntries!]!dfs.contest_user_lineup_player_entries rows whose contest_user_lineup_id references this row.
Arguments (4)
  • firstIntPage size; clamped to the table's REST default/max limits.
  • afterBigIntKeyset cursor — returns rows with id > after, ordered by id ascending.
  • contest_idIntFilter to every lineup submitted to a single contest.
  • contest_user_idIntFilter to every lineup an entrant submitted.
Columns (9) — full docs in the data dictionary
id: BigInt
contest_id: BigInt
contest_user_id: BigInt
external_id: BigInt
rank: Int
points: Float
winnings: Int
created_at: String
updated_at: String