Properties
| Name | Type | Description |
|---|---|---|
| _metadata | objectnull | 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. |
| computed | object | Projection coverage and calculation summary. |
| player_stats | array | 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 |
| projection_status | string | 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 |
| projections | array | 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 form |
| slate | object | Contest slate summary. |
| source | objectnull | 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_ |
| teams | arraynull | 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. |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://artifacts.apis.io/stat-api-com/json-schema/stat-api-com-dfsslates-projections-dfs-slate-projections-response-schema.json",
"title": "DFSSlatesProjections_DfsSlateProjectionsResponse",
"x-generated": "2026-10-31",
"x-method": "derived",
"x-generator": "derive-json-schema.py",
"x-source": "openapi/stat-api-com-openapi.json#/components/schemas/DFSSlatesProjections_DfsSlateProjectionsResponse",
"properties": {
"_metadata": {
"description": "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.",
"properties": {
"backfilled": {
"description": "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.",
"type": "boolean"
},
"deprecated": {
"description": "True when the requested source is deprecated. STAT_API is deprecated, and STAT_API_LATEST serves it.",
"type": "boolean"
},
"engine_version": {
"description": "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.",
"type": [
"string",
"null"
]
},
"fallback": {
"description": "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`).",
"type": "boolean"
},
"fallback_games": {
"description": "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).",
"items": {
"format": "int64",
"type": "integer"
},
"type": [
"array",
"null"
]
},
"note": {
"description": "The same facts in one sentence. Null when the requested source is not deprecated, did not fall back and has no pending game.",
"type": [
"string",
"null"
]
},
"pending_games": {
"description": "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).",
"items": {
"format": "int64",
"type": "integer"
},
"type": [
"array",
"null"
]
},
"replacement": {
"description": "The source that replaces the deprecated requested source (STAT_API_LATEST). Null when `deprecated` is false.",
"type": [
"string",
"null"
]
},
"requested_source": {
"description": "The source the request asked for, the `source` parameter, else the default (STAT_API_LATEST).",
"type": "string"
},
"served_source": {
"description": "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`).",
"type": "string"
}
},
"required": [
"requested_source",
"served_source",
"deprecated",
"backfilled",
"fallback"
],
"type": [
"object",
"null"
]
},
"computed": {
"description": "Projection coverage and calculation summary.",
"properties": {
"coverage": {
"description": "Percentage of pool successfully projected.",
"format": "double",
"type": "number"
},
"eligible_players": {
"description": "Total eligible players in contest pool.",
"format": "int64",
"type": "integer"
},
"missing_players": {
"description": "Unprojected player count.",
"format": "int64",
"type": "integer"
},
"position": {
"description": "Roster position filter applied to request.",
"type": [
"string",
"null"
]
},
"position_ownership_totals": {
"description": "Aggregated projected ownership percentage by position group across the slate.",
"type": [
"object",
"null"
]
},
"projected_players": {
"description": "Number of players with generated projections.",
"format": "int64",
"type": "integer"
},
"refused_seats": {
"description": "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.",
"items": {
"properties": {
"position": {
"description": "The seat's position as the operator names it.",
"type": [
"string",
"null"
]
},
"reason": {
"description": "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.",
"enum": [
"no_seat_multiplier",
"no_scoring_rules",
"bad_stat_line"
],
"type": "string"
},
"slate_player_id": {
"description": "The seat (dfs.slate_players.id).",
"format": "int64",
"type": "integer"
}
},
"required": [
"slate_player_id",
"reason"
],
"type": "object"
},
"type": [
"array",
"null"
]
},
"total_roster_mass": {
"description": "Total roster mass.",
"format": "double",
"type": [
"number",
"null"
]
},
"total_teams": {
"description": "Total active teams projected on the slate.",
"type": [
"integer",
"null"
]
}
},
"required": [
"eligible_players",
"projected_players",
"missing_players",
"coverage"
],
"type": "object"
},
"player_stats": {
"description": "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.",
"items": {
"properties": {
"actual_fantasy_pts": {
"description": "Post-game: fantasy points scored (dfs.player_stats). Null in mode=pre.",
"format": "double",
"type": [
"number",
"null"
]
},
"actual_ownership": {
"description": "Post-game: roster share in the slate's largest contest with results, as a fraction (0-1). Null in mode=pre.",
"format": "double",
"type": [
"number",
"null"
]
},
"actual_rank": {
"description": "Post-game: the player's rank by actual ownership in the contest (contest projections only). Null in mode=pre.",
"type": [
"integer",
"null"
]
},
"analysis_headline": {
"description": "One-line summary of the player's role, floor or ceiling.",
"type": [
"string",
"null"
]
},
"ast": {
"description": "NBA only: projected assists.",
"format": "double",
"type": [
"number",
"null"
]
},
"blk": {
"description": "NBA only: projected blocks.",
"format": "double",
"type": [
"number",
"null"
]
},
"boom_probability": {
"description": "Probability of scoring at least the boom multiple of salary.",
"format": "double",
"type": [
"number",
"null"
]
},
"bust_probability": {
"description": "Probability of scoring under 1.5x salary.",
"format": "double",
"type": [
"number",
"null"
]
},
"captain_ownership": {
"description": "Showdown: projected ownership percentage of this player's captain (CPT/MVP) row. Null on classic slates.",
"format": "double",
"type": [
"number",
"null"
]
},
"captain_ratio": {
"description": "Showdown: captain ownership divided by total ownership (0-1). Null on classic slates.",
"format": "double",
"type": [
"number",
"null"
]
},
"carries": {
"description": "Projected rushing attempts.",
"format": "double",
"type": [
"number",
"null"
]
},
"cash_ownership_pct": {
"description": "Projected cash-game roster share, as a percentage. Null on contest projections.",
"format": "double",
"type": [
"number",
"null"
]
},
"cash_projected_ownership": {
"description": "Projected cash-game (double-up, 50/50) roster share, as a fraction (0-1). Null on contest projections.",
"format": "double",
"type": [
"number",
"null"
]
},
"cash_safety_tier": {
"description": "Salary-adjusted cash safety tier (CORE_CASH, CASH_VIABLE, MODERATE, HIGH_RISK, UNVIABLE).",
"type": [
"string",
"null"
]
},
"cash_verdict": {
"description": "Cash-game verdict.",
"type": [
"string",
"null"
]
},
"catch_rate": {
"description": "Projected receptions per target, as a percentage (0-100).",
"format": "double",
"type": [
"number",
"null"
]
},
"ceiling": {
"description": "Projected 90th percentile fantasy point outcome.",
"format": "double",
"type": [
"number",
"null"
]
},
"ceiling_multiplier": {
"description": "Ceiling per $1k of salary.",
"format": "double",
"type": [
"number",
"null"
]
},
"chalk_fragility": {
"description": "Chalk fragility index in [0, 1] (0 = stable across cap allocations, 1 = fragile).",
"format": "double",
"type": [
"number",
"null"
]
},
"chance_5x": {
"description": "NBA only: chance the seat's points reach 5x salary / 1000, 0 to 1 (see the route description); null without a salary.",
"format": "double",
"type": [
"number",
"null"
]
},
"chance_5x_bound": {
"description": "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).",
"enum": [
"above_99pct",
"below_1pct"
],
"type": [
"string",
"null"
]
},
"chance_6x": {
"description": "NBA only: chance the seat's points reach 6x salary / 1000, 0 to 1; null without a salary.",
"format": "double",
"type": [
"number",
"null"
]
},
"chance_6x_bound": {
"description": "NBA only: set when chance_6x is a bound, not a value.",
"enum": [
"above_99pct",
"below_1pct"
],
"type": [
"string",
"null"
]
},
"double_double_probability": {
"description": "NBA only: chance of a double-double, 0 to 1.",
"format": "double",
"type": [
"number",
"null"
]
},
"dvp_archetype": {
"description": "Player usage archetype the defense-vs-position rating uses.",
"type": [
"string",
"null"
]
},
"dvp_explanation": {
"description": "Explanation of the defensive matchup.",
"type": [
"string",
"null"
]
},
"dvp_matchup": {
"description": "Matchup label (e.g. Favorable, Neutral, Tough).",
"type": [
"string",
"null"
]
},
"dvp_metrics": {
"description": "Defense-vs-position metrics behind the rating.",
"type": [
"object",
"null"
]
},
"dvp_rank": {
"description": "Opponent defense rank against the archetype (1 = best matchup).",
"type": [
"integer",
"null"
]
},
"dvp_rating": {
"description": "Defense-vs-position matchup rating.",
"format": "double",
"type": [
"number",
"null"
]
},
"fade_leverage_score": {
"description": "Score for fading the player in tournaments, from the projection model.",
"format": "double",
"type": [
"number",
"null"
]
},
"fantasy_pts": {
"description": "Projected fantasy points under the slate's scoring rules. Null when the player has no projection.",
"format": "double",
"type": [
"number",
"null"
]
},
"fg3m": {
"description": "NBA only: projected three-pointers made.",
"format": "double",
"type": [
"number",
"null"
]
},
"flex_ownership": {
"description": "Showdown: projected ownership percentage of this player's FLEX row. Null on classic slates.",
"format": "double",
"type": [
"number",
"null"
]
},
"floor": {
"description": "Projected 10th percentile fantasy point outcome.",
"format": "double",
"type": [
"number",
"null"
]
},
"floor_multiplier": {
"description": "Floor per $1k of salary.",
"format": "double",
"type": [
"number",
"null"
]
},
"fumble_lost_fpts": {
"description": "Fantasy points lost to projected lost fumbles.",
"format": "double",
"type": [
"number",
"null"
]
},
"game_id": {
"description": "Canonical game ID (nfl.games.id).",
"format": "int64",
"type": [
"integer",
"null"
]
},
"gpp_verdict": {
"description": "Tournament verdict.",
"type": [
"string",
"null"
]
},
"gsis": {
"description": "NFL GSIS player ID.",
"type": [
"string",
"null"
]
},
"id": {
"description": "Slate player ID (dfs.slate_players.id).",
"format": "int64",
"type": "integer"
},
"interception_fpts": {
"description": "Fantasy points lost to projected interceptions.",
"format": "double",
"type": [
"number",
"null"
]
},
"interceptions_thrown": {
"description": "Projected interceptions thrown.",
"format": "double",
"type": [
"number",
"null"
]
},
"knapsack_shadow_price": {
"description": "Marginal points per salary dollar at the optimizer's cap constraint, from the projection model.",
"format": "double",
"type": [
"number",
"null"
]
},
"last_update_time": {
"description": "When the projection last changed (UTC).",
"format": "date-time",
"type": [
"string",
"null"
]
},
"league_id": {
"description": "League ID.",
"format": "int64",
"type": "integer"
},
"leverage_delta": {
"description": "Post-game: actual_ownership minus projected_ownership. Null in mode=pre.",
"format": "double",
"type": [
"number",
"null"
]
},
"leverage_factor": {
"description": "Tournament leverage factor (ceiling_multiplier / max(0.02, ownership)).",
"format": "double",
"type": [
"number",
"null"
]
},
"minutes_mean": {
"description": "NBA only: projected minutes (mean).",
"format": "double",
"type": [
"number",
"null"
]
},
"minutes_p10": {
"description": "NBA only: 10th percentile of the projected minutes.",
"format": "double",
"type": [
"number",
"null"
]
},
"minutes_p25": {
"description": "NBA only: 25th percentile of the projected minutes.",
"format": "double",
"type": [
"number",
"null"
]
},
"minutes_p50": {
"description": "NBA only: median of the projected minutes.",
"format": "double",
"type": [
"number",
"null"
]
},
"minutes_p75": {
"description": "NBA only: 75th percentile of the projected minutes.",
"format": "double",
"type": [
"number",
"null"
]
},
"minutes_p90": {
"description": "NBA only: 90th percentile of the projected minutes.",
"format": "double",
"type": [
"number",
"null"
]
},
"minutes_std": {
"description": "NBA only: standard deviation of the projected minutes.",
"format": "double",
"type": [
"number",
"null"
]
},
"name": {
"description": "Player name.",
"type": [
"string",
"null"
]
},
"operator_id": {
"description": "Operator ID (1 DraftKings, 2 FanDuel, 3 Yahoo).",
"format": "int64",
"type": "integer"
},
"operator_player_export_id": {
"description": "Operator export / draftable ID for lineup CSV uploads (dfs.slate_players.export_id).",
"type": [
"string",
"null"
]
},
"operator_player_id": {
"description": "Operator athlete ID (dfs.slate_players.external_id).",
"type": [
"string",
"null"
]
},
"opponent": {
"description": "Opponent team abbreviation.",
"type": [
"string",
"null"
]
},
"ownership_high": {
"description": "90th percentile projected ownership percentage.",
"format": "double",
"type": [
"number",
"null"
]
},
"ownership_low": {
"description": "10th percentile projected ownership percentage.",
"format": "double",
"type": [
"number",
"null"
]
},
"ownership_model": {
"description": "NBA only: the ownership model that wrote the row's ownership; contest projections only, null on a slate.",
"type": [
"string",
"null"
]
},
"ownership_pct": {
"description": "Projected tournament roster share, as a percentage (e.g. 15.5 for 15.5%).",
"format": "double",
"type": [
"number",
"null"
]
},
"ownership_volatility": {
"description": "Standard deviation of the projected ownership percentage across simulated crowds.",
"format": "double",
"type": [
"number",
"null"
]
},
"passing_2pt_conversion_fpts": {
"description": "Fantasy points from 2-point passing conversions (0 when the player has a projection; the model projects none).",
"format": "double",
"type": [
"number",
"null"
]
},
"passing_attempts": {
"description": "Projected pass attempts.",
"format": "double",
"type": [
"number",
"null"
]
},
"passing_bonus_fpts": {
"description": "Fantasy bonus points for milestone passing (DraftKings 300+ yards).",
"format": "double",
"type": [
"number",
"null"
]
},
"passing_completions": {
"description": "Projected pass completions.",
"format": "double",
"type": [
"number",
"null"
]
},
"passing_td_fpts": {
"description": "Fantasy points from projected passing touchdowns.",
"format": "double",
"type": [
"number",
"null"
]
},
"passing_tds": {
"description": "Projected passing touchdowns.",
"format": "double",
"type": [
"number",
"null"
]
},
"passing_yds": {
"description": "Projected passing yards (QB, or a player with 1+ projected pass attempt).",
"format": "double",
"type": [
"number",
"null"
]
},
"passing_yds_fpts": {
"description": "Fantasy points from projected passing yards.",
"format": "double",
"type": [
"number",
"null"
]
},
"play_archetype": {
"description": "Archetype (GPP_BOOM, CORE_CASH, LEVERAGE, FRAGILE_CHALK, BALANCED, LOW_CAP, OUT_INACTIVE, or the model's tactical label).",
"type": [
"string",
"null"
]
},
"play_probability": {
"description": "NBA only: chance the player plays, 0 to 1.",
"format": "double",
"type": [
"number",
"null"
]
},
"play_profile": {
"description": "Play profile with upside and safety metrics, boom/bust probabilities, archetype and analysis.",
"type": [
"object",
"null"
]
},
"player_game_note": {
"description": "Game note for the player from the projection model.",
"type": [
"string",
"null"
]
},
"player_id": {
"description": "Canonical player ID (nfl.players.id).",
"format": "int64",
"type": [
"integer",
"null"
]
},
"position": {
"description": "Contest roster position (e.g. QB, RB, WR, TE, DST, K, CPT).",
"type": [
"string",
"null"
]
},
"profile_id": {
"description": "NBA only: the contest segment (dfs.contest_profiles.id) of the ownership on this row; contest projections only, null on a slate.",
"format": "int64",
"type": [
"integer",
"null"
]
},
"projected_ownership": {
"description": "Projected tournament roster share, as a fraction (0-1).",
"format": "double",
"type": [
"number",
"null"
]
},
"projected_snap_share": {
"description": "Projected offensive snap share, as a fraction (0-1).",
"format": "double",
"type": [
"number",
"null"
]
},
"projected_snaps": {
"description": "Projected offensive snaps.",
"format": "double",
"type": [
"number",
"null"
]
},
"projected_team_snaps": {
"description": "Projected team offensive snaps.",
"format": "double",
"type": [
"number",
"null"
]
},
"pts": {
"description": "NBA only: projected points (the stat).",
"format": "double",
"type": [
"number",
"null"
]
},
"quantiles": {
"description": "Quantile outcomes of the simulated fantasy point distribution (p05 to p95).",
"type": [
"object",
"null"
]
},
"reb": {
"description": "NBA only: projected rebounds.",
"format": "double",
"type": [
"number",
"null"
]
},
"receiving_2pt_conversion_fpts": {
"description": "Fantasy points from 2-point receiving conversions (0 when the player has a projection; the model projects none).",
"format": "double",
"type": [
"number",
"null"
]
},
"receiving_bonus_fpts": {
"description": "Fantasy bonus points for milestone receiving (DraftKings 100+ yards).",
"format": "double",
"type": [
"number",
"null"
]
},
"receiving_td_fpts": {
"description": "Fantasy points from projected receiving touchdowns.",
"format": "double",
"type": [
"number",
"null"
]
},
"receiving_tds": {
"description": "Projected receiving touchdowns.",
"format": "double",
"type": [
"number",
"null"
]
},
"receiving_yds": {
"description": "Projected receiving yards.",
"format": "double",
"type": [
"number",
"null"
]
},
"receiving_yds_fpts": {
"description": "Fantasy points from projected receiving yards.",
"format": "double",
"type": [
"number",
"null"
]
},
"reception_fpts": {
"description": "Fantasy points from projected receptions (DraftKings full PPR, FanDuel half PPR).",
"format": "double",
"type": [
"number",
"null"
]
},
"receptions": {
"description": "Projected receptions.",
"format": "double",
"type": [
"number",
"null"
]
},
"relative_fragility": {
"description": "Fragility relative to the player's position peers on the slate, from the projection model.",
"format": "double",
"type": [
"number",
"null"
]
},
"rushing_2pt_conversion_fpts": {
"description": "Fantasy points from 2-point rushing conversions (0 when the player has a projection; the model projects none).",
"format": "double",
"type": [
"number",
"null"
]
},
"rushing_bonus_fpts": {
"description": "Fantasy bonus points for milestone rushing (DraftKings 100+ yards).",
"format": "double",
"type": [
"number",
"null"
]
},
"rushing_fumbles_lost": {
"description": "Projected lost fumbles (0 when the player has a projection and the model gives none).",
"format": "double",
"type": [
"number",
"null"
]
},
"rushing_td_fpts": {
"description": "Fantasy points from projected rushing touchdowns.",
"format": "double",
"type": [
"number",
"null"
]
},
"rushing_tds": {
"description": "Projected rushing touchdowns.",
"format": "double",
"type": [
"number",
"null"
]
},
"rushing_yds": {
"description": "Projected rushing yards.",
"format": "double",
"type": [
"number",
"null"
]
},
"rushing_yds_fpts": {
"description": "Fantasy points from projected rushing yards.",
"format": "double",
"type": [
"number",
"null"
]
},
"salary": {
"description": "Contest player salary in currency units.",
"type"
# --- truncated at 32 KB (111 KB total) ---
# Full source: https://artifacts.apis.io/stat-api-com/json-schema/stat-api-com-dfsslates-projections-dfs-slate-projections-response-schema.json
Work with this as data
Every JSON Schema here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for schemas
4 MCP tools reach this
find_json_schemasBrowse and filter every JSON Schema in the catalog.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.
Call it yourself
curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/stat-api-com-dfsslates-projections-dfs-slate-projections-response"
All schemas
curl "https://apis.io/api/v1/json-schemas?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.