stat-api-com · Schema

DFSContestsProjections_DfsContestProjectionsResponse

SportsDataAPIDFSFantasy

Properties

Name Type Description
_metadata objectnull Which projection source served this contest, and which stat-api engine made its rows: the `_metadata` of the contest's slate, and for a contest served by STAT_API_LATEST where its contest ownership co
computed object Projection coverage and calculation summary.
contest object Contest metadata summary.
contest_profile objectnull Contest calibration profile and crowd mixture. Null for a contest that is not on an NFL slate (the NFL crowd model is not computed for another league; NBA ownership comes per contest segment, in each
player_stats array The contest-calibrated player projections as flat rows, one per slate player. Sent with format=flat. format=csv returns these rows as CSV: one column per field, in this order, then one column per `enr
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 contest-calibrated player projections as nested rows (the slate projections rows with contest ownership). Sent with the default format.
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 contest's slate. Sent with the default format and with format=flat.
View JSON Schema on GitHub

JSON Schema

stat-api-com-dfscontests-projections-dfs-contest-projections-response-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/stat-api-com/json-schema/stat-api-com-dfscontests-projections-dfs-contest-projections-response-schema.json",
  "title": "DFSContestsProjections_DfsContestProjectionsResponse",
  "x-generated": "2026-10-31",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/stat-api-com-openapi.json#/components/schemas/DFSContestsProjections_DfsContestProjectionsResponse",
  "properties": {
    "_metadata": {
      "description": "Which projection source served this contest, and which stat-api engine made its rows: the `_metadata` of the contest's slate, and for a contest served by STAT_API_LATEST where its contest ownership comes from. Sent last, with the default format and with format=flat. This endpoint takes no `source`: it serves the default, STAT_API_LATEST, and STAT_API on a slate that STAT_API_LATEST has no projections for.",
      "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"
        },
        "contest_ownership": {
          "description": "Where the contest ownership comes from, sent only when STAT_API_LATEST serves the contest (absent otherwise). `persisted`: the contest ownership rows the engine wrote for this contest. `computed`: calibrated from the slate ownership for this request, and not saved.",
          "enum": [
            "persisted",
            "computed"
          ],
          "type": [
            "string",
            "null"
          ]
        },
        "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": "Aggregate ownership by position.",
          "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"
    },
    "contest": {
      "description": "Contest metadata summary.",
      "properties": {
        "archetype": {
          "description": "The contest archetype of the learned ownership model: the stored `contest_archetype` of the contest's STAT_API_LATEST rows, else the same rule. cash (contest type 1 or a cash word such as Double Up, 50/50, H2H in the name), then gpp_single_entry (1 entry per user), gpp_small_field (fee $100 or more, or at most 500 entries), gpp_mme (20 or more entries per user), else baseline.",
          "enum": [
            "cash",
            "gpp_single_entry",
            "gpp_small_field",
            "gpp_mme",
            "baseline"
          ],
          "type": "string"
        },
        "cash_places": {
          "description": "Total paid cash places.",
          "format": "int64",
          "type": [
            "integer",
            "null"
          ]
        },
        "contest_id": {
          "description": "Internal contest ID.",
          "format": "int64",
          "type": "integer"
        },
        "contest_state": {
          "description": "Authoritative contest state (Upcoming, Live, Completed).",
          "type": [
            "string",
            "null"
          ]
        },
        "entry_fee_dollars": {
          "description": "Entry fee in dollars.",
          "format": "double",
          "type": "number"
        },
        "external_id": {
          "description": "Operator external contest ID.",
          "format": "int64",
          "type": "integer"
        },
        "game_type": {
          "description": "Game format from the slate setting's game type (the dfs.slates `game_type`, upper case): CLASSIC, SHOWDOWN (DraftKings Showdown Captain Mode), SINGLE_GAME (FanDuel single game, MVP) or TIERS.",
          "enum": [
            "CLASSIC",
            "SHOWDOWN",
            "SINGLE_GAME",
            "TIERS"
          ],
          "type": "string"
        },
        "max_entries_per_user": {
          "description": "Maximum entries allowed per user.",
          "format": "int64",
          "type": "integer"
        },
        "name": {
          "description": "Contest name.",
          "type": "string"
        },
        "operator": {
          "description": "Operator name.",
          "type": "string"
        },
        "prize_pool_dollars": {
          "description": "Total prize pool in dollars.",
          "format": "double",
          "type": "number"
        },
        "slate_id": {
          "description": "Underlying slate ID.",
          "format": "int64",
          "type": "integer"
        },
        "state": {
          "description": "Slate or contest state.",
          "type": [
            "string",
            "null"
          ]
        },
        "top_1_payout_dollars": {
          "description": "Top 1 first place payout in dollars.",
          "format": "double",
          "type": [
            "number",
            "null"
          ]
        },
        "total_entries": {
          "description": "Total entries allowed or enrolled.",
          "format": "int64",
          "type": "integer"
        }
      },
      "required": [
        "contest_id",
        "external_id",
        "slate_id",
        "name",
        "operator",
        "game_type",
        "entry_fee_dollars",
        "total_entries",
        "max_entries_per_user",
        "prize_pool_dollars",
        "archetype"
      ],
      "type": "object"
    },
    "contest_profile": {
      "description": "Contest calibration profile and crowd mixture. Null for a contest that is not on an NFL slate (the NFL crowd model is not computed for another league; NBA ownership comes per contest segment, in each row's `ownership`).",
      "properties": {
        "ceiling_weight_alpha": {
          "description": "Ceiling weight parameter alpha.",
          "format": "double",
          "type": "number"
        },
        "choice_temperature_tau": {
          "description": "Choice temperature parameter tau.",
          "format": "double",
          "type": "number"
        },
        "crowd_mixture": {
          "description": "Crowd mixture breakdown.",
          "properties": {
            "casual_fish_pct": {
              "description": "Casual fish crowd proportion (0.0 to 1.0).",
              "format": "double",
              "type": "number"
            },
            "consensus_sharp_pct": {
              "description": "Consensus sharp crowd proportion (0.0 to 1.0).",
              "format": "double",
              "type": "number"
            },
            "whale_mme_pct": {
              "description": "MME whale crowd proportion (0.0 to 1.0).",
              "format": "double",
              "type": "number"
            }
          },
          "required": [
            "whale_mme_pct",
            "consensus_sharp_pct",
            "casual_fish_pct"
          ],
          "type": "object"
        },
        "payout_convexity_omega": {
          "description": "Payout convexity parameter omega.",
          "format": "double",
          "type": "number"
        }
      },
      "required": [
        "payout_convexity_omega",
        "choice_temperature_tau",
        "ceiling_weight_alpha",
        "crowd_mixture"
      ],
      "type": [
        "object",
        "null"
      ]
    },
    "player_stats": {
      "description": "The contest-calibrated player projections as flat rows, one per slate player. Sent with format=flat. format=csv returns these rows as CSV: one column per field, in this order, then one column per `enrich` tag.",
      "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

# --- truncated at 32 KB (116 KB total) ---
# Full source: https://artifacts.apis.io/stat-api-com/json-schema/stat-api-com-dfscontests-projections-dfs-contest-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.
All 92 tools →

Call it yourself

curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/stat-api-com-dfscontests-projections-dfs-contest-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.