{"slate_id":"f1-showdown-draftkings-2026-11-01","sport":"f1","site":"draftkings","slate_date":"2026-11-01","slate_type":"showdown","slate_subtype":null,"tour":null,"competition":null,"league_label":null,"is_draft":false,"config":{"$comment":"DK Formula 1 race slate, showdown-typed — identical shape to f1/draftkings/main.json (every DK F1 slate is captain-mode; the two types exist so either dropdown label commits cleanly). See main.json for shape/scoring provenance. || CAPTAIN-MODE TOKENS ADDED 2026-07-30. DraftKings captain-mode exports carry Roster Position = CPT / FLEX (tennis also A-CPT), and the importer reads Roster Position FIRST for DraftKings. Each player appears once per slot label and finalize_import unions positions on dedupe, so a player reaches the optimizer as e.g. ['CPT','F'] rather than just ['F']. Accepting CPT/FLEX/A-CPT alongside the sport tokens is both necessary (a partial export, or one whose labels are purely CPT/FLEX, otherwise matches nothing) and semantically right for captain mode, where any player may occupy any slot and the captain premium lives in the slot's multipliers rather than in eligibility. || SCORING CORRECTED 2026-09-28 against the card the engine actually scores (dfs_api.projection.scoring.draftkings, itself pinned to DK's published rules): the old block (win 25, fastest lap 5, laps led 0.1, top-5/top-10 buckets) was a placeholder; DK's Formula 1 Classic page pays a 22-value finishing table off a 40-point win, fastest lap +3, laps led +0.25, defeated teammate +5, classified +1, and constructor pair bonuses (both classified +2, both in points +5, both on podium +3) -- see LINEAR['f1'] / LINEAR['f1_constructor'] and _sport_builders._F1_FINISH.","site":"draftkings","sport":"f1","slate_type":"showdown","salary_cap":50000,"roster_slots":[{"name":"CPT","eligible":["D","CPT","FLEX","A-CPT"],"salary_multiplier":1.5,"score_multiplier":1.5},{"name":"D1","eligible":["D","CPT","FLEX","A-CPT"]},{"name":"D2","eligible":["D","CPT","FLEX","A-CPT"]},{"name":"D3","eligible":["D","CPT","FLEX","A-CPT"]},{"name":"D4","eligible":["D","CPT","FLEX","A-CPT"]},{"name":"CNSTR","eligible":["CNSTR","CPT","FLEX","A-CPT"]}],"max_per_team":3,"min_teams":2,"min_games":1,"scoring":{"finishing_position_1":40,"finishing_position_2":37,"finishing_position_3":35,"finishing_position_4":32,"finishing_position_5":30,"finishing_position_6":27,"finishing_position_7":25,"finishing_position_8":23,"finishing_position_9":22,"finishing_position_10":20,"finishing_position_11":17,"finishing_position_12":15,"finishing_position_13":13,"finishing_position_14":12,"finishing_position_15":10,"finishing_position_16":7,"finishing_position_17":5,"finishing_position_18":4,"finishing_position_19":3,"finishing_position_20":2,"finishing_position_21":1,"finishing_position_22":0,"place_differential_positive":1,"place_differential_negative":-1,"fastest_lap":3,"laps_led":0.25,"defeated_teammate":5,"classified_finish":1,"constructor_both_classified":2,"constructor_both_in_points":5,"constructor_both_podium":3},"export_format":{"header":["CPT","D","D","D","D","CNSTR"],"id_format":"{name} ({site_player_id})"}},"locked_at":null,"first_game_start":"2026-11-01T20:00:00Z","last_game_start":"2026-11-01T20:00:00Z","late_swap_enabled":false,"display_name":null,"is_free":false,"group_key":"","group_slate_type":"showdown","projection_window":null}