{"openapi":"3.0.0","servers":[{"url":"https://api.collegefootballdata.com"}],"info":{"contact":{"email":"admin@collegefootballdata.com"},"description":"This is an API for accessing all sorts of college football data.  Please note that API keys should be supplied with \"Bearer \" prepended (e.g. \"Bearer your_key\"). API keys can be acquired from the CollegeFootballData.com website.","title":"College Football Data API","version":"4.4.12","x-apisguru-categories":["open_data"],"x-logo":{"backgroundColor":"#FFFFFF","url":"https://collegefootballdata.com/Logo.png"},"x-origin":[{"format":"openapi","url":"https://api.collegefootballdata.com/api-docs.json","version":"3.0"}],"x-providerName":"collegefootballdata.com"},"security":[{"ApiKeyAuth":[]}],"tags":[{"description":"Games scores and statistics","name":"games"},{"description":"Drive data","name":"drives"},{"description":"Play by play data","name":"plays"},{"description":"Team information","name":"teams"},{"description":"Conference information","name":"conferences"},{"description":"Information about venues","name":"venues"},{"description":"Information about coaches","name":"coaches"},{"description":"Player information and data","name":"players"},{"description":"Historical poll rankings","name":"rankings"},{"description":"Betting lines and data","name":"betting"},{"description":"Recruiting rankings and data","name":"recruiting"},{"description":"Team rating data","name":"ratings"},{"description":"Data relating to Predicted Points and other metrics","name":"metrics"},{"description":"Statistical data","name":"stats"},{"description":"NFL Draft data","name":"draft"}],"paths":{"/calendar":{"get":{"description":"Get calendar of weeks by season","operationId":"getCalendar","parameters":[{"description":"Year filter","in":"query","name":"year","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/Week"},"type":"array"}}},"description":"successful operation"},"400":{"description":"error"}},"summary":"Season calendar","tags":["games"]}},"/coaches":{"get":{"description":"Coaching history","operationId":"getCoaches","parameters":[{"description":"First name filter","in":"query","name":"firstName","required":false,"schema":{"type":"string"}},{"description":"Last name filter","in":"query","name":"lastName","required":false,"schema":{"type":"string"}},{"description":"Team name filter","in":"query","name":"team","required":false,"schema":{"type":"string"}},{"description":"Year filter","in":"query","name":"year","required":false,"schema":{"minimum":1869,"type":"integer"}},{"description":"Minimum year filter (inclusive)","in":"query","name":"minYear","required":false,"schema":{"minimum":1869,"type":"integer"}},{"description":"Maximum year filter (inclusive)","in":"query","name":"maxYear","required":false,"schema":{"minimum":1869,"type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/Coach"},"type":"array"}}},"description":"successful operation"}},"summary":"Coaching records and history","tags":["coaches"]}},"/conferences":{"get":{"description":"Get conference list","operationId":"getConferences","responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/Conference"},"type":"array"}}},"description":"successful operation"},"400":{"description":"error"}},"summary":"Conferences","tags":["conferences"]}},"/draft/picks":{"get":{"description":"List of NFL Draft picks","operationId":"getDraftPicks","parameters":[{"description":"Year filter","in":"query","name":"year","required":false,"schema":{"type":"integer"}},{"description":"NFL team filter","in":"query","name":"nflTeam","required":false,"schema":{"type":"string"}},{"description":"Player college filter","in":"query","name":"college","required":false,"schema":{"type":"string"}},{"description":"College confrence abbreviation filter","in":"query","name":"conference","required":false,"schema":{"type":"string"}},{"description":"NFL position filter","in":"query","name":"position","required":false,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/DraftPick"},"type":"array"}}},"description":"successful operation"},"400":{"description":"error"}},"summary":"List of NFL Draft picks","tags":["draft"]}},"/draft/positions":{"get":{"description":"List of NFL positions","operationId":"getNFLPositions","responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/DraftPosition"},"type":"array"}}},"description":"successful operation"},"400":{"description":"error"}},"summary":"List of NFL positions","tags":["draft"]}},"/draft/teams":{"get":{"description":"List of NFL teams","operationId":"getNFLTeams","responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/DraftTeam"},"type":"array"}}},"description":"successful operation"},"400":{"description":"error"}},"summary":"List of NFL teams","tags":["draft"]}},"/drives":{"get":{"description":"Get game drives","operationId":"getDrives","parameters":[{"description":"Season type filter","in":"query","name":"seasonType","required":false,"schema":{"default":"regular","type":"string"}},{"description":"Year filter","in":"query","name":"year","required":true,"schema":{"minimum":2001,"type":"integer"}},{"description":"Week filter","in":"query","name":"week","required":false,"schema":{"maximum":16,"minimum":1,"type":"integer"}},{"description":"Team filter","in":"query","name":"team","required":false,"schema":{"type":"string"}},{"description":"Offensive team filter","in":"query","name":"offense","required":false,"schema":{"type":"string"}},{"description":"Defensive team filter","in":"query","name":"defense","required":false,"schema":{"type":"string"}},{"description":"Conference filter","in":"query","name":"conference","required":false,"schema":{"type":"string"}},{"description":"Offensive conference filter","in":"query","name":"offenseConference","required":false,"schema":{"type":"string"}},{"description":"Defensive conference filter","in":"query","name":"defenseConference","required":false,"schema":{"type":"string"}},{"description":"Division classification filter (fbs/fcs/ii/iii)","in":"query","name":"classification","required":false,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/Drive"},"type":"array"}}},"description":"successful operation"}},"summary":"Drive data and results","tags":["drives"]}},"/game/box/advanced":{"get":{"description":"Get advanced box score data","operationId":"getAdvancedBoxScore","parameters":[{"description":"Game id parameters","in":"query","name":"gameId","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BoxScore"}}},"description":"successful operation"}},"summary":"Advanced box scores","tags":["games"]}},"/games":{"get":{"description":"Get game results","operationId":"getGames","parameters":[{"description":"Year/season filter for games","in":"query","name":"year","required":true,"schema":{"minimum":1869,"type":"integer"}},{"description":"Week filter","in":"query","name":"week","required":false,"schema":{"maximum":16,"minimum":1,"type":"integer"}},{"description":"Season type filter (regular or postseason)","in":"query","name":"seasonType","required":false,"schema":{"default":"regular","type":"string"}},{"description":"Team","in":"query","name":"team","required":false,"schema":{"type":"string"}},{"description":"Home team filter","in":"query","name":"home","required":false,"schema":{"type":"string"}},{"description":"Away team filter","in":"query","name":"away","required":false,"schema":{"type":"string"}},{"description":"Conference abbreviation filter","in":"query","name":"conference","required":false,"schema":{"type":"string"}},{"description":"Division classification filter (fbs/fcs/ii/iii)","in":"query","name":"division","required":false,"schema":{"type":"string"}},{"description":"id filter for querying a single game","in":"query","name":"id","required":false,"schema":{"type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/Game"},"type":"array"}}},"description":"successful operation"},"400":{"description":"error"}},"summary":"Games and results","tags":["games"]}},"/games/media":{"get":{"description":"Game media information (TV, radio, etc)","operationId":"getGameMedia","parameters":[{"description":"Year filter","in":"query","name":"year","required":true,"schema":{"minimum":2001,"type":"integer"}},{"description":"Week filter","in":"query","name":"week","required":false,"schema":{"maximum":16,"minimum":1,"type":"integer"}},{"description":"Season type filter (regular, postseason, or both)","in":"query","name":"seasonType","required":false,"schema":{"type":"string"}},{"description":"Team filter","in":"query","name":"team","required":false,"schema":{"type":"string"}},{"description":"Conference filter","in":"query","name":"conference","required":false,"schema":{"type":"string"}},{"description":"Media type filter (tv, radio, web, ppv, or mobile)","in":"query","name":"mediaType","required":false,"schema":{"type":"string"}},{"description":"Division classification filter (fbs/fcs/ii/iii)","in":"query","name":"classification","required":false,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/GameMedia"},"type":"array"}}},"description":"successful operation"},"400":{"description":"error"}},"summary":"Game media information and schedules","tags":["games"]}},"/games/players":{"get":{"description":"Player stats broken down by game","operationId":"getPlayerGameStats","parameters":[{"description":"Year/season filter for games","in":"query","name":"year","required":true,"schema":{"minimum":2001,"type":"integer"}},{"description":"Week filter","in":"query","name":"week","required":false,"schema":{"maximum":16,"minimum":1,"type":"integer"}},{"description":"Season type filter (regular or postseason)","in":"query","name":"seasonType","required":false,"schema":{"default":"regular","type":"string"}},{"description":"Team filter","in":"query","name":"team","required":false,"schema":{"type":"string"}},{"description":"Conference abbreviation filter","in":"query","name":"conference","required":false,"schema":{"type":"string"}},{"description":"Category filter (e.g defensive)","in":"query","name":"category","required":false,"schema":{"type":"string"}},{"description":"Game id filter","in":"query","name":"gameId","required":false,"schema":{"type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/PlayerGame"},"type":"array"}}},"description":"successful operation"},"400":{"description":"error"}},"summary":"Player game stats","tags":["games"]}},"/games/teams":{"get":{"description":"Team stats broken down by game","operationId":"getTeamGameStats","parameters":[{"description":"Year/season filter for games","in":"query","name":"year","required":true,"schema":{"minimum":2001,"type":"integer"}},{"description":"Week filter","in":"query","name":"week","required":false,"schema":{"maximum":16,"minimum":1,"type":"integer"}},{"description":"Season type filter (regular or postseason)","in":"query","name":"seasonType","required":false,"schema":{"default":"regular","type":"string"}},{"description":"Team filter","in":"query","name":"team","required":false,"schema":{"type":"string"}},{"description":"Conference abbreviation filter","in":"query","name":"conference","required":false,"schema":{"type":"string"}},{"description":"Game id filter","in":"query","name":"gameId","required":false,"schema":{"type":"integer"}},{"description":"Division classification filter (fbs/fcs/ii/iii)","in":"query","name":"classification","required":false,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/TeamGame"},"type":"array"}}},"description":"successful operation"},"400":{"description":"error"}},"summary":"Team game stats","tags":["games"]}},"/games/weather":{"get":{"description":"Weather information for the hour of kickoff","operationId":"getGameWeather","parameters":[{"description":"Game id filter (required if no year)","in":"query","name":"gameId","required":false,"schema":{"type":"integer"}},{"description":"Year filter (required if no game id)","in":"query","name":"year","required":false,"schema":{"minimum":2001,"type":"integer"}},{"description":"Week filter","in":"query","name":"week","required":false,"schema":{"maximum":16,"minimum":1,"type":"integer"}},{"description":"Season type filter (regular, postseason, or both)","in":"query","name":"seasonType","required":false,"schema":{"type":"string"}},{"description":"Team filter","in":"query","name":"team","required":false,"schema":{"type":"string"}},{"description":"Conference filter","in":"query","name":"conference","required":false,"schema":{"type":"string"}},{"description":"Division classification filter (fbs/fcs/ii/iii)","in":"query","name":"classification","required":false,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/GameWeather"},"type":"array"}}},"description":"successful operation"},"400":{"description":"error"}},"summary":"Game weather information (Patreon only)","tags":["games"]}},"/lines":{"get":{"description":"Closing betting lines","operationId":"getLines","parameters":[{"description":"Game id filter","in":"query","name":"gameId","required":false,"schema":{"type":"integer"}},{"description":"Year/season filter for games","in":"query","name":"year","required":false,"schema":{"minimum":2013,"type":"integer"}},{"description":"Week filter","in":"query","name":"week","required":false,"schema":{"maximum":16,"minimum":1,"type":"integer"}},{"description":"Season type filter (regular or postseason)","in":"query","name":"seasonType","required":false,"schema":{"default":"regular","type":"string"}},{"description":"Team","in":"query","name":"team","required":false,"schema":{"type":"string"}},{"description":"Home team filter","in":"query","name":"home","required":false,"schema":{"type":"string"}},{"description":"Away team filter","in":"query","name":"away","required":false,"schema":{"type":"string"}},{"description":"Conference abbreviation filter","in":"query","name":"conference","required":false,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/GameLines"},"type":"array"}}},"description":"successful operation"},"400":{"description":"error"}},"summary":"Betting lines","tags":["betting"]}},"/live/plays":{"get":{"description":"Get live metrics and PBP","operationId":"getLivePlays","parameters":[{"description":"Game id","in":"query","name":"id","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LivePlayByPlay"}}},"description":"successful operation"}},"summary":"Live metrics and PBP (Patreon only)","tags":["plays"]}},"/metrics/wp":{"get":{"description":"Win probability data","operationId":"getWinProbabilityData","parameters":[{"description":"Game id filter","in":"query","name":"gameId","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/PlayWP"},"type":"array"}}},"description":"successful operation"},"400":{"description":"error"}},"summary":"Win probability chart data","tags":["metrics"]}},"/metrics/wp/pregame":{"get":{"description":"Pregame win probabilities","operationId":"getPregameWinProbabilities","parameters":[{"description":"Year filter","in":"query","name":"year","required":false,"schema":{"minimum":2001,"type":"integer"}},{"description":"Week filter","in":"query","name":"week","required":false,"schema":{"maximum":16,"minimum":1,"type":"integer"}},{"description":"Team filter","in":"query","name":"team","required":false,"schema":{"type":"string"}},{"description":"regular or postseason","in":"query","name":"seasonType","required":false,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/PregameWP"},"type":"array"}}},"description":"successful operation"},"400":{"description":"error"}},"summary":"Pregame win probability data","tags":["metrics"]}},"/play/stat/types":{"get":{"description":"Type of play stats","operationId":"getPlayStatTypes","responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/PlayStatType"},"type":"array"}}},"description":"successful operation"},"400":{"description":"error"}},"summary":"Types of player play stats","tags":["plays"]}},"/play/stats":{"get":{"description":"Gets player stats associated by play (limit 1000)","operationId":"getPlayStats","parameters":[{"description":"Year filter","in":"query","name":"year","required":false,"schema":{"minimum":2013,"type":"integer"}},{"description":"Week filter","in":"query","name":"week","required":false,"schema":{"maximum":16,"minimum":1,"type":"integer"}},{"description":"Team filter","in":"query","name":"team","required":false,"schema":{"type":"string"}},{"description":"gameId filter (from /games endpoint)","in":"query","name":"gameId","required":false,"schema":{"type":"integer"}},{"description":"athleteId filter (from /roster endpoint)","in":"query","name":"athleteId","required":false,"schema":{"type":"integer"}},{"description":"statTypeId filter (from /play/stat/types endpoint)","in":"query","name":"statTypeId","required":false,"schema":{"type":"integer"}},{"description":"regular, postseason, or both","in":"query","name":"seasonType","required":false,"schema":{"type":"string"}},{"description":"conference abbreviation filter","in":"query","name":"conference","required":false,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/PlayStat"},"type":"array"}}},"description":"successful operation"},"400":{"description":"error"}},"summary":"Play stats by play","tags":["plays"]}},"/play/types":{"get":{"description":"Types of plays","operationId":"getPlayTypes","responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/PlayType"},"type":"array"}}},"description":"successful operation"}},"summary":"Play types","tags":["plays"]}},"/player/portal":{"get":{"description":"Transfer portal by season","operationId":"getTransferPortal","parameters":[{"description":"Year filter","in":"query","name":"year","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/PortalPlayer"},"type":"array"}}},"description":"successful operation"},"400":{"description":"error"}},"summary":"Transfer portal by season","tags":["players"]}},"/player/returning":{"get":{"description":"Returning production metrics","operationId":"getReturningProduction","parameters":[{"description":"Year filter","in":"query","name":"year","required":false,"schema":{"minimum":2014,"type":"integer"}},{"description":"Team filter","in":"query","name":"team","required":false,"schema":{"type":"string"}},{"description":"Conference abbreviation filter","in":"query","name":"conference","required":false,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/ReturningProduction"},"type":"array"}}},"description":"successful operation"},"400":{"description":"error"}},"summary":"Team returning production metrics","tags":["players"]}},"/player/search":{"get":{"description":"Search for players","operationId":"playerSearch","parameters":[{"description":"Term to search on","in":"query","name":"searchTerm","required":true,"schema":{"type":"string"}},{"description":"Position abbreviation filter","in":"query","name":"position","required":false,"schema":{"type":"string"}},{"description":"Team filter","in":"query","name":"team","required":false,"schema":{"type":"string"}},{"description":"Year filter","in":"query","name":"year","required":false,"schema":{"minimum":2001,"type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/PlayerSearchResult"},"type":"array"}}},"description":"successful operation"},"400":{"description":"error"}},"summary":"Search for player information","tags":["players"]}},"/player/usage":{"get":{"description":"Player usage metrics by season","operationId":"getPlayerUsage","parameters":[{"description":"Year filter","in":"query","name":"year","required":true,"schema":{"default":2022,"minimum":2013,"type":"integer"}},{"description":"Team filter","in":"query","name":"team","required":false,"schema":{"type":"string"}},{"description":"Conference abbreviation filter","in":"query","name":"conference","required":false,"schema":{"type":"string"}},{"description":"Position abbreviation filter","in":"query","name":"position","required":false,"schema":{"type":"string"}},{"description":"Player id filter","in":"query","name":"playerId","required":false,"schema":{"type":"integer"}},{"description":"Filter to remove garbage time plays from calculations","in":"query","name":"excludeGarbageTime","required":false,"schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/PlayerUsage"},"type":"array"}}},"description":"successful operation"},"400":{"description":"error"}},"summary":"Player usage metrics broken down by season","tags":["players"]}},"/plays":{"get":{"description":"Get play data and results","operationId":"getPlays","parameters":[{"description":"Season type filter","in":"query","name":"seasonType","required":false,"schema":{"default":"regular","type":"string"}},{"description":"Year filter","in":"query","name":"year","required":true,"schema":{"minimum":2001,"type":"integer"}},{"description":"Week filter (required if team, offense, or defense, not specified)","in":"query","name":"week","required":true,"schema":{"maximum":16,"minimum":1,"type":"integer"}},{"description":"Team filter","in":"query","name":"team","required":false,"schema":{"type":"string"}},{"description":"Offensive team filter","in":"query","name":"offense","required":false,"schema":{"type":"string"}},{"description":"Defensive team filter","in":"query","name":"defense","required":false,"schema":{"type":"string"}},{"description":"Conference filter","in":"query","name":"conference","required":false,"schema":{"type":"string"}},{"description":"Offensive conference filter","in":"query","name":"offenseConference","required":false,"schema":{"type":"string"}},{"description":"Defensive conference filter","in":"query","name":"defenseConference","required":false,"schema":{"type":"string"}},{"description":"Play type filter","in":"query","name":"playType","required":false,"schema":{"type":"integer"}},{"description":"Division classification filter (fbs/fcs/ii/iii)","in":"query","name":"classification","required":false,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/Play"},"type":"array"}}},"description":"successful operation"}},"summary":"Play by play data","tags":["plays"]}},"/ppa/games":{"get":{"description":"Predicted Points Added (PPA) by game","operationId":"getGamePPA","parameters":[{"description":"Year filter","in":"query","name":"year","required":true,"schema":{"minimum":2001,"type":"integer"}},{"description":"Week filter","in":"query","name":"week","required":false,"schema":{"maximum":16,"minimum":1,"type":"integer"}},{"description":"Team filter","in":"query","name":"team","required":false,"schema":{"type":"string"}},{"description":"Conference filter","in":"query","name":"conference","required":false,"schema":{"type":"string"}},{"description":"Filter to remove garbage time plays from calculations","in":"query","name":"excludeGarbageTime","required":false,"schema":{"type":"boolean"}},{"description":"Season type filter (regular or postseason)","in":"query","name":"seasonType","required":false,"schema":{"default":"regular","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/GamePPA"},"type":"array"}}},"description":"successful operation"},"400":{"description":"error"}},"summary":"Team Predicated Points Added (PPA/EPA) by game","tags":["metrics"]}},"/ppa/players/games":{"get":{"description":"Predicted Points Added (PPA) by player game","operationId":"getPlayerGamePPA","parameters":[{"description":"Year filter","in":"query","name":"year","required":false,"schema":{"minimum":2013,"type":"integer"}},{"description":"Week filter","in":"query","name":"week","required":false,"schema":{"maximum":16,"minimum":1,"type":"integer"}},{"description":"Team filter","in":"query","name":"team","required":false,"schema":{"type":"string"}},{"description":"Position abbreviation filter","in":"query","name":"position","required":false,"schema":{"type":"string"}},{"description":"Player id filter","in":"query","name":"playerId","required":false,"schema":{"type":"integer"}},{"description":"Minimum play threshold filter","in":"query","name":"threshold","required":false,"schema":{"type":"string"}},{"description":"Filter to remove garbage time plays from calculations","in":"query","name":"excludeGarbageTime","required":false,"schema":{"type":"boolean"}},{"description":"Season type filter (regular or postseason)","in":"query","name":"seasonType","required":false,"schema":{"default":"regular","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/PlayerGamePPA"},"type":"array"}}},"description":"successful operation"},"400":{"description":"error"}},"summary":"Player Predicated Points Added (PPA/EPA) broken down by game","tags":["metrics"]}},"/ppa/players/season":{"get":{"description":"Predicted Points Added (PPA) by player season","operationId":"getPlayerSeasonPPA","parameters":[{"description":"Year filter","in":"query","name":"year","required":false,"schema":{"minimum":2013,"type":"integer"}},{"description":"Team filter","in":"query","name":"team","required":false,"schema":{"type":"string"}},{"description":"Conference abbreviation filter","in":"query","name":"conference","required":false,"schema":{"type":"string"}},{"description":"Position abbreviation filter","in":"query","name":"position","required":false,"schema":{"type":"string"}},{"description":"Player id filter","in":"query","name":"playerId","required":false,"schema":{"type":"integer"}},{"description":"Minimum play threshold filter","in":"query","name":"threshold","required":false,"schema":{"type":"string"}},{"description":"Filter to remove garbage time plays from calculations","in":"query","name":"excludeGarbageTime","required":false,"schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/PlayerSeasonPPA"},"type":"array"}}},"description":"successful operation"},"400":{"description":"error"}},"summary":"Player Predicated Points Added (PPA/EPA) broken down by season","tags":["metrics"]}},"/ppa/predicted":{"get":{"description":"Predicted Points","operationId":"getPredictedPoints","parameters":[{"description":"Down filter","in":"query","name":"down","required":true,"schema":{"maximum":4,"minimum":1,"type":"integer"}},{"description":"Distance filter","in":"query","name":"distance","required":true,"schema":{"maximum":99,"minimum":1,"type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/PredictedPoints"},"type":"array"}}},"description":"successful operation"},"400":{"description":"error"}},"summary":"Predicted Points (i.e. Expected Points or EP)","tags":["metrics"]}},"/ppa/teams":{"get":{"description":"Predicted Points Added (PPA)","operationId":"getTeamPPA","parameters":[{"description":"Year filter (required if team not specified)","in":"query","name":"year","required":false,"schema":{"minimum":2001,"type":"integer"}},{"description":"Team filter (required if year not specified)","in":"query","name":"team","required":false,"schema":{"type":"string"}},{"description":"Conference filter","in":"query","name":"conference","required":false,"schema":{"type":"string"}},{"description":"Filter to remove garbage time plays from calculations","in":"query","name":"excludeGarbageTime","required":false,"schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/TeamPPA"},"type":"array"}}},"description":"successful operation"},"400":{"description":"error"}},"summary":"Predicted Points Added (PPA/EPA) data by team","tags":["metrics"]}},"/rankings":{"get":{"description":"Poll rankings","operationId":"getRankings","parameters":[{"description":"Year/season filter for games","in":"query","name":"year","required":true,"schema":{"minimum":1936,"type":"integer"}},{"description":"Week filter","in":"query","name":"week","required":false,"schema":{"maximum":16,"minimum":1,"type":"integer"}},{"description":"Season type filter (regular or postseason)","in":"query","name":"seasonType","required":false,"schema":{"default":"regular","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/RankingWeek"},"type":"array"}}},"description":"successful operation"},"400":{"description":"error"}},"summary":"Historical polls and rankings","tags":["rankings"]}},"/ratings/elo":{"get":{"description":"Elo rating data","operationId":"getEloRatings","parameters":[{"description":"Season filter","in":"query","name":"year","required":false,"schema":{"type":"integer"}},{"description":"Maximum week filter","in":"query","name":"week","required":false,"schema":{"type":"integer"}},{"description":"Team filter","in":"query","name":"team","required":false,"schema":{"type":"string"}},{"description":"Conference filter","in":"query","name":"conference","required":false,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/TeamEloRating"},"type":"array"}}},"description":"successful operation"},"400":{"description":"error"}},"summary":"Historical Elo ratings","tags":["ratings"]}},"/ratings/sp":{"get":{"description":"SP+ rating data","operationId":"getSPRatings","parameters":[{"description":"Season filter (required if team not specified)","in":"query","name":"year","required":false,"schema":{"minimum":1970,"type":"integer"}},{"description":"Team filter (required if year not specified)","in":"query","name":"team","required":false,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/TeamSPRating"},"type":"array"}}},"description":"successful operation"},"400":{"description":"error"}},"summary":"Historical SP+ ratings","tags":["ratings"]}},"/ratings/sp/conferences":{"get":{"description":"Get average SP+ historical rating data by conference","operationId":"getConferenceSPRatings","parameters":[{"description":"Season filter","in":"query","name":"year","required":false,"schema":{"minimum":1970,"type":"integer"}},{"description":"Conference abbreviation filter","in":"query","name":"conference","required":false,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/ConferenceSPRating"},"type":"array"}}},"description":"successful operation"},"400":{"description":"error"}},"summary":"Historical SP+ ratings by conference","tags":["ratings"]}},"/ratings/srs":{"get":{"description":"SRS rating data (requires either a year or team specified)","operationId":"getSRSRatings","parameters":[{"description":"Season filter (required if team not specified)","in":"query","name":"year","required":false,"schema":{"minimum":1897,"type":"integer"}},{"description":"Team filter (required if year not specified)","in":"query","name":"team","required":false,"schema":{"type":"string"}},{"description":"Conference filter","in":"query","name":"conference","required":false,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/TeamSRSRating"},"type":"array"}}},"description":"successful operation"},"400":{"description":"error"}},"summary":"Historical SRS ratings","tags":["ratings"]}},"/records":{"get":{"description":"Get team records by year","operationId":"getTeamRecords","parameters":[{"description":"Year filter","in":"query","name":"year","required":false,"schema":{"minimum":1869,"type":"integer"}},{"description":"Team filter","in":"query","name":"team","required":false,"schema":{"type":"string"}},{"description":"Conference filter","in":"query","name":"conference","required":false,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/TeamRecord"},"type":"array"}}},"description":"successful operation"},"400":{"description":"error"}},"summary":"Team records","tags":["games"]}},"/recruiting/groups":{"get":{"description":"Gets a list of aggregated statistics by team and position grouping","operationId":"getRecruitingGroups","parameters":[{"description":"Starting year","in":"query","name":"startYear","required":false,"schema":{"minimum":2000,"type":"integer"}},{"description":"Ending year","in":"query","name":"endYear","required":false,"schema":{"minimum":2000,"type":"integer"}},{"description":"Team filter","in":"query","name":"team","required":false,"schema":{"type":"string"}},{"description":"conference filter","in":"query","name":"conference","required":false,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/PositionGroupRecruitingRating"},"type":"array"}}},"description":"successful operation"},"400":{"description":"error"}},"summary":"Recruit position group ratings","tags":["recruiting"]}},"/recruiting/players":{"get":{"description":"Get player recruiting rankings and data. Requires either a year or team to be specified.","operationId":"getRecruitingPlayers","parameters":[{"description":"Recruiting class year (required if team no specified)","in":"query","name":"year","required":false,"schema":{"minimum":2000,"type":"integer"}},{"description":"Type of recruit (HighSchool, JUCO, PrepSchool)","in":"query","name":"classification","required":false,"schema":{"default":"HighSchool","type":"string"}},{"description":"Position abbreviation filter","in":"query","name":"position","required":false,"schema":{"type":"string"}},{"description":"State or province abbreviation filter","in":"query","name":"state","required":false,"schema":{"type":"string"}},{"description":"Committed team filter (required if year not specified)","in":"query","name":"team","required":false,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/Recruit"},"type":"array"}}},"description":"successful operation"},"400":{"description":"error"}},"summary":"Player recruiting ratings and rankings","tags":["recruiting"]}},"/recruiting/teams":{"get":{"description":"Team recruiting rankings","operationId":"getRecruitingTeams","parameters":[{"description":"Recruiting class year","in":"query","name":"year","required":false,"schema":{"minimum":2000,"type":"integer"}},{"description":"Team filter","in":"query","name":"team","required":false,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/TeamRecruitingRank"},"type":"array"}}},"description":"successful operation"},"400":{"description":"error"}},"summary":"Team recruiting rankings and ratings","tags":["recruiting"]}},"/roster":{"get":{"description":"Roster data","operationId":"getRoster","parameters":[{"description":"Team name","in":"query","name":"team","required":false,"schema":{"type":"string"}},{"description":"Season year","in":"query","name":"year","required":false,"schema":{"minimum":2009,"type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/Player"},"type":"array"}}},"description":"successful operation"},"400":{"description":"error"}},"summary":"Team rosters","tags":["teams"]}},"/scoreboard":{"get":{"description":"Get live game results","operationId":"getScoreboard","parameters":[{"description":"Classification filter (fbs, fcs, ii, or iii). Defaults to fbs.","in":"query","name":"classification","required":false,"schema":{"type":"string"}},{"description":"Conference abbreviation filter.","in":"query","name":"conference","required":false,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/ScoreboardGame"},"type":"array"}}},"description":"successful operation"},"400":{"description":"error"}},"summary":"Live game results (Patreon only)","tags":["games"]}},"/stats/categories":{"get":{"description":"Stat category list","operationId":"getStatCategories","responses":{"200":{"content":{"application/json":{"schema":{"items":{"type":"string"},"type":"array"}}},"description":"successful operation"}},"summary":"Team stat categories","tags":["stats"]}},"/stats/game/advanced":{"get":{"description":"Advanced team game stats","operationId":"getAdvancedTeamGameStats","parameters":[{"description":"Year filter (required if no team specified)","in":"query","name":"year","required":false,"schema":{"minimum":2001,"type":"integer"}},{"description":"Week filter","in":"query","name":"week","required":false,"schema":{"maximum":16,"minimum":1,"type":"integer"}},{"description":"Team filter (required if no year specified)","in":"query","name":"team","required":false,"schema":{"type":"string"}},{"description":"Opponent filter","in":"query","name":"opponent","required":false,"schema":{"type":"string"}},{"description":"Filter to remove garbage time plays from calculations","in":"query","name":"excludeGarbageTime","required":false,"schema":{"type":"boolean"}},{"description":"Season type filter (regular, postseason, or both)","in":"query","name":"seasonType","required":false,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/AdvancedGameStat"},"type":"array"}}},"description":"successful operation"},"400":{"description":"error"}},"summary":"Advanced team metrics by game","tags":["stats"]}},"/stats/player/season":{"get":{"description":"Season player stats","operationId":"getPlayerSeasonStats","parameters":[{"description":"Year filter","in":"query","name":"year","required":true,"schema":{"type":"integer"}},{"description":"Team filter","in":"query","name":"team","required":false,"schema":{"type":"string"}},{"description":"Conference abbreviation filter","in":"query","name":"conference","required":false,"schema":{"type":"string"}},{"description":"Start week filter","in":"query","name":"startWeek","required":false,"schema":{"type":"integer"}},{"description":"Start week filter","in":"query","name":"endWeek","required":false,"schema":{"type":"integer"}},{"description":"Season type filter (regular, postseason, or both)","in":"query","name":"seasonType","required":false,"schema":{"type":"string"}},{"description":"Stat category filter (e.g. passing)","in":"query","name":"category","required":false,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/PlayerSeasonStat"},"type":"array"}}},"description":"successful operation"},"400":{"description":"error"}},"summary":"Player stats by season","tags":["players"]}},"/stats/season":{"get":{"description":"Team season stats","operationId":"getTeamSeasonStats","parameters":[{"description":"Year filter (required if no team specified)","in":"query","name":"year","required":false,"schema":{"minimum":2001,"type":"integer"}},{"description":"Team filter (required if no year specified)","in":"query","name":"team","required":false,"schema":{"type":"string"}},{"description":"Conference abbreviation filter","in":"query","name":"conference","required":false,"schema":{"type":"string"}},{"description":"Starting week filter","in":"query","name":"startWeek","required":false,"schema":{"maximum":16,"minimum":1,"type":"integer"}},{"description":"Starting week filter","in":"query","name":"endWeek","required":false,"schema":{"maximum":16,"minimum":1,"type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/TeamSeasonStat"},"type":"array"}}},"description":"successful operation"},"400":{"description":"error"}},"summary":"Team statistics by season","tags":["stats"]}},"/stats/season/advanced":{"get":{"description":"Advanced team season stats","operationId":"getAdvancedTeamSeasonStats","parameters":[{"description":"Year filter (required if no team specified)","in":"query","name":"year","required":false,"schema":{"minimum":2001,"type":"integer"}},{"description":"Team filter (required if no year specified)","in":"query","name":"team","required":false,"schema":{"type":"string"}},{"description":"Filter to remove garbage time plays from calculations","in":"query","name":"excludeGarbageTime","required":false,"schema":{"type":"boolean"}},{"description":"Starting week filter","in":"query","name":"startWeek","required":false,"schema":{"maximum":16,"minimum":1,"type":"integer"}},{"description":"Starting week filter","in":"query","name":"endWeek","required":false,"schema":{"maximum":16,"minimum":1,"type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/AdvancedSeasonStat"},"type":"array"}}},"description":"successful operation"},"400":{"description":"error"}},"summary":"Advanced team metrics by season","tags":["stats"]}},"/talent":{"get":{"description":"Team talent composite","operationId":"getTalent","parameters":[{"description":"Year filter","in":"query","name":"year","required":false,"schema":{"minimum":2015,"type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/TeamTalent"},"type":"array"}}},"description":"successful operation"},"400":{"description":"error"}},"summary":"Team talent composite rankings","tags":["teams"]}},"/teams":{"get":{"description":"Get team information","operationId":"getTeams","parameters":[{"description":"Conference abbreviation filter","in":"query","name":"conference","required":false,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/Team"},"type":"array"}}},"description":"successful operation"},"400":{"description":"error"}},"summary":"Team information","tags":["teams"]}},"/teams/fbs":{"get":{"description":"Information on major division teams","operationId":"getFbsTeams","parameters":[{"description":"Year filter","in":"query","name":"year","required":false,"schema":{"minimum":1869,"type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/Team"},"type":"array"}}},"description":"successful operation"},"400":{"description":"error"}},"summary":"FBS team list","tags":["teams"]}},"/teams/matchup":{"get":{"description":"Matchup history","operationId":"getTeamMatchup","parameters":[{"description":"First team","in":"query","name":"team1","required":true,"schema":{"type":"string"}},{"description":"Second team","in":"query","name":"team2","required":true,"schema":{"type":"string"}},{"description":"Minimum year","in":"query","name":"minYear","required":false,"schema":{"minimum":1869,"type":"integer"}},{"description":"Maximum year","in":"query","name":"maxYear","required":false,"schema":{"minimum":1869,"type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TeamMatchup"}}},"description":"successful operation"},"400":{"description":"error"}},"summary":"Team matchup history","tags":["teams"]}},"/venues":{"get":{"description":"Venues","operationId":"getVenues","responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/Venue"},"type":"array"}}},"description":"successful operation"},"400":{"description":"error"}},"summary":"Arena and venue information","tags":["venues"]}}},"components":{"schemas":{"AdvancedGameStat":{"properties":{"defense":{"properties":{"drives":{"type":"integer"},"explosiveness":{"type":"number"},"lineYards":{"type":"number"},"lineYardsTotal":{"type":"number"},"openFieldYards":{"type":"number"},"openFieldYardsTotal":{"type":"integer"},"passingDowns":{"properties":{"explosiveness":{"type":"number"},"ppa":{"type":"number"},"successRate":{"type":"number"}},"type":"object"},"passingPlays":{"properties":{"explosiveness":{"type":"number"},"ppa":{"type":"number"},"successRate":{"type":"number"},"totalPPA":{"type":"number"}},"type":"object"},"plays":{"type":"integer"},"powerSuccess":{"type":"number"},"ppa":{"type":"number"},"rushingPlays":{"properties":{"explosiveness":{"type":"number"},"ppa":{"type":"number"},"successRate":{"type":"number"},"totalPPA":{"type":"number"}},"type":"object"},"secondLevelYards":{"type":"number"},"secondLevelYardsTotal":{"type":"integer"},"standardDowns":{"properties":{"explosiveness":{"type":"number"},"ppa":{"type":"number"},"successRate":{"type":"number"}},"type":"object"},"stuffRate":{"type":"number"},"successRate":{"type":"number"},"totalPPA":{"type":"number"}},"type":"object"},"gameId":{"type":"integer"},"offense":{"properties":{"drives":{"type":"integer"},"explosiveness":{"type":"number"},"lineYards":{"type":"number"},"lineYardsTotal":{"type":"number"},"openFieldYards":{"type":"number"},"openFieldYardsTotal":{"type":"integer"},"passingDowns":{"properties":{"explosiveness":{"type":"number"},"ppa":{"type":"number"},"successRate":{"type":"number"}},"type":"object"},"passingPlays":{"properties":{"explosiveness":{"type":"number"},"ppa":{"type":"number"},"successRate":{"type":"number"},"totalPPA":{"type":"number"}},"type":"object"},"plays":{"type":"integer"},"powerSuccess":{"type":"number"},"ppa":{"type":"number"},"rushingPlays":{"properties":{"explosiveness":{"type":"number"},"ppa":{"type":"number"},"successRate":{"type":"number"},"totalPPA":{"type":"number"}},"type":"object"},"secondLevelYards":{"type":"number"},"secondLevelYardsTotal":{"type":"integer"},"standardDowns":{"properties":{"explosiveness":{"type":"number"},"ppa":{"type":"number"},"successRate":{"type":"number"}},"type":"object"},"stuffRate":{"type":"number"},"successRate":{"type":"number"},"totalPPA":{"type":"number"}},"type":"object"},"opponent":{"type":"string"},"season":{"type":"integer"},"team":{"type":"string"},"week":{"type":"integer"}},"type":"object"},"AdvancedSeasonStat":{"properties":{"conference":{"type":"string"},"defense":{"properties":{"drives":{"type":"integer"},"explosiveness":{"type":"number"},"fieldPosition":{"properties":{"averagePredictedPoints":{"type":"number"},"averageStart":{"type":"number"}},"type":"object"},"havoc":{"properties":{"db":{"type":"number"},"frontSeven":{"type":"number"},"total":{"type":"number"}},"type":"object"},"lineYards":{"type":"number"},"lineYardsTotal":{"type":"number"},"openFieldYards":{"type":"number"},"openFieldYardsTotal":{"type":"integer"},"passingDowns":{"properties":{"explosiveness":{"type":"number"},"ppa":{"type":"number"},"rate":{"type":"number"},"successRate":{"type":"number"}},"type":"object"},"passingPlays":{"properties":{"explosiveness":{"type":"number"},"ppa":{"type":"number"},"rate":{"type":"number"},"successRate":{"type":"number"},"totalPPA":{"type":"number"}},"type":"object"},"plays":{"type":"integer"},"pointsPerOpportunity":{"type":"number"},"powerSuccess":{"type":"number"},"ppa":{"type":"number"},"rushingPlays":{"properties":{"explosiveness":{"type":"number"},"ppa":{"type":"number"},"rate":{"type":"number"},"successRate":{"type":"number"},"totalPPA":{"type":"number"}},"type":"object"},"secondLevelYards":{"type":"number"},"secondLevelYardsTotal":{"type":"integer"},"standardDowns":{"properties":{"explosiveness":{"type":"number"},"ppa":{"type":"number"},"rate":{"type":"number"},"successRate":{"type":"number"}},"type":"object"},"stuffRate":{"type":"number"},"successRate":{"type":"number"},"totalOpportunies":{"type":"integer"},"totalPPA":{"type":"number"}},"type":"object"},"offense":{"properties":{"drives":{"type":"integer"},"explosiveness":{"type":"number"},"fieldPosition":{"properties":{"averagePredictedPoints":{"type":"number"},"averageStart":{"type":"number"}},"type":"object"},"havoc":{"properties":{"db":{"type":"number"},"frontSeven":{"type":"number"},"total":{"type":"number"}},"type":"object"},"lineYards":{"type":"number"},"lineYardsTotal":{"type":"number"},"openFieldYards":{"type":"number"},"openFieldYardsTotal":{"type":"integer"},"passingDowns":{"properties":{"explosiveness":{"type":"number"},"ppa":{"type":"number"},"rate":{"type":"number"},"successRate":{"type":"number"}},"type":"object"},"passingPlays":{"properties":{"explosiveness":{"type":"number"},"ppa":{"type":"number"},"rate":{"type":"number"},"successRate":{"type":"number"},"totalPPA":{"type":"number"}},"type":"object"},"plays":{"type":"integer"},"pointsPerOpportunity":{"type":"number"},"powerSuccess":{"type":"number"},"ppa":{"type":"number"},"rushingPlays":{"properties":{"explosiveness":{"type":"number"},"ppa":{"type":"number"},"rate":{"type":"number"},"successRate":{"type":"number"},"totalPPA":{"type":"number"}},"type":"object"},"secondLevelYards":{"type":"number"},"secondLevelYardsTotal":{"type":"integer"},"standardDowns":{"properties":{"explosiveness":{"type":"number"},"ppa":{"type":"number"},"rate":{"type":"number"},"successRate":{"type":"number"}},"type":"object"},"stuffRate":{"type":"number"},"successRate":{"type":"number"},"totalOpportunies":{"type":"integer"},"totalPPA":{"type":"number"}},"type":"object"},"season":{"type":"integer"},"team":{"type":"string"}},"type":"object"},"BoxScore":{"properties":{"players":{"properties":{"ppa":{"items":{"properties":{"average":{"properties":{"passing":{"type":"number"},"quarter1":{"type":"number"},"quarter2":{"type":"number"},"quarter3":{"type":"number"},"quarter4":{"type":"number"},"rushing":{"type":"number"},"total":{"type":"number"}},"type":"object"},"cumulative":{"properties":{"passing":{"type":"number"},"quarter1":{"type":"number"},"quarter2":{"type":"number"},"quarter3":{"type":"number"},"quarter4":{"type":"number"},"rushing":{"type":"number"},"total":{"type":"number"}},"type":"object"},"player":{"type":"string"},"position":{"type":"string"},"team":{"type":"string"}},"type":"object"},"type":"array"},"usage":{"items":{"properties":{"passing":{"type":"number"},"player":{"type":"string"},"position":{"type":"string"},"quarter1":{"type":"number"},"quarter2":{"type":"number"},"quarter3":{"type":"number"},"quarter4":{"type":"number"},"rushing":{"type":"number"},"team":{"type":"string"},"total":{"type":"number"}},"type":"object"},"type":"array"}},"type":"object"},"teams":{"properties":{"cumulativePpa":{"items":{"properties":{"overall":{"properties":{"quarter1":{"type":"number"},"quarter2":{"type":"number"},"quarter3":{"type":"number"},"quarter4":{"type":"number"},"total":{"type":"number"}},"type":"object"},"passing":{"properties":{"quarter1":{"type":"number"},"quarter2":{"type":"number"},"quarter3":{"type":"number"},"quarter4":{"type":"number"},"total":{"type":"number"}},"type":"object"},"plays":{"type":"number"},"rushing":{"properties":{"quarter1":{"type":"number"},"quarter2":{"type":"number"},"quarter3":{"type":"number"},"quarter4":{"type":"number"},"total":{"type":"number"}},"type":"object"},"team":{"type":"string"}},"type":"object"},"type":"array"},"explosiveness":{"items":{"properties":{"overall":{"properties":{"quarter1":{"type":"number"},"quarter2":{"type":"number"},"quarter3":{"type":"number"},"quarter4":{"type":"number"},"total":{"type":"number"}},"type":"object"},"team":{"type":"string"}},"type":"object"},"type":"array"},"fieldPosition":{"items":{"properties":{"averageStart":{"type":"number"},"averageStartingPredictedPoints":{"type":"number"},"team":{"type":"string"}},"type":"object"},"type":"array"},"havoc":{"items":{"properties":{"db":{"type":"number"},"frontSeven":{"type":"number"},"team":{"type":"string"},"total":{"type":"number"}},"type":"object"},"type":"array"},"ppa":{"items":{"properties":{"overall":{"properties":{"quarter1":{"type":"number"},"quarter2":{"type":"number"},"quarter3":{"type":"number"},"quarter4":{"type":"number"},"total":{"type":"number"}},"type":"object"},"passing":{"properties":{"quarter1":{"type":"number"},"quarter2":{"type":"number"},"quarter3":{"type":"number"},"quarter4":{"type":"number"},"total":{"type":"number"}},"type":"object"},"plays":{"type":"number"},"rushing":{"properties":{"quarter1":{"type":"number"},"quarter2":{"type":"number"},"quarter3":{"type":"number"},"quarter4":{"type":"number"},"total":{"type":"number"}},"type":"object"},"team":{"type":"string"}},"type":"object"},"type":"array"},"rushing":{"items":{"properties":{"lineYards":{"type":"number"},"lineYardsAverage":{"type":"number"},"openFieldYards":{"type":"integer"},"openFieldYardsAverage":{"type":"number"},"powerSuccess":{"type":"number"},"secondLevelYards":{"type":"integer"},"secondLevelYardsAverage":{"type":"number"},"stuffRate":{"type":"number"},"team":{"type":"string"}},"type":"object"},"type":"array"},"scoringOpportunities":{"items":{"properties":{"opportunities":{"type":"integer"},"points":{"type":"integer"},"pointsPerOpportunity":{"type":"number"},"team":{"type":"string"}},"type":"object"},"type":"array"},"successRates":{"items":{"properties":{"overall":{"properties":{"quarter1":{"type":"number"},"quarter2":{"type":"number"},"quarter3":{"type":"number"},"quarter4":{"type":"number"},"total":{"type":"number"}},"type":"object"},"passingDowns":{"properties":{"quarter1":{"type":"number"},"quarter2":{"type":"number"},"quarter3":{"type":"number"},"quarter4":{"type":"number"},"total":{"type":"number"}},"type":"object"},"standardDowns":{"properties":{"quarter1":{"type":"number"},"quarter2":{"type":"number"},"quarter3":{"type":"number"},"quarter4":{"type":"number"},"total":{"type":"number"}},"type":"object"},"team":{"type":"string"}},"type":"object"},"type":"array"}},"type":"object"}},"type":"object"},"Coach":{"properties":{"first_name":{"type":"string"},"hire_date":{"type":"string"},"last_name":{"type":"string"},"seasons":{"items":{"properties":{"games":{"type":"integer"},"losses":{"type":"integer"},"postseason_rank":{"description":"Final ranking in the AP poll","type":"integer"},"preseason_rank":{"description":"Rank in the AP preseason poll","type":"integer"},"school":{"type":"string"},"sp_defense":{"description":"Final SP+ defensive rating","type":"number"},"sp_offense":{"description":"Final SP+ offensive rating","type":"number"},"sp_overall":{"description":"Final overall SP+ rating","type":"number"},"srs":{"description":"Final SRS rankings","type":"number"},"ties":{"type":"integer"},"wins":{"type":"integer"},"year":{"type":"string"}},"type":"object"},"type":"array"}},"type":"object"},"Conference":{"properties":{"abbreviation":{"type":"string"},"classification":{"type":"string"},"id":{"type":"integer"},"name":{"type":"string"},"short_name":{"type":"string"}},"type":"object"},"ConferenceSPRating":{"properties":{"conference":{"type":"string"},"defense":{"properties":{"explosiveness":{"type":"number"},"havoc":{"properties":{"db":{"type":"number"},"frontSeven":{"type":"number"},"total":{"type":"number"}},"type":"object"},"pasing":{"type":"number"},"passingDowns":{"type":"number"},"rating":{"type":"number"},"rushing":{"type":"number"},"standardDowns":{"type":"number"},"success":{"type":"number"}},"type":"object"},"offense":{"properties":{"explosiveness":{"type":"number"},"pace":{"type":"number"},"passing":{"type":"number"},"passingDowns":{"type":"number"},"rating":{"type":"number"},"runRate":{"type":"number"},"rushing":{"type":"number"},"standardDowns":{"type":"number"},"success":{"type":"number"}},"type":"object"},"rating":{"type":"number"},"secondOrderWins":{"type":"number"},"sos":{"type":"number"},"specialTeams":{"properties":{"rating":{"type":"number"}},"type":"object"},"year":{"type":"integer"}},"type":"object"},"DraftPick":{"properties":{"collegeAthleteId":{"type":"integer"},"collegeConference":{"type":"string"},"collegeId":{"type":"integer"},"collegeTeam":{"type":"string"},"height":{"type":"integer"},"hometownInfo":{"properties":{"city":{"type":"string"},"country":{"type":"string"},"countryFips":{"type":"integer"},"latitude":{"type":"number"},"longitude":{"type":"number"},"state":{"type":"string"}},"type":"object"},"name":{"type":"string"},"nflAthleteId":{"type":"integer"},"nflTeam":{"type":"string"},"overall":{"type":"integer"},"pick":{"type":"integer"},"position":{"type":"string"},"preDraftGrade":{"type":"integer"},"preDraftPositionRanking":{"type":"integer"},"preDraftRanking":{"type":"integer"},"round":{"type":"integer"},"weight":{"type":"integer"},"year":{"type":"integer"}},"type":"object"},"DraftPosition":{"properties":{"abbreviation":{"type":"string"},"name":{"type":"string"}},"type":"object"},"DraftTeam":{"properties":{"displayName":{"type":"string"},"location":{"type":"string"},"logo":{"type":"string"},"nickname":{"type":"string"}},"type":"object"},"Drive":{"properties":{"defense":{"type":"string"},"defense_conference":{"type":"string"},"drive_number":{"type":"integer"},"drive_result":{"type":"string"},"end_defense_score":{"type":"integer"},"end_offense_score":{"type":"integer"},"end_period":{"type":"integer"},"end_time":{"properties":{"minutes":{"type":"integer"},"seconds":{"type":"integer"}},"type":"object"},"end_yardline":{"type":"integer"},"end_yards_to_goal":{"type":"integer"},"game_id":{"type":"integer"},"id":{"type":"integer"},"is_home_offense":{"type":"boolean"},"offense":{"type":"string"},"offense_conference":{"type":"string"},"plays":{"type":"integer"},"scoring":{"type":"boolean"},"start_defense_score":{"type":"integer"},"start_offense_score":{"type":"integer"},"start_period":{"type":"integer"},"start_time":{"properties":{"minutes":{"type":"integer"},"seconds":{"type":"integer"}},"type":"object"},"start_yardline":{"type":"integer"},"start_yards_to_goal":{"type":"integer"},"yards":{"type":"integer"}},"type":"object"},"Game":{"properties":{"attendance":{"type":"integer"},"away_conference":{"type":"string"},"away_division":{"type":"string"},"away_id":{"type":"integer"},"away_line_scores":{"items":{"type":"integer"},"type":"array"},"away_points":{"type":"integer"},"away_post_win_prob":{"type":"number"},"away_postgame_elo":{"type":"integer"},"away_pregame_elo":{"type":"integer"},"away_team":{"type":"string"},"completed":{"type":"boolean"},"conference_game":{"type":"boolean"},"excitement_index":{"type":"number"},"highlights":{"type":"string"},"home_conference":{"type":"string"},"home_division":{"type":"string"},"home_id":{"type":"integer"},"home_line_scores":{"items":{"type":"integer"},"type":"array"},"home_points":{"type":"integer"},"home_post_win_prob":{"type":"number"},"home_postgame_elo":{"type":"integer"},"home_pregame_elo":{"type":"integer"},"home_team":{"type":"string"},"id":{"type":"integer"},"neutral_site":{"type":"boolean"},"notes":{"type":"string"},"season":{"type":"integer"},"season_type":{"type":"string"},"start_date":{"type":"string"},"start_time_tbd":{"type":"boolean"},"venue":{"type":"string"},"venue_id":{"type":"integer"},"week":{"type":"integer"}},"type":"object"},"GameLines":{"properties":{"awayConference":{"type":"string"},"awayScore":{"type":"integer"},"awayTeam":{"type":"string"},"homeConference":{"type":"string"},"homeScore":{"type":"integer"},"homeTeam":{"type":"string"},"id":{"type":"integer"},"lines":{"items":{"properties":{"awayMoneyline":{"type":"number"},"formattedSpread":{"type":"string"},"homeMoneyline":{"type":"number"},"overUnder":{"type":"number"},"overUnderOpen":{"type":"number"},"provider":{"type":"string"},"spread":{"type":"number"},"spreadOpen":{"type":"number"}},"type":"object"},"type":"array"},"season":{"type":"integer"},"seasonType":{"type":"string"},"startDate":{"type":"string"},"week":{"type":"integer"}},"type":"object"},"GameMedia":{"properties":{"awayConference":{"type":"string"},"awayTeam":{"type":"string"},"homeConference":{"type":"string"},"homeTeam":{"type":"string"},"id":{"type":"integer"},"isStartTimeTBD":{"type":"boolean"},"mediaType":{"type":"string"},"outlet":{"type":"string"},"season":{"type":"integer"},"seasonType":{"type":"string"},"startTime":{"type":"string"},"week":{"type":"integer"}},"type":"object"},"GamePPA":{"properties":{"conference":{"type":"string"},"defense":{"properties":{"firstDown":{"type":"number"},"overall":{"type":"number"},"passing":{"type":"number"},"rushing":{"type":"number"},"secondDown":{"type":"number"},"thirdDown":{"type":"number"}},"type":"object"},"gameId":{"type":"integer"},"offense":{"properties":{"firstDown":{"type":"number"},"overall":{"type":"number"},"passing":{"type":"number"},"rushing":{"type":"number"},"secondDown":{"type":"number"},"thirdDown":{"type":"number"}},"type":"object"},"opponent":{"type":"string"},"season":{"type":"integer"},"team":{"type":"string"},"week":{"type":"integer"}},"type":"object"},"GameWeather":{"properties":{"awayConference":{"type":"string"},"awayTeam":{"type":"string"},"dewPoint":{"type":"number"},"gameIndoors":{"type":"boolean"},"homeConference":{"type":"string"},"homeTeam":{"type":"string"},"humidity":{"type":"number"},"id":{"type":"integer"},"precipitation":{"type":"number"},"pressure":{"type":"number"},"season":{"type":"integer"},"seasonType":{"type":"string"},"snowfall":{"type":"number"},"startTime":{"type":"string"},"temperature":{"type":"number"},"venue":{"type":"string"},"venueId":{"type":"integer"},"weatherCondition":{"type":"string"},"weatherConditionCode":{"type":"integer"},"week":{"type":"integer"},"windDirection":{"type":"number"},"windSpeed":{"type":"number"}},"type":"object"},"LivePlayByPlay":{"properties":{"clock":{"type":"string"},"distance":{"type":"integer"},"down":{"type":"integer"},"drives":{"items":{"properties":{"defense":{"type":"string"},"defenseId":{"type":"integer"},"duration":{"type":"string"},"endClock":{"type":"string"},"endPeriod":{"type":"integer"},"endYardsToGoal":{"type":"integer"},"id":{"type":"integer"},"offense":{"type":"string"},"offenseId":{"type":"integer"},"playCount":{"type":"integer"},"plays":{"items":{"properties":{"awayScore":{"type":"integer"},"clock":{"type":"string"},"distance":{"type":"integer"},"down":{"type":"integer"},"downType":{"type":"string"},"epa":{"type":"number"},"garbageTime":{"type":"boolean"},"homeScore":{"type":"integer"},"id":{"type":"integer"},"period":{"type":"integer"},"playText":{"type":"string"},"playType":{"type":"string"},"playTypeId":{"type":"integer"},"rushPass":{"type":"string"},"success":{"type":"boolean"},"team":{"type":"string"},"teamId":{"type":"integer"},"wallclock":{"type":"string"},"yardsGained":{"type":"integer"},"yardsToGoal":{"type":"integer"}},"type":"object"},"type":"array"},"scoringOpportunity":{"type":"boolean"},"startClock":{"type":"string"},"startPeriod":{"type":"integer"},"startYardsToGoal":{"type":"integer"},"yards":{"type":"integer"}},"type":"object"},"type":"array"},"id":{"type":"integer"},"period":{"type":"integer"},"possession":{"type":"string"},"status":{"type":"string"},"teams":{"items":{"properties":{"drives":{"type":"integer"},"epaPerPass":{"type":"number"},"epaPerPlay":{"type":"number"},"epaPerRush":{"type":"number"},"explosiveness":{"type":"number"},"homeAway":{"type":"string"},"lineYards":{"type":"integer"},"lineYardsPerRush":{"type":"number"},"openFieldYards":{"type":"integer"},"openFieldYardsPerRush":{"type":"number"},"passingDownSuccessRate":{"type":"number"},"passingEpa":{"type":"number"},"plays":{"type":"integer"},"points":{"type":"integer"},"pointsPerOpportunity":{"type":"number"},"rushingEpa":{"type":"number"},"scoringOpportunities":{"type":"integer"},"secondLevelYards":{"type":"integer"},"secondLevelYardsPerRush":{"type":"number"},"standardDownSuccessRate":{"type":"number"},"successRate":{"type":"number"},"team":{"type":"string"},"teamId":{"type":"integer"},"totalEpa":{"type":"number"}},"type":"object"},"type":"array"},"yardsToGoal":{"type":"integer"}},"type":"object"},"Play":{"properties":{"away":{"type":"string"},"clock":{"properties":{"minutes":{"type":"integer"},"seconds":{"type":"integer"}},"type":"object"},"defense":{"type":"string"},"defense_conference":{"type":"string"},"defense_score":{"type":"integer"},"defense_timeouts":{"type":"integer"},"distance":{"type":"integer"},"down":{"type":"integer"},"drive_id":{"type":"integer"},"drive_number":{"type":"integer"},"game_id":{"type":"integer"},"home":{"type":"string"},"id":{"type":"integer"},"offense":{"type":"string"},"offense_conference":{"type":"string"},"offense_score":{"type":"integer"},"offense_timeouts":{"type":"integer"},"period":{"type":"integer"},"play_number":{"type":"integer"},"play_text":{"type":"string"},"play_type":{"type":"string"},"ppa":{"type":"number"},"scoring":{"type":"boolean"},"wallclock":{"type":"string"},"yard_line":{"type":"integer"},"yards_gained":{"type":"integer"},"yards_to_goal":{"type":"integer"}},"type":"object"},"PlayStat":{"properties":{"athleteId":{"type":"integer"},"athleteName":{"type":"string"},"clock":{"properties":{"minutes":{"type":"integer"},"seconds":{"type":"integer"}},"type":"object"},"conference":{"type":"string"},"distance":{"type":"integer"},"down":{"type":"integer"},"driveId":{"type":"integer"},"gameId":{"type":"integer"},"opponent":{"type":"string"},"opponentScore":{"type":"integer"},"period":{"type":"integer"},"playId":{"type":"integer"},"season":{"type":"integer"},"stat":{"type":"integer"},"statType":{"type":"string"},"team":{"type":"string"},"teamScore":{"type":"integer"},"week":{"type":"integer"},"yardsToGoal":{"type":"integer"}},"type":"object"},"PlayStatType":{"properties":{"id":{"type":"integer"},"name":{"type":"string"}},"type":"object"},"PlayType":{"properties":{"abbreviation":{"type":"string"},"id":{"type":"integer"},"text":{"type":"string"}},"type":"object"},"PlayWP":{"properties":{"away":{"type":"string"},"awayId":{"type":"integer"},"awayScore":{"type":"integer"},"distance":{"type":"integer"},"down":{"type":"integer"},"gamesId":{"type":"integer"},"home":{"type":"string"},"homeBall":{"type":"boolean"},"homeId":{"type":"integer"},"homeScore":{"type":"integer"},"homeWinProb":{"type":"number"},"playId":{"type":"integer"},"playNumber":{"type":"integer"},"playText":{"type":"string"},"spread":{"type":"number"},"timeRemaining":{"type":"integer"},"yardLine":{"type":"integer"}},"type":"object"},"Player":{"properties":{"first_name":{"type":"string"},"height":{"type":"integer"},"home_city":{"type":"string"},"home_country":{"type":"string"},"home_county_fips":{"type":"string"},"home_latitude":{"type":"number"},"home_longitude":{"type":"number"},"home_state":{"type":"string"},"id":{"type":"integer"},"jersey":{"type":"integer"},"last_name":{"type":"string"},"position":{"type":"string"},"recruit_ids":{"items":{"type":"integer"},"type":"array"},"team":{"type":"string"},"weight":{"type":"integer"},"year":{"type":"integer"}},"type":"object"},"PlayerGame":{"properties":{"id":{"type":"integer"},"teams":{"items":{"properties":{"categories":{"items":{"properties":{"name":{"type":"string"},"types":{"items":{"properties":{"athletes":{"items":{"properties":{"id":{"type":"integer"},"name":{"type":"string"},"stat":{"type":"string"}},"type":"object"},"type":"array"},"name":{"type":"string"}},"type":"object"},"type":"array"}},"type":"object"},"type":"array"},"homeAway":{"type":"boolean"},"points":{"type":"integer"},"school":{"properties":{"conference":{"type":"string"},"name":{"type":"string"}},"type":"object"}},"type":"object"},"type":"array"}},"type":"object"},"PlayerGamePPA":{"properties":{"averagePPA":{"properties":{"all":{"type":"number"},"pass":{"type":"number"},"rush":{"type":"number"}},"type":"object"},"name":{"type":"string"},"opponent":{"type":"string"},"position":{"type":"string"},"season":{"type":"integer"},"team":{"type":"string"},"week":{"type":"integer"}},"type":"object"},"PlayerSearchResult":{"properties":{"firstName":{"type":"string"},"height":{"type":"integer"},"hometown":{"type":"string"},"id":{"type":"integer"},"jersey":{"type":"integer"},"lastName":{"type":"string"},"name":{"type":"string"},"position":{"type":"string"},"team":{"type":"string"},"teamColor":{"type":"string"},"teamColorSecondary":{"type":"string"},"weight":{"type":"integer"}},"type":"object"},"PlayerSeasonPPA":{"properties":{"averagePPA":{"properties":{"all":{"type":"number"},"firstDown":{"type":"number"},"pass":{"type":"number"},"passingDowns":{"type":"number"},"rush":{"type":"number"},"secondDown":{"type":"number"},"standardDowns":{"type":"number"},"thirdDown":{"type":"number"}},"type":"object"},"conference":{"type":"string"},"id":{"type":"integer"},"name":{"type":"string"},"position":{"type":"string"},"season":{"type":"integer"},"team":{"type":"string"},"totalPPA":{"properties":{"all":{"type":"number"},"firstDown":{"type":"number"},"pass":{"type":"number"},"passingDowns":{"type":"number"},"rush":{"type":"number"},"secondDown":{"type":"number"},"standardDowns":{"type":"number"},"thirdDown":{"type":"number"}},"type":"object"}},"type":"object"},"PlayerSeasonStat":{"properties":{"category":{"type":"string"},"conference":{"type":"string"},"player":{"type":"string"},"playerId":{"type":"integer"},"season":{"type":"integer"},"stat":{"type":"number"},"statType":{"type":"string"},"team":{"type":"string"}},"type":"object"},"PlayerUsage":{"properties":{"conference":{"type":"string"},"id":{"type":"integer"},"name":{"type":"string"},"position":{"type":"string"},"season":{"type":"integer"},"team":{"type":"string"},"usage":{"properties":{"firstDown":{"type":"number"},"overall":{"type":"number"},"pass":{"type":"number"},"passingDowns":{"type":"number"},"rush":{"type":"number"},"secondDown":{"type":"number"},"standardDowns":{"type":"number"},"thirdDown":{"type":"number"}},"type":"object"}},"type":"object"},"PortalPlayer":{"properties":{"destination":{"type":"string"},"eligibility":{"type":"string"},"firstName":{"type":"string"},"lastName":{"type":"string"},"origin":{"type":"string"},"position":{"type":"string"},"rating":{"type":"number"},"season":{"type":"integer"},"stars":{"type":"integer"},"transferDate":{"type":"string"}},"type":"object"},"PositionGroupRecruitingRating":{"properties":{"averageRating":{"type":"number"},"averageStars":{"type":"number"},"commits":{"type":"number"},"conference":{"type":"string"},"positionGroup":{"type":"string"},"team":{"type":"string"},"totalRating":{"type":"number"}},"type":"object"},"PredictedPoints":{"properties":{"predictedPoints":{"type":"number"},"yardLine":{"type":"integer"}},"type":"object"},"PregameWP":{"properties":{"awayTeam":{"type":"string"},"gameId":{"type":"integer"},"homeTeam":{"type":"string"},"homeWinProb":{"type":"number"},"season":{"type":"integer"},"seasonType":{"type":"string"},"spread":{"type":"number"},"week":{"type":"integer"}},"type":"object"},"RankingWeek":{"properties":{"polls":{"items":{"properties":{"poll":{"type":"string"},"ranks":{"items":{"properties":{"conference":{"type":"string"},"firstPlaceVotes":{"type":"integer"},"points":{"type":"integer"},"rank":{"type":"integer"},"school":{"type":"string"}},"type":"object"},"type":"array"}},"type":"object"},"type":"array"},"season":{"type":"integer"},"seasonType":{"type":"string"},"week":{"type":"integer"}},"type":"object"},"Recruit":{"properties":{"athleteId":{"type":"integer"},"city":{"type":"string"},"committedTo":{"type":"string"},"country":{"type":"string"},"height":{"type":"number"},"hometownInfo":{"properties":{"countyFips":{"type":"string"},"latitude":{"type":"number"},"longitude":{"type":"number"}},"type":"object"},"id":{"type":"integer"},"name":{"type":"string"},"position":{"type":"string"},"ranking":{"type":"integer"},"rating":{"type":"number"},"recruitType":{"type":"string"},"school":{"type":"string"},"stars":{"type":"integer"},"stateProvince":{"type":"string"},"weight":{"type":"integer"},"year":{"type":"integer"}},"type":"object"},"ReturningProduction":{"properties":{"conference":{"type":"string"},"passingUsage":{"type":"number"},"percentPPA":{"type":"number"},"percentPassingPPA":{"type":"number"},"percentReceivingPPA":{"type":"number"},"percentRushingPPA":{"type":"number"},"receivingUsage":{"type":"number"},"rushingUsage":{"type":"number"},"season":{"type":"integer"},"team":{"type":"string"},"totalPPA":{"type":"number"},"totalPassingPPA":{"type":"number"},"totalReceivingPPA":{"type":"number"},"totalRushingPPA":{"type":"number"},"usage":{"type":"number"}},"type":"object"},"ScoreboardGame":{"properties":{"awayTeam":{"properties":{"classification":{"type":"string"},"conference":{"type":"string"},"id":{"type":"integer"},"name":{"type":"string"},"points":{"type":"integer"}},"type":"object"},"betting":{"properties":{"awayMoneyline":{"type":"integer"},"homeMoneyline":{"type":"integer"},"overUnder":{"type":"number"},"spread":{"type":"number"}},"type":"object"},"clock":{"type":"string"},"conferenceGame":{"type":"boolean"},"homeTeam":{"properties":{"classification":{"type":"string"},"conference":{"type":"string"},"id":{"type":"integer"},"name":{"type":"string"},"points":{"type":"integer"}},"type":"object"},"id":{"type":"integer"},"neutralSite":{"type":"boolean"},"period":{"type":"integer"},"possession":{"type":"string"},"situation":{"type":"string"},"startDate":{"type":"string"},"startTimeTBD":{"type":"boolean"},"status":{"type":"string"},"tv":{"type":"string"},"venue":{"properties":{"city":{"type":"string"},"name":{"type":"string"},"state":{"type":"string"}},"type":"object"},"weather":{"properties":{"description":{"type":"string"},"temperature":{"type":"number"},"windDirection":{"type":"number"},"windSpeed":{"type":"number"}},"type":"object"}},"type":"object"},"Team":{"properties":{"abbreviation":{"type":"string"},"alt_color":{"type":"string"},"alt_name_1":{"type":"string"},"alt_name_2":{"type":"string"},"alt_name_3":{"type":"string"},"classification":{"type":"string"},"color":{"type":"string"},"conference":{"type":"string"},"division":{"type":"string"},"id":{"type":"integer"},"location":{"properties":{"capacity":{"type":"number"},"city":{"type":"string"},"country_code":{"type":"string"},"dome":{"type":"boolean"},"elevation":{"type":"number"},"grass":{"type":"boolean"},"latitude":{"type":"number"},"longitude":{"type":"number"},"name":{"type":"string"},"state":{"type":"string"},"timezone":{"type":"string"},"venue_id":{"type":"integer"},"year_constructed":{"type":"number"},"zip":{"type":"string"}},"type":"object"},"logos":{"items":{"type":"string"},"type":"array"},"mascot":{"type":"string"},"school":{"type":"string"},"twitter":{"type":"string"}},"type":"object"},"TeamEloRating":{"properties":{"conference":{"type":"string"},"elo":{"type":"number"},"team":{"type":"string"},"year":{"type":"integer"}},"type":"object"},"TeamGame":{"properties":{"id":{"type":"integer"},"teams":{"items":{"properties":{"conference":{"type":"string"},"homeAway":{"type":"string"},"points":{"type":"integer"},"school":{"type":"string"},"stats":{"items":{"properties":{"category":{"type":"string"},"stat":{"type":"string"}},"type":"object"},"type":"array"}},"type":"object"},"type":"array"}},"type":"object"},"TeamMatchup":{"properties":{"endYear":{"type":"integer"},"games":{"items":{"properties":{"awayScore":{"type":"integer"},"awayTeam":{"type":"string"},"date":{"type":"string"},"homeScore":{"type":"integer"},"homeTeam":{"type":"string"},"neutralSite":{"type":"boolean"},"season":{"type":"integer"},"season_type":{"type":"string"},"venue":{"type":"string"},"week":{"type":"integer"},"winner":{"type":"string"}},"type":"object"},"type":"array"},"startYear":{"type":"integer"},"team1":{"type":"string"},"team1Wins":{"type":"integer"},"team2":{"type":"string"},"team2Wins":{"type":"integer"},"ties":{"type":"integer"}},"type":"object"},"TeamPPA":{"properties":{"conference":{"type":"string"},"defense":{"properties":{"cumulative":{"properties":{"passing":{"type":"number"},"rushing":{"type":"number"},"total":{"type":"number"}},"type":"object"},"firstDown":{"type":"number"},"overall":{"type":"number"},"passing":{"type":"number"},"rushing":{"type":"number"},"secondDown":{"type":"number"},"thirdDown":{"type":"number"}},"type":"object"},"offense":{"properties":{"cumulative":{"properties":{"passing":{"type":"number"},"rushing":{"type":"number"},"total":{"type":"number"}},"type":"object"},"firstDown":{"type":"number"},"overall":{"type":"number"},"passing":{"type":"number"},"rushing":{"type":"number"},"secondDown":{"type":"number"},"thirdDown":{"type":"number"}},"type":"object"},"season":{"type":"integer"},"team":{"type":"string"}},"type":"object"},"TeamRecord":{"properties":{"awayGames":{"properties":{"games":{"type":"integer"},"losses":{"type":"integer"},"ties":{"type":"integer"},"wins":{"type":"integer"}},"type":"object"},"conference":{"type":"string"},"conferenceGames":{"properties":{"games":{"type":"integer"},"losses":{"type":"integer"},"ties":{"type":"integer"},"wins":{"type":"integer"}},"type":"object"},"division":{"type":"string"},"expectedWins":{"type":"number"},"homeGames":{"properties":{"games":{"type":"integer"},"losses":{"type":"integer"},"ties":{"type":"integer"},"wins":{"type":"integer"}},"type":"object"},"team":{"type":"string"},"total":{"properties":{"games":{"type":"integer"},"losses":{"type":"integer"},"ties":{"type":"integer"},"wins":{"type":"integer"}},"type":"object"},"year":{"type":"integer"}},"type":"object"},"TeamRecruitingRank":{"properties":{"points":{"type":"number"},"rank":{"type":"integer"},"team":{"type":"string"},"year":{"type":"integer"}},"type":"object"},"TeamSPRating":{"properties":{"conference":{"type":"string"},"defense":{"properties":{"explosiveness":{"type":"number"},"havoc":{"properties":{"db":{"type":"number"},"frontSeven":{"type":"number"},"total":{"type":"number"}},"type":"object"},"pasing":{"type":"number"},"passingDowns":{"type":"number"},"ranking":{"type":"number"},"rating":{"type":"number"},"rushing":{"type":"number"},"standardDowns":{"type":"number"},"success":{"type":"number"}},"type":"object"},"offense":{"properties":{"explosiveness":{"type":"number"},"pace":{"type":"number"},"passing":{"type":"number"},"passingDowns":{"type":"number"},"ranking":{"type":"number"},"rating":{"type":"number"},"runRate":{"type":"number"},"rushing":{"type":"number"},"standardDowns":{"type":"number"},"success":{"type":"number"}},"type":"object"},"ranking":{"type":"number"},"rating":{"type":"number"},"secondOrderWins":{"type":"number"},"sos":{"type":"number"},"specialTeams":{"properties":{"rating":{"type":"number"}},"type":"object"},"team":{"type":"string"},"year":{"type":"integer"}},"type":"object"},"TeamSRSRating":{"properties":{"conference":{"type":"string"},"division":{"type":"string"},"ranking":{"type":"number"},"rating":{"type":"number"},"team":{"type":"string"},"year":{"type":"integer"}},"type":"object"},"TeamSeason":{"properties":{"games":{"type":"integer"},"losses":{"type":"integer"},"postseason_rank":{"description":"Final ranking in the AP poll","type":"integer"},"preseason_rank":{"description":"Rank in the AP preseason poll","type":"integer"},"school":{"type":"string"},"sp_defense":{"description":"Final SP+ defensive rating","type":"number"},"sp_offense":{"description":"Final SP+ offensive rating","type":"number"},"sp_overall":{"description":"Final overall SP+ rating","type":"number"},"srs":{"description":"Final SRS rankings","type":"number"},"ties":{"type":"integer"},"wins":{"type":"integer"},"year":{"type":"string"}},"type":"object"},"TeamSeasonStat":{"properties":{"conference":{"type":"string"},"season":{"type":"integer"},"statName":{"type":"string"},"statValue":{"type":"integer"},"team":{"type":"string"}},"type":"object"},"TeamTalent":{"properties":{"school":{"type":"string"},"talent":{"type":"number"},"year":{"type":"integer"}},"type":"object"},"Venue":{"properties":{"capacity":{"type":"integer"},"city":{"type":"string"},"country_code":{"type":"string"},"dome":{"type":"boolean"},"elevation":{"type":"number"},"grass":{"type":"boolean"},"id":{"type":"integer"},"location":{"properties":{"x":{"type":"number"},"y":{"type":"number"}},"type":"object"},"name":{"type":"string"},"state":{"type":"string"},"timezone":{"type":"string"},"year_constructed":{"type":"integer"},"zip":{"type":"string"}},"type":"object"},"Week":{"properties":{"firstGameStart":{"type":"string"},"lastGameStart":{"type":"string"},"season":{"type":"integer"},"seasonType":{"type":"string"},"week":{"type":"integer"}},"type":"object"}},"securitySchemes":{"ApiKeyAuth":{"in":"header","name":"Authorization","type":"apiKey"}}}}