{"note":"OpenAPI conversion -- returning structured metadata","name":"collegefootballdata-com","description":"College Football Data API","version":"5.24.1","base_url":"https://api.collegefootballdata.com/","endpoints":74,"raw":"@lap v0.3\n# Machine-readable API spec. Each @endpoint block is one API call.\n@api College Football Data API\n@base https://api.collegefootballdata.com/\n@version 5.24.1\n@auth Bearer bearer\n@endpoints 74\n@hint download_for_search\n@toc wepa(4), teams(4), roster(1), conferences(3), talent(1), venues(1), stats(8), recruiting(3), ratings(7), rankings(1), plays(4), playoffs(3), player(5), ppa(5), metrics(3), live(1), lines(1), info(2), games(5), records(1), calendar(1), scoreboard(1), drives(1), draft(3), coaches(4), game(1)\n\n@group wepa\n@endpoint GET /wepa/team/season\n@desc Returns opponent-adjusted team statistics by season.\n@optional {year: int(int32) # Season year., team: str # Team name., conference: str # Conference name or abbreviation.}\n@returns(200) Ok\n\n@endpoint GET /wepa/players/passing\n@desc Returns opponent-adjusted player passing metrics.\n@optional {year: int(int32) # Season year., team: str # Team name., conference: str # Conference abbreviation., position: str # Player position abbreviation.}\n@returns(200) Ok\n\n@endpoint GET /wepa/players/rushing\n@desc Returns opponent-adjusted player rushing metrics.\n@optional {year: int(int32) # Season year., team: str # Team name., conference: str # Conference abbreviation., position: str # Player position abbreviation.}\n@returns(200) Ok\n\n@endpoint GET /wepa/players/kicking\n@desc Returns Points Added Above Replacement (PAAR) ratings for kickers.\n@optional {year: int(int32) # Season year., team: str # Team name., conference: str # Conference abbreviation.}\n@returns(200) Ok\n\n@endgroup\n\n@group teams\n@endpoint GET /teams\n@desc Returns team information and conference affiliations.\n@optional {conference: str # Conference abbreviation., year: int(int32) # Season year for historical conference affiliations.}\n@returns(200) Ok\n\n@endpoint GET /teams/fbs\n@desc Returns Football Bowl Subdivision (FBS) teams for a season.\n@optional {year: int(int32) # Season year.}\n@returns(200) Ok\n\n@endpoint GET /teams/matchup\n@desc Returns historical matchup results between two teams.\n@required {team1: str # First team name., team2: str # Second team name.}\n@optional {minYear: int(int32) # Earliest season year to include., maxYear: int(int32) # Latest season year to include.}\n@returns(200) {team1: str, team2: str, startYear: int(int32), endYear: int(int32), team1Wins: int(int32), team2Wins: int(int32), ties: int(int32), games: [map]} # Ok\n\n@endpoint GET /teams/ats\n@desc Returns against-the-spread (ATS) records by team.\n@required {year: int(int32) # Season year.}\n@optional {conference: str # Conference name or abbreviation., team: str # Team name.}\n@returns(200) Ok\n\n@endgroup\n\n@group roster\n@endpoint GET /roster\n@desc Returns historical roster data.\n@optional {team: str # Team name., year: int(int32) # Season year. Defaults to 2025., classification: str # Division classification: `fbs` or `fcs`.}\n@returns(200) Ok\n\n@endgroup\n\n@group conferences\n@endpoint GET /conferences\n@desc Returns conferences and member counts.\n@optional {year: int(int32) # Season year used to calculate membership., classification: str # Conference classification.}\n@returns(200) Ok\n\n@endpoint GET /conferences/changes\n@desc Returns team conference changes by season.\n@required {year: int(int32) # Season year.}\n@returns(200) Ok\n\n@endpoint GET /conferences/affiliations\n@desc Returns historical team conference affiliations.\n@optional {team: str # Team school name or abbreviation., conference: str # Conference name or abbreviation., year: int(int32) # Season year. Cannot be combined with `minYear` or `maxYear`., minYear: int(int32) # Earliest season year to include., maxYear: int(int32) # Latest season year to include., classification: str # Conference classification.}\n@returns(200) Ok\n\n@endgroup\n\n@group talent\n@endpoint GET /talent\n@desc Returns 247Sports Team Talent Composite ratings for a season.\n@required {year: int(int32) # Season year.}\n@returns(200) Ok\n\n@endgroup\n\n@group venues\n@endpoint GET /venues\n@desc Returns college football venues.\n@returns(200) Ok\n\n@endgroup\n\n@group stats\n@endpoint GET /stats/player/season\n@desc Returns player statistics aggregated by season.\n@required {year: int(int32) # Season year.}\n@optional {conference: str # Conference name or abbreviation., team: str # Team name., startWeek: int(int32) # Earliest week to include., endWeek: int(int32) # Latest week to include., seasonType: str # Season type., category: str # Statistical category.}\n@returns(200) Ok\n\n@endpoint GET /stats/player/success\n@desc Returns player passing and rushing success rates by season.\n@optional {year: int(int32) # Season year. Required unless `playerId` is specified., conference: str # Conference abbreviation., team: str # Team name., playerId: int(int32) # Player ID. Required unless `year` is specified., seasonType: str # Season type., startWeek: int(int32) # Earliest week to include., endWeek: int(int32) # Latest week to include., threshold: int(int32) # Minimum credited passing and rushing plays., excludeGarbageTime: bool # Excludes garbage-time plays when `true`.}\n@returns(200) Ok\n\n@endpoint GET /stats/player/success/game\n@desc Returns player passing and rushing success rates by game.\n@required {year: int(int32) # Season year.}\n@optional {week: int(int32) # Week number. Required unless `team` or `playerId` is specified., seasonType: str # Season type., conference: str # Conference abbreviation., team: str # Team name., playerId: int(int32) # Player ID., threshold: int(int32) # Minimum credited passing and rushing plays., excludeGarbageTime: bool # Excludes garbage-time plays when `true`.}\n@returns(200) Ok\n\n@endpoint GET /stats/season\n@desc Returns team statistics aggregated by season.\n@optional {year: int(int32) # Season year. Required unless `team` is specified., team: str # Team name. Required unless `year` is specified., conference: str # Conference name or abbreviation., startWeek: int(int32) # Earliest week to include., endWeek: int(int32) # Latest week to include., classification: str # Division classification. Defaults to `fbs`.}\n@returns(200) Ok\n\n@endpoint GET /stats/categories\n@desc Returns the available team statistical categories.\n@returns(200) Ok\n\n@endpoint GET /stats/season/advanced\n@desc Returns advanced team statistics aggregated by season.\n@optional {year: int(int32) # Season year. Required unless `team` is specified., team: str # Team name. Required unless `year` is specified., excludeGarbageTime: bool # Excludes garbage-time plays when `true`. Defaults to `false`., startWeek: int(int32) # Earliest week to include., endWeek: int(int32) # Latest week to include., classification: str # Division classification. Defaults to `fbs`.}\n@returns(200) Ok\n\n@endpoint GET /stats/game/advanced\n@desc Returns advanced team statistics aggregated by game.\n@optional {year: int(int32) # Season year. Required unless `team` is specified., team: str # Team name. Required unless `year` is specified., week: num(double) # Week number., opponent: str # Opponent team name., excludeGarbageTime: bool # Excludes garbage-time plays when `true`. Defaults to `false`., seasonType: str # Season type.}\n@returns(200) Ok\n\n@endpoint GET /stats/game/havoc\n@desc Returns team havoc statistics aggregated by game.\n@optional {year: int(int32) # Season year. Required unless `team` is specified., team: str # Team name. Required unless `year` is specified., week: num(double) # Week number., opponent: str # Opponent team name., seasonType: str # Season type.}\n@returns(200) Ok\n\n@endgroup\n\n@group recruiting\n@endpoint GET /recruiting/players\n@desc Returns player recruiting rankings.\n@optional {year: int(int32) # Recruiting class year. Required unless `team` is specified., team: str # Team name. Required unless `year` is specified., position: str # Position category., state: str # State or province abbreviation., classification: str # Recruit classification. Defaults to `HighSchool`.}\n@returns(200) Ok\n\n@endpoint GET /recruiting/teams\n@desc Returns team recruiting rankings.\n@optional {year: int(int32) # Recruiting class year., team: str # Team name.}\n@returns(200) Ok\n\n@endpoint GET /recruiting/groups\n@desc Returns recruiting ratings aggregated by team and position group.\n@optional {team: str # Team name., conference: str # Conference name or abbreviation., recruitType: str # Recruit classification. Defaults to `HighSchool`., startYear: int(int32) # Earliest recruiting class year. Defaults to 2000., endYear: int(int32) # Latest recruiting class year. Defaults to the current year.}\n@returns(200) Ok\n\n@endgroup\n\n@group ratings\n@endpoint GET /ratings/core\n@desc Returns Context & Opponent-Relative Efficiency (CORE) ratings.\n@optional {year: int(int32) # Season year. Required unless `team` is specified., team: str # Exact team name. Required unless `year` is specified., conference: str # Conference name or abbreviation.}\n@returns(200) Ok\n\n@endpoint GET /ratings/sp\n@desc Returns SP+ ratings by team and season.\n@optional {year: int(int32) # Season year. Required unless `team` is specified., team: str # Team name. Required unless `year` is specified.}\n@returns(200) Ok\n\n@endpoint GET /ratings/sp/conferences\n@desc Returns conference-level SP+ ratings by season.\n@optional {year: int(int32) # Season year., conference: str # Conference name or abbreviation., classification: str # Division classification. Defaults to `fbs`.}\n@returns(200) Ok\n\n@endpoint GET /ratings/srs\n@desc Returns Simple Rating System (SRS) ratings by team and season.\n@optional {year: int(int32) # Season year. Required unless `team` is specified., team: str # Team name. Required unless `year` is specified., conference: str # Conference name or abbreviation.}\n@returns(200) Ok\n\n@endpoint GET /ratings/srs/expanded\n@desc Returns expanded Simple Rating System (SRS) ratings, including FCS teams.\n@optional {year: int(int32) # Season year. Required unless `team` is specified., team: str # Team name. Required unless `year` is specified., conference: str # Conference name or abbreviation., classification: str # Division classification: `fbs` or `fcs`.}\n@returns(200) Ok\n\n@endpoint GET /ratings/elo\n@desc Returns historical Elo ratings.\n@optional {year: int(int32) # Season year., week: int(int32) # Week number. Defaults to the latest available week in the season., seasonType: str # Season type., team: str # Team name., conference: str # Conference name or abbreviation.}\n@returns(200) Ok\n\n@endpoint GET /ratings/fpi\n@desc Returns historical Football Power Index (FPI) ratings.\n@optional {year: int(int32) # Season year. Required unless `team` is specified., team: str # Team name. Required unless `year` is specified., conference: str # Conference name or abbreviation.}\n@returns(200) Ok\n\n@endgroup\n\n@group rankings\n@endpoint GET /rankings\n@desc Returns historical poll rankings.\n@required {year: int(int32) # Season year.}\n@optional {seasonType: str # Season type., week: num(double) # Poll week., poll: str # Poll name., latest: bool # Returns the latest CFP snapshot when `true`, preferring the snapshot marked as final. Requires `poll=cfp` and cannot be combined with `final`., final: bool # Returns the CFP snapshot marked as final when `true`. Requires `poll=cfp` and cannot be combined with `latest`.}\n@returns(200) Ok\n@errors {400: Validation error}\n\n@endgroup\n\n@group plays\n@endpoint GET /plays\n@desc Returns historical play-by-play data.\n@required {year: int(int32) # Season year., week: int(int32) # Week number.}\n@optional {team: str # Team name on either side of the play., offense: str # Offensive team name., defense: str # Defensive team name., offenseConference: str # Offensive team conference., defenseConference: str # Defensive team conference., conference: str # Conference of either team., playType: str # Play type abbreviation., seasonType: str # Season type., classification: str # Division classification of either team.}\n@returns(200) Ok\n\n@endpoint GET /plays/types\n@desc Returns the available play types.\n@returns(200) Ok\n\n@endpoint GET /plays/stats\n@desc Returns player and play-stat associations, limited to 2,000 records.\n@optional {year: int(int32) # Season year., week: int(int32) # Week number., team: str # Team name., gameId: int(int32) # Game ID., athleteId: int(int32) # Athlete ID., statTypeId: int(int32) # Play stat type ID., seasonType: str # Season type., conference: str # Conference name or abbreviation.}\n@returns(200) Ok\n\n@endpoint GET /plays/stats/types\n@desc Returns the available play stat types.\n@returns(200) Ok\n\n@endgroup\n\n@group playoffs\n@endpoint GET /playoffs/cfp\n@desc Returns the complete College Football Playoff bracket for a season.\n@required {year: int(int32) # Season year.}\n@returns(200) {season: int(int32), competition: str, format: str, teamCount: int(int32), status: str, participants: [map], rounds: [map], champion: any?} # Ok\n@errors {400: Validation error, 404}\n\n@endpoint GET /playoffs/cfp/participants\n@desc Returns College Football Playoff participants for a season.\n@required {year: int(int32) # Season year.}\n@returns(200) Ok\n@errors {400: Validation error, 404}\n\n@endpoint GET /playoffs/cfp/games\n@desc Returns College Football Playoff matchups for a season.\n@required {year: int(int32) # Season year.}\n@optional {round: str # Playoff round.}\n@returns(200) Ok\n@errors {400: Validation error, 404}\n\n@endgroup\n\n@group player\n@endpoint GET /player/search\n@desc Returns up to 100 players whose names match the search term.\n@required {searchTerm: str # Full or partial player name.}\n@optional {year: int(int32) # Season year., team: str # Team name., position: str # Player position abbreviation.}\n@returns(200) Ok\n\n@endpoint GET /player/usage\n@desc Returns player usage metrics for a season.\n@required {year: int(int32) # Season year.}\n@optional {conference: str # Conference abbreviation., position: str # Player position abbreviation., team: str # Team name., playerId: int(int32) # Player ID., excludeGarbageTime: bool # Excludes garbage-time plays when `true`. Defaults to `false`.}\n@returns(200) Ok\n\n@endpoint GET /player/season/overview\n@desc Returns a player season overview with box score, usage, and Predicted\n@required {year: int(int32) # Season year., playerId: int(int32) # Player ID.}\n@returns(200) {season: int(int32), id: str, name: str, position: str, team: str, conference: str, games: int(int32), boxScoreStats: map{categories: [map]}, usage: map{passingDowns: num(double)?, standardDowns: num(double)?, thirdDown: num(double)?, secondDown: num(double)?, firstDown: num(double)?, rush: num(double)?, pass: num(double)?, overall: num(double)?}, ppa: map{average: map{passingDowns: num(double), standardDowns: num(double), thirdDown: num(double), secondDown: num(double), firstDown: num(double), rush: num(double), pass: num(double), all: num(double)}, total: map{passingDowns: num(double), standardDowns: num(double), thirdDown: num(double), secondDown: num(double), firstDown: num(double), rush: num(double), pass: num(double), all: num(double)}}} # Ok\n\n@endpoint GET /player/returning\n@desc Returns returning production metrics by team and season.\n@optional {year: int(int32) # Season year. Required unless `team` is specified., team: str # Team name. Required unless `year` is specified., conference: str # Conference name or abbreviation.}\n@returns(200) Ok\n\n@endpoint GET /player/portal\n@desc Returns transfer portal entries for a season.\n@required {year: int(int32) # Season year.}\n@returns(200) Ok\n\n@endgroup\n\n@group ppa\n@endpoint GET /ppa/predicted\n@desc Returns predicted points values by down and distance.\n@required {down: int(int32) # Down number., distance: int(int32) # Distance to gain, in yards.}\n@returns(200) Ok\n\n@endpoint GET /ppa/teams\n@desc Returns team Predicted Points Added (PPA) metrics by season.\n@optional {year: int(int32) # Season year. Required unless `team` is specified., team: str # Team name. Required unless `year` is specified., conference: str # Conference abbreviation., excludeGarbageTime: bool # Excludes garbage-time plays when `true`., classification: str # Division classification. Defaults to `fbs`.}\n@returns(200) Ok\n\n@endpoint GET /ppa/games\n@desc Returns team Predicted Points Added (PPA) metrics by game.\n@required {year: int(int32) # Season year.}\n@optional {week: int(int32) # Week number., seasonType: str # Season type., team: str # Team name., conference: str # Conference abbreviation., excludeGarbageTime: bool # Excludes garbage-time plays when `true`., classification: str # Division classification. Defaults to `fbs`.}\n@returns(200) Ok\n\n@endpoint GET /ppa/players/games\n@desc Returns player Predicted Points Added (PPA) metrics by game.\n@required {year: int(int32) # Season year.}\n@optional {week: int(int32) # Week number. Required unless `team` is specified., seasonType: str # Season type., team: str # Team name. Required unless `week` is specified., position: str # Player position abbreviation., playerId: str # Player ID., threshold: num(double) # Minimum number of plays., excludeGarbageTime: bool # Excludes garbage-time plays when `true`.}\n@returns(200) Ok\n\n@endpoint GET /ppa/players/season\n@desc Returns player Predicted Points Added (PPA) metrics by season.\n@optional {year: int(int32) # Season year. Required unless `playerId` is specified., conference: str # Conference abbreviation., team: str # Team name., position: str # Player position abbreviation., playerId: str # Player ID. Required unless `year` is specified., threshold: num(double) # Minimum number of plays., excludeGarbageTime: bool # Excludes garbage-time plays when `true`.}\n@returns(200) Ok\n\n@endgroup\n\n@group metrics\n@endpoint GET /metrics/wp\n@desc Returns play-by-play win probabilities for a game.\n@required {gameId: int(int32) # Game ID.}\n@returns(200) Ok\n\n@endpoint GET /metrics/wp/pregame\n@desc Returns pregame win probabilities.\n@optional {year: int(int32) # Season year., week: int(int32) # Week number., seasonType: str # Season type., team: str # Team name.}\n@returns(200) Ok\n\n@endpoint GET /metrics/fg/ep\n@desc Returns expected points values for field goal attempts.\n@returns(200) Ok\n\n@endgroup\n\n@group live\n@endpoint GET /live/plays\n@desc Returns live play-by-play data and advanced metrics for a game.\n@required {gameId: int(int32) # Game ID.}\n@returns(200) {id: int(int32), status: str, period: int(int32)?, clock: str, possession: str, down: int(int32)?, distance: int(int32)?, yardsToGoal: int(int32)?, teams: [map], drives: [map]} # Ok\n\n@endgroup\n\n@group lines\n@endpoint GET /lines\n@desc Returns historical betting lines and results.\n@optional {gameId: int(int32) # Game ID., year: int(int32) # Season year. Required unless `gameId` is specified., seasonType: str # Season type., week: int(int32) # Week number., team: str # Team name on either side of the game., home: str # Home team name., away: str # Away team name., conference: str # Conference of either team., provider: str # Betting line provider.}\n@returns(200) Ok\n\n@endgroup\n\n@group info\n@endpoint GET /info\n@desc Returns the authenticated user's Patreon level and remaining API calls.\n@returns(200) Ok\n\n@endpoint GET /info/usage\n@desc Returns recent usage for the authenticated user's shared CFB and CBB call\n@optional {days: int(int32) # Trailing days to include. Defaults to 7; maximum 31., limit: int(int32) # Maximum endpoint and request rows to return. Defaults to 10; maximum 50., api: str # API to include: `all`, `cfb`, or `cbb`.}\n@returns(200) Ok\n\n@endgroup\n\n@group games\n@endpoint GET /games\n@desc Returns historical game data.\n@optional {year: int(int32) # Season year. Required unless `id` is specified., week: int(int32) # Week number., seasonType: str # Season type., classification: str # Division classification., team: str # Team name on either side of the game., home: str # Home team name., away: str # Away team name., conference: str # Conference of either team., id: int(int32) # Game ID. When specified, returns data for that game., competition: str # Playoff competition., round: str # Playoff round. Requires `competition`.}\n@returns(200) Ok\n@errors {400: Validation error}\n\n@endpoint GET /games/teams\n@desc Returns team box score statistics by game.\n@optional {year: int(int32) # Season year. Required unless `id` is specified., week: int(int32) # Week number. One of `week`, `team`, or `conference` is required when filtering by year., team: str # Team name. One of `week`, `team`, or `conference` is required when filtering by year., conference: str # Conference name or abbreviation. One of `week`, `team`, or `conference` is required when filtering by year., classification: str # Division classification., seasonType: str # Season type., id: int(int32) # Game ID. When specified, returns statistics for that game.}\n@returns(200) Ok\n\n@endpoint GET /games/players\n@desc Returns player box score statistics by game.\n@optional {year: int(int32) # Season year. Required unless `id` is specified., week: int(int32) # Week number. One of `week`, `team`, or `conference` is required when filtering by year., team: str # Team name. One of `week`, `team`, or `conference` is required when filtering by year., conference: str # Conference name or abbreviation. One of `week`, `team`, or `conference` is required when filtering by year., classification: str # Division classification., seasonType: str # Season type., category: str # Player statistical category., id: int(int32) # Game ID. When specified, returns statistics for that game.}\n@returns(200) Ok\n\n@endpoint GET /games/media\n@desc Returns broadcast and media information for games.\n@required {year: int(int32) # Season year.}\n@optional {seasonType: str # Season type., week: int(int32) # Week number., team: str # Team name., conference: str # Conference name or abbreviation., mediaType: str # Media type., classification: str # Division classification.}\n@returns(200) Ok\n\n@endpoint GET /games/weather\n@desc Returns historical and forecast weather data for games. Requires Patreon.\n@optional {year: int(int32) # Season year. Required unless `gameId` is specified., seasonType: str # Season type., week: int(int32) # Week number., team: str # Team name., conference: str # Conference name or abbreviation., classification: str # Division classification., gameId: int(int32) # Game ID. When specified, returns weather for that game.}\n@returns(200) Ok\n\n@endgroup\n\n@group records\n@endpoint GET /records\n@desc Returns historical team records by season.\n@optional {year: int(int32) # Season year. Required unless `team` is specified., team: str # Team name. Required unless `year` is specified., conference: str # Conference name or abbreviation.}\n@returns(200) Ok\n\n@endgroup\n\n@group calendar\n@endpoint GET /calendar\n@desc Returns the week-by-week season calendar.\n@required {year: int(int32) # Season year.}\n@returns(200) Ok\n\n@endgroup\n\n@group scoreboard\n@endpoint GET /scoreboard\n@desc Returns current scoreboard data.\n@optional {classification: str # Division classification. Defaults to `fbs`., conference: str # Conference name or abbreviation.}\n@returns(200) Ok\n\n@endgroup\n\n@group drives\n@endpoint GET /drives\n@desc Returns historical drive data.\n@required {year: int(int32) # Season year.}\n@optional {seasonType: str # Season type., week: int(int32) # Week number., team: str # Team name on either side of the drive., offense: str # Offensive team name., defense: str # Defensive team name., conference: str # Conference of either team., offenseConference: str # Offensive team conference., defenseConference: str # Defensive team conference., classification: str # Division classification of either team.}\n@returns(200) Ok\n\n@endgroup\n\n@group draft\n@endpoint GET /draft/teams\n@desc Returns the NFL teams represented in draft data.\n@returns(200) Ok\n\n@endpoint GET /draft/positions\n@desc Returns the player position categories used in NFL Draft data.\n@returns(200) Ok\n\n@endpoint GET /draft/picks\n@desc Returns historical NFL Draft picks.\n@optional {year: int(int32) # Draft year., team: str # NFL team name., school: str # College team name., conference: str # College conference name or abbreviation., position: str # Position category.}\n@returns(200) Ok\n\n@endgroup\n\n@group coaches\n@endpoint GET /coaches\n@desc Returns historical head coach records.\n@optional {firstName: str # Coach first name., lastName: str # Coach last name., team: str # Team name., year: int(int32) # Season year., minYear: int(int32) # Earliest season year to include., maxYear: int(int32) # Latest season year to include.}\n@returns(200) Ok\n\n@endpoint GET /coaches/profile\n@desc Returns a coach profile with canonical identity and career totals.\n@required {coachId: int(int32) # Coach ID.}\n@returns(200) {id: int(int32), firstName: str, lastName: str, displayName: str?, currentTeam: any?, career: map{games: int(int32), wins: int(int32), losses: int(int32), ties: int(int32), winPercentage: num(double)?, seasons: int(int32), teams: int(int32), firstYear: int(int32), lastYear: int(int32)}, birthDate: str?, almaMater: any?, graduationYear: int(int32)?, wikidataId: str?, hallOfFameYear: int(int32)?} # Ok\n@errors {400: Validation error, 404}\n\n@endpoint GET /coaches/seasons\n@desc Returns coach-season records with attributed results and team context.\n@optional {coachId: int(int32) # Coach ID., team: str # Team name., year: int(int32) # Exact season year., minYear: int(int32) # Earliest season year to include., maxYear: int(int32) # Latest season year to include.}\n@returns(200) Ok\n@errors {400: Validation error}\n\n@endpoint GET /coaches/tenures\n@desc Returns continuous head-coaching tenures and their attributed records.\n@optional {coachId: int(int32) # Coach ID., team: str # Team name., year: int(int32) # Season year contained within the tenure., active: bool # Filters by active status when specified.}\n@returns(200) Ok\n@errors {400: Validation error}\n\n@endgroup\n\n@group game\n@endpoint GET /game/box/advanced\n@desc Returns an advanced box score for a game.\n@required {id: int(int32) # Game ID.}\n@returns(200) {gameInfo: map{excitement: num(double), homeWinner: bool, awayWinProb: num(double), awayPoints: int(int32), awayTeam: str, homeWinProb: num(double), homePoints: int(int32), homeTeam: str}, teams: map{fieldPosition: [map], scoringOpportunities: [map], havoc: [map], rushing: [map], explosiveness: [map], successRates: [map], cumulativePpa: [map], ppa: [map]}, players: map{ppa: [map], usage: [map]}} # Ok\n\n@endgroup\n\n@end\n"}