{"page":"/docs/glossary","schema_version":1,"samples_generated_at":"2026-11-03T20:47:16.054Z","null_rules":["null means unknown or not sent. It never means zero, false or empty.","A missing key means the row predates the field or the source did not include it. Treat it like null.","field_stats in each sample file records how often each field was present and null across the rows read.","Numeric columns stored as NUMERIC arrive as decimal strings, such as line and decimal on /api/v1/odds. Large sequence ids also arrive as strings."],"terms":[{"term":"Capture","def":"One stored read of one source page or response. Identified by a receipt, with its own observed_at."},{"term":"observed_at","def":"When this service read the value. It is the only clock most rows have, and it says nothing about when the value changed at the source."},{"term":"source_updated_at","def":"A clock sent by the source. When it is null, which is usual, source-to-API lag cannot be measured for that row."},{"term":"Current row","def":"A stored row whose observed_at is at most 900 seconds old. Current does not mean offered right now."},{"term":"Stale row","def":"A stored row older than 900 seconds. The API keeps returning it with stale true, and the offer may have changed or ended."},{"term":"Retained row","def":"Any row still stored, current or stale. A retained count is not a board size or an athlete count."},{"term":"Active scope","def":"A scope the source still lists or discovery still sees. The exact test per dataset is on /reliability."},{"term":"Complete capture","def":"A matched, untruncated response that was stored in full. Complete applies to that one scope, not to the board."},{"term":"Known target","def":"A sport, group and category this service has discovered. Known targets are the denominator on the completeness report, and categories never discovered are not counted."},{"term":"Capture interval","def":"Seconds between two consecutive captures of the same scope. It bounds how long a change can go unseen. It is not latency."},{"term":"Capture to commit","def":"Seconds from a capture's observed_at to the close of the batch that stored it. Upper bound on capture-to-available."},{"term":"Standings multiplier","def":"The Pick6 multiplier on a selection. Not decimal odds, a probability or an entry payout."},{"term":"p50, p95, p99","def":"Percentiles of the stated samples. p95 needs 20 samples and p99 needs 100; below that the figure is withheld rather than interpolated."},{"term":"No data yet","def":"Nothing has been measured. It never stands in for zero, and a zero on these pages is a counted zero."}],"not_documented":["Stream and webhook frames carry Pick6 change rows, so their fields are the ones under Pick6 recorded changes. They have no separate sample here.","Source fields passed through under data on DFS rows are not defined one by one, because the source owns them."],"datasets":[{"id":"pick6","name":"Pick6","summary":"Selected public Pick6 category captures. Market rows, not unique players, and not a full board.","resources":[{"id":"pick6-projections","name":"Pick6 current observations","endpoint":"GET /api/v1/pick6/projections","values":"real","sample":"/data/samples/pick6-projections.json","rows_examined":400,"fields":[{"path":"pick_group_id","definition":"Source pick group, usually one slate of contests.","observed_types":["string"],"present_in_rows":400,"null_in_rows":0,"null_means":null},{"path":"pickable_id","definition":"Source id of the pickable: one athlete or athlete group on one stat.","observed_types":["string"],"present_in_rows":400,"null_in_rows":0,"null_means":null},{"path":"pickable_market_id","definition":"Source id of one target value on that pickable. A changed target is usually a different id.","observed_types":["string"],"present_in_rows":400,"null_in_rows":0,"null_means":null},{"path":"market_id","definition":"Source id of the stat market.","observed_types":["string"],"present_in_rows":400,"null_in_rows":0,"null_means":null},{"path":"product","definition":"Always pick6 on this dataset.","observed_types":["string"],"present_in_rows":400,"null_in_rows":0,"null_means":null},{"path":"sport","definition":"Source sport code, such as NBA or SOCCER.","observed_types":["string"],"present_in_rows":400,"null_in_rows":0,"null_means":null},{"path":"stat","definition":"Stat name as the source labels it.","observed_types":["string"],"present_in_rows":400,"null_in_rows":0,"null_means":null},{"path":"stat_abbreviation","definition":"Stat abbreviation as the source labels it.","observed_types":["string"],"present_in_rows":400,"null_in_rows":0,"null_means":null},{"path":"target_value","definition":"The line for this row. Not a sportsbook line.","observed_types":["number"],"present_in_rows":400,"null_in_rows":0,"null_means":null},{"path":"period","definition":"Period the stat applies to.","observed_types":[],"present_in_rows":400,"null_in_rows":400,"null_means":"The source named no period, which on observed rows means the whole game."},{"path":"is_live","definition":"Source live flag at capture.","observed_types":["boolean"],"present_in_rows":400,"null_in_rows":0,"null_means":null},{"path":"is_paused","definition":"Source paused flag at capture. A paused row was not selectable when captured.","observed_types":["boolean"],"present_in_rows":400,"null_in_rows":0,"null_means":null},{"path":"promo_class","definition":"Source promotion class.","observed_types":["string"],"present_in_rows":400,"null_in_rows":399,"null_means":"Not a promotional row, as far as the source states."},{"path":"promo_type_id","definition":"Source promotion type id.","observed_types":["string"],"present_in_rows":400,"null_in_rows":0,"null_means":null},{"path":"live_stat_value","definition":"The athlete's in-game stat value, when the source sends one.","observed_types":[],"present_in_rows":400,"null_in_rows":400,"null_means":"No live stat was sent, normally because the game has not started. It does not mean the stat is zero."},{"path":"live_stat_updated_at","definition":"Clock on the live stat value. A stat clock, not a price clock.","observed_types":[],"present_in_rows":400,"null_in_rows":400,"null_means":"No live stat was sent."},{"path":"source_updated_at","definition":"Source clock for this row.","observed_types":[],"present_in_rows":400,"null_in_rows":400,"null_means":"The source sent no update clock. Update time at the source is unknown; it does not mean the value never changed."},{"path":"observed_at","definition":"When this service captured the row. The freshness clock.","observed_types":["string"],"present_in_rows":400,"null_in_rows":0,"null_means":null},{"path":"source_url","definition":"Public source page the capture read.","observed_types":["string"],"present_in_rows":400,"null_in_rows":0,"null_means":null},{"path":"capture_hash","definition":"Receipt id of the capture that last wrote this row.","observed_types":["string"],"present_in_rows":400,"null_in_rows":0,"null_means":null},{"path":"age_seconds","definition":"Seconds between observed_at and the API response. Computed per response.","observed_types":["number"],"present_in_rows":400,"null_in_rows":0,"null_means":null},{"path":"stale","definition":"True when observed_at is more than 900 seconds old at response time. A stale row may still be offered, or may be gone.","observed_types":["boolean"],"present_in_rows":400,"null_in_rows":0,"null_means":null},{"path":"raw_source_status","definition":"Source status object as received.","observed_types":["object"],"present_in_rows":400,"null_in_rows":0,"null_means":null},{"path":"raw_source_status.isLive","definition":"Source live flag, unmodified.","observed_types":["boolean"],"present_in_rows":400,"null_in_rows":0,"null_means":null},{"path":"raw_source_status.isPaused","definition":"Source paused flag, unmodified.","observed_types":["boolean"],"present_in_rows":400,"null_in_rows":0,"null_means":null},{"path":"selections","definition":"Sides offered on this target. Two entries is a two-sided quote, and one entry is usually a single rung of a ladder.","observed_types":["array"],"present_in_rows":400,"null_in_rows":0,"null_means":null},{"path":"selections[].side","definition":"More or Less, as the source labels it.","observed_types":["string"],"present_in_rows":458,"null_in_rows":0,"null_means":null},{"path":"selections[].selection_id","definition":"Source selection id.","observed_types":["string"],"present_in_rows":458,"null_in_rows":0,"null_means":null},{"path":"selections[].proposition_id","definition":"Source proposition id.","observed_types":["string"],"present_in_rows":458,"null_in_rows":0,"null_means":null},{"path":"selections[].standings_multiplier","definition":"Pick6 standings multiplier. Not decimal odds, a probability or an entry payout.","observed_types":["number"],"present_in_rows":458,"null_in_rows":0,"null_means":null},{"path":"selections[].formatted_standings_multiplier","definition":"The same multiplier as the source formats it, such as 1.5x.","observed_types":["string"],"present_in_rows":458,"null_in_rows":0,"null_means":null},{"path":"selections[].is_correlation_eligible","definition":"Source flag, unmodified. Its meaning is not documented by the source.","observed_types":["boolean"],"present_in_rows":458,"null_in_rows":0,"null_means":null},{"path":"entities","definition":"Athletes on the row.","observed_types":["array"],"present_in_rows":400,"null_in_rows":0,"null_means":null},{"path":"entities[].entity_id","definition":"Source athlete id. Not linked to ESPN ids.","observed_types":["string"],"present_in_rows":400,"null_in_rows":0,"null_means":null},{"path":"entities[].full_name","definition":"Athlete name as the source writes it.","observed_types":["string"],"present_in_rows":400,"null_in_rows":0,"null_means":null},{"path":"entities[].display_name","definition":"Short athlete name as the source writes it.","observed_types":["string"],"present_in_rows":400,"null_in_rows":0,"null_means":null},{"path":"entities[].events","definition":"Games this athlete's row refers to.","observed_types":["array"],"present_in_rows":400,"null_in_rows":0,"null_means":null},{"path":"entities[].events[].event_id","definition":"Source event id. Not an ESPN id.","observed_types":["string"],"present_in_rows":400,"null_in_rows":0,"null_means":null},{"path":"entities[].events[].name","definition":"Game label as the source writes it.","observed_types":["string"],"present_in_rows":400,"null_in_rows":0,"null_means":null},{"path":"entities[].events[].league_id","definition":"Source league id.","observed_types":["string"],"present_in_rows":400,"null_in_rows":0,"null_means":null},{"path":"entities[].events[].sport_id","definition":"Source sport id.","observed_types":["string"],"present_in_rows":400,"null_in_rows":0,"null_means":null},{"path":"entities[].events[].start_time","definition":"Scheduled start from the source.","observed_types":["string"],"present_in_rows":400,"null_in_rows":0,"null_means":null},{"path":"entities[].events[].team_id","definition":"Source team id.","observed_types":["string"],"present_in_rows":400,"null_in_rows":0,"null_means":null},{"path":"entities[].events[].team_name","definition":"Team label as the source writes it.","observed_types":["string"],"present_in_rows":400,"null_in_rows":0,"null_means":null},{"path":"entities[].events[].opponent_id","definition":"Source opponent id.","observed_types":["string"],"present_in_rows":400,"null_in_rows":0,"null_means":null},{"path":"entities[].events[].opponent_name","definition":"Opponent label as the source writes it.","observed_types":["string"],"present_in_rows":400,"null_in_rows":22,"null_means":"The source named no opponent, as on some multi-team or futures rows."}],"passthrough_fields":[]},{"id":"pick6-history","name":"Pick6 recorded changes","endpoint":"GET /api/v1/pick6/history (alias /api/v1/changes)","values":"real","sample":"/data/samples/pick6-history.json","rows_examined":400,"fields":[{"path":"pick_group_id","definition":"Source pick group, usually one slate of contests.","observed_types":["string"],"present_in_rows":400,"null_in_rows":0,"null_means":null},{"path":"pickable_id","definition":"Source id of the pickable: one athlete or athlete group on one stat.","observed_types":["string"],"present_in_rows":400,"null_in_rows":0,"null_means":null},{"path":"pickable_market_id","definition":"Source id of one target value on that pickable. A changed target is usually a different id.","observed_types":["string"],"present_in_rows":400,"null_in_rows":0,"null_means":null},{"path":"market_id","definition":"Source id of the stat market.","observed_types":["string"],"present_in_rows":400,"null_in_rows":0,"null_means":null},{"path":"product","definition":"Always pick6 on this dataset.","observed_types":["string"],"present_in_rows":400,"null_in_rows":0,"null_means":null},{"path":"sport","definition":"Source sport code, such as NBA or SOCCER.","observed_types":["string"],"present_in_rows":400,"null_in_rows":0,"null_means":null},{"path":"stat","definition":"Stat name as the source labels it.","observed_types":["string"],"present_in_rows":400,"null_in_rows":0,"null_means":null},{"path":"stat_abbreviation","definition":"Stat abbreviation as the source labels it.","observed_types":["string"],"present_in_rows":400,"null_in_rows":0,"null_means":null},{"path":"target_value","definition":"The line for this row. Not a sportsbook line.","observed_types":["number"],"present_in_rows":400,"null_in_rows":0,"null_means":null},{"path":"period","definition":"Period the stat applies to.","observed_types":[],"present_in_rows":400,"null_in_rows":400,"null_means":"The source named no period, which on observed rows means the whole game."},{"path":"is_live","definition":"Source live flag at capture.","observed_types":["boolean"],"present_in_rows":400,"null_in_rows":0,"null_means":null},{"path":"is_paused","definition":"Source paused flag at capture. A paused row was not selectable when captured.","observed_types":["boolean"],"present_in_rows":400,"null_in_rows":0,"null_means":null},{"path":"promo_class","definition":"Source promotion class.","observed_types":[],"present_in_rows":400,"null_in_rows":400,"null_means":"Not a promotional row, as far as the source states."},{"path":"promo_type_id","definition":"Source promotion type id.","observed_types":["string"],"present_in_rows":400,"null_in_rows":0,"null_means":null},{"path":"live_stat_value","definition":"The athlete's in-game stat value, when the source sends one.","observed_types":[],"present_in_rows":400,"null_in_rows":400,"null_means":"No live stat was sent, normally because the game has not started. It does not mean the stat is zero."},{"path":"live_stat_updated_at","definition":"Clock on the live stat value. A stat clock, not a price clock.","observed_types":[],"present_in_rows":400,"null_in_rows":400,"null_means":"No live stat was sent."},{"path":"source_updated_at","definition":"Source clock for this row.","observed_types":[],"present_in_rows":400,"null_in_rows":400,"null_means":"The source sent no update clock. Update time at the source is unknown; it does not mean the value never changed."},{"path":"observed_at","definition":"When this service captured the row. The freshness clock.","observed_types":["string"],"present_in_rows":400,"null_in_rows":0,"null_means":null},{"path":"source_url","definition":"Public source page the capture read.","observed_types":["string"],"present_in_rows":400,"null_in_rows":0,"null_means":null},{"path":"capture_hash","definition":"Receipt id of the capture that last wrote this row.","observed_types":["string"],"present_in_rows":400,"null_in_rows":0,"null_means":null},{"path":"age_seconds","definition":"Seconds between observed_at and the API response. Computed per response.","observed_types":["number"],"present_in_rows":400,"null_in_rows":0,"null_means":null},{"path":"stale","definition":"True when observed_at is more than 900 seconds old at response time. A stale row may still be offered, or may be gone.","observed_types":["boolean"],"present_in_rows":400,"null_in_rows":0,"null_means":null},{"path":"raw_source_status","definition":"Source status object as received.","observed_types":["object"],"present_in_rows":400,"null_in_rows":0,"null_means":null},{"path":"raw_source_status.isLive","definition":"Source live flag, unmodified.","observed_types":["boolean"],"present_in_rows":400,"null_in_rows":0,"null_means":null},{"path":"raw_source_status.isPaused","definition":"Source paused flag, unmodified.","observed_types":["boolean"],"present_in_rows":400,"null_in_rows":0,"null_means":null},{"path":"selections","definition":"Sides offered on this target. Two entries is a two-sided quote, and one entry is usually a single rung of a ladder.","observed_types":["array"],"present_in_rows":400,"null_in_rows":0,"null_means":null},{"path":"selections[].side","definition":"More or Less, as the source labels it.","observed_types":["string"],"present_in_rows":405,"null_in_rows":0,"null_means":null},{"path":"selections[].selection_id","definition":"Source selection id.","observed_types":["string"],"present_in_rows":405,"null_in_rows":0,"null_means":null},{"path":"selections[].proposition_id","definition":"Source proposition id.","observed_types":["string"],"present_in_rows":405,"null_in_rows":0,"null_means":null},{"path":"selections[].standings_multiplier","definition":"Pick6 standings multiplier. Not decimal odds, a probability or an entry payout.","observed_types":["number"],"present_in_rows":405,"null_in_rows":0,"null_means":null},{"path":"selections[].formatted_standings_multiplier","definition":"The same multiplier as the source formats it, such as 1.5x.","observed_types":["string"],"present_in_rows":405,"null_in_rows":0,"null_means":null},{"path":"selections[].is_correlation_eligible","definition":"Source flag, unmodified. Its meaning is not documented by the source.","observed_types":["boolean"],"present_in_rows":405,"null_in_rows":0,"null_means":null},{"path":"entities","definition":"Athletes on the row.","observed_types":["array"],"present_in_rows":400,"null_in_rows":0,"null_means":null},{"path":"entities[].entity_id","definition":"Source athlete id. Not linked to ESPN ids.","observed_types":["string"],"present_in_rows":400,"null_in_rows":0,"null_means":null},{"path":"entities[].full_name","definition":"Athlete name as the source writes it.","observed_types":["string"],"present_in_rows":400,"null_in_rows":0,"null_means":null},{"path":"entities[].display_name","definition":"Short athlete name as the source writes it.","observed_types":["string"],"present_in_rows":400,"null_in_rows":0,"null_means":null},{"path":"entities[].events","definition":"Games this athlete's row refers to.","observed_types":["array"],"present_in_rows":400,"null_in_rows":0,"null_means":null},{"path":"entities[].events[].event_id","definition":"Source event id. Not an ESPN id.","observed_types":["string"],"present_in_rows":400,"null_in_rows":0,"null_means":null},{"path":"entities[].events[].name","definition":"Game label as the source writes it.","observed_types":["string"],"present_in_rows":400,"null_in_rows":0,"null_means":null},{"path":"entities[].events[].league_id","definition":"Source league id.","observed_types":["string"],"present_in_rows":400,"null_in_rows":0,"null_means":null},{"path":"entities[].events[].sport_id","definition":"Source sport id.","observed_types":["string"],"present_in_rows":400,"null_in_rows":0,"null_means":null},{"path":"entities[].events[].start_time","definition":"Scheduled start from the source.","observed_types":["string"],"present_in_rows":400,"null_in_rows":0,"null_means":null},{"path":"entities[].events[].team_id","definition":"Source team id.","observed_types":["string"],"present_in_rows":400,"null_in_rows":0,"null_means":null},{"path":"entities[].events[].team_name","definition":"Team label as the source writes it.","observed_types":["string"],"present_in_rows":400,"null_in_rows":0,"null_means":null},{"path":"entities[].events[].opponent_id","definition":"Source opponent id.","observed_types":["string"],"present_in_rows":400,"null_in_rows":0,"null_means":null},{"path":"entities[].events[].opponent_name","definition":"Opponent label as the source writes it.","observed_types":["string"],"present_in_rows":400,"null_in_rows":10,"null_means":"The source named no opponent, as on some multi-team or futures rows."},{"path":"change_id","definition":"Sequence id of this change, as text. Use it as the resume cursor.","observed_types":["string"],"present_in_rows":400,"null_in_rows":0,"null_means":null},{"path":"change_kind","definition":"offer_changed, or primary_line_changed for a source-designated default line.","observed_types":["string"],"present_in_rows":400,"null_in_rows":0,"null_means":null},{"path":"economic_market_key","definition":"Stable key across provider offer ids for source-designated primary lines.","observed_types":[],"present_in_rows":400,"null_in_rows":400,"null_means":"The change is not tied to a source-designated primary line. Keys are forward-only and never backfilled."},{"path":"previous","definition":"The row as stored before this change, in the same shape as the row itself.","observed_types":["object"],"present_in_rows":400,"null_in_rows":0,"null_means":null}],"passthrough_fields":[{"path":"previous.*","definition":"Same meaning as the field of the same name on the row.","null_means":"Same meaning as the field of the same name on the row."}]}]},{"id":"sportsbook_espn","name":"Sportsbook, ESPN-attributed mainlines","summary":"DraftKings moneyline, spread and total prices as ESPN reports them. Stored observations, not executable offers, and no player props.","resources":[{"id":"sportsbook-events","name":"ESPN-attributed sportsbook events","endpoint":"GET /api/v1/events","values":"real","sample":"/data/samples/sportsbook-events.json","rows_examined":97,"fields":[{"path":"id","definition":"Service event id: source, league and ESPN event.","observed_types":["string"],"present_in_rows":97,"null_in_rows":0,"null_means":null},{"path":"source_id","definition":"Source of the row, espn-draftkings.","observed_types":["string"],"present_in_rows":97,"null_in_rows":0,"null_means":null},{"path":"sport","definition":"League code.","observed_types":["string"],"present_in_rows":97,"null_in_rows":0,"null_means":null},{"path":"home","definition":"Home team.","observed_types":["string"],"present_in_rows":97,"null_in_rows":0,"null_means":null},{"path":"away","definition":"Away team.","observed_types":["string"],"present_in_rows":97,"null_in_rows":0,"null_means":null},{"path":"starts_at","definition":"Scheduled start.","observed_types":["string"],"present_in_rows":97,"null_in_rows":0,"null_means":null},{"path":"event_status","definition":"pre, in, post or unknown. unknown means no state was stored for the event.","observed_types":["string"],"present_in_rows":97,"null_in_rows":0,"null_means":null},{"path":"observed_at","definition":"When this service captured the event.","observed_types":["string"],"present_in_rows":97,"null_in_rows":0,"null_means":null},{"path":"age_seconds","definition":"Seconds between observed_at and the API response.","observed_types":["number"],"present_in_rows":97,"null_in_rows":0,"null_means":null},{"path":"stale","definition":"True when observed_at is more than 900 seconds old.","observed_types":["boolean"],"present_in_rows":97,"null_in_rows":0,"null_means":null},{"path":"provenance","definition":"Where the value came from.","observed_types":["object"],"present_in_rows":97,"null_in_rows":0,"null_means":null},{"path":"provenance.provider","definition":"Attributed provider. ESPN rows carry DraftKings provider 100 as ESPN reports it.","observed_types":["string"],"present_in_rows":97,"null_in_rows":0,"null_means":null},{"path":"provenance.url","definition":"Public response read.","observed_types":["string"],"present_in_rows":97,"null_in_rows":0,"null_means":null},{"path":"provenance.rights_reference","definition":"Rights statement for this source. Technical access is not a license.","observed_types":["string"],"present_in_rows":97,"null_in_rows":0,"null_means":null}],"passthrough_fields":[]},{"id":"sportsbook-odds","name":"ESPN-attributed mainline quotes","endpoint":"GET /api/v1/odds","values":"real","sample":"/data/samples/sportsbook-odds.json","rows_examined":400,"fields":[{"path":"id","definition":"Service offer id.","observed_types":["string"],"present_in_rows":400,"null_in_rows":0,"null_means":null},{"path":"event_id","definition":"Service event id.","observed_types":["string"],"present_in_rows":400,"null_in_rows":0,"null_means":null},{"path":"source_id","definition":"Source of the row.","observed_types":["string"],"present_in_rows":400,"null_in_rows":0,"null_means":null},{"path":"market","definition":"moneyline, spread or total.","observed_types":["string"],"present_in_rows":400,"null_in_rows":0,"null_means":null},{"path":"period","definition":"Period the quote covers.","observed_types":["string"],"present_in_rows":400,"null_in_rows":0,"null_means":null},{"path":"side","definition":"home, away, over or under.","observed_types":["string"],"present_in_rows":400,"null_in_rows":0,"null_means":null},{"path":"line","definition":"Spread or total, as a decimal string.","observed_types":["string"],"present_in_rows":400,"null_in_rows":113,"null_means":"A moneyline has no line. It does not mean a line of zero."},{"path":"american","definition":"American price.","observed_types":["number"],"present_in_rows":400,"null_in_rows":0,"null_means":null},{"path":"decimal","definition":"Decimal price, as a decimal string.","observed_types":["string"],"present_in_rows":400,"null_in_rows":0,"null_means":null},{"path":"fingerprint","definition":"Hash of the quote content, used to detect change.","observed_types":["string"],"present_in_rows":400,"null_in_rows":0,"null_means":null},{"path":"event_status","definition":"pre, in, post or unknown.","observed_types":["string"],"present_in_rows":400,"null_in_rows":0,"null_means":null},{"path":"observed_at","definition":"When this service captured the quote.","observed_types":["string"],"present_in_rows":400,"null_in_rows":0,"null_means":null},{"path":"source_updated_at","definition":"Source clock for the quote.","observed_types":[],"present_in_rows":400,"null_in_rows":400,"null_means":"The source sent no update clock. Update time at the source is unknown; it does not mean the value never changed."},{"path":"age_seconds","definition":"Seconds between observed_at and the API response.","observed_types":["number"],"present_in_rows":400,"null_in_rows":0,"null_means":null},{"path":"stale","definition":"True when observed_at is more than 900 seconds old.","observed_types":["boolean"],"present_in_rows":400,"null_in_rows":0,"null_means":null},{"path":"provenance","definition":"Where the value came from.","observed_types":["object"],"present_in_rows":400,"null_in_rows":0,"null_means":null},{"path":"provenance.provider","definition":"Attributed provider. ESPN rows carry DraftKings provider 100 as ESPN reports it.","observed_types":["string"],"present_in_rows":400,"null_in_rows":0,"null_means":null},{"path":"provenance.url","definition":"Public response read.","observed_types":["string"],"present_in_rows":400,"null_in_rows":0,"null_means":null},{"path":"provenance.rights_reference","definition":"Rights statement for this source. Technical access is not a license.","observed_types":["string"],"present_in_rows":400,"null_in_rows":0,"null_means":null}],"passthrough_fields":[]},{"id":"sportsbook-history","name":"ESPN-attributed quote history","endpoint":"GET /api/v1/history","values":"real","sample":"/data/samples/sportsbook-history.json","rows_examined":400,"fields":[{"path":"seq","definition":"Sequence id, as text.","observed_types":["string"],"present_in_rows":400,"null_in_rows":0,"null_means":null},{"path":"offer_id","definition":"Service offer id.","observed_types":["string"],"present_in_rows":400,"null_in_rows":0,"null_means":null},{"path":"observed_at","definition":"When this quote state was captured.","observed_types":["string"],"present_in_rows":400,"null_in_rows":0,"null_means":null},{"path":"age_seconds","definition":"Seconds between observed_at and the API response.","observed_types":["number"],"present_in_rows":400,"null_in_rows":0,"null_means":null},{"path":"stale","definition":"True when observed_at is more than 900 seconds old.","observed_types":["boolean"],"present_in_rows":400,"null_in_rows":0,"null_means":null},{"path":"data","definition":"The quote as stored at that time.","observed_types":["object"],"present_in_rows":400,"null_in_rows":0,"null_means":null},{"path":"data.id","definition":"Service offer id.","observed_types":["string"],"present_in_rows":400,"null_in_rows":0,"null_means":null},{"path":"data.event_id","definition":"Service event id.","observed_types":["string"],"present_in_rows":400,"null_in_rows":0,"null_means":null},{"path":"data.source_id","definition":"Source of the row.","observed_types":["string"],"present_in_rows":400,"null_in_rows":0,"null_means":null},{"path":"data.market","definition":"moneyline, spread or total.","observed_types":["string"],"present_in_rows":400,"null_in_rows":0,"null_means":null},{"path":"data.period","definition":"Period the quote covers.","observed_types":["string"],"present_in_rows":400,"null_in_rows":0,"null_means":null},{"path":"data.side","definition":"home, away, over or under.","observed_types":["string"],"present_in_rows":400,"null_in_rows":0,"null_means":null},{"path":"data.line","definition":"Spread or total, as a number.","observed_types":["number"],"present_in_rows":400,"null_in_rows":115,"null_means":"A moneyline has no line. It does not mean a line of zero."},{"path":"data.american","definition":"American price.","observed_types":["number"],"present_in_rows":400,"null_in_rows":0,"null_means":null},{"path":"data.decimal","definition":"Decimal price, as a number.","observed_types":["number"],"present_in_rows":400,"null_in_rows":0,"null_means":null},{"path":"data.observed_at","definition":"When this quote state was captured.","observed_types":["string"],"present_in_rows":400,"null_in_rows":0,"null_means":null},{"path":"data.source_updated_at","definition":"Source clock for the quote.","observed_types":[],"present_in_rows":400,"null_in_rows":400,"null_means":"The source sent no update clock. Update time at the source is unknown; it does not mean the value never changed."},{"path":"data.provenance","definition":"Where the value came from.","observed_types":["object"],"present_in_rows":400,"null_in_rows":0,"null_means":null},{"path":"data.provenance.provider","definition":"Attributed provider.","observed_types":["string"],"present_in_rows":400,"null_in_rows":0,"null_means":null},{"path":"data.provenance.url","definition":"Public response read.","observed_types":["string"],"present_in_rows":400,"null_in_rows":0,"null_means":null},{"path":"data.provenance.rights_reference","definition":"Rights statement for this source.","observed_types":["string"],"present_in_rows":400,"null_in_rows":0,"null_means":null}],"passthrough_fields":[]}]},{"id":"sportsbook_native","name":"Sportsbook, native scopes","summary":"Native rows for specific subscribed scopes only, such as New York NHL Shots on Goal. Full-book coverage is unknown. Paid plans read it through a snapshot and a WebSocket.","resources":[{"id":"sportsbook-native-events","name":"Native sportsbook events","endpoint":"GET /api/v1/sportsbook/snapshot?scope=<scope_id>","values":"shape_only","sample":"/data/samples/sportsbook-native-events.json","rows_examined":1,"fields":[{"path":"id","definition":"Source id, unique within this scope and kind.","observed_types":["string"],"present_in_rows":1,"null_in_rows":0,"null_means":null},{"path":"label","definition":"Source label.","observed_types":["string"],"present_in_rows":1,"null_in_rows":0,"null_means":null},{"path":"raw","definition":"The source object as received. Emptied in this sample.","observed_types":["object"],"present_in_rows":1,"null_in_rows":0,"null_means":null},{"path":"received_at","definition":"When this service received the batch.","observed_types":["string"],"present_in_rows":1,"null_in_rows":0,"null_means":null},{"path":"source_updated_at","definition":"Source clock for the row.","observed_types":[],"present_in_rows":1,"null_in_rows":1,"null_means":"No source clock was available for this row, so source-to-receipt lag is unknown."},{"path":"participants","definition":"Teams or players the row names.","observed_types":["array"],"present_in_rows":1,"null_in_rows":0,"null_means":null},{"path":"participants[].id","definition":"Source participant id.","observed_types":["string"],"present_in_rows":2,"null_in_rows":0,"null_means":null},{"path":"participants[].name","definition":"Source participant name.","observed_types":["string"],"present_in_rows":2,"null_in_rows":0,"null_means":null},{"path":"participants[].type","definition":"Team or Player, as the source labels it.","observed_types":["string"],"present_in_rows":2,"null_in_rows":0,"null_means":null},{"path":"participants[].venue_role","definition":"Home or away role, as the source labels it.","observed_types":["string"],"present_in_rows":2,"null_in_rows":0,"null_means":null},{"path":"starts_at","definition":"Scheduled start.","observed_types":["string"],"present_in_rows":1,"null_in_rows":0,"null_means":null},{"path":"live","definition":"Source live flag.","observed_types":["boolean"],"present_in_rows":1,"null_in_rows":0,"null_means":"The source did not state it."},{"path":"status","definition":"Source event status.","observed_types":["string"],"present_in_rows":1,"null_in_rows":0,"null_means":"The source did not send this value for the row."}],"passthrough_fields":[]},{"id":"sportsbook-native-markets","name":"Native sportsbook markets","endpoint":"GET /api/v1/sportsbook/snapshot?scope=<scope_id>","values":"shape_only","sample":"/data/samples/sportsbook-native-markets.json","rows_examined":1,"fields":[{"path":"id","definition":"Source id, unique within this scope and kind.","observed_types":["string"],"present_in_rows":1,"null_in_rows":0,"null_means":null},{"path":"label","definition":"Source label.","observed_types":["string"],"present_in_rows":1,"null_in_rows":0,"null_means":null},{"path":"raw","definition":"The source object as received. Emptied in this sample.","observed_types":["object"],"present_in_rows":1,"null_in_rows":0,"null_means":null},{"path":"received_at","definition":"When this service received the batch.","observed_types":["string"],"present_in_rows":1,"null_in_rows":0,"null_means":null},{"path":"source_updated_at","definition":"Source clock for the row.","observed_types":[],"present_in_rows":1,"null_in_rows":1,"null_means":"No source clock was available for this row, so source-to-receipt lag is unknown."},{"path":"event_id","definition":"Parent event id.","observed_types":["string"],"present_in_rows":1,"null_in_rows":0,"null_means":null},{"path":"market_type","definition":"Source market type name.","observed_types":["string"],"present_in_rows":1,"null_in_rows":0,"null_means":null},{"path":"market_type_id","definition":"Source market type id.","observed_types":["string"],"present_in_rows":1,"null_in_rows":0,"null_means":null}],"passthrough_fields":[]},{"id":"sportsbook-native-selections","name":"Native sportsbook selections","endpoint":"GET /api/v1/sportsbook/snapshot?scope=<scope_id>","values":"shape_only","sample":"/data/samples/sportsbook-native-selections.json","rows_examined":2,"fields":[{"path":"id","definition":"Source id, unique within this scope and kind.","observed_types":["string"],"present_in_rows":2,"null_in_rows":0,"null_means":null},{"path":"label","definition":"Source label.","observed_types":["string"],"present_in_rows":2,"null_in_rows":0,"null_means":null},{"path":"raw","definition":"The source object as received. Emptied in this sample.","observed_types":["object"],"present_in_rows":2,"null_in_rows":0,"null_means":null},{"path":"received_at","definition":"When this service received the batch.","observed_types":["string"],"present_in_rows":2,"null_in_rows":0,"null_means":null},{"path":"source_updated_at","definition":"Source clock for the row.","observed_types":[],"present_in_rows":2,"null_in_rows":2,"null_means":"No source clock was available for this row, so source-to-receipt lag is unknown."},{"path":"participants","definition":"Teams or players the row names.","observed_types":["array"],"present_in_rows":2,"null_in_rows":0,"null_means":null},{"path":"participants[].id","definition":"Source participant id.","observed_types":["string"],"present_in_rows":2,"null_in_rows":0,"null_means":null},{"path":"participants[].name","definition":"Source participant name.","observed_types":["string"],"present_in_rows":2,"null_in_rows":0,"null_means":null},{"path":"participants[].type","definition":"Team or Player, as the source labels it.","observed_types":["string"],"present_in_rows":2,"null_in_rows":0,"null_means":null},{"path":"participants[].venue_role","definition":"Home or away role, as the source labels it.","observed_types":["string"],"present_in_rows":2,"null_in_rows":0,"null_means":null},{"path":"market_id","definition":"Parent market id.","observed_types":["string"],"present_in_rows":2,"null_in_rows":0,"null_means":null},{"path":"line","definition":"Line for this selection.","observed_types":["number"],"present_in_rows":2,"null_in_rows":0,"null_means":"The selection has no line, or a delta did not state one. It does not mean a line of zero."},{"path":"american","definition":"American price.","observed_types":["number"],"present_in_rows":2,"null_in_rows":0,"null_means":"No usable price was sent. Treat the selection as unpriced, not as even money."},{"path":"decimal","definition":"Decimal price.","observed_types":["number"],"present_in_rows":2,"null_in_rows":0,"null_means":"No usable price was sent. Treat the selection as unpriced."}],"passthrough_fields":[]}]},{"id":"dfs","name":"DFS","summary":"Selected DFS catalog, contest, slate and player-list observations. Salary is not an offered line or odds. Public redistribution is pending source permission, so these samples show shape only.","resources":[{"id":"dfs-sports","name":"DFS sports","endpoint":"GET /api/v1/dfs/sports","values":"shape_only","sample":"/data/samples/dfs-sports.json","rows_examined":25,"fields":[{"path":"id","definition":"Record id within this kind and scope.","observed_types":["string"],"present_in_rows":25,"null_in_rows":0,"null_means":null},{"path":"sport","definition":"Sport code.","observed_types":[],"present_in_rows":25,"null_in_rows":25,"null_means":"The record is not tied to one sport, as with the sport catalog."},{"path":"slate_id","definition":"Draft group id this record belongs to.","observed_types":[],"present_in_rows":25,"null_in_rows":25,"null_means":"The record is not tied to one slate."},{"path":"observed_at","definition":"When this service requested the source.","observed_types":["string"],"present_in_rows":25,"null_in_rows":0,"null_means":null},{"path":"received_at","definition":"When the response arrived. received_at minus observed_at is request time, not a publication delay.","observed_types":["string"],"present_in_rows":25,"null_in_rows":0,"null_means":"The capture predates this column."},{"path":"source_updated_at","definition":"Source clock for the capture.","observed_types":[],"present_in_rows":25,"null_in_rows":25,"null_means":"The source sent no update clock. Update time at the source is unknown; it does not mean the value never changed."},{"path":"http_date","definition":"The response's HTTP Date header. Response time, not a salary change time.","observed_types":["string"],"present_in_rows":25,"null_in_rows":0,"null_means":"The capture predates this column."},{"path":"payload_sha256","definition":"SHA-256 of the response.","observed_types":["string"],"present_in_rows":25,"null_in_rows":0,"null_means":null},{"path":"adapter_version","definition":"Version of the parser that stored the row.","observed_types":["string"],"present_in_rows":25,"null_in_rows":0,"null_means":null},{"path":"rights_status","definition":"Rights review state for the capture.","observed_types":["string"],"present_in_rows":25,"null_in_rows":0,"null_means":null},{"path":"source_url","definition":"Public response read.","observed_types":["string"],"present_in_rows":25,"null_in_rows":0,"null_means":null},{"path":"caveats","definition":"What the row does and does not establish.","observed_types":["string"],"present_in_rows":25,"null_in_rows":0,"null_means":null},{"path":"data","definition":"The source row as received. Its keys belong to the source and can change without notice.","observed_types":["object"],"present_in_rows":25,"null_in_rows":0,"null_means":null}],"passthrough_fields":[{"path":"data.*","definition":"Source field, passed through unmodified and not separately defined here.","null_means":"The source did not send this value for the row."}]},{"id":"dfs-contests","name":"DFS contests","endpoint":"GET /api/v1/dfs/contests","values":"shape_only","sample":"/data/samples/dfs-contests.json","rows_examined":400,"fields":[{"path":"id","definition":"Record id within this kind and scope.","observed_types":["string"],"present_in_rows":400,"null_in_rows":0,"null_means":null},{"path":"sport","definition":"Sport code.","observed_types":["string"],"present_in_rows":400,"null_in_rows":0,"null_means":"The record is not tied to one sport, as with the sport catalog."},{"path":"slate_id","definition":"Draft group id this record belongs to.","observed_types":["string"],"present_in_rows":400,"null_in_rows":0,"null_means":"The record is not tied to one slate."},{"path":"observed_at","definition":"When this service requested the source.","observed_types":["string"],"present_in_rows":400,"null_in_rows":0,"null_means":null},{"path":"received_at","definition":"When the response arrived. received_at minus observed_at is request time, not a publication delay.","observed_types":["string"],"present_in_rows":400,"null_in_rows":0,"null_means":"The capture predates this column."},{"path":"source_updated_at","definition":"Source clock for the capture.","observed_types":[],"present_in_rows":400,"null_in_rows":400,"null_means":"The source sent no update clock. Update time at the source is unknown; it does not mean the value never changed."},{"path":"http_date","definition":"The response's HTTP Date header. Response time, not a salary change time.","observed_types":["string"],"present_in_rows":400,"null_in_rows":0,"null_means":"The capture predates this column."},{"path":"payload_sha256","definition":"SHA-256 of the response.","observed_types":["string"],"present_in_rows":400,"null_in_rows":0,"null_means":null},{"path":"adapter_version","definition":"Version of the parser that stored the row.","observed_types":["string"],"present_in_rows":400,"null_in_rows":0,"null_means":null},{"path":"rights_status","definition":"Rights review state for the capture.","observed_types":["string"],"present_in_rows":400,"null_in_rows":0,"null_means":null},{"path":"source_url","definition":"Public response read.","observed_types":["string"],"present_in_rows":400,"null_in_rows":0,"null_means":null},{"path":"caveats","definition":"What the row does and does not establish.","observed_types":["string"],"present_in_rows":400,"null_in_rows":0,"null_means":null},{"path":"data","definition":"The source row as received. Its keys belong to the source and can change without notice.","observed_types":["object"],"present_in_rows":400,"null_in_rows":0,"null_means":null}],"passthrough_fields":[{"path":"data.*","definition":"Source field, passed through unmodified and not separately defined here.","null_means":"The source did not send this value for the row."}]},{"id":"dfs-slates","name":"DFS slates","endpoint":"GET /api/v1/dfs/slates","values":"shape_only","sample":"/data/samples/dfs-slates.json","rows_examined":80,"fields":[{"path":"id","definition":"Record id within this kind and scope.","observed_types":["string"],"present_in_rows":80,"null_in_rows":0,"null_means":null},{"path":"sport","definition":"Sport code.","observed_types":["string"],"present_in_rows":80,"null_in_rows":0,"null_means":"The record is not tied to one sport, as with the sport catalog."},{"path":"slate_id","definition":"Draft group id this record belongs to.","observed_types":["string"],"present_in_rows":80,"null_in_rows":0,"null_means":"The record is not tied to one slate."},{"path":"observed_at","definition":"When this service requested the source.","observed_types":["string"],"present_in_rows":80,"null_in_rows":0,"null_means":null},{"path":"received_at","definition":"When the response arrived. received_at minus observed_at is request time, not a publication delay.","observed_types":["string"],"present_in_rows":80,"null_in_rows":0,"null_means":"The capture predates this column."},{"path":"source_updated_at","definition":"Source clock for the capture.","observed_types":[],"present_in_rows":80,"null_in_rows":80,"null_means":"The source sent no update clock. Update time at the source is unknown; it does not mean the value never changed."},{"path":"http_date","definition":"The response's HTTP Date header. Response time, not a salary change time.","observed_types":["string"],"present_in_rows":80,"null_in_rows":0,"null_means":"The capture predates this column."},{"path":"payload_sha256","definition":"SHA-256 of the response.","observed_types":["string"],"present_in_rows":80,"null_in_rows":0,"null_means":null},{"path":"adapter_version","definition":"Version of the parser that stored the row.","observed_types":["string"],"present_in_rows":80,"null_in_rows":0,"null_means":null},{"path":"rights_status","definition":"Rights review state for the capture.","observed_types":["string"],"present_in_rows":80,"null_in_rows":0,"null_means":null},{"path":"source_url","definition":"Public response read.","observed_types":["string"],"present_in_rows":80,"null_in_rows":0,"null_means":null},{"path":"caveats","definition":"What the row does and does not establish.","observed_types":["string"],"present_in_rows":80,"null_in_rows":0,"null_means":null},{"path":"data","definition":"The source row as received. Its keys belong to the source and can change without notice.","observed_types":["object"],"present_in_rows":80,"null_in_rows":0,"null_means":null}],"passthrough_fields":[{"path":"data.*","definition":"Source field, passed through unmodified and not separately defined here.","null_means":"The source did not send this value for the row."}]},{"id":"dfs-players","name":"DFS players","endpoint":"GET /api/v1/dfs/players","values":"shape_only","sample":"/data/samples/dfs-players.json","rows_examined":400,"fields":[{"path":"id","definition":"Record id within this kind and scope.","observed_types":["string"],"present_in_rows":400,"null_in_rows":0,"null_means":null},{"path":"sport","definition":"Sport code.","observed_types":["string"],"present_in_rows":400,"null_in_rows":0,"null_means":"The record is not tied to one sport, as with the sport catalog."},{"path":"slate_id","definition":"Draft group id this record belongs to.","observed_types":["string"],"present_in_rows":400,"null_in_rows":0,"null_means":"The record is not tied to one slate."},{"path":"observed_at","definition":"When this service requested the source.","observed_types":["string"],"present_in_rows":400,"null_in_rows":0,"null_means":null},{"path":"received_at","definition":"When the response arrived. received_at minus observed_at is request time, not a publication delay.","observed_types":["string"],"present_in_rows":400,"null_in_rows":0,"null_means":"The capture predates this column."},{"path":"source_updated_at","definition":"Source clock for the capture.","observed_types":[],"present_in_rows":400,"null_in_rows":400,"null_means":"The source sent no update clock. Update time at the source is unknown; it does not mean the value never changed."},{"path":"http_date","definition":"The response's HTTP Date header. Response time, not a salary change time.","observed_types":["string"],"present_in_rows":400,"null_in_rows":0,"null_means":"The capture predates this column."},{"path":"payload_sha256","definition":"SHA-256 of the response.","observed_types":["string"],"present_in_rows":400,"null_in_rows":0,"null_means":null},{"path":"adapter_version","definition":"Version of the parser that stored the row.","observed_types":["string"],"present_in_rows":400,"null_in_rows":0,"null_means":null},{"path":"rights_status","definition":"Rights review state for the capture.","observed_types":["string"],"present_in_rows":400,"null_in_rows":0,"null_means":null},{"path":"source_url","definition":"Public response read.","observed_types":["string"],"present_in_rows":400,"null_in_rows":0,"null_means":null},{"path":"caveats","definition":"What the row does and does not establish.","observed_types":["string"],"present_in_rows":400,"null_in_rows":0,"null_means":null},{"path":"data","definition":"The source row as received. Its keys belong to the source and can change without notice.","observed_types":["object"],"present_in_rows":400,"null_in_rows":0,"null_means":null}],"passthrough_fields":[{"path":"data.*","definition":"Source field, passed through unmodified and not separately defined here.","null_means":"The source did not send this value for the row."}]}]},{"id":"context","name":"Game context","summary":"ESPN-sourced game rows and box-score rows captured alongside sportsbook summaries. ESPN ids are not linked to DraftKings ids.","resources":[{"id":"context-games","name":"Game context: games","endpoint":"GET /api/v1/context/games","values":"real","sample":"/data/samples/context-games.json","rows_examined":107,"fields":[{"path":"kind","definition":"games, player-stats or team-stats.","observed_types":["string"],"present_in_rows":107,"null_in_rows":0,"null_means":null},{"path":"sport","definition":"League code.","observed_types":["string"],"present_in_rows":107,"null_in_rows":0,"null_means":null},{"path":"event_id","definition":"ESPN event id. Not a DraftKings id.","observed_types":["string"],"present_in_rows":107,"null_in_rows":0,"null_means":null},{"path":"entity_id","definition":"The row's subject: event, athlete or team, as an ESPN id.","observed_types":["string"],"present_in_rows":107,"null_in_rows":0,"null_means":null},{"path":"observed_at","definition":"When this service captured the row.","observed_types":["string"],"present_in_rows":107,"null_in_rows":0,"null_means":null},{"path":"source_url","definition":"Public response read.","observed_types":["string"],"present_in_rows":107,"null_in_rows":0,"null_means":null},{"path":"payload_sha256","definition":"SHA-256 of the response.","observed_types":["string"],"present_in_rows":107,"null_in_rows":0,"null_means":null},{"path":"age_seconds","definition":"Seconds between observed_at and the API response.","observed_types":["number"],"present_in_rows":107,"null_in_rows":0,"null_means":null},{"path":"stale","definition":"True when observed_at is more than 900 seconds old.","observed_types":["boolean"],"present_in_rows":107,"null_in_rows":0,"null_means":null},{"path":"data","definition":"The normalized row.","observed_types":["object"],"present_in_rows":107,"null_in_rows":0,"null_means":null},{"path":"data.event_id","definition":"ESPN event id.","observed_types":["string"],"present_in_rows":107,"null_in_rows":0,"null_means":null},{"path":"data.source_updated_at","definition":"Source clock.","observed_types":[],"present_in_rows":107,"null_in_rows":107,"null_means":"The source sent no update clock. Update time at the source is unknown; it does not mean the value never changed."},{"path":"data.sport","definition":"League code.","observed_types":["string"],"present_in_rows":107,"null_in_rows":0,"null_means":null},{"path":"data.description","definition":"Game label.","observed_types":["string"],"present_in_rows":107,"null_in_rows":0,"null_means":null},{"path":"data.starts_at","definition":"Scheduled start.","observed_types":["string"],"present_in_rows":107,"null_in_rows":0,"null_means":null},{"path":"data.state","definition":"ESPN state: pre, in or post.","observed_types":["string"],"present_in_rows":107,"null_in_rows":0,"null_means":null},{"path":"data.completed","definition":"ESPN completed flag.","observed_types":["boolean"],"present_in_rows":107,"null_in_rows":0,"null_means":null},{"path":"data.clock","definition":"ESPN game clock.","observed_types":[],"present_in_rows":107,"null_in_rows":107,"null_means":"No clock was sent."},{"path":"data.period","definition":"Period number.","observed_types":[],"present_in_rows":107,"null_in_rows":107,"null_means":"No period was sent."},{"path":"data.teams","definition":"The two teams.","observed_types":["array"],"present_in_rows":107,"null_in_rows":0,"null_means":null},{"path":"data.teams[].id","definition":"ESPN team id.","observed_types":["string"],"present_in_rows":214,"null_in_rows":0,"null_means":null},{"path":"data.teams[].name","definition":"Team name.","observed_types":["string"],"present_in_rows":214,"null_in_rows":0,"null_means":null},{"path":"data.teams[].side","definition":"home or away.","observed_types":["string"],"present_in_rows":214,"null_in_rows":0,"null_means":null},{"path":"data.teams[].score","definition":"Score as text.","observed_types":["string"],"present_in_rows":214,"null_in_rows":96,"null_means":"Not scored at capture. It does not mean zero."},{"path":"data.teams[].winner","definition":"ESPN winner flag.","observed_types":["boolean"],"present_in_rows":214,"null_in_rows":94,"null_means":"Not decided or not sent at capture."}],"passthrough_fields":[]},{"id":"context-player-stats","name":"Game context: player-stats","endpoint":"GET /api/v1/context/player-stats","values":"real","sample":"/data/samples/context-player-stats.json","rows_examined":400,"fields":[{"path":"kind","definition":"games, player-stats or team-stats.","observed_types":["string"],"present_in_rows":400,"null_in_rows":0,"null_means":null},{"path":"sport","definition":"League code.","observed_types":["string"],"present_in_rows":400,"null_in_rows":0,"null_means":null},{"path":"event_id","definition":"ESPN event id. Not a DraftKings id.","observed_types":["string"],"present_in_rows":400,"null_in_rows":0,"null_means":null},{"path":"entity_id","definition":"The row's subject: event, athlete or team, as an ESPN id.","observed_types":["string"],"present_in_rows":400,"null_in_rows":0,"null_means":null},{"path":"observed_at","definition":"When this service captured the row.","observed_types":["string"],"present_in_rows":400,"null_in_rows":0,"null_means":null},{"path":"source_url","definition":"Public response read.","observed_types":["string"],"present_in_rows":400,"null_in_rows":0,"null_means":null},{"path":"payload_sha256","definition":"SHA-256 of the response.","observed_types":["string"],"present_in_rows":400,"null_in_rows":0,"null_means":null},{"path":"age_seconds","definition":"Seconds between observed_at and the API response.","observed_types":["number"],"present_in_rows":400,"null_in_rows":0,"null_means":null},{"path":"stale","definition":"True when observed_at is more than 900 seconds old.","observed_types":["boolean"],"present_in_rows":400,"null_in_rows":0,"null_means":null},{"path":"data","definition":"The normalized row.","observed_types":["object"],"present_in_rows":400,"null_in_rows":0,"null_means":null},{"path":"data.event_id","definition":"ESPN event id.","observed_types":["string"],"present_in_rows":400,"null_in_rows":0,"null_means":null},{"path":"data.source_updated_at","definition":"Source clock.","observed_types":[],"present_in_rows":400,"null_in_rows":400,"null_means":"The source sent no update clock. Update time at the source is unknown; it does not mean the value never changed."},{"path":"data.statistics","definition":"Stat lines.","observed_types":["array"],"present_in_rows":400,"null_in_rows":0,"null_means":null},{"path":"data.statistics[].key","definition":"ESPN stat key.","observed_types":["string"],"present_in_rows":4086,"null_in_rows":0,"null_means":null},{"path":"data.statistics[].label","definition":"ESPN stat label.","observed_types":["string"],"present_in_rows":4086,"null_in_rows":0,"null_means":"ESPN sent no label for this key."},{"path":"data.statistics[].value","definition":"Value as text.","observed_types":["string"],"present_in_rows":4086,"null_in_rows":0,"null_means":"ESPN sent no value for this key. It does not mean zero."},{"path":"data.team","definition":"Team name.","observed_types":["string"],"present_in_rows":400,"null_in_rows":0,"null_means":null},{"path":"data.team_id","definition":"ESPN team id.","observed_types":["string"],"present_in_rows":400,"null_in_rows":0,"null_means":null},{"path":"data.athlete_id","definition":"ESPN athlete id.","observed_types":["string"],"present_in_rows":400,"null_in_rows":0,"null_means":null},{"path":"data.player","definition":"Athlete name.","observed_types":["string"],"present_in_rows":400,"null_in_rows":0,"null_means":null},{"path":"data.category","definition":"Box-score group, such as passing.","observed_types":["string"],"present_in_rows":400,"null_in_rows":0,"null_means":null},{"path":"data.position","definition":"Position.","observed_types":["string"],"present_in_rows":400,"null_in_rows":12,"null_means":"ESPN sent no position."},{"path":"data.starter","definition":"ESPN starter flag.","observed_types":["boolean"],"present_in_rows":400,"null_in_rows":12,"null_means":"ESPN did not state it. It does not mean false."},{"path":"data.did_not_play","definition":"ESPN did-not-play flag.","observed_types":["boolean"],"present_in_rows":400,"null_in_rows":12,"null_means":"ESPN did not state it. It does not mean the athlete played."},{"path":"data.headshot_url","definition":"Portrait URL from ESPN.","observed_types":["string"],"present_in_rows":400,"null_in_rows":67,"null_means":"ESPN sent no portrait."}],"passthrough_fields":[]},{"id":"context-team-stats","name":"Game context: team-stats","endpoint":"GET /api/v1/context/team-stats","values":"real","sample":"/data/samples/context-team-stats.json","rows_examined":214,"fields":[{"path":"kind","definition":"games, player-stats or team-stats.","observed_types":["string"],"present_in_rows":214,"null_in_rows":0,"null_means":null},{"path":"sport","definition":"League code.","observed_types":["string"],"present_in_rows":214,"null_in_rows":0,"null_means":null},{"path":"event_id","definition":"ESPN event id. Not a DraftKings id.","observed_types":["string"],"present_in_rows":214,"null_in_rows":0,"null_means":null},{"path":"entity_id","definition":"The row's subject: event, athlete or team, as an ESPN id.","observed_types":["string"],"present_in_rows":214,"null_in_rows":0,"null_means":null},{"path":"observed_at","definition":"When this service captured the row.","observed_types":["string"],"present_in_rows":214,"null_in_rows":0,"null_means":null},{"path":"source_url","definition":"Public response read.","observed_types":["string"],"present_in_rows":214,"null_in_rows":0,"null_means":null},{"path":"payload_sha256","definition":"SHA-256 of the response.","observed_types":["string"],"present_in_rows":214,"null_in_rows":0,"null_means":null},{"path":"age_seconds","definition":"Seconds between observed_at and the API response.","observed_types":["number"],"present_in_rows":214,"null_in_rows":0,"null_means":null},{"path":"stale","definition":"True when observed_at is more than 900 seconds old.","observed_types":["boolean"],"present_in_rows":214,"null_in_rows":0,"null_means":null},{"path":"data","definition":"The normalized row.","observed_types":["object"],"present_in_rows":214,"null_in_rows":0,"null_means":null},{"path":"data.event_id","definition":"ESPN event id.","observed_types":["string"],"present_in_rows":214,"null_in_rows":0,"null_means":null},{"path":"data.source_updated_at","definition":"Source clock.","observed_types":[],"present_in_rows":214,"null_in_rows":214,"null_means":"The source sent no update clock. Update time at the source is unknown; it does not mean the value never changed."},{"path":"data.statistics","definition":"Stat lines.","observed_types":["array"],"present_in_rows":214,"null_in_rows":0,"null_means":null},{"path":"data.statistics[].key","definition":"ESPN stat key.","observed_types":["string"],"present_in_rows":3740,"null_in_rows":0,"null_means":null},{"path":"data.statistics[].label","definition":"ESPN stat label.","observed_types":["string"],"present_in_rows":3740,"null_in_rows":8,"null_means":"ESPN sent no label for this key."},{"path":"data.statistics[].value","definition":"Value as text.","observed_types":["string"],"present_in_rows":3740,"null_in_rows":8,"null_means":"ESPN sent no value for this key. It does not mean zero."},{"path":"data.team","definition":"Team name.","observed_types":["string"],"present_in_rows":214,"null_in_rows":0,"null_means":null},{"path":"data.team_id","definition":"ESPN team id.","observed_types":["string"],"present_in_rows":214,"null_in_rows":0,"null_means":null}],"passthrough_fields":[]}]},{"id":"stats","name":"Independent statistics","summary":"Retained ESPN game samples for NBA, NFL and NHL, not full seasons. Not linked to Pick6 athletes.","resources":[{"id":"stats-games","name":"Independent statistics: games","endpoint":"GET /api/v1/stats/games","values":"real","sample":"/data/samples/stats-games.json","rows_examined":75,"fields":[{"path":"data","definition":"One game.","observed_types":["object"],"present_in_rows":75,"null_in_rows":0,"null_means":null},{"path":"data.sport","definition":"NBA, NFL or NHL.","observed_types":["string"],"present_in_rows":75,"null_in_rows":0,"null_means":null},{"path":"data.event_id","definition":"ESPN event id. Not a DraftKings id.","observed_types":["string"],"present_in_rows":75,"null_in_rows":0,"null_means":null},{"path":"data.season","definition":"Season. NFL uses its starting year; NBA and NHL use their ending year.","observed_types":["number"],"present_in_rows":75,"null_in_rows":0,"null_means":null},{"path":"data.season_type","definition":"ESPN season type number.","observed_types":["number"],"present_in_rows":75,"null_in_rows":0,"null_means":null},{"path":"data.starts_at","definition":"Scheduled start.","observed_types":["string"],"present_in_rows":75,"null_in_rows":0,"null_means":null},{"path":"data.state","definition":"ESPN state: pre, in or post.","observed_types":["string"],"present_in_rows":75,"null_in_rows":0,"null_means":null},{"path":"data.status","definition":"ESPN status code, such as STATUS_FINAL.","observed_types":["string"],"present_in_rows":75,"null_in_rows":0,"null_means":null},{"path":"data.completed","definition":"ESPN completed flag at capture.","observed_types":["boolean"],"present_in_rows":75,"null_in_rows":0,"null_means":null},{"path":"data.period","definition":"Period number.","observed_types":["number"],"present_in_rows":75,"null_in_rows":65,"null_means":"ESPN sent no period, as on final rows captured from a summary."},{"path":"data.display_clock","definition":"ESPN game clock text.","observed_types":["string"],"present_in_rows":75,"null_in_rows":65,"null_means":"ESPN sent no clock."},{"path":"data.source_updated_at","definition":"Source clock for this game.","observed_types":[],"present_in_rows":75,"null_in_rows":75,"null_means":"The source sent no update clock. Update time at the source is unknown; it does not mean the value never changed."},{"path":"data.teams","definition":"The two teams.","observed_types":["array"],"present_in_rows":75,"null_in_rows":0,"null_means":null},{"path":"data.teams[].id","definition":"ESPN team id.","observed_types":["string"],"present_in_rows":150,"null_in_rows":0,"null_means":null},{"path":"data.teams[].name","definition":"Team name.","observed_types":["string"],"present_in_rows":150,"null_in_rows":0,"null_means":null},{"path":"data.teams[].side","definition":"home or away.","observed_types":["string"],"present_in_rows":150,"null_in_rows":0,"null_means":null},{"path":"data.teams[].score","definition":"Score as text.","observed_types":["string"],"present_in_rows":150,"null_in_rows":50,"null_means":"Not scored at capture, normally a game not yet played. It does not mean zero."},{"path":"data.evidence","definition":"Receipt of the retained response.","observed_types":["object"],"present_in_rows":75,"null_in_rows":0,"null_means":null},{"path":"data.evidence.url","definition":"Public response read.","observed_types":["string"],"present_in_rows":75,"null_in_rows":0,"null_means":null},{"path":"data.evidence.sha256","definition":"SHA-256 of the retained response.","observed_types":["string"],"present_in_rows":75,"null_in_rows":0,"null_means":null},{"path":"data.evidence.observed_at","definition":"When the response was captured.","observed_types":["string"],"present_in_rows":75,"null_in_rows":0,"null_means":null},{"path":"data.evidence.http_date","definition":"The response's HTTP Date header.","observed_types":["string"],"present_in_rows":75,"null_in_rows":52,"null_means":"No Date header was recorded."},{"path":"data.evidence.last_modified","definition":"The response's Last-Modified header.","observed_types":[],"present_in_rows":75,"null_in_rows":75,"null_means":"ESPN sent no Last-Modified header."},{"path":"data.evidence.file","definition":"Retained archive file name. Internal receipt detail; do not depend on it.","observed_types":[],"present_in_rows":0,"null_in_rows":0,"null_means":null},{"path":"data.date","definition":"Backfill checkpoint detail present on some rows. Not part of the contract; do not depend on it.","observed_types":[],"present_in_rows":0,"null_in_rows":0,"null_means":null},{"path":"data.discovered","definition":"Backfill checkpoint detail present on some rows. Not part of the contract; do not depend on it.","observed_types":[],"present_in_rows":0,"null_in_rows":0,"null_means":null},{"path":"data.from","definition":"Backfill checkpoint detail present on some rows. Not part of the contract; do not depend on it.","observed_types":[],"present_in_rows":0,"null_in_rows":0,"null_means":null},{"path":"data.to","definition":"Backfill checkpoint detail present on some rows. Not part of the contract; do not depend on it.","observed_types":[],"present_in_rows":0,"null_in_rows":0,"null_means":null},{"path":"data.games","definition":"Backfill checkpoint detail present on some rows. Not part of the contract; do not depend on it.","observed_types":[],"present_in_rows":0,"null_in_rows":0,"null_means":null},{"path":"data.id","definition":"Backfill checkpoint detail present on some rows. Not part of the contract; do not depend on it.","observed_types":[],"present_in_rows":0,"null_in_rows":0,"null_means":null},{"path":"data.pending","definition":"Backfill checkpoint detail present on some rows. Not part of the contract; do not depend on it.","observed_types":[],"present_in_rows":0,"null_in_rows":0,"null_means":null}],"passthrough_fields":[]},{"id":"stats-player-games","name":"Independent statistics: player games","endpoint":"GET /api/v1/stats/player-games","values":"real","sample":"/data/samples/stats-player-games.json","rows_examined":400,"fields":[{"path":"data","definition":"One athlete's stat category in one game.","observed_types":["object"],"present_in_rows":400,"null_in_rows":0,"null_means":null},{"path":"data.athlete_id","definition":"ESPN athlete id.","observed_types":["string"],"present_in_rows":400,"null_in_rows":0,"null_means":null},{"path":"data.name","definition":"Athlete name.","observed_types":["string"],"present_in_rows":400,"null_in_rows":0,"null_means":null},{"path":"data.category","definition":"Box-score group.","observed_types":["string"],"present_in_rows":400,"null_in_rows":0,"null_means":null},{"path":"data.team_id","definition":"ESPN team id.","observed_types":["string"],"present_in_rows":400,"null_in_rows":0,"null_means":null},{"path":"data.opponent_id","definition":"ESPN opponent id.","observed_types":["string"],"present_in_rows":400,"null_in_rows":0,"null_means":null},{"path":"data.starter","definition":"ESPN starter flag.","observed_types":["boolean"],"present_in_rows":400,"null_in_rows":297,"null_means":"ESPN did not state it. It does not mean false."},{"path":"data.did_not_play","definition":"ESPN did-not-play flag.","observed_types":["boolean"],"present_in_rows":400,"null_in_rows":297,"null_means":"ESPN did not state it. It does not mean the athlete played."},{"path":"data.stats","definition":"Stat lines.","observed_types":["array"],"present_in_rows":400,"null_in_rows":0,"null_means":null},{"path":"data.stats[].key","definition":"ESPN stat key.","observed_types":["string"],"present_in_rows":7517,"null_in_rows":0,"null_means":null},{"path":"data.stats[].label","definition":"ESPN stat label.","observed_types":["string"],"present_in_rows":7517,"null_in_rows":0,"null_means":null},{"path":"data.stats[].scope","definition":"What the value covers, such as game.","observed_types":["string"],"present_in_rows":7517,"null_in_rows":0,"null_means":null},{"path":"data.stats[].display","definition":"Value as ESPN displays it.","observed_types":["string"],"present_in_rows":7517,"null_in_rows":140,"null_means":"ESPN sent no value for this stat."},{"path":"data.stats[].numeric","definition":"The value as a number, when it parses as one.","observed_types":["number"],"present_in_rows":7517,"null_in_rows":1553,"null_means":"The value is not one number, as with 18-52, or ESPN sent none. It does not mean zero."},{"path":"game","definition":"The game this row belongs to, in the same shape as a games row.","observed_types":["object"],"present_in_rows":400,"null_in_rows":0,"null_means":null}],"passthrough_fields":[{"path":"game.*","definition":"Same meaning as the field of the same name on a games row.","null_means":"Same meaning as the field of the same name on a games row."}]},{"id":"stats-team-games","name":"Independent statistics: team games","endpoint":"GET /api/v1/stats/team-games","values":"real","sample":"/data/samples/stats-team-games.json","rows_examined":134,"fields":[{"path":"data","definition":"One team in one game.","observed_types":["object"],"present_in_rows":134,"null_in_rows":0,"null_means":null},{"path":"data.team_id","definition":"ESPN team id.","observed_types":["string"],"present_in_rows":134,"null_in_rows":0,"null_means":null},{"path":"data.opponent_id","definition":"ESPN opponent id.","observed_types":["string"],"present_in_rows":134,"null_in_rows":0,"null_means":null},{"path":"data.stats","definition":"Stat lines.","observed_types":["array"],"present_in_rows":134,"null_in_rows":0,"null_means":null},{"path":"data.stats[].key","definition":"ESPN stat key.","observed_types":["string"],"present_in_rows":2398,"null_in_rows":0,"null_means":null},{"path":"data.stats[].label","definition":"ESPN stat label.","observed_types":["string"],"present_in_rows":2398,"null_in_rows":0,"null_means":null},{"path":"data.stats[].scope","definition":"What the value covers, such as game.","observed_types":["string"],"present_in_rows":2398,"null_in_rows":0,"null_means":null},{"path":"data.stats[].display","definition":"Value as ESPN displays it.","observed_types":["string"],"present_in_rows":2398,"null_in_rows":0,"null_means":"ESPN sent no value for this stat."},{"path":"data.stats[].numeric","definition":"The value as a number, when it parses as one.","observed_types":["number"],"present_in_rows":2398,"null_in_rows":340,"null_means":"The value is not one number, as with 18-52, or ESPN sent none. It does not mean zero."},{"path":"game","definition":"The game this row belongs to, in the same shape as a games row.","observed_types":["object"],"present_in_rows":134,"null_in_rows":0,"null_means":null}],"passthrough_fields":[{"path":"game.*","definition":"Same meaning as the field of the same name on a games row.","null_means":"Same meaning as the field of the same name on a games row."}]}]}]}