---
title: "DFS slate player projections, distributions, and betting props"
method: GET
path: "/api/v1/dfs/slates/{slate_id}/projections"
tags: ["DFS"]
---

# DFS slate player projections, distributions, and betting props

`GET /api/v1/dfs/slates/{slate_id}/projections`

## Request

- Base URL: `https://api.stat-api.com`
- URL: `https://api.stat-api.com/api/v1/dfs/slates/{slate_id}/projections`
- Auth: HTTP bearer

Returns the player projections of a DFS slate: fantasy point components and counting stats,
simulated quantile distributions (p05 through p95), tournament ownership projections with
volatility bounds, Vegas betting prop anchors, and play profile upside/safety metrics.

One route for every league: the slate names its league (`slate.league`), and you never pass
it. NFL and NBA slates are projected, for DraftKings Classic and Showdown and FanDuel
Classic. Each player's projection is scored with the slate's own scoring rules, and on a
Showdown or single-game slate the captain (CPT, MVP) multiplier is already applied: each seat
is its own row. An NBA row carries the shared identity and points fields and the fields marked
"NBA only" (minutes, usage rate, the stat line, double-double and triple-double chances,
chance_5x and chance_6x); it never carries an NFL-only field. NBA ownership is projected per
contest segment, so an NBA slate row has `ownership: null`; read it on
/dfs/contests/{contest_id}/projections. Our NBA projections start with the regular season: a
game's first projection appears on game day, once its betting line and roster are in; it
updates whenever the line or a player's status changes, and it locks at tip. chance_Nx is the
share of the seat's points distribution at or above N x salary / 1000, read from the 99
percentiles of the seat's points and interpolated linearly inside the 1-point step that holds
the threshold; outside p01..p99 it answers the bound 0.99 or 0.01 with `chance_Nx_bound`.

The player rows come in one of three formats. The default (no `format`) sends them nested,
in `projections`. `format=flat` sends them flat, in `player_stats`. `format=csv` returns the
flat rows as CSV (text/csv): one column per `player_stats` field, then one column per
`enrich` tag. `enrich` joins related data onto each player row, the same tags as on
/dfs/slate_players.

`projection_status` says whether the slate's format has projections. In-game formats
(DraftKings In-Game Showdown, FanDuel 2nd-half and 4th-quarter single game) have none by
decision: they answer 200 with `projection_status: none_by_design` and empty arrays. A slate
with no player pool answers 200 with `projection_status: no_player_pool` and empty arrays.
An NBA slate without a projection yet answers 200 with `not_projected_yet`, a past NBA slate
whose games tipped before our engine projected them 200 with `not_projected`, and a slate of a
league our engines do not project (MLB, NHL, golf) 200 with `league_not_projected`. Any
other NFL slate whose format has no projection source answers 404.

## Path parameters

- `slate_id` integer, required

## Query parameters

- `source` string
- `position` string
- `format` string
- `enrich` string
- `mode` string
- `projection_id` integer

## Response `200`

DFS slate player projections, distributions, and betting props

- DFSSlatesProjectionsDfsSlateProjectionsResponse
  - `_metadata` object, nullable: Which projection source served this response, and which stat-api engine made its rows. Sent last, with the default format and with format=flat. The `source` object describes the served source.
    - `backfilled` boolean, required: True when any served row is a backfill: a projection written after the slate locked, for a slate that locked before its engine went live.
    - `deprecated` boolean, required: True when the requested source is deprecated. STAT_API is deprecated, and STAT_API_LATEST serves it.
    - `engine_version` string, nullable: The stat-api engine version of the served rows, for example "2.2". A row without a version is "2.1". Rows of several versions give a comma-separated list. Null when the response holds no rows.
    - `fallback` boolean, required: True when the request was for STAT_API or named no source, and STAT_API served this slate, or the games of it that STAT_API_LATEST has no projections for (`fallback_games`). The source is chosen per game: STAT_API_LATEST serves every game of the slate it has projections for; STAT_API (engine 2.1) serves only a game without them that kicked off before the slate's first STAT_API_LATEST projection was written (the Thursday game of a Thursday-to-Monday slate); every other game without them gets no projection (`pending_games`).
    - `fallback_games` integer[], nullable: The NFL games (`game_id`) of the slate whose rows come from STAT_API because STAT_API_LATEST has no projections for them, while STAT_API_LATEST served the other games; `served_source` then names both sources. Only games that kicked off before the slate's first STAT_API_LATEST projection was written. Sent only then (absent otherwise).
    - `note` string, nullable: The same facts in one sentence. Null when the requested source is not deprecated, did not fall back and has no pending game.
    - `pending_games` integer[], nullable: The NFL games (`game_id`) of a slate that STAT_API_LATEST serves in part, that have no STAT_API_LATEST projections and did not kick off before the slate's first one was written: their players have no points projection in this response (no 2.1 value stands in; a stored contest ownership may still show). Sent only when there is one (absent otherwise).
    - `replacement` string, nullable: The source that replaces the deprecated requested source (STAT_API_LATEST). Null when `deprecated` is false.
    - `requested_source` string, required: The source the request asked for, the `source` parameter, else the default (STAT_API_LATEST).
    - `served_source` string, required: The source whose rows this response holds. It differs from `requested_source` when STAT_API_LATEST serves a request for STAT_API, or when STAT_API serves a slate that STAT_API_LATEST has no projections for (`fallback`). A slate served per game by both sources gives "STAT_API,STAT_API_LATEST" (see `fallback_games`).
  - `computed` object, required: Projection coverage and calculation summary.
    - `coverage` number, double, required: Percentage of pool successfully projected.
    - `eligible_players` integer, required: Total eligible players in contest pool.
    - `missing_players` integer, required: Unprojected player count.
    - `position` string, nullable: Roster position filter applied to request.
    - `position_ownership_totals` object, nullable: Aggregated projected ownership percentage by position group across the slate.
    - `projected_players` integer, required: Number of players with generated projections.
    - `refused_seats` object[], nullable: NBA only: the seats that have a projection but are left out of the rows, each with the reason (never guessed). Absent on NFL answers.
      - `position` string, nullable: The seat's position as the operator names it.
      - `reason` 'no_seat_multiplier' | 'no_scoring_rules' | 'bad_stat_line', required: no_seat_multiplier: a CPT, MVP, STAR or PRO seat whose slate setting states no score multiplier. no_scoring_rules: no scoring table of the operator is in force at the game's time. bad_stat_line: the player's stat line cannot be scored.
      - `slate_player_id` integer, required: The seat (dfs.slate_players.id).
    - `total_roster_mass` number, double, nullable: Total roster mass.
    - `total_teams` integer, nullable: Total active teams projected on the slate.
  - `player_stats` object[]: The player projections as flat rows, one per slate player. Sent with format=flat. format=csv returns these rows as CSV: one column per field below, in this order, then one column per `enrich` tag. An NFL row sends every field that is not marked NBA only; an NBA row sends the shared fields and the fields marked NBA only, in this order, and no NFL-only field. A value the projection does not have is null.
    - `actual_fantasy_pts` number, double, nullable: Post-game: fantasy points scored (dfs.player_stats). Null in mode=pre.
    - `actual_ownership` number, double, nullable: Post-game: roster share in the slate's largest contest with results, as a fraction (0-1). Null in mode=pre.
    - `actual_rank` integer, nullable: Post-game: the player's rank by actual ownership in the contest (contest projections only). Null in mode=pre.
    - `analysis_headline` string, nullable: One-line summary of the player's role, floor or ceiling.
    - `ast` number, double, nullable: NBA only: projected assists.
    - `blk` number, double, nullable: NBA only: projected blocks.
    - `boom_probability` number, double, nullable: Probability of scoring at least the boom multiple of salary.
    - `bust_probability` number, double, nullable: Probability of scoring under 1.5x salary.
    - `captain_ownership` number, double, nullable: Showdown: projected ownership percentage of this player's captain (CPT/MVP) row. Null on classic slates.
    - `captain_ratio` number, double, nullable: Showdown: captain ownership divided by total ownership (0-1). Null on classic slates.
    - `carries` number, double, nullable: Projected rushing attempts.
    - `cash_ownership_pct` number, double, nullable: Projected cash-game roster share, as a percentage. Null on contest projections.
    - `cash_projected_ownership` number, double, nullable: Projected cash-game (double-up, 50/50) roster share, as a fraction (0-1). Null on contest projections.
    - `cash_safety_tier` string, nullable: Salary-adjusted cash safety tier (CORE_CASH, CASH_VIABLE, MODERATE, HIGH_RISK, UNVIABLE).
    - `cash_verdict` string, nullable: Cash-game verdict.
    - `catch_rate` number, double, nullable: Projected receptions per target, as a percentage (0-100).
    - `ceiling` number, double, nullable: Projected 90th percentile fantasy point outcome.
    - `ceiling_multiplier` number, double, nullable: Ceiling per $1k of salary.
    - `chalk_fragility` number, double, nullable: Chalk fragility index in [0, 1] (0 = stable across cap allocations, 1 = fragile).
    - `chance_5x` number, double, nullable: NBA only: chance the seat's points reach 5x salary / 1000, 0 to 1 (see the route description); null without a salary.
    - `chance_5x_bound` 'above_99pct' | 'below_1pct', nullable: NBA only: set when chance_5x is a bound, not a value: above_99pct (the chance is 0.99 or more) or below_1pct (0.01 or less).
    - `chance_6x` number, double, nullable: NBA only: chance the seat's points reach 6x salary / 1000, 0 to 1; null without a salary.
    - `chance_6x_bound` 'above_99pct' | 'below_1pct', nullable: NBA only: set when chance_6x is a bound, not a value.
    - `double_double_probability` number, double, nullable: NBA only: chance of a double-double, 0 to 1.
    - `dvp_archetype` string, nullable: Player usage archetype the defense-vs-position rating uses.
    - `dvp_explanation` string, nullable: Explanation of the defensive matchup.
    - `dvp_matchup` string, nullable: Matchup label (e.g. Favorable, Neutral, Tough).
    - `dvp_metrics` object, nullable: Defense-vs-position metrics behind the rating.
    - `dvp_rank` integer, nullable: Opponent defense rank against the archetype (1 = best matchup).
    - `dvp_rating` number, double, nullable: Defense-vs-position matchup rating.
    - `fade_leverage_score` number, double, nullable: Score for fading the player in tournaments, from the projection model.
    - `fantasy_pts` number, double, nullable: Projected fantasy points under the slate's scoring rules. Null when the player has no projection.
    - `fg3m` number, double, nullable: NBA only: projected three-pointers made.
    - `flex_ownership` number, double, nullable: Showdown: projected ownership percentage of this player's FLEX row. Null on classic slates.
    - `floor` number, double, nullable: Projected 10th percentile fantasy point outcome.
    - `floor_multiplier` number, double, nullable: Floor per $1k of salary.
    - `fumble_lost_fpts` number, double, nullable: Fantasy points lost to projected lost fumbles.
    - `game_id` integer, nullable: Canonical game ID (nfl.games.id).
    - `gpp_verdict` string, nullable: Tournament verdict.
    - `gsis` string, nullable: NFL GSIS player ID.
    - `id` integer, required: Slate player ID (dfs.slate_players.id).
    - `interception_fpts` number, double, nullable: Fantasy points lost to projected interceptions.
    - `interceptions_thrown` number, double, nullable: Projected interceptions thrown.
    - `knapsack_shadow_price` number, double, nullable: Marginal points per salary dollar at the optimizer's cap constraint, from the projection model.
    - `last_update_time` string, date-time, nullable: When the projection last changed (UTC).
    - `league_id` integer, required: League ID.
    - `leverage_delta` number, double, nullable: Post-game: actual_ownership minus projected_ownership. Null in mode=pre.
    - `leverage_factor` number, double, nullable: Tournament leverage factor (ceiling_multiplier / max(0.02, ownership)).
    - `minutes_mean` number, double, nullable: NBA only: projected minutes (mean).
    - `minutes_p10` number, double, nullable: NBA only: 10th percentile of the projected minutes.
    - `minutes_p25` number, double, nullable: NBA only: 25th percentile of the projected minutes.
    - `minutes_p50` number, double, nullable: NBA only: median of the projected minutes.
    - `minutes_p75` number, double, nullable: NBA only: 75th percentile of the projected minutes.
    - `minutes_p90` number, double, nullable: NBA only: 90th percentile of the projected minutes.
    - `minutes_std` number, double, nullable: NBA only: standard deviation of the projected minutes.
    - `name` string, nullable: Player name.
    - `operator_id` integer, required: Operator ID (1 DraftKings, 2 FanDuel, 3 Yahoo).
    - `operator_player_export_id` string, nullable: Operator export / draftable ID for lineup CSV uploads (dfs.slate_players.export_id).
    - `operator_player_id` string, nullable: Operator athlete ID (dfs.slate_players.external_id).
    - `opponent` string, nullable: Opponent team abbreviation.
    - `ownership_high` number, double, nullable: 90th percentile projected ownership percentage.
    - `ownership_low` number, double, nullable: 10th percentile projected ownership percentage.
    - `ownership_model` string, nullable: NBA only: the ownership model that wrote the row's ownership; contest projections only, null on a slate.
    - `ownership_pct` number, double, nullable: Projected tournament roster share, as a percentage (e.g. 15.5 for 15.5%).
    - `ownership_volatility` number, double, nullable: Standard deviation of the projected ownership percentage across simulated crowds.
    - `passing_2pt_conversion_fpts` number, double, nullable: Fantasy points from 2-point passing conversions (0 when the player has a projection; the model projects none).
    - `passing_attempts` number, double, nullable: Projected pass attempts.
    - `passing_bonus_fpts` number, double, nullable: Fantasy bonus points for milestone passing (DraftKings 300+ yards).
    - `passing_completions` number, double, nullable: Projected pass completions.
    - `passing_td_fpts` number, double, nullable: Fantasy points from projected passing touchdowns.
    - `passing_tds` number, double, nullable: Projected passing touchdowns.
    - `passing_yds` number, double, nullable: Projected passing yards (QB, or a player with 1+ projected pass attempt).
    - `passing_yds_fpts` number, double, nullable: Fantasy points from projected passing yards.
    - `play_archetype` string, nullable: Archetype (GPP_BOOM, CORE_CASH, LEVERAGE, FRAGILE_CHALK, BALANCED, LOW_CAP, OUT_INACTIVE, or the model's tactical label).
    - `play_probability` number, double, nullable: NBA only: chance the player plays, 0 to 1.
    - `play_profile` object, nullable: Play profile with upside and safety metrics, boom/bust probabilities, archetype and analysis.
    - `player_game_note` string, nullable: Game note for the player from the projection model.
    - `player_id` integer, nullable: Canonical player ID (nfl.players.id).
    - `position` string, nullable: Contest roster position (e.g. QB, RB, WR, TE, DST, K, CPT).
    - `profile_id` integer, nullable: NBA only: the contest segment (dfs.contest_profiles.id) of the ownership on this row; contest projections only, null on a slate.
    - `projected_ownership` number, double, nullable: Projected tournament roster share, as a fraction (0-1).
    - `projected_snap_share` number, double, nullable: Projected offensive snap share, as a fraction (0-1).
    - `projected_snaps` number, double, nullable: Projected offensive snaps.
    - `projected_team_snaps` number, double, nullable: Projected team offensive snaps.
    - `pts` number, double, nullable: NBA only: projected points (the stat).
    - `quantiles` object, nullable: Quantile outcomes of the simulated fantasy point distribution (p05 to p95).
    - `reb` number, double, nullable: NBA only: projected rebounds.
    - `receiving_2pt_conversion_fpts` number, double, nullable: Fantasy points from 2-point receiving conversions (0 when the player has a projection; the model projects none).
    - `receiving_bonus_fpts` number, double, nullable: Fantasy bonus points for milestone receiving (DraftKings 100+ yards).
    - `receiving_td_fpts` number, double, nullable: Fantasy points from projected receiving touchdowns.
    - `receiving_tds` number, double, nullable: Projected receiving touchdowns.
    - `receiving_yds` number, double, nullable: Projected receiving yards.
    - `receiving_yds_fpts` number, double, nullable: Fantasy points from projected receiving yards.
    - `reception_fpts` number, double, nullable: Fantasy points from projected receptions (DraftKings full PPR, FanDuel half PPR).
    - `receptions` number, double, nullable: Projected receptions.
    - `relative_fragility` number, double, nullable: Fragility relative to the player's position peers on the slate, from the projection model.
    - `rushing_2pt_conversion_fpts` number, double, nullable: Fantasy points from 2-point rushing conversions (0 when the player has a projection; the model projects none).
    - `rushing_bonus_fpts` number, double, nullable: Fantasy bonus points for milestone rushing (DraftKings 100+ yards).
    - `rushing_fumbles_lost` number, double, nullable: Projected lost fumbles (0 when the player has a projection and the model gives none).
    - `rushing_td_fpts` number, double, nullable: Fantasy points from projected rushing touchdowns.
    - `rushing_tds` number, double, nullable: Projected rushing touchdowns.
    - `rushing_yds` number, double, nullable: Projected rushing yards.
    - `rushing_yds_fpts` number, double, nullable: Fantasy points from projected rushing yards.
    - `salary` integer, nullable: Contest player salary in currency units.
    - `scheme_metrics` object, nullable: Defensive scheme indicators behind the rating.
    - `scoring_format` 'classic' | 'showdown', required: The slate's scoring format: showdown when the pool has captain (CPT/MVP) rows, else classic.
    - `seat_multiplier` number, double, nullable: NBA only: the seat's score multiplier from the slate setting (DraftKings CPT 1.5, FanDuel MVP 1.5); 1 for every other seat. fantasy_pts, floor, ceiling, std_dev and quantiles are already multiplied.
    - `slate_date` string, nullable: Slate date (YYYY-MM-DD).
    - `slate_game_id` integer, nullable: Slate game ID (dfs.slate_games.id).
    - `slate_id` integer, required: Slate ID.
    - `slate_player_id` integer, required: Slate player ID (dfs.slate_players.id), the same value as id.
    - `snap_pct` number, double, nullable: Projected offensive snap share, as a percentage (0-100).
    - `start_probability` number, double, nullable: NBA only: chance the player starts, 0 to 1.
    - `status` string, nullable: NBA only: the player's status in our NBA game roster (active, questionable, out, ...).
    - `std_dev` number, double, nullable: Standard deviation of the projected fantasy point distribution.
    - `stl` number, double, nullable: NBA only: projected steals.
    - `tactical_tag` string, nullable: Tactical play tag from the projection model (e.g. GOOD_CHALK, FRAGILE_CHALK, LEVERAGE).
    - `targets` number, double, nullable: Projected receiving targets.
    - `team` string, nullable: Team abbreviation.
    - `team_id` integer, nullable: Team ID (nfl.teams.id).
    - `total_ownership` number, double, nullable: Showdown: captain plus FLEX ownership percentage. Null on classic slates.
    - `tov` number, double, nullable: NBA only: projected turnovers.
    - `triple_double_probability` number, double, nullable: NBA only: chance of a triple-double, 0 to 1.
    - `update_explanation` string, nullable: Why the projection last changed.
    - `update_history` object[], nullable: The last 5 projection changes, oldest first.
    - `update_reason` object, nullable: Structured reason of the last change.
    - `upside_tier` string, nullable: Salary-adjusted upside tier (ELITE, BOOM, STEADY, LOW_CAP, NONE).
    - `usage_rate` number, double, nullable: NBA only: projected usage rate, 0 to 1.
    - `value` number, double, nullable: Projected fantasy points per $1k of salary.
    - `vegas_odds` object, nullable: The player's betting props used as calibration anchors.
      - `anytime_td` integer, nullable: Anytime touchdown odds (American format).
      - `passing_tds` number, double, nullable: Passing touchdowns consensus betting line.
      - `passing_yards` number, double, nullable: Passing yards consensus betting line.
      - `receiving_yards` number, double, nullable: Receiving yards consensus betting line.
      - `receptions` number, double, nullable: Receptions consensus betting line.
      - `rushing_yards` number, double, nullable: Rushing yards consensus betting line.
  - `projection_status` 'available' | 'none_by_design' | 'no_player_pool' | 'not_projected_yet' | 'not_projected' | 'league_not_projected', required: Whether the slate's format has projections. `available`: the format has a projection source, and the arrays hold its rows (a player without a projection has null values). `none_by_design`: the format has no projections by decision (the in-game formats: DraftKings In-Game Showdown H2 and Q4, FanDuel single game 2nd half and 4th quarter); `source` is null and the arrays are empty. `no_player_pool`: the slate has no player pool yet, so there is nothing to project; `source` is null and the arrays are empty. `not_projected_yet` (NBA): no player of the slate has a projection of our NBA engine yet. A game's first projection appears on game day, once its betting line and roster are in, and preseason games are never projected; the arrays are empty. `not_projected` (NBA): every game of the slate tipped with no projection of our NBA engine (the games before the engine ran), so none will come; the arrays are empty. `league_not_projected`: our engines do not project the slate's league (MLB, NHL, golf); the arrays are empty.
  - `projections` object[]: The player projections as nested rows, one per slate player: identity, distribution, opportunity, scoring breakdown, ownership, matchup, betting props and update provenance. Sent with the default format (no format param). An NFL row sends every field that is not marked NBA only; a value the projection does not have is null. An NBA row sends the groups player, projection, opportunity, breakdown, ownership and provenance, with the shared fields and the fields marked NBA only.
    - `analysis_headline` string, nullable: Synthesized qualitative headline capturing player role, floor equity, or ceiling upside.
    - `boom_probability` number, double, nullable: Empirical probability of scoring >= 4.0x salary in 10,000 Monte Carlo simulations.
    - `breakdown` object, required: Granular fantasy point component breakdown and counting stats.
      - `ast` number, double, nullable: NBA only: projected assists.
      - `blk` number, double, nullable: NBA only: projected blocks.
      - `bonus_fpts` number, double, nullable: Fantasy points from milestone performance bonuses (e.g. 100+ rush/rec, 300+ pass).
      - `defensive_td_fpts` number, double, nullable: Fantasy points from defensive touchdowns (DST).
      - `double_double_probability` number, double, nullable: NBA only: chance of a double-double, 0 to 1.
      - `fg3m` number, double, nullable: NBA only: projected three-pointers made.
      - `interception_fpts` number, double, nullable: Fantasy point deduction from interceptions.
      - `passing_td_fpts` number, double, nullable: Fantasy points from passing touchdowns.
      - `passing_tds` number, double, nullable: Projected passing touchdowns.
      - `passing_yds` number, double, nullable: Projected passing yards.
      - `passing_yds_fpts` number, double, nullable: Fantasy points from passing yards.
      - `pts` number, double, nullable: NBA only: projected points (the stat).
      - `pts_allowed_fpts` number, double, nullable: Fantasy points from points allowed tiers (DST).
      - `reb` number, double, nullable: NBA only: projected rebounds.
      - `receiving_td_fpts` number, double, nullable: Fantasy points from receiving touchdowns.
      - `receiving_tds` number, double, nullable: Projected receiving touchdowns.
      - `receiving_yds` number, double, nullable: Projected receiving yards.
      - `receiving_yds_fpts` number, double, nullable: Fantasy points from receiving yards.
      - `reception_fpts` number, double, nullable: Fantasy points from receptions (PPR / half-PPR).
      - `rushing_td_fpts` number, double, nullable: Fantasy points from rushing touchdowns.
      - `rushing_tds` number, double, nullable: Projected rushing touchdowns.
      - `rushing_yds` number, double, nullable: Projected rushing yards.
      - `rushing_yds_fpts` number, double, nullable: Fantasy points from rushing yards.
      - `sack_fpts` number, double, nullable: Fantasy points from sacks (DST).
      - `stl` number, double, nullable: NBA only: projected steals.
      - `tov` number, double, nullable: NBA only: projected turnovers.
      - `triple_double_probability` number, double, nullable: NBA only: chance of a triple-double, 0 to 1.
    - `bust_probability` number, double, nullable: Empirical probability of scoring < 1.5x salary in 10,000 Monte Carlo simulations.
    - `cash_safety_tier` string, nullable: Salary-adjusted cash safety tier (CORE_CASH, CASH_VIABLE, MODERATE, HIGH_RISK).
    - `cash_verdict` string, nullable: Qualitative cash game analysis verdict with touch/floor security and bust risk reasoning.
    - `ceiling_multiplier` number, double, nullable: Salary-adjusted ceiling multiplier (ceiling / (salary / 1000)).
    - `dvp` object, nullable: Defense vs Position (DvP) matchup ratings, scheme metrics, and qualitative context.
      - `archetype` string, nullable: Player usage archetype (e.g. Pass-Catching Back, Deep Threat, Slot).
      - `explanation` string, nullable: Qualitative analytical explanation of defensive matchup.
      - `matchup` string, nullable: Matchup label (e.g. Favorable, Neutral, Tough).
      - `metrics` object, nullable: Detailed defensive metrics breakdown.
        - `archetype` string, nullable: Target archetype.
        - `def_adot_allowed` number, double, nullable: Defensive average depth of target allowed.
        - `def_pressure_rate` number, double, nullable: Defensive pressure rate.
        - `explanation` string, nullable: Detailed qualitative explanation.
        - `fpts_allowed_pg` number, double, nullable: Fantasy points allowed per game to archetype.
        - `league_avg_fpts` number, double, nullable: League average fantasy points per game to archetype.
        - `matchup_grade` string, nullable: Letter grade or qualitative category.
        - `multiplier` number, double, nullable: DvP projection multiplier applied.
        - `opponent_team_code` string, nullable: Opponent team abbreviation code.
        - `rank` integer, nullable: Opponent defense ranking vs archetype.
      - `rank` integer, nullable: Opponent defense positional ranking against archetype (1 = best matchup / 32 = worst).
      - `rating` number, double, nullable: Matchup rating multiplier or score.
      - `scheme_metrics` object, nullable: Scheme-specific indicators (man/zone frequency, blitz rate, etc.).
        - `composite` number, double, nullable: Composite scheme matchup score.
        - `db_injuries` object[], nullable: Opponent defensive back injuries impacting scheme.
        - `funnel_tilt` number, double, nullable: Run/pass funnel defensive tilt factor.
        - `injury_boost` number, double, nullable: Injury adjustment boost multiplier.
        - `opponent` string, nullable: Opponent team abbreviation code.
        - `pressure_mult` number, double, nullable: Pressure rate multiplier.
        - `rb_target_rate_allowed` number, double, nullable: Defensive target rate allowed to running backs.
        - `scheme_mult` number, double, nullable: Scheme matchup multiplier.
        - `shadow_cb` string, nullable: Shadow cornerback assignment if active.
        - `te_target_rate_allowed` number, double, nullable: Defensive target rate allowed to tight ends.
        - `two_high_shell_rate` number, double, nullable: Defensive two-high safety shell rate.
    - `fade_leverage_score` number, double, nullable: Quantitative score for fading the player in tournaments.
    - `floor_multiplier` number, double, nullable: Salary-adjusted floor multiplier (floor / (salary / 1000)).
    - `gpp_verdict` string, nullable: Qualitative GPP tournament analysis verdict with ceiling potential and ownership leverage reasoning.
    - `knapsack_shadow_price` number, double, nullable: Knapsack constraint shadow price indicating marginal point value per dollar.
    - `leverage_factor` number, double, nullable: Tournament leverage factor (ceiling_multiplier / max(0.02, ownership)).
    - `opportunity` object, required: Volume and snap share opportunity metrics.
      - `carries` number, double, nullable: Projected rushing attempts.
      - `catch_rate` number, double, nullable: Projected reception catch rate percentage.
      - `minutes_mean` number, double, nullable: NBA only: projected minutes (mean).
      - `minutes_p10` number, double, nullable: NBA only: 10th percentile of the projected minutes.
      - `minutes_p25` number, double, nullable: NBA only: 25th percentile of the projected minutes.
      - `minutes_p50` number, double, nullable: NBA only: median of the projected minutes.
      - `minutes_p75` number, double, nullable: NBA only: 75th percentile of the projected minutes.
      - `minutes_p90` number, double, nullable: NBA only: 90th percentile of the projected minutes.
      - `minutes_std` number, double, nullable: NBA only: standard deviation of the projected minutes.
      - `passing_attempts` number, double, nullable: Projected passing attempts (QB only).
      - `passing_completions` number, double, nullable: Projected passing completions (QB only).
      - `play_probability` number, double, nullable: NBA only: chance the player plays, 0 to 1.
      - `projected_snaps` number, double, nullable: Projected offensive snaps.
      - `projected_team_snaps` number, double, nullable: Projected team total offensive snaps.
      - `receptions` number, double, nullable: Projected receptions.
      - `snap_pct` number, double, nullable: Projected offensive snap percentage (0-100%).
      - `start_probability` number, double, nullable: NBA only: chance the player starts, 0 to 1.
      - `targets` number, double, nullable: Projected receiving targets.
      - `usage_rate` number, double, nullable: NBA only: projected usage rate, 0 to 1.
    - `ownership` object, nullable: Monte Carlo tournament crowd ownership projections and volatility. NBA rows carry the ownership of the contest's segment on /dfs/contests/{contest_id}/projections, and null on a slate (NBA ownership is projected per contest segment, never per slate).
      - `captain_ownership` number, double, nullable: Projected Captain / MVP roster percentage in single-game / Showdown slates (0-100%).
      - `captain_ratio` number, double, nullable: Ratio of Captain ownership relative to total ownership (0.0 - 1.0).
      - `cash_ownership_pct` number, double, nullable: Projected roster percentage in cash games formatted as 0-100% (e.g. 12.3 for 12.3%).
      - `cash_projected_ownership` number, double, nullable: Projected roster percentage in cash game double-ups / 50-50s (0.0000 - 1.0000).
      - `chalk_fragility` number, double, nullable: Sensitivity of player ownership to salary cap allocations [0, 1].
      - `flex_ownership` number, double, nullable: Projected FLEX utility roster percentage in single-game / Showdown slates (0-100%).
      - `high` number, double, nullable: 90th percentile crowd ownership percentage (upper bound).
      - `inputs_as_of` string, date-time, nullable: NBA only: time of the newest input of the ownership projection (UTC).
      - `low` number, double, nullable: 10th percentile crowd ownership percentage (lower bound).
      - `model` string, nullable: NBA only: the ownership model that wrote the row.
      - `ownership_pct` number, double, nullable: Projected roster percentage formatted as 0-100% (e.g. 15.5 for 15.5%).
      - `profile_id` integer, nullable: NBA only: the contest segment (dfs.contest_profiles.id) the ownership belongs to.
      - `projected_ownership` number, double, nullable: Projected roster percentage in decimal form (0.0000 - 1.0000).
      - `total_ownership` number, double, nullable: Total combined roster percentage across Captain and FLEX slots (0-100%).
      - `volatility` number, double, nullable: Standard deviation of projected ownership percentage across simulations.
    - `play_archetype` string, nullable: Summary archetype classification (GPP_BOOM, CORE_CASH, LEVERAGE, FRAGILE_CHALK, BALANCED, LOW_CAP).
    - `play_profile` object, nullable: Complete native play profile with upside and safety metrics, empirical boom/bust probabilities, and archetype.
      - `analysis` object, nullable: Qualitative analytical breakdowns and recommendations.
        - `cash_analysis` object, nullable: Detailed cash game outlook.
          - `cohort_comparison` string, nullable: Performance comparison relative to salary cohort.
          - `key_positives` string[], nullable: Positive factors supporting cash game viability.
          - `key_risks` string[], nullable: Downside risks impacting cash game safety.
          - `status` string, nullable: Cash status (CORE_CASH, CASH_VIABLE, NEUTRAL, UNVIABLE).
          - `verdict` string, nullable: Cash game verdict narrative.
        - `comparative_context` object, nullable: Relative rankings and cohort differentials.
          - `floor_vs_position_median` string, nullable: Floor points differential relative to positional median.
          - `positional_ceiling_rank` string, nullable: Positional ceiling ranking text.
          - `positional_floor_rank` string, nullable: Positional floor ranking text.
          - `positional_ownership_rank` string, nullable: Positional ownership ranking text.
          - `value_vs_salary_cohort` string, nullable: Value differential relative to salary tier.
        - `gpp_analysis` object, nullable: Detailed GPP tournament outlook.
          - `ceiling_thesis` string, nullable: Upside potential thesis.
          - `leverage_thesis` string, nullable: Ownership leverage thesis.
          - `pivot_recommendation` string, nullable: Suggested tournament pivots.
          - `status` string, nullable: GPP status.
          - `verdict` string, nullable: Tournament verdict narrative.
        - `headline` string, nullable: Synthesized headline summarizing player outlook.
      - `fade_leverage_score` number, double, nullable: Quantitative score for fading the player in tournaments.
      - `is_fragile_chalk` boolean, nullable: Whether player represents fragile chalk.
      - `is_leverage` boolean, nullable: Whether player is a top leverage candidate.
      - `knapsack_shadow_price` number, double, nullable: Knapsack constraint shadow price indicating marginal point value per dollar.
      - `play_archetype` string, nullable: Archetype classification.
      - `relative_fragility` number, double, nullable: Normalized fragility relative to slate position peers.
      - `safety` object, nullable: Safety and floor stability metrics.
        - `bust_probability` number, double, nullable: Probability of falling below 1.5x salary value.
        - `chalk_fragility` number, double, nullable: Chalk fragility rating.
        - `floor_multiplier` number, double, nullable: Salary-adjusted floor multiplier.
        - `tier` string, nullable: Cash safety tier (CORE_CASH, CASH_VIABLE, MODERATE, HIGH_RISK).
      - `tactical_tag` string, nullable: Tactical play tag (e.g. GOOD_CHALK, FRAGILE_CHALK, LEVERAGE).
      - `upside` object, nullable: Upside and ceiling distribution metrics.
        - `boom_probability` number, double, nullable: Probability of reaching 4.0x boom value.
        - `ceiling_multiplier` number, double, nullable: Salary-adjusted ceiling multiplier (ceiling / (salary / 1000)).
        - `leverage_factor` number, double, nullable: Tournament leverage factor.
        - `tier` string, nullable: Salary-adjusted upside tier (ELITE, BOOM, STEADY, LOW_CAP).
    - `player` object, required: Player identity, team context, and slate metadata.
      - `game_id` integer, nullable: Canonical game ID.
      - `id` integer, required: Unique slate player identifier.
      - `name` string, nullable: Player display name.
      - `operator_player_export_id` string, nullable: Operator export / draftable ID for lineup CSV uploads (from dfs.slate_players.export_id).
      - `operator_player_id` string, nullable: Operator athlete identifier (from dfs.slate_players.external_id).
      - `opponent` string, nullable: Opponent team abbreviation code (e.g. NO).
      - `player_game_note` string, nullable: Contextual scouting and game note for player.
      - `player_id` integer, nullable: Canonical player ID in sport schema (references nfl.players.id).
      - `position` string, nullable: Contest roster position eligibility (e.g. QB, RB, WR, TE, DST, K).
      - `salary` integer, nullable: Contest player salary in currency units (e.g. 8000).
      - `slate_date` string, nullable: Contest slate date (YYYY-MM-DD).
      - `slate_player_id` integer, required: Slate player ID (references dfs.slate_players.id).
      - `status` string, nullable: Injury / roster status (e.g. Active, Questionable, Out).
      - `team` string, nullable: Team abbreviation code (e.g. DET).
    - `projection` object, required: Fantasy points distribution, simulation bounds, and value ratio.
      - `ceiling` number, double, nullable: 90th percentile fantasy point outcome (ceiling).
      - `chance_5x` number, double, nullable: NBA only: chance the seat's points reach 5x salary / 1000, 0 to 1; null without a salary.
      - `chance_5x_bound` 'above_99pct' | 'below_1pct', nullable: NBA only: set when chance_5x is a bound: above_99pct or below_1pct.
      - `chance_6x` number, double, nullable: NBA only: chance the seat's points reach 6x salary / 1000, 0 to 1; null without a salary.
      - `chance_6x_bound` 'above_99pct' | 'below_1pct', nullable: NBA only: set when chance_6x is a bound.
      - `fantasy_pts` number, double, nullable: Mean projected fantasy points under contest scoring rules.
      - `floor` number, double, nullable: 10th percentile fantasy point outcome (floor).
      - `quantiles` object, nullable: Quantile simulation distribution outcomes across Monte Carlo runs.
        - `p05` number, double, nullable: 5th percentile outcome.
        - `p10` number, double, nullable: 10th percentile outcome.
        - `p15` number, double, nullable: 15th percentile outcome.
        - `p25` number, double, nullable: 25th percentile outcome.
        - `p50` number, double, nullable: 50th percentile (median) outcome.
        - `p75` number, double, nullable: 75th percentile outcome.
        - `p85` number, double, nullable: 85th percentile outcome.
        - `p90` number, double, nullable: 90th percentile outcome.
        - `p95` number, double, nullable: 95th percentile outcome.
      - `seat_multiplier` number, double, nullable: NBA only: the seat's score multiplier (DraftKings CPT 1.5, FanDuel MVP 1.5; 1 for every other seat). The points fields are already multiplied.
      - `std_dev` number, double, nullable: Standard deviation of projected fantasy point distribution.
      - `value` number, double, nullable: Projected fantasy points per $1k of salary (pts / (salary / 1000)).
    - `provenance` object, nullable: Projection update history, audit timestamps, and explanation of adjustments.
      - `last_update_time` string, nullable: ISO-8601 UTC timestamp of most recent projection adjustment.
      - `update_explanation` string, nullable: Human-readable explanation of why projection was updated (e.g. injury news, weather).
      - `update_history` object[], nullable: Chronological audit trail of prior projection snapshots.
        - `current_value` object, nullable: New projection values after adjustment.
        - `explanation` string, nullable: Change explanation text.
        - `id` string, required: Snapshot change identifier.
        - `previous_value` object, nullable: Prior projection values before adjustment.
        - `reason` object, nullable: Event trigger that provoked update.
        - `timestamp` string, required: UTC timestamp of snapshot.
      - `update_reason` object, nullable: Structured metadata describing event triggering update.
        - `factors` object, nullable: Detailed factor adjustments triggering projection update.
        - `primary_code` string, nullable: Primary change classification code (e.g. DEFENSE_DEGRADED).
        - `secondary_codes` string[], nullable: Secondary change classification codes.
    - `relative_fragility` number, double, nullable: Normalized fragility relative to slate position peers.
    - `tactical_tag` string, nullable: Tactical play tag (e.g. GOOD_CHALK, FRAGILE_CHALK, LEVERAGE).
    - `upside_tier` string, nullable: Salary-adjusted upside tier (ELITE, BOOM, STEADY, LOW_CAP).
    - `vegas_odds` object, nullable: Active player betting lines and props used as model calibration anchors.
      - `anytime_td` integer, nullable: Anytime touchdown odds (American format).
      - `completions` number, double, nullable: Pass completions consensus betting line.
      - `first_td` integer, nullable: First touchdown odds.
      - `interceptions` number, double, nullable: Passing interceptions consensus betting line.
      - `last_td` integer, nullable: Last touchdown odds.
      - `passing_attempts` number, double, nullable: Passing attempts consensus betting line.
      - `passing_tds` number, double, nullable: Passing touchdowns consensus betting line.
      - `passing_yards` number, double, nullable: Passing yards consensus betting line.
      - `passing_yds` number, double, nullable: Passing yards consensus betting line.
      - `receiving_yds` number, double, nullable: Receiving yards consensus betting line.
      - `receptions` number, double, nullable: Receptions consensus betting line.
      - `rushing_attempts` number, double, nullable: Rushing attempts betting line.
      - `rushing_yds` number, double, nullable: Rushing yards consensus betting line.
  - `slate` object, required: Contest slate summary.
    - `actual_ownership_contest_id` integer, nullable: The one contest (dfs.contests id) whose actual_ownership the player rows of this slate carry: the contest with actuals and the biggest prize pool, then the most entries, then the lowest id. Absent when no contest of the slate has actuals. The contest answer never uses this value.
    - `external_id` string, required: Operator-specific contest slate identifier.
    - `id` integer, required: Slate ID.
    - `league` string, nullable: The slate's league (nfl, nba, mlb, nhl, golf). It decides which row fields the answer carries: the fields marked NBA only come on NBA rows, every other row field on NFL rows.
    - `operator` string, required: DFS operator name (DraftKings, FanDuel, Yahoo).
  - `source` object, nullable: Projection source metadata. Null when projection_status is none_by_design or no_player_pool, and on every NBA answer (our NBA engine has no stored source row; `_metadata.served_source` names it, STAT_API_NBA).
    - `id` integer, required: Source ID.
    - `name` string, required: Projection model name.
    - `slate_setting_id` integer, required: Slate setting ID.
    - `source_type` integer, required: Source type code.
    - `updated_at` string, required: Timestamp of projection generation.
  - `teams` object[], nullable: Team projections and game pace for every team on the slate. Sent with the default format and with format=flat. Null when the team model fails for the slate.
    - `ast_mean` number, double, nullable: NBA only: projected team assists.
    - `blk_mean` number, double, nullable: NBA only: projected team blocks.
    - `fg3m_mean` number, double, nullable: NBA only: projected team three-pointers made.
    - `game_id` integer, nullable: NBA only: the game (nba.games.id).
    - `game_total` number, double, nullable: Over/under game total consensus line.
    - `implied_team_total` number, double, nullable: NBA only: the team total the betting line implies.
    - `implied_total` number, double, nullable: Implied team total points from betting game line and spread.
    - `inputs_as_of` string, date-time, nullable: NBA only: time of the newest input of the team projection (UTC).
    - `is_home` boolean, nullable: NBA only: the team plays at home.
    - `lines_captured_at` string, date-time, nullable: NBA only: time the betting line was captured (UTC).
    - `matchup_id` integer, nullable: Unique slate game matchup identifier.
    - `no_huddle_rate` number, double, nullable: Projected no-huddle play rate (nfl.projected_team_snaps).
    - `offensive_rating` number, double, nullable: NBA only: projected offensive rating.
    - `opponent_points_mean` number, double, nullable: NBA only: projected opponent points (mean).
    - `opponent_team_code` string, nullable: Opponent team abbreviation code.
    - `opponent_team_id` integer, nullable: Opponent team ID.
    - `overtime_probability` number, double, nullable: NBA only: chance the game goes to overtime, 0 to 1.
    - `pace_per_48` number, double, nullable: NBA only: projected pace per 48 minutes.
    - `pass_oe` number, double, nullable: Projected pass rate over expected (nfl.projected_team_snaps).
    - `pass_play_pct` number, double, required: Projected offensive passing play rate percentage.
    - `passing` object, required: Team passing volume totals.
      - `attempts` number, double, required: Projected team pass attempts.
      - `completions` number, double, required: Projected team pass completions.
      - `interceptions` number, double, required: Projected team interceptions.
      - `targets` number, double, required: Projected team pass targets.
      - `touchdowns` number, double, required: Projected team passing touchdowns.
      - `yards` number, double, required: Projected team passing yards.
    - `players` object[], required: Distribution of projections across team skill position roster.
    - `possessions_mean` number, double, nullable: NBA only: projected possessions (mean).
    - `possessions_p10` number, double, nullable: NBA only: 10th percentile of the projected possessions.
    - `possessions_p50` number, double, nullable: NBA only: median of the projected possessions.
    - `possessions_p90` number, double, nullable: NBA only: 90th percentile of the projected possessions.
    - `primary_qb_player_id` integer, nullable: Projected starting quarterback player ID.
    - `projected_defensive_snaps` number, double, nullable: Projected defensive snaps (nfl.projected_team_snaps).
    - `reb_mean` number, double, nullable: NBA only: projected team rebounds.
    - `run_play_pct` number, double, required: Projected offensive rushing play rate percentage.
    - `rushing` object, required: Team rushing volume totals.
      - `attempts` number, double, required: Projected team rushing attempts.
      - `touchdowns` number, double, required: Projected team rushing touchdowns.
      - `yards` number, double, required: Projected team rushing yards.
    - `seconds_per_play` number, double, nullable: Projected seconds per offensive play (nfl.projected_team_snaps).
    - `spread` number, double, nullable: Point spread consensus line.
    - `stl_mean` number, double, nullable: NBA only: projected team steals.
    - `team_code` string, required: Team abbreviation code (e.g. DET, KC, LAR).
    - `team_id` integer, required: Canonical team ID (references nfl.teams).
    - `team_points_mean` number, double, nullable: NBA only: projected team points (mean).
    - `team_points_p10` number, double, nullable: NBA only: 10th percentile of the projected team points.
    - `team_points_p25` number, double, nullable: NBA only: 25th percentile of the projected team points.
    - `team_points_p50` number, double, nullable: NBA only: median of the projected team points.
    - `team_points_p75` number, double, nullable: NBA only: 75th percentile of the projected team points.
    - `team_points_p90` number, double, nullable: NBA only: 90th percentile of the projected team points.
    - `team_points_std` number, double, nullable: NBA only: standard deviation of the projected team points.
    - `total_offensive_snaps` number, double, required: Projected team total offensive snaps.
    - `tov_mean` number, double, nullable: NBA only: projected team turnovers.
    - `vegas_odds` object, nullable: Associated team game betting props.
    - `vegas_spread` number, double, nullable: NBA only: the spread of the betting line the projection used.
    - `vegas_total` number, double, nullable: NBA only: the game total of the betting line the projection used.
    - `win_probability` number, double, nullable: NBA only: chance the team wins, 0 to 1.

## Other responses

- `400`: Invalid slate ID format, an unknown format, or an enrich tag the time wall refuses
- `404`: Slate not found, or its format has no projection source (in-game formats answer 200 with projection_status none_by_design, a slate with no player pool 200 with no_player_pool)

## Changes

- **2026-10-19** `add5fe9d1374`: 1 warning
  - added the new `not_projected` enum value to the `projection_status` response property for the response status `200`

[Operation history](https://skmtc.dev/stat-api/apis/sports-db-public-api/changes/api/v1/dfs/slates/:slate_id/projections/get.md)

---

[API](https://skmtc.dev/stat-api/apis/sports-db-public-api.md) · [All operations](https://skmtc.dev/stat-api/apis/sports-db-public-api/llms.txt) · [OpenAPI document](https://skmtc.dev/stat-api/apis/sports-db-public-api/revisions/601ff9eaca3f?raw)
