From e02755559aec7d077e0788dd198369a5411c50af Mon Sep 17 00:00:00 2001 From: tonywangcn Date: Tue, 10 Nov 2026 16:50:09 +0800 Subject: [PATCH] sdk: sync final 1.51.0 contract to 4769 operations Update the untagged 1.51.0 artifacts and docs to the complete 4,769-operation public contract; add recipes for the newly available NBA and HLTV families. --- CHANGELOG.md | 2 +- docs/operations.md | 40 +- docs/recipes.md | 23 + openapi/public.json | 4299 +++++++++++++++-- src/main/java/net/crawlora/ClientGroups.java | 32 + src/main/java/net/crawlora/OperationId.java | 38 + src/main/java/net/crawlora/Operations.java | 1058 +++- .../crawlora/groups/EpicGamesStoreGroup.java | 52 + .../net/crawlora/groups/HearthstoneGroup.java | 105 + .../java/net/crawlora/groups/NbaGroup.java | 371 ++ .../java/net/crawlora/groups/NhlGroup.java | 158 + .../net/crawlora/groups/SerebiiGroup.java | 396 ++ 12 files changed, 5985 insertions(+), 589 deletions(-) create mode 100644 src/main/java/net/crawlora/groups/EpicGamesStoreGroup.java create mode 100644 src/main/java/net/crawlora/groups/HearthstoneGroup.java create mode 100644 src/main/java/net/crawlora/groups/NhlGroup.java create mode 100644 src/main/java/net/crawlora/groups/SerebiiGroup.java diff --git a/CHANGELOG.md b/CHANGELOG.md index 16d277a..e90d050 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,7 +3,7 @@ ## v1.51.0 - Stable release of the Crawlora SDKs. -- Regenerated from the public API contract (4731 operations). +- Regenerated from the public API contract (4769 operations). ## v1.50.0 diff --git a/docs/operations.md b/docs/operations.md index 7e8b7c9..ef2bd63 100644 --- a/docs/operations.md +++ b/docs/operations.md @@ -2,7 +2,7 @@ Generated from `openapi/public.json`. Deprecated, admin, and internal operations are excluded from this SDK contract. -Total operations: `4731` +Total operations: `4769` | Group | SDK method | Operation ID | HTTP | Params | Auth | Response | Notes | | --- | --- | --- | --- | --- | --- | --- | --- | @@ -1100,6 +1100,7 @@ Total operations: `4731` | eNews | `eNews.eonlineHeadlines` | `eonline-headlines` | `GET /eonline/headlines` | `section` (query String required) | `ApiKeyAuth` | `ENewsEonlineHeadlinesResponse` | | | eNews | `eNews.eonlineNews` | `eonline-news` | `GET /eonline/news` | none | `ApiKeyAuth` | `ENewsEonlineNewsResponse` | | | eNews | `eNews.eonlineSections` | `eonline-sections` | `GET /eonline/sections` | none | `ApiKeyAuth` | `ENewsEonlineSectionsResponse` | | +| epicGamesStore | `epicGamesStore.epicgamesFreePromotions` | `epicgames-free-promotions` | `GET /epicgames/free-promotions` | `locale` (query String)
`country` (query String)
`allowCountries` (query String) | `ApiKeyAuth` | `EpicGamesStoreEpicgamesFreePromotionsResponse` | | | espn | `espn.athlete` | `espn-athlete` | `GET /espn/athlete` | `sport` (query String required)
`league` (query String required)
`athlete` (query String required) | `ApiKeyAuth` | `EspnAthleteResponse` | | | espn | `espn.gameSummary` | `espn-game-summary` | `GET /espn/game-summary` | `sport` (query String required)
`league` (query String required)
`event` (query String required) | `ApiKeyAuth` | `EspnGameSummaryResponse` | | | espn | `espn.news` | `espn-news` | `GET /espn/news` | `sport` (query String required)
`league` (query String required) | `ApiKeyAuth` | `EspnNewsResponse` | | @@ -1859,6 +1860,9 @@ Total operations: `4731` | healthgrades | `healthgrades.physiciansSearch` | `healthgrades-physicians-search` | `GET /healthgrades/physicians/search` | `query` (query String required)
`where` (query String)
`page` (query Integer)
`sort` (query String)
`gender` (query String)
`distance` (query String)
`age` (query String)
`availability` (query String)
`rating` (query String)
`insurance` (query String)
`insurance_plan` (query String)
`language` (query String)
`clinical_focus` (query String)
`affiliated_hospital` (query String)
`specialty` (query String)
`affirming_care` (query Boolean) | `ApiKeyAuth` | `HealthgradesPhysiciansSearchResponse` | | | healthgrades | `healthgrades.specialties` | `healthgrades-specialties` | `GET /healthgrades/specialties` | none | `ApiKeyAuth` | `HealthgradesSpecialtiesResponse` | | | healthgrades | `healthgrades.topSearches` | `healthgrades-top-searches` | `GET /healthgrades/top-searches` | none | `ApiKeyAuth` | `HealthgradesTopSearchesResponse` | | +| hearthstone | `hearthstone.card` | `hearthstone-card` | `GET /hearthstone/card` | `id` (query String required) | `ApiKeyAuth` | `HearthstoneCardResponse` | | +| hearthstone | `hearthstone.cards` | `hearthstone-cards` | `GET /hearthstone/cards` | `page` (query Integer)
`pageSize` (query Integer)
`locale` (query String)
`class` (query String)
`set` (query String)
`sort` (query String)
`order` (query String)
`gameMode` (query String)
`collectible` (query String)
`textFilter` (query String)
`filterLocale` (query String)
`deckcode` (query String)
`cardSetId` (query List)
`spellSchoolId` (query List)
`rarityId` (query List)
`cardTypeId` (query List)
`manaCost` (query List)
`attack` (query List)
`health` (query List)
`armor` (query List)
`rarity` (query String)
`type` (query List)
`bgCardType` (query String)
`keyword` (query String)
`minionType` (query String)
`deckFormat` (query String)
`tier` (query String)
`mercenaryRole` (query String)
`mercenaryFaction` (query String)
`viewMode` (query String)
`cardBackCategory` (query String)
`spellSchool` (query String)
`faction` (query String)
`bgGameMode` (query String)
`zilliaxMod` (query Boolean) | `ApiKeyAuth` | `HearthstoneCardsResponse` | | +| hearthstone | `hearthstone.filters` | `hearthstone-filters` | `GET /hearthstone/filters` | none | `ApiKeyAuth` | `HearthstoneFiltersResponse` | | | hermes | `hermes.categories` | `hermes-categories` | `GET /hermes/categories` | `locale` (query String) | `ApiKeyAuth` | `HermesCategoriesResponse` | | | hermes | `hermes.category` | `hermes-category` | `GET /hermes/category` | `category` (query String required)
`sort` (query String)
`locale` (query String)
`page` (query Integer) | `ApiKeyAuth` | `HermesCategoryResponse` | | | hermes | `hermes.product` | `hermes-product` | `GET /hermes/product` | `sku` (query String required)
`locale` (query String) | `ApiKeyAuth` | `HermesProductResponse` | | @@ -2625,16 +2629,23 @@ Total operations: `4731` | nba | `nba.games` | `nba-games` | `GET /nba/games` | none | `ApiKeyAuth` | `NbaGamesResponse` | | | nba | `nba.homepageLeaders` | `nba-homepage-leaders` | `GET /nba/homepage-leaders` | `league_id` (query String)
`stat_category` (query String)
`player_or_team` (query String)
`player_scope` (query String)
`game_scope` (query String) | `ApiKeyAuth` | `NbaHomepageLeadersResponse` | | | nba | `nba.hustleStats` | `nba-hustle-stats` | `GET /nba/hustle-stats` | `game_id` (query String required) | `ApiKeyAuth` | `NbaHustleStatsResponse` | | +| nba | `nba.hustleTeam` | `nba-hustle-team` | `GET /nba/hustle-team` | `league_id` (query String)
`season` (query String)
`season_type` (query String)
`per_mode` (query String) | `ApiKeyAuth` | `NbaHustleTeamResponse` | | | nba | `nba.leagueGameLog` | `nba-league-game-log` | `GET /nba/league-game-log` | `league_id` (query String)
`season` (query String)
`season_type` (query String)
`direction` (query String)
`player_or_team` (query String)
`sorter` (query String) | `ApiKeyAuth` | `NbaLeagueGameLogResponse` | | | nba | `nba.lineups` | `nba-lineups` | `GET /nba/lineups` | `league_id` (query String)
`season` (query String)
`season_type` (query String)
`measure_type` (query String)
`per_mode` (query String)
`group_quantity` (query String) | `ApiKeyAuth` | `NbaLineupsResponse` | | | nba | `nba.news` | `nba-news` | `GET /nba/news` | none | `ApiKeyAuth` | `NbaNewsResponse` | | +| nba | `nba.oppPtShot` | `nba-opp-pt-shot` | `GET /nba/opp-pt-shot` | `league_id` (query String)
`season` (query String)
`season_type` (query String)
`per_mode` (query String) | `ApiKeyAuth` | `NbaOppPtShotResponse` | | | nba | `nba.playByPlay` | `nba-play-by-play` | `GET /nba/play-by-play` | `game_id` (query String required)
`start_period` (query Integer)
`end_period` (query Integer) | `ApiKeyAuth` | `NbaPlayByPlayResponse` | | | nba | `nba.playerAwards` | `nba-player-awards` | `GET /nba/player-awards` | `player_id` (query Integer required) | `ApiKeyAuth` | `NbaPlayerAwardsResponse` | | | nba | `nba.playerBioStats` | `nba-player-bio-stats` | `GET /nba/player-bio-stats` | `league_id` (query String)
`season` (query String)
`season_type` (query String)
`per_mode` (query String) | `ApiKeyAuth` | `NbaPlayerBioStatsResponse` | | | nba | `nba.playerCareerStats` | `nba-player-career-stats` | `GET /nba/player-career-stats` | `player_id` (query Integer required)
`per_mode` (query String)
`league_id` (query String) | `ApiKeyAuth` | `NbaPlayerCareerStatsResponse` | | +| nba | `nba.playerClutch` | `nba-player-clutch` | `GET /nba/player-clutch` | `league_id` (query String)
`season` (query String)
`season_type` (query String)
`per_mode` (query String)
`measure_type` (query String)
`clutch_time` (query String)
`ahead_behind` (query String)
`point_diff` (query String) | `ApiKeyAuth` | `NbaPlayerClutchResponse` | | | nba | `nba.playerDashPtShots` | `nba-player-dash-pt-shots` | `GET /nba/player-dash-pt-shots` | `player_id` (query Integer required)
`league_id` (query String)
`season` (query String)
`season_type` (query String)
`per_mode` (query String) | `ApiKeyAuth` | `NbaPlayerDashPtShotsResponse` | | +| nba | `nba.playerGameLogs` | `nba-player-game-logs` | `GET /nba/player-game-logs` | `league_id` (query String)
`season` (query String)
`season_type` (query String)
`player_id` (query Integer required) | `ApiKeyAuth` | `NbaPlayerGameLogsResponse` | | | nba | `nba.playerInfo` | `nba-player-info` | `GET /nba/player-info` | `player_id` (query Integer required)
`league_id` (query String) | `ApiKeyAuth` | `NbaPlayerInfoResponse` | | +| nba | `nba.playerProfileV2` | `nba-player-profile-v2` | `GET /nba/player-profile-v2` | `player_id` (query Integer required)
`per_mode` (query String) | `ApiKeyAuth` | `NbaPlayerProfileV2Response` | | +| nba | `nba.playerPtShot` | `nba-player-pt-shot` | `GET /nba/player-pt-shot` | `league_id` (query String)
`season` (query String)
`season_type` (query String)
`per_mode` (query String) | `ApiKeyAuth` | `NbaPlayerPtShotResponse` | | | nba | `nba.playerStats` | `nba-player-stats` | `GET /nba/player-stats` | `league_id` (query String)
`season` (query String)
`season_type` (query String)
`measure_type` (query String)
`per_mode` (query String) | `ApiKeyAuth` | `NbaPlayerStatsResponse` | | +| nba | `nba.playerStreakFinder` | `nba-player-streak-finder` | `GET /nba/player-streak-finder` | `league_id` (query String)
`season` (query String)
`season_type` (query String)
`player_id` (query Integer)
`min_games` (query Integer) | `ApiKeyAuth` | `NbaPlayerStreakFinderResponse` | | | nba | `nba.players` | `nba-players` | `GET /nba/players` | `league_id` (query String)
`season` (query String)
`team_id` (query Integer)
`active` (query Boolean) | `ApiKeyAuth` | `NbaPlayersResponse` | | | nba | `nba.playoffPicture` | `nba-playoff-picture` | `GET /nba/playoff-picture` | `league_id` (query String)
`season_id` (query String) | `ApiKeyAuth` | `NbaPlayoffPictureResponse` | | | nba | `nba.ptDefend` | `nba-pt-defend` | `GET /nba/pt-defend` | `league_id` (query String)
`season` (query String)
`season_type` (query String)
`per_mode` (query String)
`defense_category` (query String) | `ApiKeyAuth` | `NbaPtDefendResponse` | | @@ -2642,11 +2653,18 @@ Total operations: `4731` | nba | `nba.scoreboard` | `nba-scoreboard` | `GET /nba/scoreboard` | `league_id` (query String)
`game_date` (query String)
`day_offset` (query Integer) | `ApiKeyAuth` | `NbaScoreboardResponse` | | | nba | `nba.standings` | `nba-standings` | `GET /nba/standings` | `league_id` (query String)
`season` (query String)
`season_type` (query String) | `ApiKeyAuth` | `NbaStandingsResponse` | | | nba | `nba.synergyPlayTypes` | `nba-synergy-play-types` | `GET /nba/synergy-play-types` | `league_id` (query String)
`season_year` (query String)
`season_type` (query String)
`play_type` (query String)
`per_mode` (query String)
`player_or_team` (query String)
`type_grouping` (query String) | `ApiKeyAuth` | `NbaSynergyPlayTypesResponse` | | +| nba | `nba.teamDashPtPass` | `nba-team-dash-pt-pass` | `GET /nba/team-dash-pt-pass` | `league_id` (query String)
`season` (query String)
`season_type` (query String)
`per_mode` (query String)
`team_id` (query Integer required) | `ApiKeyAuth` | `NbaTeamDashPtPassResponse` | | +| nba | `nba.teamDashPtShots` | `nba-team-dash-pt-shots` | `GET /nba/team-dash-pt-shots` | `league_id` (query String)
`season` (query String)
`season_type` (query String)
`per_mode` (query String)
`team_id` (query Integer required) | `ApiKeyAuth` | `NbaTeamDashPtShotsResponse` | | | nba | `nba.teamDetails` | `nba-team-details` | `GET /nba/team-details` | `team_id` (query Integer required)
`league_id` (query String) | `ApiKeyAuth` | `NbaTeamDetailsResponse` | | +| nba | `nba.teamGameLogs` | `nba-team-game-logs` | `GET /nba/team-game-logs` | `league_id` (query String)
`season` (query String)
`season_type` (query String)
`team_id` (query Integer required) | `ApiKeyAuth` | `NbaTeamGameLogsResponse` | | +| nba | `nba.teamInfoCommon` | `nba-team-info-common` | `GET /nba/team-info-common` | `league_id` (query String)
`season` (query String)
`season_type` (query String)
`team_id` (query Integer required) | `ApiKeyAuth` | `NbaTeamInfoCommonResponse` | | +| nba | `nba.teamOnOff` | `nba-team-on-off` | `GET /nba/team-on-off` | `league_id` (query String)
`season` (query String)
`season_type` (query String)
`per_mode` (query String)
`measure_type` (query String)
`team_id` (query Integer required) | `ApiKeyAuth` | `NbaTeamOnOffResponse` | | +| nba | `nba.teamPtShot` | `nba-team-pt-shot` | `GET /nba/team-pt-shot` | `league_id` (query String)
`season` (query String)
`season_type` (query String)
`per_mode` (query String) | `ApiKeyAuth` | `NbaTeamPtShotResponse` | | | nba | `nba.teamRoster` | `nba-team-roster` | `GET /nba/team-roster` | `team_id` (query Integer required)
`league_id` (query String)
`season` (query String) | `ApiKeyAuth` | `NbaTeamRosterResponse` | | | nba | `nba.teamShotLocations` | `nba-team-shot-locations` | `GET /nba/team-shot-locations` | `league_id` (query String)
`season` (query String)
`season_type` (query String)
`measure_type` (query String)
`per_mode` (query String)
`distance_range` (query String) | `ApiKeyAuth` | `NbaTeamShotLocationsResponse` | | | nba | `nba.teamStats` | `nba-team-stats` | `GET /nba/team-stats` | `league_id` (query String)
`season` (query String)
`season_type` (query String)
`measure_type` (query String)
`per_mode` (query String) | `ApiKeyAuth` | `NbaTeamStatsResponse` | | | nba | `nba.teamStatsLeaders` | `nba-team-stats-leaders` | `GET /nba/team-stats-leaders` | `stat_category` (query String required)
`league_id` (query String)
`season` (query String)
`season_type` (query String)
`per_mode` (query String)
`scope` (query String) | `ApiKeyAuth` | `NbaTeamStatsLeadersResponse` | | +| nba | `nba.teamYears` | `nba-team-years` | `GET /nba/team-years` | `league_id` (query String) | `ApiKeyAuth` | `NbaTeamYearsResponse` | | | nbcNews | `nbcNews.nbcArticle` | `nbc-article` | `GET /nbc/article` | `url` (query String required) | `ApiKeyAuth` | `NbcNewsNbcArticleResponse` | | | nbcNews | `nbcNews.nbcAuthor` | `nbc-author` | `GET /nbc/author` | `url` (query String required) | `ApiKeyAuth` | `NbcNewsNbcAuthorResponse` | | | nbcNews | `nbcNews.nbcHeadlines` | `nbc-headlines` | `GET /nbc/headlines` | `section` (query String required) | `ApiKeyAuth` | `NbcNewsNbcHeadlinesResponse` | | @@ -2718,6 +2736,11 @@ Total operations: `4731` | nfhs | `nfhs.sports` | `nfhs-sports` | `GET /nfhs/sports` | none | `ApiKeyAuth` | `NfhsSportsResponse` | | | nfhs | `nfhs.states` | `nfhs-states` | `GET /nfhs/states` | none | `ApiKeyAuth` | `NfhsStatesResponse` | | | nfhs | `nfhs.suggest` | `nfhs-suggest` | `GET /nfhs/suggest` | `search_term` (query String required)
`scope` (query String)
`size` (query Integer) | `ApiKeyAuth` | `NfhsSuggestResponse` | | +| nhl | `nhl.gamecenterBoxscore` | `nhl-gamecenter-boxscore` | `GET /nhl/gamecenter/boxscore` | `game_id` (query String required) | `ApiKeyAuth` | `NhlGamecenterBoxscoreResponse` | | +| nhl | `nhl.gamecenterPlayByPlay` | `nhl-gamecenter-play-by-play` | `GET /nhl/gamecenter/play-by-play` | `game_id` (query String required) | `ApiKeyAuth` | `NhlGamecenterPlayByPlayResponse` | | +| nhl | `nhl.schedule` | `nhl-schedule` | `GET /nhl/schedule` | `date` (query String) | `ApiKeyAuth` | `NhlScheduleResponse` | | +| nhl | `nhl.seasons` | `nhl-seasons` | `GET /nhl/seasons` | none | `ApiKeyAuth` | `NhlSeasonsResponse` | | +| nhl | `nhl.standings` | `nhl-standings` | `GET /nhl/standings` | `date` (query String) | `ApiKeyAuth` | `NhlStandingsResponse` | | | nike | `nike.categories` | `nike-categories` | `GET /nike/categories` | none | `ApiKeyAuth` | `NikeCategoriesResponse` | | | nike | `nike.product` | `nike-product` | `GET /nike/product` | `slug` (query String required)
`style_color` (query String required) | `ApiKeyAuth` | `NikeProductResponse` | | | nike | `nike.productAvailability` | `nike-product-availability` | `GET /nike/product/availability` | `group_key` (query String required) | `ApiKeyAuth` | `NikeProductAvailabilityResponse` | | @@ -3479,6 +3502,21 @@ Total operations: `4731` | sephora | `sephora.search` | `sephora-search` | `GET /sephora/search` | `query` (query String required)
`page` (query Integer)
`page_size` (query Integer)
`sort_by` (query String)
`price_min` (query Integer)
`price_max` (query Integer)
`brand` (query List)
`rating_min` (query Integer)
`is_new` (query Boolean)
`filter` (query List) | `ApiKeyAuth` | `SephoraSearchResponse` | | | sephora | `sephora.stores` | `sephora-stores` | `GET /sephora/stores` | `latitude` (query Double required)
`longitude` (query Double required)
`radius` (query Integer)
`limit` (query Integer) | `ApiKeyAuth` | `SephoraStoresResponse` | | | sephora | `sephora.suggest` | `sephora-suggest` | `GET /sephora/suggest` | `query` (query String required) | `ApiKeyAuth` | `SephoraSuggestResponse` | | +| serebii | `serebii.pokemongoEventDetailCommunityDay` | `serebii-pokemongo-event-detail-community-day` | `GET /serebii/pokemongo/communityday/{filename}` | `filename` (path String required) | `ApiKeyAuth` | `SerebiiPokemongoEventDetailCommunityDayResponse` | | +| serebii | `serebii.pokemongoEventCategories` | `serebii-pokemongo-event-categories` | `GET /serebii/pokemongo/event-categories` | none | `ApiKeyAuth` | `SerebiiPokemongoEventCategoriesResponse` | | +| serebii | `serebii.pokemongoEventOnlyMoves` | `serebii-pokemongo-event-only-moves` | `GET /serebii/pokemongo/event-only-moves` | none | `ApiKeyAuth` | `SerebiiPokemongoEventOnlyMovesResponse` | | +| serebii | `serebii.pokemongoEventOnlyResearch` | `serebii-pokemongo-event-only-research` | `GET /serebii/pokemongo/event-only-research` | none | `ApiKeyAuth` | `SerebiiPokemongoEventOnlyResearchResponse` | | +| serebii | `serebii.pokemongoEvents` | `serebii-pokemongo-events` | `GET /serebii/pokemongo/events` | `category` (query String required) | `ApiKeyAuth` | `SerebiiPokemongoEventsResponse` | | +| serebii | `serebii.pokemongoEventDetailGlobal` | `serebii-pokemongo-event-detail-global` | `GET /serebii/pokemongo/events/{filename}` | `filename` (path String required) | `ApiKeyAuth` | `SerebiiPokemongoEventDetailGlobalResponse` | | +| serebii | `serebii.pokemongoEventDetailHatchDay` | `serebii-pokemongo-event-detail-hatch-day` | `GET /serebii/pokemongo/hatchday/{filename}` | `filename` (path String required) | `ApiKeyAuth` | `SerebiiPokemongoEventDetailHatchDayResponse` | | +| serebii | `serebii.pokemongoEventDetailIncenseDay` | `serebii-pokemongo-event-detail-incense-day` | `GET /serebii/pokemongo/incenseday/{filename}` | `filename` (path String required) | `ApiKeyAuth` | `SerebiiPokemongoEventDetailIncenseDayResponse` | | +| serebii | `serebii.pokemongoEventDetailResearchDay` | `serebii-pokemongo-event-detail-research-day` | `GET /serebii/pokemongo/limitedresearchday/{filename}` | `filename` (path String required) | `ApiKeyAuth` | `SerebiiPokemongoEventDetailResearchDayResponse` | | +| serebii | `serebii.pokemongoEventDetailMaxBattleDay` | `serebii-pokemongo-event-detail-max-battle-day` | `GET /serebii/pokemongo/maxbattleday/{filename}` | `filename` (path String required) | `ApiKeyAuth` | `SerebiiPokemongoEventDetailMaxBattleDayResponse` | | +| serebii | `serebii.pokemongoEventDetailRaidDay` | `serebii-pokemongo-event-detail-raid-day` | `GET /serebii/pokemongo/raidday/{filename}` | `filename` (path String required) | `ApiKeyAuth` | `SerebiiPokemongoEventDetailRaidDayResponse` | | +| serebii | `serebii.pokemongoEventDetailRealLife` | `serebii-pokemongo-event-detail-real-life` | `GET /serebii/pokemongo/reallifeevents/{filename}` | `filename` (path String required) | `ApiKeyAuth` | `SerebiiPokemongoEventDetailRealLifeResponse` | | +| serebii | `serebii.pokemongoSpotlightHours` | `serebii-pokemongo-spotlight-hours` | `GET /serebii/pokemongo/spotlight-hours` | none | `ApiKeyAuth` | `SerebiiPokemongoSpotlightHoursResponse` | | +| serebii | `serebii.pokemongoEventDetailTicket` | `serebii-pokemongo-event-detail-ticket` | `GET /serebii/pokemongo/ticketevents/{filename}` | `filename` (path String required) | `ApiKeyAuth` | `SerebiiPokemongoEventDetailTicketResponse` | | +| serebii | `serebii.pokemongoUnownEvents` | `serebii-pokemongo-unown-events` | `GET /serebii/pokemongo/unown-events` | none | `ApiKeyAuth` | `SerebiiPokemongoUnownEventsResponse` | | | sevenNewsAustralia | `sevenNewsAustralia.article` | `sevennewsau-article` | `GET /sevennewsau/article` | `url` (query String required) | `ApiKeyAuth` | `SevenNewsAustraliaArticleResponse` | | | sevenNewsAustralia | `sevenNewsAustralia.author` | `sevennewsau-author` | `GET /sevennewsau/author` | `slug` (query String)
`url` (query String) | `ApiKeyAuth` | `SevenNewsAustraliaAuthorResponse` | | | sevenNewsAustralia | `sevenNewsAustralia.headlines` | `sevennewsau-headlines` | `GET /sevennewsau/headlines` | `section` (query String required) | `ApiKeyAuth` | `SevenNewsAustraliaHeadlinesResponse` | | diff --git a/docs/recipes.md b/docs/recipes.md index 4d187db..befa318 100644 --- a/docs/recipes.md +++ b/docs/recipes.md @@ -42,6 +42,29 @@ Object taxonomy = client.request("boardgamegeek-taxonomy", Map.of()); Object navigation = client.request("cricbuzz-navigation", Map.of()); ``` +## Epic Games, Hearthstone, NHL, and Serebii + +The contract now includes free-game promotions, card filters, NHL season discovery, +and Pokémon GO event listings. See [`operations.md`](operations.md) for the full +operation reference. + +```java +Object promotions = client.request("epicgames-free-promotions", Map.of()); +Object filters = client.request("hearthstone-filters", Map.of()); +Object seasons = client.request("nhl-seasons", Map.of()); +Object events = client.request("serebii-pokemongo-events", Map.of("category", "events.shtml")); +``` + +## NBA and HLTV + +Use the new basketball catalog/standings endpoints alongside competitive Counter-Strike rankings. + +```java +Object enums = client.request("nba-enums", Map.of()); +Object standings = client.request("nba-standings", Map.of()); +Object rankings = client.request("hltv-rankings", Map.of()); +``` + ## Company Job Searches Search public job listings directly from employer career sites: diff --git a/openapi/public.json b/openapi/public.json index 2b47a9b..3737d76 100644 --- a/openapi/public.json +++ b/openapi/public.json @@ -70123,6 +70123,31 @@ }, "type": "object" }, + "epicgames.PromotionsResponse": { + "properties": { + "Catalog": { + "additionalProperties": {}, + "type": "object" + } + }, + "type": "object" + }, + "epicgames.freePromotionsResponseDoc": { + "properties": { + "code": { + "example": 200, + "type": "integer" + }, + "data": { + "$ref": "#/definitions/epicgames.PromotionsResponse" + }, + "msg": { + "example": "OK", + "type": "string" + } + }, + "type": "object" + }, "es.AirbnbDensityCell": { "properties": { "geohash": { @@ -126804,6 +126829,116 @@ }, "type": "object" }, + "hearthstone.CardFiltersResponse": { + "properties": { + "filters": { + "type": "object" + }, + "query_options": { + "additionalProperties": { + "items": { + "type": "string" + }, + "type": "array" + }, + "type": "object" + }, + "sort_groups": { + "items": { + "type": "string" + }, + "type": "array" + }, + "sort_mappings": { + "items": { + "$ref": "#/definitions/hearthstone.CardSortMapping" + }, + "type": "array" + }, + "sort_options": { + "items": { + "type": "string" + }, + "type": "array" + }, + "sort_source_url": { + "type": "string" + }, + "source_url": { + "type": "string" + } + }, + "type": "object" + }, + "hearthstone.CardSortMapping": { + "properties": { + "label_key": { + "type": "string" + }, + "order": { + "type": "string" + }, + "slug": { + "type": "string" + }, + "sort": { + "type": "string" + } + }, + "type": "object" + }, + "hearthstone.CardsResponse": { + "additionalProperties": {}, + "type": "object" + }, + "hearthstone.cardFiltersResponseDoc": { + "properties": { + "code": { + "example": 200, + "type": "integer" + }, + "data": { + "$ref": "#/definitions/hearthstone.CardFiltersResponse" + }, + "msg": { + "example": "OK", + "type": "string" + } + }, + "type": "object" + }, + "hearthstone.cardResponseDoc": { + "properties": { + "code": { + "example": 200, + "type": "integer" + }, + "data": { + "$ref": "#/definitions/hearthstone.CardsResponse" + }, + "msg": { + "example": "OK", + "type": "string" + } + }, + "type": "object" + }, + "hearthstone.cardsListResponseDoc": { + "properties": { + "code": { + "example": 200, + "type": "integer" + }, + "data": { + "$ref": "#/definitions/hearthstone.CardsResponse" + }, + "msg": { + "example": "OK", + "type": "string" + } + }, + "type": "object" + }, "hermes.CatalogueProduct": { "properties": { "last_modified": { @@ -127612,6 +127747,20 @@ }, "type": "object" }, + "hltv.EventPlacement": { + "properties": { + "placement": { + "type": "string" + }, + "prize": { + "type": "string" + }, + "team": { + "$ref": "#/definitions/hltv.TeamRef" + } + }, + "type": "object" + }, "hltv.EventRef": { "properties": { "id": { @@ -127640,6 +127789,12 @@ "name": { "type": "string" }, + "placements": { + "items": { + "$ref": "#/definitions/hltv.EventPlacement" + }, + "type": "array" + }, "prize_pool": { "type": "string" }, @@ -127959,6 +128114,35 @@ }, "type": "object" }, + "hltv.PlayerMatch": { + "properties": { + "event": { + "type": "string" + }, + "match_id": { + "type": "integer" + }, + "opponent": { + "type": "string" + }, + "result": { + "type": "string" + }, + "score": { + "items": { + "type": "integer" + }, + "type": "array" + }, + "starts_at": { + "type": "string" + }, + "url": { + "type": "string" + } + }, + "type": "object" + }, "hltv.PlayerResponse": { "properties": { "age": { @@ -127979,6 +128163,12 @@ "real_name": { "type": "string" }, + "recent_matches": { + "items": { + "$ref": "#/definitions/hltv.PlayerMatch" + }, + "type": "array" + }, "role_stats": { "items": { "$ref": "#/definitions/hltv.PlayerRoleStat" @@ -127988,6 +128178,12 @@ "team": { "$ref": "#/definitions/hltv.TeamRef" }, + "upcoming_matches": { + "items": { + "$ref": "#/definitions/hltv.PlayerMatch" + }, + "type": "array" + }, "url": { "type": "string" } @@ -128212,6 +128408,38 @@ }, "type": "object" }, + "hltv.TeamMatch": { + "properties": { + "date": { + "type": "string" + }, + "event": { + "$ref": "#/definitions/hltv.EventRef" + }, + "match_id": { + "type": "integer" + }, + "score": { + "items": { + "type": "integer" + }, + "type": "array" + }, + "teams": { + "items": { + "$ref": "#/definitions/hltv.TeamRef" + }, + "type": "array" + }, + "url": { + "type": "string" + }, + "winner": { + "type": "integer" + } + }, + "type": "object" + }, "hltv.TeamRanking": { "properties": { "name": { @@ -128260,12 +128488,64 @@ }, "type": "array" }, + "recent_results": { + "items": { + "$ref": "#/definitions/hltv.TeamMatch" + }, + "type": "array" + }, "roster": { "items": { "$ref": "#/definitions/hltv.RosterMember" }, "type": "array" }, + "stats": { + "$ref": "#/definitions/hltv.TeamStatsSummary" + }, + "upcoming_matches": { + "items": { + "$ref": "#/definitions/hltv.TeamUpcomingMatch" + }, + "type": "array" + }, + "url": { + "type": "string" + } + }, + "type": "object" + }, + "hltv.TeamStatsSummary": { + "properties": { + "timespan": { + "type": "string" + }, + "win_rate": { + "type": "string" + }, + "win_streak": { + "type": "integer" + } + }, + "type": "object" + }, + "hltv.TeamUpcomingMatch": { + "properties": { + "event": { + "$ref": "#/definitions/hltv.EventRef" + }, + "match_id": { + "type": "integer" + }, + "starts_at": { + "type": "string" + }, + "teams": { + "items": { + "$ref": "#/definitions/hltv.TeamRef" + }, + "type": "array" + }, "url": { "type": "string" } @@ -168842,12 +169122,24 @@ }, "nba.EnumsData": { "properties": { + "ahead_behinds": { + "items": { + "type": "string" + }, + "type": "array" + }, "blocked": { "items": { "type": "string" }, "type": "array" }, + "clutch_times": { + "items": { + "type": "string" + }, + "type": "array" + }, "defense_categories": { "items": { "type": "string" @@ -172623,6 +172915,66 @@ }, "type": "object" }, + "nhl.GamecenterResponse": { + "additionalProperties": {}, + "type": "object" + }, + "nhl.ScheduleResponse": { + "additionalProperties": {}, + "type": "object" + }, + "nhl.StandingsResponse": { + "additionalProperties": {}, + "type": "object" + }, + "nhl.gamecenterResponseDoc": { + "properties": { + "code": { + "example": 200, + "type": "integer" + }, + "data": { + "$ref": "#/definitions/nhl.GamecenterResponse" + }, + "msg": { + "example": "OK", + "type": "string" + } + }, + "type": "object" + }, + "nhl.scheduleResponseDoc": { + "properties": { + "code": { + "example": 200, + "type": "integer" + }, + "data": { + "$ref": "#/definitions/nhl.ScheduleResponse" + }, + "msg": { + "example": "OK", + "type": "string" + } + }, + "type": "object" + }, + "nhl.standingsResponseDoc": { + "properties": { + "code": { + "example": 200, + "type": "integer" + }, + "data": { + "$ref": "#/definitions/nhl.StandingsResponse" + }, + "msg": { + "example": "OK", + "type": "string" + } + }, + "type": "object" + }, "nike.AvailabilityResponse": { "properties": { "count": { @@ -222517,6 +222869,276 @@ }, "type": "object" }, + "serebii.EventCategoriesResponse": { + "properties": { + "categories": { + "items": { + "$ref": "#/definitions/serebii.EventCategory" + }, + "type": "array" + } + }, + "type": "object" + }, + "serebii.EventCategory": { + "properties": { + "category": { + "type": "string" + }, + "name": { + "type": "string" + }, + "source_url": { + "type": "string" + } + }, + "type": "object" + }, + "serebii.EventOnlyMovesResponse": { + "properties": { + "page_title": { + "type": "string" + }, + "source_url": { + "type": "string" + }, + "tables": { + "items": { + "$ref": "#/definitions/serebii.NativeDataTable" + }, + "type": "array" + } + }, + "type": "object" + }, + "serebii.EventOnlyResearchResponse": { + "properties": { + "page_title": { + "type": "string" + }, + "source_url": { + "type": "string" + }, + "table": { + "$ref": "#/definitions/serebii.NativeDataTable" + } + }, + "type": "object" + }, + "serebii.EventRecord": { + "properties": { + "dates": { + "type": "string" + }, + "duration": { + "type": "string" + }, + "focus": { + "type": "string" + }, + "location": { + "type": "string" + }, + "name": { + "type": "string" + }, + "source_links": { + "items": { + "$ref": "#/definitions/serebii.SourceLink" + }, + "type": "array" + }, + "special_move": { + "type": "string" + } + }, + "type": "object" + }, + "serebii.EventsResponse": { + "properties": { + "category": { + "$ref": "#/definitions/serebii.EventCategory" + }, + "records": { + "items": { + "$ref": "#/definitions/serebii.EventRecord" + }, + "type": "array" + }, + "source_url": { + "type": "string" + } + }, + "type": "object" + }, + "serebii.NativeDataCell": { + "properties": { + "column_span": { + "type": "integer" + }, + "links": { + "items": { + "$ref": "#/definitions/serebii.SourceLink" + }, + "type": "array" + }, + "row_span": { + "type": "integer" + }, + "text": { + "type": "string" + } + }, + "type": "object" + }, + "serebii.NativeDataRow": { + "properties": { + "cells": { + "items": { + "$ref": "#/definitions/serebii.NativeDataCell" + }, + "type": "array" + } + }, + "type": "object" + }, + "serebii.NativeDataTable": { + "properties": { + "column_labels": { + "items": { + "type": "string" + }, + "type": "array" + }, + "heading": { + "type": "string" + }, + "rows": { + "items": { + "$ref": "#/definitions/serebii.NativeDataRow" + }, + "type": "array" + } + }, + "type": "object" + }, + "serebii.NativeEventDetailResponse": { + "properties": { + "category": { + "type": "string" + }, + "filename": { + "type": "string" + }, + "overview": { + "type": "string" + }, + "page_title": { + "type": "string" + }, + "source_url": { + "type": "string" + }, + "tables": { + "items": { + "$ref": "#/definitions/serebii.NativeDataTable" + }, + "type": "array" + } + }, + "type": "object" + }, + "serebii.SourceLink": { + "properties": { + "column": { + "type": "string" + }, + "text": { + "type": "string" + }, + "url": { + "type": "string" + } + }, + "type": "object" + }, + "serebii.SpotlightHourRecord": { + "properties": { + "date_label": { + "type": "string" + }, + "extra_effects": { + "type": "string" + }, + "pokemon_focus": { + "type": "string" + }, + "pokemon_links": { + "items": { + "$ref": "#/definitions/serebii.SourceLink" + }, + "type": "array" + } + }, + "type": "object" + }, + "serebii.SpotlightHoursResponse": { + "properties": { + "records": { + "items": { + "$ref": "#/definitions/serebii.SpotlightHourRecord" + }, + "type": "array" + }, + "source_url": { + "type": "string" + } + }, + "type": "object" + }, + "serebii.UnownEventRecord": { + "properties": { + "available_letters": { + "type": "string" + }, + "date": { + "type": "string" + }, + "event": { + "type": "string" + }, + "event_links": { + "items": { + "$ref": "#/definitions/serebii.SourceLink" + }, + "type": "array" + }, + "locations": { + "items": { + "type": "string" + }, + "type": "array" + }, + "restrictions": { + "type": "string" + } + }, + "type": "object" + }, + "serebii.UnownEventsResponse": { + "properties": { + "records": { + "items": { + "$ref": "#/definitions/serebii.UnownEventRecord" + }, + "type": "array" + }, + "source_url": { + "type": "string" + } + }, + "type": "object" + }, "sevennewsau.AuthorResponse": { "properties": { "articles": { @@ -394441,6 +395063,70 @@ ] } }, + "/epicgames/free-promotions": { + "get": { + "consumes": [ + "application/json" + ], + "description": "Returns the store's current and upcoming promotion offers for the requested locale and country. The response preserves the upstream Catalog searchStore payload and its promotion windows; a zero price alone does not mean an offer is part of a limited-time promotion.", + "operationId": "epicgames-free-promotions", + "parameters": [ + { + "default": "en-US", + "description": "Store locale", + "in": "query", + "name": "locale", + "type": "string" + }, + { + "default": "US", + "description": "Two-letter country code", + "in": "query", + "name": "country", + "type": "string" + }, + { + "default": "US", + "description": "Comma-separated country codes accepted by the upstream promotion query; defaults to country", + "in": "query", + "name": "allowCountries", + "type": "string" + } + ], + "produces": [ + "application/json" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/epicgames.freePromotionsResponseDoc" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/app.Response" + } + }, + "503": { + "description": "Service Unavailable", + "schema": { + "$ref": "#/definitions/app.Response" + } + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Get Epic Games Store free promotions", + "tags": [ + "Epic Games Store" + ] + } + }, "/espn/athlete": { "get": { "consumes": [ @@ -451332,6 +452018,413 @@ ] } }, + "/hearthstone/card": { + "get": { + "consumes": [ + "application/json" + ], + "description": "Returns one card from the public Hearthstone card library. The card record and pagination metadata preserve the upstream response shape.", + "operationId": "hearthstone-card", + "parameters": [ + { + "description": "Numeric card ID from the Hearthstone card library", + "in": "query", + "name": "id", + "required": true, + "type": "string", + "x-example": "80818" + } + ], + "produces": [ + "application/json" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/hearthstone.cardResponseDoc" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/app.Response" + } + }, + "503": { + "description": "Service Unavailable", + "schema": { + "$ref": "#/definitions/app.Response" + } + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Get a Hearthstone card by ID", + "tags": [ + "Hearthstone" + ] + } + }, + "/hearthstone/cards": { + "get": { + "consumes": [ + "application/json" + ], + "description": "Returns a card-gallery page with native constructed, Battlegrounds, Mercenaries, and card-back filters. Dynamic filter values are discoverable from hearthstone_filters; sort mappings are returned there as well. The default view is all-class Standard with page size 450.", + "operationId": "hearthstone-cards", + "parameters": [ + { + "default": 1, + "description": "Upstream page number", + "in": "query", + "minimum": 1, + "name": "page", + "type": "integer" + }, + { + "description": "Upstream page size", + "in": "query", + "minimum": 1, + "name": "pageSize", + "type": "integer" + }, + { + "description": "Source card locale; defaults to en_US", + "in": "query", + "name": "locale", + "type": "string" + }, + { + "description": "Source class selector; use hearthstone_filters to discover current classes", + "in": "query", + "name": "class", + "type": "string" + }, + { + "description": "Source set selector; use hearthstone_filters to discover current sets", + "in": "query", + "name": "set", + "type": "string" + }, + { + "description": "Native source sort expression; see sort_options from hearthstone_filters", + "in": "query", + "name": "sort", + "type": "string" + }, + { + "description": "Source sort direction", + "enum": [ + "asc", + "desc" + ], + "in": "query", + "name": "order", + "type": "string" + }, + { + "description": "Source game mode; Arena and Duels select their matching set", + "in": "query", + "name": "gameMode", + "type": "string" + }, + { + "collectionFormat": "csv", + "description": "Repeatable source collectible selector", + "in": "query", + "items": { + "enum": [ + "0", + "1" + ], + "type": "string" + }, + "name": "collectible", + "type": "array" + }, + { + "description": "Source card text search", + "in": "query", + "name": "textFilter", + "type": "string" + }, + { + "description": "Locale for textFilter; defaults to en-us", + "in": "query", + "name": "filterLocale", + "type": "string" + }, + { + "description": "Optional source deck code filter", + "in": "query", + "name": "deckcode", + "type": "string" + }, + { + "collectionFormat": "csv", + "description": "Repeatable card-set ID filter", + "in": "query", + "items": { + "type": "integer" + }, + "name": "cardSetId", + "type": "array" + }, + { + "collectionFormat": "csv", + "description": "Repeatable spell-school ID filter", + "in": "query", + "items": { + "type": "integer" + }, + "name": "spellSchoolId", + "type": "array" + }, + { + "collectionFormat": "csv", + "description": "Repeatable rarity ID filter", + "in": "query", + "items": { + "type": "integer" + }, + "name": "rarityId", + "type": "array" + }, + { + "collectionFormat": "csv", + "description": "Repeatable card-type ID filter", + "in": "query", + "items": { + "type": "integer" + }, + "name": "cardTypeId", + "type": "array" + }, + { + "collectionFormat": "csv", + "description": "Repeatable mana-cost filter", + "in": "query", + "items": { + "type": "string" + }, + "name": "manaCost", + "type": "array" + }, + { + "collectionFormat": "csv", + "description": "Repeatable attack filter", + "in": "query", + "items": { + "type": "string" + }, + "name": "attack", + "type": "array" + }, + { + "collectionFormat": "csv", + "description": "Repeatable health filter", + "in": "query", + "items": { + "type": "string" + }, + "name": "health", + "type": "array" + }, + { + "collectionFormat": "csv", + "description": "Repeatable armor filter", + "in": "query", + "items": { + "type": "string" + }, + "name": "armor", + "type": "array" + }, + { + "description": "Source rarity filter; see hearthstone_filters", + "in": "query", + "name": "rarity", + "type": "string" + }, + { + "collectionFormat": "csv", + "description": "Repeatable source type filter; see hearthstone_filters", + "in": "query", + "items": { + "type": "string" + }, + "name": "type", + "type": "array" + }, + { + "description": "Battlegrounds card-type selector from the source gallery", + "in": "query", + "name": "bgCardType", + "type": "string" + }, + { + "description": "Source keyword filter; see hearthstone_filters", + "in": "query", + "name": "keyword", + "type": "string" + }, + { + "description": "Source minion-type filter; see hearthstone_filters", + "in": "query", + "name": "minionType", + "type": "string" + }, + { + "description": "Source deck-format selector", + "in": "query", + "name": "deckFormat", + "type": "string" + }, + { + "collectionFormat": "csv", + "description": "Repeatable Battlegrounds tavern-tier filter", + "in": "query", + "items": { + "enum": [ + "1", + "2", + "3", + "4", + "5", + "6", + "7" + ], + "type": "string" + }, + "name": "tier", + "type": "array" + }, + { + "description": "Source Mercenary role filter; see hearthstone_filters", + "in": "query", + "name": "mercenaryRole", + "type": "string" + }, + { + "description": "Source Mercenary faction filter; see hearthstone_filters", + "in": "query", + "name": "mercenaryFaction", + "type": "string" + }, + { + "description": "Card-gallery view mode", + "enum": [ + "grid", + "table" + ], + "in": "query", + "name": "viewMode", + "type": "string" + }, + { + "description": "Source card-back category filter; see hearthstone_filters", + "in": "query", + "name": "cardBackCategory", + "type": "string" + }, + { + "description": "Source spell-school filter; see hearthstone_filters", + "in": "query", + "name": "spellSchool", + "type": "string" + }, + { + "description": "Source faction filter; see hearthstone_filters", + "in": "query", + "name": "faction", + "type": "string" + }, + { + "description": "Battlegrounds mode filter; see hearthstone_filters", + "in": "query", + "name": "bgGameMode", + "type": "string" + }, + { + "description": "Source Zilliax module filter", + "in": "query", + "name": "zilliaxMod", + "type": "boolean" + } + ], + "produces": [ + "application/json" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/hearthstone.cardsListResponseDoc" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/app.Response" + } + }, + "503": { + "description": "Service Unavailable", + "schema": { + "$ref": "#/definitions/app.Response" + } + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "List Hearthstone cards", + "tags": [ + "Hearthstone" + ] + } + }, + "/hearthstone/filters": { + "get": { + "consumes": [ + "application/json" + ], + "description": "Returns the card gallery's current filter collections and sort options. Filter values come from the gallery page configuration; sort slugs come from its current hashed card bundle.", + "operationId": "hearthstone-filters", + "produces": [ + "application/json" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/hearthstone.cardFiltersResponseDoc" + } + }, + "503": { + "description": "Service Unavailable", + "schema": { + "$ref": "#/definitions/app.Response" + } + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "List Hearthstone card gallery filters", + "tags": [ + "Hearthstone" + ] + } + }, "/hermes/categories": { "get": { "consumes": [ @@ -510878,6 +511971,115 @@ ] } }, + "/nba/hustle-team": { + "get": { + "consumes": [ + "application/json" + ], + "description": "Returns the league's team hustle table: contested shots, deflections, charges drawn, screen assists and points, loose balls recovered and box-outs.", + "operationId": "nba-hustle-team", + "parameters": [ + { + "description": "Optional league id; only 00 (NBA) is verified.", + "enum": [ + "00" + ], + "in": "query", + "name": "league_id", + "type": "string" + }, + { + "description": "Optional season in YYYY-YY form; defaults to the current NBA season.", + "in": "query", + "name": "season", + "type": "string" + }, + { + "description": "Optional season type.", + "enum": [ + "Regular Season", + "Playoffs", + "Pre Season", + "All Star" + ], + "in": "query", + "name": "season_type", + "type": "string" + }, + { + "description": "Optional aggregation.", + "enum": [ + "PerGame", + "Totals", + "Per36", + "Per48", + "Per100Possessions", + "MinutesPer", + "PerPossession" + ], + "in": "query", + "name": "per_mode", + "type": "string" + } + ], + "produces": [ + "application/json" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "allOf": [ + { + "$ref": "#/definitions/app.Response" + }, + { + "properties": { + "data": { + "$ref": "#/definitions/nba.TablesResponse" + } + }, + "type": "object" + } + ] + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/app.Response" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/app.Response" + } + }, + "429": { + "description": "Too Many Requests", + "schema": { + "$ref": "#/definitions/app.Response" + } + }, + "503": { + "description": "Service Unavailable", + "schema": { + "$ref": "#/definitions/app.Response" + } + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Returns the league's team hustle table: contested shots, deflections, charges drawn, screen assists and points, loose balls recovered and box-outs", + "tags": [ + "NBA" + ] + } + }, "/nba/league-game-log": { "get": { "consumes": [ @@ -511191,110 +512393,55 @@ ] } }, - "/nba/play-by-play": { + "/nba/opp-pt-shot": { "get": { "consumes": [ "application/json" ], - "description": "Returns every play-by-play action for one game in period order: action number and type, period, an ISO-8601 clock such as PT12M00.00S, team and player identity, the description, shot result and value, and the running home/away score. A full game is about 220 KB, so request it once and page locally rather than polling.", - "operationId": "nba-play-by-play", + "description": "Returns the league's opponent shooting table: one row per team with the shooting it allows, split overall and from three.", + "operationId": "nba-opp-pt-shot", "parameters": [ { - "description": "Ten-digit game id from nba-scoreboard", + "description": "Optional league id; only 00 (NBA) is verified.", + "enum": [ + "00" + ], "in": "query", - "name": "game_id", - "required": true, - "type": "string", - "x-example": "0022600196" + "name": "league_id", + "type": "string" }, { - "description": "First period to include, 0 to 14; 0 means from the start example(0)", + "description": "Optional season in YYYY-YY form; defaults to the current NBA season.", "in": "query", - "name": "start_period", - "type": "integer", - "x-example": 0 + "name": "season", + "type": "string" }, { - "description": "Last period to include, 0 to 14; 0 means through the end example(14)", + "description": "Optional season type.", + "enum": [ + "Regular Season", + "Playoffs", + "Pre Season", + "All Star" + ], "in": "query", - "name": "end_period", - "type": "integer", - "x-example": 14 - } - ], - "produces": [ - "application/json" - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "allOf": [ - { - "$ref": "#/definitions/app.Response" - }, - { - "properties": { - "data": { - "$ref": "#/definitions/nba.PlayByPlayResponse" - } - }, - "type": "object" - } - ] - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/app.Response" - } - }, - "404": { - "description": "Not Found", - "schema": { - "$ref": "#/definitions/app.Response" - } - }, - "429": { - "description": "Too Many Requests", - "schema": { - "$ref": "#/definitions/app.Response" - } + "name": "season_type", + "type": "string" }, - "503": { - "description": "Service Unavailable", - "schema": { - "$ref": "#/definitions/app.Response" - } - } - }, - "security": [ { - "ApiKeyAuth": [] - } - ], - "summary": "NBA play-by-play for one game", - "tags": [ - "NBA" - ] - } - }, - "/nba/player-awards": { - "get": { - "consumes": [ - "application/json" - ], - "description": "Returns one player's award history, one row per award. Marker-verified columns are PERSON_ID, FIRST_NAME, LAST_NAME, TEAM, DESCRIPTION, SEASON, CONFERENCE, TYPE, SUBTYPE1, SUBTYPE2, SUBTYPE3, ALL_NBA_TEAM_NUMBER and ALL_NBA_TEAM; the sampled AWARD_TYPE, ALL_DEFENSIVE_TEAM_NUMBER and ALL_ROOKIE_TEAM_NUMBER names did not match and are not claimed.", - "operationId": "nba-player-awards", - "parameters": [ - { - "description": "Player id from nba-players or nba-team-roster", + "description": "Optional aggregation.", + "enum": [ + "PerGame", + "Totals", + "Per36", + "Per48", + "Per100Possessions", + "MinutesPer", + "PerPossession" + ], "in": "query", - "name": "player_id", - "required": true, - "type": "integer", - "x-example": 1628398 + "name": "per_mode", + "type": "string" } ], "produces": [ @@ -511349,56 +512496,41 @@ "ApiKeyAuth": [] } ], - "summary": "NBA player award history", + "summary": "Returns the league's opponent shooting table: one row per team with the shooting it allows, split overall and from three", "tags": [ "NBA" ] } }, - "/nba/player-bio-stats": { + "/nba/play-by-play": { "get": { "consumes": [ "application/json" ], - "description": "Returns the league bio table for a season: each player's height (label and inches), weight, college, country, draft year/round/number and age, with season GP and the counting stat line. Marker-verified columns are PLAYER_ID, PLAYER_NAME, TEAM_ID, TEAM_ABBREVIATION, AGE, PLAYER_HEIGHT, PLAYER_HEIGHT_INCHES, PLAYER_WEIGHT, COLLEGE, COUNTRY, DRAFT_YEAR, DRAFT_ROUND, DRAFT_NUMBER, GP, PTS, REB and AST — the complete sampled set matched.", - "operationId": "nba-player-bio-stats", + "description": "Returns every play-by-play action for one game in period order: action number and type, period, an ISO-8601 clock such as PT12M00.00S, team and player identity, the description, shot result and value, and the running home/away score. A full game is about 220 KB, so request it once and page locally rather than polling.", + "operationId": "nba-play-by-play", "parameters": [ { - "description": "League id; only 00 (NBA) is verified", - "enum": [ - "00" - ], - "in": "query", - "name": "league_id", - "type": "string", - "x-example": "00" - }, - { - "description": "Season in YYYY-YY form; defaults to the current NBA season", + "description": "Ten-digit game id from nba-scoreboard", "in": "query", - "name": "season", + "name": "game_id", + "required": true, "type": "string", - "x-example": "2026-27" + "x-example": "0022600196" }, { - "description": "Season type", - "enum": [ - "Regular Season" - ], + "description": "First period to include, 0 to 14; 0 means from the start example(0)", "in": "query", - "name": "season_type", - "type": "string", - "x-example": "Regular Season" + "name": "start_period", + "type": "integer", + "x-example": 0 }, { - "description": "Aggregation", - "enum": [ - "PerGame" - ], + "description": "Last period to include, 0 to 14; 0 means through the end example(14)", "in": "query", - "name": "per_mode", - "type": "string", - "x-example": "PerGame" + "name": "end_period", + "type": "integer", + "x-example": 14 } ], "produces": [ @@ -511415,7 +512547,7 @@ { "properties": { "data": { - "$ref": "#/definitions/nba.TablesResponse" + "$ref": "#/definitions/nba.PlayByPlayResponse" } }, "type": "object" @@ -511453,19 +512585,19 @@ "ApiKeyAuth": [] } ], - "summary": "NBA league bio table", + "summary": "NBA play-by-play for one game", "tags": [ "NBA" ] } }, - "/nba/player-career-stats": { + "/nba/player-awards": { "get": { "consumes": [ "application/json" ], - "description": "Returns one player's career statistics as several tables: the season-by-season regular-season line, the career regular-season totals, the season-by-season postseason line and the career postseason totals. Verified columns are SEASON_ID, TEAM_ID, GP, GS, MIN and PTS. per_mode PerGame or Totals is validated against the values verified on this endpoint.", - "operationId": "nba-player-career-stats", + "description": "Returns one player's award history, one row per award. Marker-verified columns are PERSON_ID, FIRST_NAME, LAST_NAME, TEAM, DESCRIPTION, SEASON, CONFERENCE, TYPE, SUBTYPE1, SUBTYPE2, SUBTYPE3, ALL_NBA_TEAM_NUMBER and ALL_NBA_TEAM; the sampled AWARD_TYPE, ALL_DEFENSIVE_TEAM_NUMBER and ALL_ROOKIE_TEAM_NUMBER names did not match and are not claimed.", + "operationId": "nba-player-awards", "parameters": [ { "description": "Player id from nba-players or nba-team-roster", @@ -511474,26 +512606,6 @@ "required": true, "type": "integer", "x-example": 1628398 - }, - { - "description": "Aggregation; PerGame or Totals", - "enum": [ - "PerGame" - ], - "in": "query", - "name": "per_mode", - "type": "string", - "x-example": "PerGame" - }, - { - "description": "League id; only 00 (NBA) is verified", - "enum": [ - "00" - ], - "in": "query", - "name": "league_id", - "type": "string", - "x-example": "00" } ], "produces": [ @@ -511548,28 +512660,20 @@ "ApiKeyAuth": [] } ], - "summary": "NBA player season-by-season and career statistics", + "summary": "NBA player award history", "tags": [ "NBA" ] } }, - "/nba/player-dash-pt-shots": { + "/nba/player-bio-stats": { "get": { "consumes": [ "application/json" ], - "description": "Returns one player's tracking shot dashboard as several result sets (overall, and the tracking breakdowns the upstream returns). The endpoint rejects a trimmed query with HTTP 500, so the full dashboard scope set is always sent.", - "operationId": "nba-player-dash-pt-shots", + "description": "Returns the league bio table for a season: each player's height (label and inches), weight, college, country, draft year/round/number and age, with season GP and the counting stat line. Marker-verified columns are PLAYER_ID, PLAYER_NAME, TEAM_ID, TEAM_ABBREVIATION, AGE, PLAYER_HEIGHT, PLAYER_HEIGHT_INCHES, PLAYER_WEIGHT, COLLEGE, COUNTRY, DRAFT_YEAR, DRAFT_ROUND, DRAFT_NUMBER, GP, PTS, REB and AST — the complete sampled set matched.", + "operationId": "nba-player-bio-stats", "parameters": [ - { - "description": "Player id from nba-players or nba-team-roster", - "in": "query", - "name": "player_id", - "required": true, - "type": "integer", - "x-example": 1628398 - }, { "description": "League id; only 00 (NBA) is verified", "enum": [ @@ -511660,19 +512764,19 @@ "ApiKeyAuth": [] } ], - "summary": "NBA player tracking shot dashboard", + "summary": "NBA league bio table", "tags": [ "NBA" ] } }, - "/nba/player-info": { + "/nba/player-career-stats": { "get": { "consumes": [ "application/json" ], - "description": "Returns one player's league profile: full name forms, birth date, school and country, draft year and round, jersey number, position, height and weight, team identity and season experience. Take the player id from nba-players or nba-team-roster.", - "operationId": "nba-player-info", + "description": "Returns one player's career statistics as several tables: the season-by-season regular-season line, the career regular-season totals, the season-by-season postseason line and the career postseason totals. Verified columns are SEASON_ID, TEAM_ID, GP, GS, MIN and PTS. per_mode PerGame or Totals is validated against the values verified on this endpoint.", + "operationId": "nba-player-career-stats", "parameters": [ { "description": "Player id from nba-players or nba-team-roster", @@ -511682,6 +512786,16 @@ "type": "integer", "x-example": 1628398 }, + { + "description": "Aggregation; PerGame or Totals", + "enum": [ + "PerGame" + ], + "in": "query", + "name": "per_mode", + "type": "string", + "x-example": "PerGame" + }, { "description": "League id; only 00 (NBA) is verified", "enum": [ @@ -511745,39 +512859,37 @@ "ApiKeyAuth": [] } ], - "summary": "NBA player profile", + "summary": "NBA player season-by-season and career statistics", "tags": [ "NBA" ] } }, - "/nba/player-stats": { + "/nba/player-clutch": { "get": { "consumes": [ "application/json" ], - "description": "Returns the league-wide player statistics table for one season, measure and aggregation: one row per player with the columns the source publishes for that measure, keyed by the source's own column names such as PLAYER_ID, PLAYER_NAME, TEAM_ID, GP, MIN, PTS, REB and AST. Base and Advanced are the two verified measures, and PerGame and Totals the two verified aggregations; read the response's headers list rather than assuming a fixed column set.", - "operationId": "nba-player-stats", + "description": "Returns the league's clutch player table for one clutch window and score margin: the players' clutch shooting and counting stats.", + "operationId": "nba-player-clutch", "parameters": [ { - "description": "League id; only 00 (NBA) is verified", + "description": "Optional league id; only 00 (NBA) is verified.", "enum": [ "00" ], "in": "query", "name": "league_id", - "type": "string", - "x-example": "00" + "type": "string" }, { - "description": "Season in YYYY-YY form; defaults to the current NBA season", + "description": "Optional season in YYYY-YY form; defaults to the current NBA season.", "in": "query", "name": "season", - "type": "string", - "x-example": "2026-27" + "type": "string" }, { - "description": "Season type; Regular Season or Playoffs", + "description": "Optional season type.", "enum": [ "Regular Season", "Playoffs", @@ -511786,11 +512898,25 @@ ], "in": "query", "name": "season_type", - "type": "string", - "x-example": "Regular Season" + "type": "string" }, { - "description": "Statistic family; Base or Advanced", + "description": "Optional aggregation.", + "enum": [ + "PerGame", + "Totals", + "Per36", + "Per48", + "Per100Possessions", + "MinutesPer", + "PerPossession" + ], + "in": "query", + "name": "per_mode", + "type": "string" + }, + { + "description": "Optional statistic family.", "enum": [ "Base", "Advanced", @@ -511801,24 +512927,34 @@ ], "in": "query", "name": "measure_type", - "type": "string", - "x-example": "Base" + "type": "string" }, { - "description": "Aggregation; PerGame or Totals", + "description": "Optional clutch window; only 'Last 5 Minutes' is verified.", "enum": [ - "PerGame", - "Totals", - "Per36", - "Per48", - "Per100Possessions", - "MinutesPer", - "PerPossession" + "Last 5 Minutes" ], "in": "query", - "name": "per_mode", - "type": "string", - "x-example": "PerGame" + "name": "clutch_time", + "type": "string" + }, + { + "description": "Optional score-margin filter; only 'Ahead or Behind' is verified.", + "enum": [ + "Ahead or Behind" + ], + "in": "query", + "name": "ahead_behind", + "type": "string" + }, + { + "description": "Optional point margin; only 5 is verified.", + "enum": [ + 5 + ], + "in": "query", + "name": "point_diff", + "type": "integer" } ], "produces": [ @@ -511873,20 +513009,28 @@ "ApiKeyAuth": [] } ], - "summary": "NBA league-wide player statistics table", + "summary": "Returns the league's clutch player table for one clutch window and score margin: the players' clutch shooting and counting stats", "tags": [ "NBA" ] } }, - "/nba/players": { + "/nba/player-dash-pt-shots": { "get": { "consumes": [ "application/json" ], - "description": "Returns the league's player index for a season, one row per player with player id, first and last name, team id and the source's roster attributes. This is the family's player-id discovery route: the ids it returns are what nba-player-info, nba-box-score and nba-play-by-play accept, so call this instead of guessing an id. Pass team_id to narrow the index to one roster.", - "operationId": "nba-players", + "description": "Returns one player's tracking shot dashboard as several result sets (overall, and the tracking breakdowns the upstream returns). The endpoint rejects a trimmed query with HTTP 500, so the full dashboard scope set is always sent.", + "operationId": "nba-player-dash-pt-shots", "parameters": [ + { + "description": "Player id from nba-players or nba-team-roster", + "in": "query", + "name": "player_id", + "required": true, + "type": "integer", + "x-example": 1628398 + }, { "description": "League id; only 00 (NBA) is verified", "enum": [ @@ -511905,17 +513049,24 @@ "x-example": "2026-27" }, { - "description": "Optional team id from nba-standings; narrows the index to that roster example(1610612741)", + "description": "Season type", + "enum": [ + "Regular Season" + ], "in": "query", - "name": "team_id", - "type": "integer", - "x-example": 1610612741 + "name": "season_type", + "type": "string", + "x-example": "Regular Season" }, { - "description": "When true, keep only players active in the season", + "description": "Aggregation", + "enum": [ + "PerGame" + ], "in": "query", - "name": "active", - "type": "boolean" + "name": "per_mode", + "type": "string", + "x-example": "PerGame" } ], "produces": [ @@ -511970,36 +513121,138 @@ "ApiKeyAuth": [] } ], - "summary": "NBA player index: every player id for a season", + "summary": "NBA player tracking shot dashboard", "tags": [ "NBA" ] } }, - "/nba/playoff-picture": { + "/nba/player-game-logs": { "get": { "consumes": [ "application/json" ], - "description": "Returns the current playoff picture as two tables, EastConfPlayoffPicture and WestConfPlayoffPicture. Verified columns are TEAM_ID, CONFERENCE and CLINCHED; the upstream sends more columns than were confirmed here (the sampled PLAYOFF_RANK column name did not match the response) and any extras are passed through as-is.", - "operationId": "nba-playoff-picture", + "description": "Returns one player's game log for a season, one row per game with the player's box-score line.", + "operationId": "nba-player-game-logs", "parameters": [ { - "description": "League id; only 00 (NBA) is verified", + "description": "Optional league id; only 00 (NBA) is verified.", "enum": [ "00" ], "in": "query", "name": "league_id", - "type": "string", - "x-example": "00" + "type": "string" }, { - "description": "Five-digit season id such as 22026; defaults to the current season", + "description": "Optional season in YYYY-YY form; defaults to the current NBA season.", "in": "query", - "name": "season_id", + "name": "season", + "type": "string" + }, + { + "description": "Optional season type.", + "enum": [ + "Regular Season", + "Playoffs", + "Pre Season", + "All Star" + ], + "in": "query", + "name": "season_type", + "type": "string" + }, + { + "description": "Required player id from nba-players or nba-team-roster.", + "in": "query", + "name": "player_id", + "required": true, + "type": "integer" + } + ], + "produces": [ + "application/json" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "allOf": [ + { + "$ref": "#/definitions/app.Response" + }, + { + "properties": { + "data": { + "$ref": "#/definitions/nba.TablesResponse" + } + }, + "type": "object" + } + ] + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/app.Response" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/app.Response" + } + }, + "429": { + "description": "Too Many Requests", + "schema": { + "$ref": "#/definitions/app.Response" + } + }, + "503": { + "description": "Service Unavailable", + "schema": { + "$ref": "#/definitions/app.Response" + } + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Returns one player's game log for a season, one row per game with the player's box-score line", + "tags": [ + "NBA" + ] + } + }, + "/nba/player-info": { + "get": { + "consumes": [ + "application/json" + ], + "description": "Returns one player's league profile: full name forms, birth date, school and country, draft year and round, jersey number, position, height and weight, team identity and season experience. Take the player id from nba-players or nba-team-roster.", + "operationId": "nba-player-info", + "parameters": [ + { + "description": "Player id from nba-players or nba-team-roster", + "in": "query", + "name": "player_id", + "required": true, + "type": "integer", + "x-example": 1628398 + }, + { + "description": "League id; only 00 (NBA) is verified", + "enum": [ + "00" + ], + "in": "query", + "name": "league_id", "type": "string", - "x-example": "22026" + "x-example": "00" } ], "produces": [ @@ -512054,67 +513307,41 @@ "ApiKeyAuth": [] } ], - "summary": "NBA playoff picture by conference", + "summary": "NBA player profile", "tags": [ "NBA" ] } }, - "/nba/pt-defend": { + "/nba/player-profile-v2": { "get": { "consumes": [ "application/json" ], - "description": "Returns the league's defensive tracking table for one defended-shot category. Marker-verified columns are CLOSE_DEF_PERSON_ID, PLAYER_NAME, TEAM_ID, TEAM_ABBREVIATION, AGE, GP, G, FREQ, D_FGM, D_FGA, D_FG_PCT, NORMAL_FG_PCT and PCT_PLUSMINUS. The player identity column on this table is CLOSE_DEF_PERSON_ID, not PLAYER_ID.", - "operationId": "nba-pt-defend", + "description": "Returns one player's full profile stat set: the season-by-season regular-season line, the career regular-season totals and the postseason equivalents.", + "operationId": "nba-player-profile-v2", "parameters": [ { - "description": "League id; only 00 (NBA) is verified", - "enum": [ - "00" - ], - "in": "query", - "name": "league_id", - "type": "string", - "x-example": "00" - }, - { - "description": "Season in YYYY-YY form; defaults to the current NBA season", - "in": "query", - "name": "season", - "type": "string", - "x-example": "2026-27" - }, - { - "description": "Season type", - "enum": [ - "Regular Season" - ], + "description": "Required player id from nba-players or nba-team-roster.", "in": "query", - "name": "season_type", - "type": "string", - "x-example": "Regular Season" + "name": "player_id", + "required": true, + "type": "integer" }, { - "description": "Aggregation", + "description": "Optional aggregation.", "enum": [ - "PerGame" + "PerGame", + "Totals", + "Per36", + "Per48", + "Per100Possessions", + "MinutesPer", + "PerPossession" ], "in": "query", "name": "per_mode", - "type": "string", - "x-example": "PerGame" - }, - { - "description": "Defended-shot category", - "enum": [ - "Overall", - "3 Pointers" - ], - "in": "query", - "name": "defense_category", - "type": "string", - "x-example": "Overall" + "type": "string" } ], "produces": [ @@ -512169,66 +513396,61 @@ "ApiKeyAuth": [] } ], - "summary": "NBA defensive tracking dashboard", + "summary": "Returns one player's full profile stat set: the season-by-season regular-season line, the career regular-season totals and the postseason equivalents", "tags": [ "NBA" ] } }, - "/nba/pt-stats": { + "/nba/player-pt-shot": { "get": { "consumes": [ "application/json" ], - "description": "Returns the league player-tracking dashboard for one tracking measure. The endpoint rejects a trimmed query with HTTP 500, so the full dashboard scope set is always sent. pt_measure_type is pinned to the one verified measure, SpeedDistance.", - "operationId": "nba-pt-stats", + "description": "Returns the league's player shooting table: one row per player with the shooting line, split overall and from three.", + "operationId": "nba-player-pt-shot", "parameters": [ { - "description": "League id; only 00 (NBA) is verified", + "description": "Optional league id; only 00 (NBA) is verified.", "enum": [ "00" ], "in": "query", "name": "league_id", - "type": "string", - "x-example": "00" + "type": "string" }, { - "description": "Season in YYYY-YY form; defaults to the current NBA season", + "description": "Optional season in YYYY-YY form; defaults to the current NBA season.", "in": "query", "name": "season", - "type": "string", - "x-example": "2026-27" + "type": "string" }, { - "description": "Season type", + "description": "Optional season type.", "enum": [ - "Regular Season" + "Regular Season", + "Playoffs", + "Pre Season", + "All Star" ], "in": "query", "name": "season_type", - "type": "string", - "x-example": "Regular Season" + "type": "string" }, { - "description": "Aggregation", + "description": "Optional aggregation.", "enum": [ - "PerGame" + "PerGame", + "Totals", + "Per36", + "Per48", + "Per100Possessions", + "MinutesPer", + "PerPossession" ], "in": "query", "name": "per_mode", - "type": "string", - "x-example": "PerGame" - }, - { - "description": "Tracking measure; only SpeedDistance is verified", - "enum": [ - "SpeedDistance" - ], - "in": "query", - "name": "pt_measure_type", - "type": "string", - "x-example": "SpeedDistance" + "type": "string" } ], "produces": [ @@ -512283,19 +513505,19 @@ "ApiKeyAuth": [] } ], - "summary": "NBA player-tracking dashboard", + "summary": "Returns the league's player shooting table: one row per player with the shooting line, split overall and from three", "tags": [ "NBA" ] } }, - "/nba/scoreboard": { + "/nba/player-stats": { "get": { "consumes": [ "application/json" ], - "description": "Returns every NBA game for a game day from the league's own statistics service: game id, code, status and clock, period, and both teams with id, tricode, name, score, wins and losses. Game ids from this route are the input to the box-score and play-by-play routes. The upstream requires a game date, so a missing date defaults to the current UTC date; the NBA game day is US Eastern, so pass game_date explicitly when the exact slate matters.", - "operationId": "nba-scoreboard", + "description": "Returns the league-wide player statistics table for one season, measure and aggregation: one row per player with the columns the source publishes for that measure, keyed by the source's own column names such as PLAYER_ID, PLAYER_NAME, TEAM_ID, GP, MIN, PTS, REB and AST. Base and Advanced are the two verified measures, and PerGame and Totals the two verified aggregations; read the response's headers list rather than assuming a fixed column set.", + "operationId": "nba-player-stats", "parameters": [ { "description": "League id; only 00 (NBA) is verified", @@ -512308,18 +513530,55 @@ "x-example": "00" }, { - "description": "Game day in MM/DD/YYYY form; defaults to the current UTC date", + "description": "Season in YYYY-YY form; defaults to the current NBA season", "in": "query", - "name": "game_date", + "name": "season", "type": "string", - "x-example": "11/08/2026" + "x-example": "2026-27" }, { - "description": "Whole-day offset applied to the game day example(0)", + "description": "Season type; Regular Season or Playoffs", + "enum": [ + "Regular Season", + "Playoffs", + "Pre Season", + "All Star" + ], "in": "query", - "name": "day_offset", - "type": "integer", - "x-example": 0 + "name": "season_type", + "type": "string", + "x-example": "Regular Season" + }, + { + "description": "Statistic family; Base or Advanced", + "enum": [ + "Base", + "Advanced", + "Misc", + "Scoring", + "Defense", + "Opponent" + ], + "in": "query", + "name": "measure_type", + "type": "string", + "x-example": "Base" + }, + { + "description": "Aggregation; PerGame or Totals", + "enum": [ + "PerGame", + "Totals", + "Per36", + "Per48", + "Per100Possessions", + "MinutesPer", + "PerPossession" + ], + "in": "query", + "name": "per_mode", + "type": "string", + "x-example": "PerGame" } ], "produces": [ @@ -512336,7 +513595,7 @@ { "properties": { "data": { - "$ref": "#/definitions/nba.ScoreboardResponse" + "$ref": "#/definitions/nba.TablesResponse" } }, "type": "object" @@ -512374,39 +513633,37 @@ "ApiKeyAuth": [] } ], - "summary": "NBA scoreboard for one game day", + "summary": "NBA league-wide player statistics table", "tags": [ "NBA" ] } }, - "/nba/standings": { + "/nba/player-streak-finder": { "get": { "consumes": [ "application/json" ], - "description": "Returns the standings table for one season and season type: one row per team with team id, city, name, slug, conference, division, wins, losses, win percentage, playoff rank, streak, conference record and clinched flag. Western/Eastern conference and division are columns rather than parameters, so one call returns the whole league and callers split on them.", - "operationId": "nba-standings", + "description": "Returns player game streaks for a season: the streak rows the upstream computes, one row per streak, with the player identity and streak totals.", + "operationId": "nba-player-streak-finder", "parameters": [ { - "description": "League id; only 00 (NBA) is verified", + "description": "Optional league id; only 00 (NBA) is verified.", "enum": [ "00" ], "in": "query", "name": "league_id", - "type": "string", - "x-example": "00" + "type": "string" }, { - "description": "Season in YYYY-YY form; defaults to the current NBA season", + "description": "Optional season in YYYY-YY form; defaults to the current NBA season.", "in": "query", "name": "season", - "type": "string", - "x-example": "2026-27" + "type": "string" }, { - "description": "Season type; Regular Season or Playoffs", + "description": "Optional season type.", "enum": [ "Regular Season", "Playoffs", @@ -512415,8 +513672,19 @@ ], "in": "query", "name": "season_type", - "type": "string", - "x-example": "Regular Season" + "type": "string" + }, + { + "description": "Optional player id from nba-players; narrows the streaks to one player.", + "in": "query", + "name": "player_id", + "type": "integer" + }, + { + "description": "Optional minimum streak length in games.", + "in": "query", + "name": "min_games", + "type": "integer" } ], "produces": [ @@ -512471,19 +513739,19 @@ "ApiKeyAuth": [] } ], - "summary": "NBA standings for a season and season type", + "summary": "Returns player game streaks for a season: the streak rows the upstream computes, one row per streak, with the player identity and streak totals", "tags": [ "NBA" ] } }, - "/nba/synergy-play-types": { + "/nba/players": { "get": { "consumes": [ "application/json" ], - "description": "Returns the synergy play-type dashboard for one play type and grouping. This endpoint takes a four-digit SeasonYear rather than the dashboards' YYYY-YY season label. play_type is pinned to the one verified value, Isolation, and type_grouping to the verified offensive grouping.", - "operationId": "nba-synergy-play-types", + "description": "Returns the league's player index for a season, one row per player with player id, first and last name, team id and the source's roster attributes. This is the family's player-id discovery route: the ids it returns are what nba-player-info, nba-box-score and nba-play-by-play accept, so call this instead of guessing an id. Pass team_id to narrow the index to one roster.", + "operationId": "nba-players", "parameters": [ { "description": "League id; only 00 (NBA) is verified", @@ -512496,61 +513764,24 @@ "x-example": "00" }, { - "description": "Four-digit season year such as 2026; defaults to the current season", - "in": "query", - "name": "season_year", - "type": "string", - "x-example": "2026" - }, - { - "description": "Season type", - "enum": [ - "Regular Season" - ], - "in": "query", - "name": "season_type", - "type": "string", - "x-example": "Regular Season" - }, - { - "description": "Synergy play type; only Isolation is verified", - "enum": [ - "Isolation" - ], - "in": "query", - "name": "play_type", - "type": "string", - "x-example": "Isolation" - }, - { - "description": "Aggregation", - "enum": [ - "PerGame" - ], + "description": "Season in YYYY-YY form; defaults to the current NBA season", "in": "query", - "name": "per_mode", + "name": "season", "type": "string", - "x-example": "PerGame" + "x-example": "2026-27" }, { - "description": "Subject", - "enum": [ - "T" - ], + "description": "Optional team id from nba-standings; narrows the index to that roster example(1610612741)", "in": "query", - "name": "player_or_team", - "type": "string", - "x-example": "T" + "name": "team_id", + "type": "integer", + "x-example": 1610612741 }, { - "description": "Grouping", - "enum": [ - "offensive" - ], + "description": "When true, keep only players active in the season", "in": "query", - "name": "type_grouping", - "type": "string", - "x-example": "offensive" + "name": "active", + "type": "boolean" } ], "produces": [ @@ -512605,28 +513836,895 @@ "ApiKeyAuth": [] } ], - "summary": "NBA synergy play-type dashboard", + "summary": "NBA player index: every player id for a season", "tags": [ "NBA" ] } }, - "/nba/team-details": { + "/nba/playoff-picture": { "get": { "consumes": [ "application/json" ], - "description": "Returns one franchise's detail from the league statistics service: the franchise background row (team id, abbreviation, nickname, city, arena and capacity, owner, general manager, head coach, G-League affiliate, founding year), its season-by-season history, and its championship awards. Verified columns are TEAM_ID, ABBREVIATION, NICKNAME, CITY, ARENA, ARENACAPACITY, OWNER, GENERALMANAGER, HEADCOACH, DLEAGUEAFFILIATION and YEARFOUNDED on TeamBackground, plus YEARAWARDED and OPPOSITETEAM on TeamAwardsChampionships; the upstream sends more columns than were confirmed here and they are passed through as-is.", - "operationId": "nba-team-details", + "description": "Returns the current playoff picture as two tables, EastConfPlayoffPicture and WestConfPlayoffPicture. Verified columns are TEAM_ID, CONFERENCE and CLINCHED; the upstream sends more columns than were confirmed here (the sampled PLAYOFF_RANK column name did not match the response) and any extras are passed through as-is.", + "operationId": "nba-playoff-picture", "parameters": [ - { - "description": "Team id from nba-standings", - "in": "query", - "name": "team_id", - "required": true, - "type": "integer", - "x-example": 1610612741 - }, + { + "description": "League id; only 00 (NBA) is verified", + "enum": [ + "00" + ], + "in": "query", + "name": "league_id", + "type": "string", + "x-example": "00" + }, + { + "description": "Five-digit season id such as 22026; defaults to the current season", + "in": "query", + "name": "season_id", + "type": "string", + "x-example": "22026" + } + ], + "produces": [ + "application/json" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "allOf": [ + { + "$ref": "#/definitions/app.Response" + }, + { + "properties": { + "data": { + "$ref": "#/definitions/nba.TablesResponse" + } + }, + "type": "object" + } + ] + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/app.Response" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/app.Response" + } + }, + "429": { + "description": "Too Many Requests", + "schema": { + "$ref": "#/definitions/app.Response" + } + }, + "503": { + "description": "Service Unavailable", + "schema": { + "$ref": "#/definitions/app.Response" + } + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "NBA playoff picture by conference", + "tags": [ + "NBA" + ] + } + }, + "/nba/pt-defend": { + "get": { + "consumes": [ + "application/json" + ], + "description": "Returns the league's defensive tracking table for one defended-shot category. Marker-verified columns are CLOSE_DEF_PERSON_ID, PLAYER_NAME, TEAM_ID, TEAM_ABBREVIATION, AGE, GP, G, FREQ, D_FGM, D_FGA, D_FG_PCT, NORMAL_FG_PCT and PCT_PLUSMINUS. The player identity column on this table is CLOSE_DEF_PERSON_ID, not PLAYER_ID.", + "operationId": "nba-pt-defend", + "parameters": [ + { + "description": "League id; only 00 (NBA) is verified", + "enum": [ + "00" + ], + "in": "query", + "name": "league_id", + "type": "string", + "x-example": "00" + }, + { + "description": "Season in YYYY-YY form; defaults to the current NBA season", + "in": "query", + "name": "season", + "type": "string", + "x-example": "2026-27" + }, + { + "description": "Season type", + "enum": [ + "Regular Season" + ], + "in": "query", + "name": "season_type", + "type": "string", + "x-example": "Regular Season" + }, + { + "description": "Aggregation", + "enum": [ + "PerGame" + ], + "in": "query", + "name": "per_mode", + "type": "string", + "x-example": "PerGame" + }, + { + "description": "Defended-shot category", + "enum": [ + "Overall", + "3 Pointers" + ], + "in": "query", + "name": "defense_category", + "type": "string", + "x-example": "Overall" + } + ], + "produces": [ + "application/json" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "allOf": [ + { + "$ref": "#/definitions/app.Response" + }, + { + "properties": { + "data": { + "$ref": "#/definitions/nba.TablesResponse" + } + }, + "type": "object" + } + ] + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/app.Response" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/app.Response" + } + }, + "429": { + "description": "Too Many Requests", + "schema": { + "$ref": "#/definitions/app.Response" + } + }, + "503": { + "description": "Service Unavailable", + "schema": { + "$ref": "#/definitions/app.Response" + } + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "NBA defensive tracking dashboard", + "tags": [ + "NBA" + ] + } + }, + "/nba/pt-stats": { + "get": { + "consumes": [ + "application/json" + ], + "description": "Returns the league player-tracking dashboard for one tracking measure. The endpoint rejects a trimmed query with HTTP 500, so the full dashboard scope set is always sent. pt_measure_type is pinned to the one verified measure, SpeedDistance.", + "operationId": "nba-pt-stats", + "parameters": [ + { + "description": "League id; only 00 (NBA) is verified", + "enum": [ + "00" + ], + "in": "query", + "name": "league_id", + "type": "string", + "x-example": "00" + }, + { + "description": "Season in YYYY-YY form; defaults to the current NBA season", + "in": "query", + "name": "season", + "type": "string", + "x-example": "2026-27" + }, + { + "description": "Season type", + "enum": [ + "Regular Season" + ], + "in": "query", + "name": "season_type", + "type": "string", + "x-example": "Regular Season" + }, + { + "description": "Aggregation", + "enum": [ + "PerGame" + ], + "in": "query", + "name": "per_mode", + "type": "string", + "x-example": "PerGame" + }, + { + "description": "Tracking measure; only SpeedDistance is verified", + "enum": [ + "SpeedDistance" + ], + "in": "query", + "name": "pt_measure_type", + "type": "string", + "x-example": "SpeedDistance" + } + ], + "produces": [ + "application/json" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "allOf": [ + { + "$ref": "#/definitions/app.Response" + }, + { + "properties": { + "data": { + "$ref": "#/definitions/nba.TablesResponse" + } + }, + "type": "object" + } + ] + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/app.Response" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/app.Response" + } + }, + "429": { + "description": "Too Many Requests", + "schema": { + "$ref": "#/definitions/app.Response" + } + }, + "503": { + "description": "Service Unavailable", + "schema": { + "$ref": "#/definitions/app.Response" + } + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "NBA player-tracking dashboard", + "tags": [ + "NBA" + ] + } + }, + "/nba/scoreboard": { + "get": { + "consumes": [ + "application/json" + ], + "description": "Returns every NBA game for a game day from the league's own statistics service: game id, code, status and clock, period, and both teams with id, tricode, name, score, wins and losses. Game ids from this route are the input to the box-score and play-by-play routes. The upstream requires a game date, so a missing date defaults to the current UTC date; the NBA game day is US Eastern, so pass game_date explicitly when the exact slate matters.", + "operationId": "nba-scoreboard", + "parameters": [ + { + "description": "League id; only 00 (NBA) is verified", + "enum": [ + "00" + ], + "in": "query", + "name": "league_id", + "type": "string", + "x-example": "00" + }, + { + "description": "Game day in MM/DD/YYYY form; defaults to the current UTC date", + "in": "query", + "name": "game_date", + "type": "string", + "x-example": "11/08/2026" + }, + { + "description": "Whole-day offset applied to the game day example(0)", + "in": "query", + "name": "day_offset", + "type": "integer", + "x-example": 0 + } + ], + "produces": [ + "application/json" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "allOf": [ + { + "$ref": "#/definitions/app.Response" + }, + { + "properties": { + "data": { + "$ref": "#/definitions/nba.ScoreboardResponse" + } + }, + "type": "object" + } + ] + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/app.Response" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/app.Response" + } + }, + "429": { + "description": "Too Many Requests", + "schema": { + "$ref": "#/definitions/app.Response" + } + }, + "503": { + "description": "Service Unavailable", + "schema": { + "$ref": "#/definitions/app.Response" + } + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "NBA scoreboard for one game day", + "tags": [ + "NBA" + ] + } + }, + "/nba/standings": { + "get": { + "consumes": [ + "application/json" + ], + "description": "Returns the standings table for one season and season type: one row per team with team id, city, name, slug, conference, division, wins, losses, win percentage, playoff rank, streak, conference record and clinched flag. Western/Eastern conference and division are columns rather than parameters, so one call returns the whole league and callers split on them.", + "operationId": "nba-standings", + "parameters": [ + { + "description": "League id; only 00 (NBA) is verified", + "enum": [ + "00" + ], + "in": "query", + "name": "league_id", + "type": "string", + "x-example": "00" + }, + { + "description": "Season in YYYY-YY form; defaults to the current NBA season", + "in": "query", + "name": "season", + "type": "string", + "x-example": "2026-27" + }, + { + "description": "Season type; Regular Season or Playoffs", + "enum": [ + "Regular Season", + "Playoffs", + "Pre Season", + "All Star" + ], + "in": "query", + "name": "season_type", + "type": "string", + "x-example": "Regular Season" + } + ], + "produces": [ + "application/json" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "allOf": [ + { + "$ref": "#/definitions/app.Response" + }, + { + "properties": { + "data": { + "$ref": "#/definitions/nba.TablesResponse" + } + }, + "type": "object" + } + ] + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/app.Response" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/app.Response" + } + }, + "429": { + "description": "Too Many Requests", + "schema": { + "$ref": "#/definitions/app.Response" + } + }, + "503": { + "description": "Service Unavailable", + "schema": { + "$ref": "#/definitions/app.Response" + } + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "NBA standings for a season and season type", + "tags": [ + "NBA" + ] + } + }, + "/nba/synergy-play-types": { + "get": { + "consumes": [ + "application/json" + ], + "description": "Returns the synergy play-type dashboard for one play type and grouping. This endpoint takes a four-digit SeasonYear rather than the dashboards' YYYY-YY season label. play_type is pinned to the one verified value, Isolation, and type_grouping to the verified offensive grouping.", + "operationId": "nba-synergy-play-types", + "parameters": [ + { + "description": "League id; only 00 (NBA) is verified", + "enum": [ + "00" + ], + "in": "query", + "name": "league_id", + "type": "string", + "x-example": "00" + }, + { + "description": "Four-digit season year such as 2026; defaults to the current season", + "in": "query", + "name": "season_year", + "type": "string", + "x-example": "2026" + }, + { + "description": "Season type", + "enum": [ + "Regular Season" + ], + "in": "query", + "name": "season_type", + "type": "string", + "x-example": "Regular Season" + }, + { + "description": "Synergy play type; only Isolation is verified", + "enum": [ + "Isolation" + ], + "in": "query", + "name": "play_type", + "type": "string", + "x-example": "Isolation" + }, + { + "description": "Aggregation", + "enum": [ + "PerGame" + ], + "in": "query", + "name": "per_mode", + "type": "string", + "x-example": "PerGame" + }, + { + "description": "Subject", + "enum": [ + "T" + ], + "in": "query", + "name": "player_or_team", + "type": "string", + "x-example": "T" + }, + { + "description": "Grouping", + "enum": [ + "offensive" + ], + "in": "query", + "name": "type_grouping", + "type": "string", + "x-example": "offensive" + } + ], + "produces": [ + "application/json" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "allOf": [ + { + "$ref": "#/definitions/app.Response" + }, + { + "properties": { + "data": { + "$ref": "#/definitions/nba.TablesResponse" + } + }, + "type": "object" + } + ] + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/app.Response" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/app.Response" + } + }, + "429": { + "description": "Too Many Requests", + "schema": { + "$ref": "#/definitions/app.Response" + } + }, + "503": { + "description": "Service Unavailable", + "schema": { + "$ref": "#/definitions/app.Response" + } + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "NBA synergy play-type dashboard", + "tags": [ + "NBA" + ] + } + }, + "/nba/team-dash-pt-pass": { + "get": { + "consumes": [ + "application/json" + ], + "description": "Returns one team's passing dashboard: the pass-type breakdowns the upstream computes for that team, as several result sets.", + "operationId": "nba-team-dash-pt-pass", + "parameters": [ + { + "description": "Optional league id; only 00 (NBA) is verified.", + "enum": [ + "00" + ], + "in": "query", + "name": "league_id", + "type": "string" + }, + { + "description": "Optional season in YYYY-YY form; defaults to the current NBA season.", + "in": "query", + "name": "season", + "type": "string" + }, + { + "description": "Optional season type.", + "enum": [ + "Regular Season", + "Playoffs", + "Pre Season", + "All Star" + ], + "in": "query", + "name": "season_type", + "type": "string" + }, + { + "description": "Optional aggregation.", + "enum": [ + "PerGame", + "Totals", + "Per36", + "Per48", + "Per100Possessions", + "MinutesPer", + "PerPossession" + ], + "in": "query", + "name": "per_mode", + "type": "string" + }, + { + "description": "Required team id from nba-standings.", + "in": "query", + "name": "team_id", + "required": true, + "type": "integer" + } + ], + "produces": [ + "application/json" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "allOf": [ + { + "$ref": "#/definitions/app.Response" + }, + { + "properties": { + "data": { + "$ref": "#/definitions/nba.TablesResponse" + } + }, + "type": "object" + } + ] + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/app.Response" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/app.Response" + } + }, + "429": { + "description": "Too Many Requests", + "schema": { + "$ref": "#/definitions/app.Response" + } + }, + "503": { + "description": "Service Unavailable", + "schema": { + "$ref": "#/definitions/app.Response" + } + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Returns one team's passing dashboard: the pass-type breakdowns the upstream computes for that team, as several result sets", + "tags": [ + "NBA" + ] + } + }, + "/nba/team-dash-pt-shots": { + "get": { + "consumes": [ + "application/json" + ], + "description": "Returns one team's tracking shot dashboard: the shot breakdowns the upstream computes for that team (by touch time and shot type), as several result sets.", + "operationId": "nba-team-dash-pt-shots", + "parameters": [ + { + "description": "Optional league id; only 00 (NBA) is verified.", + "enum": [ + "00" + ], + "in": "query", + "name": "league_id", + "type": "string" + }, + { + "description": "Optional season in YYYY-YY form; defaults to the current NBA season.", + "in": "query", + "name": "season", + "type": "string" + }, + { + "description": "Optional season type.", + "enum": [ + "Regular Season", + "Playoffs", + "Pre Season", + "All Star" + ], + "in": "query", + "name": "season_type", + "type": "string" + }, + { + "description": "Optional aggregation.", + "enum": [ + "PerGame", + "Totals", + "Per36", + "Per48", + "Per100Possessions", + "MinutesPer", + "PerPossession" + ], + "in": "query", + "name": "per_mode", + "type": "string" + }, + { + "description": "Required team id from nba-standings.", + "in": "query", + "name": "team_id", + "required": true, + "type": "integer" + } + ], + "produces": [ + "application/json" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "allOf": [ + { + "$ref": "#/definitions/app.Response" + }, + { + "properties": { + "data": { + "$ref": "#/definitions/nba.TablesResponse" + } + }, + "type": "object" + } + ] + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/app.Response" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/app.Response" + } + }, + "429": { + "description": "Too Many Requests", + "schema": { + "$ref": "#/definitions/app.Response" + } + }, + "503": { + "description": "Service Unavailable", + "schema": { + "$ref": "#/definitions/app.Response" + } + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Returns one team's tracking shot dashboard: the shot breakdowns the upstream computes for that team (by touch time and shot type), as several result sets", + "tags": [ + "NBA" + ] + } + }, + "/nba/team-details": { + "get": { + "consumes": [ + "application/json" + ], + "description": "Returns one franchise's detail from the league statistics service: the franchise background row (team id, abbreviation, nickname, city, arena and capacity, owner, general manager, head coach, G-League affiliate, founding year), its season-by-season history, and its championship awards. Verified columns are TEAM_ID, ABBREVIATION, NICKNAME, CITY, ARENA, ARENACAPACITY, OWNER, GENERALMANAGER, HEADCOACH, DLEAGUEAFFILIATION and YEARFOUNDED on TeamBackground, plus YEARAWARDED and OPPOSITETEAM on TeamAwardsChampionships; the upstream sends more columns than were confirmed here and they are passed through as-is.", + "operationId": "nba-team-details", + "parameters": [ + { + "description": "Team id from nba-standings", + "in": "query", + "name": "team_id", + "required": true, + "type": "integer", + "x-example": 1610612741 + }, { "description": "League id; only 00 (NBA) is verified", "enum": [ @@ -512696,6 +514794,447 @@ ] } }, + "/nba/team-game-logs": { + "get": { + "consumes": [ + "application/json" + ], + "description": "Returns one team's game log for a season, one row per game with the team's box-score line (field goals, threes, rebounds, assists, steals, blocks, turnovers, points and plus-minus).", + "operationId": "nba-team-game-logs", + "parameters": [ + { + "description": "Optional league id; only 00 (NBA) is verified.", + "enum": [ + "00" + ], + "in": "query", + "name": "league_id", + "type": "string" + }, + { + "description": "Optional season in YYYY-YY form; defaults to the current NBA season.", + "in": "query", + "name": "season", + "type": "string" + }, + { + "description": "Optional season type.", + "enum": [ + "Regular Season", + "Playoffs", + "Pre Season", + "All Star" + ], + "in": "query", + "name": "season_type", + "type": "string" + }, + { + "description": "Required team id from nba-standings.", + "in": "query", + "name": "team_id", + "required": true, + "type": "integer" + } + ], + "produces": [ + "application/json" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "allOf": [ + { + "$ref": "#/definitions/app.Response" + }, + { + "properties": { + "data": { + "$ref": "#/definitions/nba.TablesResponse" + } + }, + "type": "object" + } + ] + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/app.Response" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/app.Response" + } + }, + "429": { + "description": "Too Many Requests", + "schema": { + "$ref": "#/definitions/app.Response" + } + }, + "503": { + "description": "Service Unavailable", + "schema": { + "$ref": "#/definitions/app.Response" + } + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Returns one team's game log for a season, one row per game with the team's box-score line (field goals, threes, rebounds, assists, steals, blocks, turnovers, points and plus-minus)", + "tags": [ + "NBA" + ] + } + }, + "/nba/team-info-common": { + "get": { + "consumes": [ + "application/json" + ], + "description": "Returns one team's identity and season summary: city, name, abbreviation, code, conference and division, the win/loss record and per-game team averages, plus the team's available seasons.", + "operationId": "nba-team-info-common", + "parameters": [ + { + "description": "Optional league id; only 00 (NBA) is verified.", + "enum": [ + "00" + ], + "in": "query", + "name": "league_id", + "type": "string" + }, + { + "description": "Optional season in YYYY-YY form; defaults to the current NBA season.", + "in": "query", + "name": "season", + "type": "string" + }, + { + "description": "Optional season type.", + "enum": [ + "Regular Season", + "Playoffs", + "Pre Season", + "All Star" + ], + "in": "query", + "name": "season_type", + "type": "string" + }, + { + "description": "Required team id from nba-standings.", + "in": "query", + "name": "team_id", + "required": true, + "type": "integer" + } + ], + "produces": [ + "application/json" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "allOf": [ + { + "$ref": "#/definitions/app.Response" + }, + { + "properties": { + "data": { + "$ref": "#/definitions/nba.TablesResponse" + } + }, + "type": "object" + } + ] + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/app.Response" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/app.Response" + } + }, + "429": { + "description": "Too Many Requests", + "schema": { + "$ref": "#/definitions/app.Response" + } + }, + "503": { + "description": "Service Unavailable", + "schema": { + "$ref": "#/definitions/app.Response" + } + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Returns one team's identity and season summary: city, name, abbreviation, code, conference and division, the win/loss record and per-game team averages, plus the team's available seasons", + "tags": [ + "NBA" + ] + } + }, + "/nba/team-on-off": { + "get": { + "consumes": [ + "application/json" + ], + "description": "Returns a team's on-court/off-court player splits: the on-court and off-court rows the upstream computes, with each player's minutes and rating impact.", + "operationId": "nba-team-on-off", + "parameters": [ + { + "description": "Optional league id; only 00 (NBA) is verified.", + "enum": [ + "00" + ], + "in": "query", + "name": "league_id", + "type": "string" + }, + { + "description": "Optional season in YYYY-YY form; defaults to the current NBA season.", + "in": "query", + "name": "season", + "type": "string" + }, + { + "description": "Optional season type.", + "enum": [ + "Regular Season", + "Playoffs", + "Pre Season", + "All Star" + ], + "in": "query", + "name": "season_type", + "type": "string" + }, + { + "description": "Optional aggregation.", + "enum": [ + "PerGame", + "Totals", + "Per36", + "Per48", + "Per100Possessions", + "MinutesPer", + "PerPossession" + ], + "in": "query", + "name": "per_mode", + "type": "string" + }, + { + "description": "Optional statistic family.", + "enum": [ + "Base", + "Advanced", + "Misc", + "Scoring", + "Defense", + "Opponent" + ], + "in": "query", + "name": "measure_type", + "type": "string" + }, + { + "description": "Required team id from nba-standings.", + "in": "query", + "name": "team_id", + "required": true, + "type": "integer" + } + ], + "produces": [ + "application/json" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "allOf": [ + { + "$ref": "#/definitions/app.Response" + }, + { + "properties": { + "data": { + "$ref": "#/definitions/nba.TablesResponse" + } + }, + "type": "object" + } + ] + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/app.Response" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/app.Response" + } + }, + "429": { + "description": "Too Many Requests", + "schema": { + "$ref": "#/definitions/app.Response" + } + }, + "503": { + "description": "Service Unavailable", + "schema": { + "$ref": "#/definitions/app.Response" + } + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Returns a team's on-court/off-court player splits: the on-court and off-court rows the upstream computes, with each player's minutes and rating impact", + "tags": [ + "NBA" + ] + } + }, + "/nba/team-pt-shot": { + "get": { + "consumes": [ + "application/json" + ], + "description": "Returns the league's team shooting table: one row per team with the shooting line, split overall and from three.", + "operationId": "nba-team-pt-shot", + "parameters": [ + { + "description": "Optional league id; only 00 (NBA) is verified.", + "enum": [ + "00" + ], + "in": "query", + "name": "league_id", + "type": "string" + }, + { + "description": "Optional season in YYYY-YY form; defaults to the current NBA season.", + "in": "query", + "name": "season", + "type": "string" + }, + { + "description": "Optional season type.", + "enum": [ + "Regular Season", + "Playoffs", + "Pre Season", + "All Star" + ], + "in": "query", + "name": "season_type", + "type": "string" + }, + { + "description": "Optional aggregation.", + "enum": [ + "PerGame", + "Totals", + "Per36", + "Per48", + "Per100Possessions", + "MinutesPer", + "PerPossession" + ], + "in": "query", + "name": "per_mode", + "type": "string" + } + ], + "produces": [ + "application/json" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "allOf": [ + { + "$ref": "#/definitions/app.Response" + }, + { + "properties": { + "data": { + "$ref": "#/definitions/nba.TablesResponse" + } + }, + "type": "object" + } + ] + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/app.Response" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/app.Response" + } + }, + "429": { + "description": "Too Many Requests", + "schema": { + "$ref": "#/definitions/app.Response" + } + }, + "503": { + "description": "Service Unavailable", + "schema": { + "$ref": "#/definitions/app.Response" + } + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Returns the league's team shooting table: one row per team with the shooting line, split overall and from three", + "tags": [ + "NBA" + ] + } + }, "/nba/team-roster": { "get": { "consumes": [ @@ -513176,6 +515715,82 @@ ] } }, + "/nba/team-years": { + "get": { + "consumes": [ + "application/json" + ], + "description": "Returns every franchise and the range of seasons it has played, one row per team.", + "operationId": "nba-team-years", + "parameters": [ + { + "description": "Optional league id; only 00 (NBA) is verified.", + "enum": [ + "00" + ], + "in": "query", + "name": "league_id", + "type": "string" + } + ], + "produces": [ + "application/json" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "allOf": [ + { + "$ref": "#/definitions/app.Response" + }, + { + "properties": { + "data": { + "$ref": "#/definitions/nba.TablesResponse" + } + }, + "type": "object" + } + ] + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/app.Response" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/app.Response" + } + }, + "429": { + "description": "Too Many Requests", + "schema": { + "$ref": "#/definitions/app.Response" + } + }, + "503": { + "description": "Service Unavailable", + "schema": { + "$ref": "#/definitions/app.Response" + } + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Returns every franchise and the range of seasons it has played, one row per team", + "tags": [ + "NBA" + ] + } + }, "/nbc/article": { "get": { "description": "Returns public NBC News article metadata and body paragraphs from a canonical article URL. This does not bypass login, subscription, or other access controls.", @@ -517598,6 +520213,255 @@ ] } }, + "/nhl/gamecenter/boxscore": { + "get": { + "consumes": [ + "application/json" + ], + "description": "Returns the upstream gamecenter boxscore for one NHL game ID, preserving the source's team and player statistics.", + "operationId": "nhl-gamecenter-boxscore", + "parameters": [ + { + "description": "10-digit NHL game ID", + "in": "query", + "name": "game_id", + "required": true, + "type": "string", + "x-example": "2026020262" + } + ], + "produces": [ + "application/json" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/nhl.gamecenterResponseDoc" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/app.Response" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/app.Response" + } + }, + "503": { + "description": "Service Unavailable", + "schema": { + "$ref": "#/definitions/app.Response" + } + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Get NHL game boxscore", + "tags": [ + "NHL" + ] + } + }, + "/nhl/gamecenter/play-by-play": { + "get": { + "consumes": [ + "application/json" + ], + "description": "Returns the upstream gamecenter play-by-play for one NHL game ID, preserving the source event sequence and team/player fields.", + "operationId": "nhl-gamecenter-play-by-play", + "parameters": [ + { + "description": "10-digit NHL game ID", + "in": "query", + "name": "game_id", + "required": true, + "type": "string", + "x-example": "2026020262" + } + ], + "produces": [ + "application/json" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/nhl.gamecenterResponseDoc" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/app.Response" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/app.Response" + } + }, + "503": { + "description": "Service Unavailable", + "schema": { + "$ref": "#/definitions/app.Response" + } + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Get NHL game play by play", + "tags": [ + "NHL" + ] + } + }, + "/nhl/schedule": { + "get": { + "consumes": [ + "application/json" + ], + "description": "Returns the NHL schedule resource for the requested ISO date. Omitting date uses the upstream `now` resource. The response preserves game IDs, game state, and source schedule structure.", + "operationId": "nhl-schedule", + "parameters": [ + { + "description": "ISO date (YYYY-MM-DD); defaults to now", + "in": "query", + "name": "date", + "type": "string", + "x-example": "2026-11-06" + } + ], + "produces": [ + "application/json" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/nhl.scheduleResponseDoc" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/app.Response" + } + }, + "503": { + "description": "Service Unavailable", + "schema": { + "$ref": "#/definitions/app.Response" + } + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Get NHL schedule", + "tags": [ + "NHL" + ] + } + }, + "/nhl/seasons": { + "get": { + "consumes": [ + "application/json" + ], + "description": "Returns the NHL API's native season catalog without additional filtering or derived fields.", + "operationId": "nhl-seasons", + "produces": [ + "application/json" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/app.Response" + } + }, + "503": { + "description": "Service Unavailable", + "schema": { + "$ref": "#/definitions/app.Response" + } + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "List NHL seasons", + "tags": [ + "NHL" + ] + } + }, + "/nhl/standings": { + "get": { + "consumes": [ + "application/json" + ], + "description": "Returns the NHL standings resource for the requested ISO date. Omitting date uses the upstream `now` resource. The response preserves NHL team IDs, standings fields, and source dates.", + "operationId": "nhl-standings", + "parameters": [ + { + "description": "ISO date (YYYY-MM-DD); defaults to now", + "in": "query", + "name": "date", + "type": "string", + "x-example": "2026-11-06" + } + ], + "produces": [ + "application/json" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/nhl.standingsResponseDoc" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/app.Response" + } + }, + "503": { + "description": "Service Unavailable", + "schema": { + "$ref": "#/definitions/app.Response" + } + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Get NHL standings", + "tags": [ + "NHL" + ] + } + }, "/nike/categories": { "get": { "consumes": [ @@ -571545,6 +574409,707 @@ ] } }, + "/serebii/pokemongo/communityday/{filename}": { + "get": { + "description": "Returns the public tables from one native Community Day detail page. Linked pages and media are not fetched.", + "operationId": "serebii-pokemongo-event-detail-community-day", + "parameters": [ + { + "description": "Native event page filename returned by the Community Day list", + "in": "path", + "name": "filename", + "required": true, + "type": "string" + } + ], + "produces": [ + "application/json" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/serebii.NativeEventDetailResponse" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/app.Response" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/app.Response" + } + }, + "503": { + "description": "Service Unavailable", + "schema": { + "$ref": "#/definitions/app.Response" + } + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Get a Serebii Pokémon GO Community Day page", + "tags": [ + "Serebii" + ] + } + }, + "/serebii/pokemongo/event-categories": { + "get": { + "description": "Returns the nine native event category pages linked from the Pokémon GO event index.", + "operationId": "serebii-pokemongo-event-categories", + "produces": [ + "application/json" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/serebii.EventCategoriesResponse" + } + }, + "503": { + "description": "Service Unavailable", + "schema": { + "$ref": "#/definitions/app.Response" + } + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "List Serebii Pokémon GO event category pages", + "tags": [ + "Serebii" + ] + } + }, + "/serebii/pokemongo/event-only-moves": { + "get": { + "description": "Returns Serebii's Fast Attacks and Charge Attacks tables for moves identified as event-only.", + "operationId": "serebii-pokemongo-event-only-moves", + "produces": [ + "application/json" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/serebii.EventOnlyMovesResponse" + } + }, + "503": { + "description": "Service Unavailable", + "schema": { + "$ref": "#/definitions/app.Response" + } + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "List Serebii Pokémon GO event-only move tables", + "tags": [ + "Serebii" + ] + } + }, + "/serebii/pokemongo/event-only-research": { + "get": { + "description": "Returns the rows from Serebii's Event Only Field Research table.", + "operationId": "serebii-pokemongo-event-only-research", + "produces": [ + "application/json" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/serebii.EventOnlyResearchResponse" + } + }, + "503": { + "description": "Service Unavailable", + "schema": { + "$ref": "#/definitions/app.Response" + } + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "List Serebii Pokémon GO event-only field research", + "tags": [ + "Serebii" + ] + } + }, + "/serebii/pokemongo/events": { + "get": { + "description": "Returns the rows from one native Serebii Pokémon GO event category page, preserving source order and date labels.", + "operationId": "serebii-pokemongo-events", + "parameters": [ + { + "description": "Native event page filename from event-categories", + "enum": [ + "events.shtml", + "reallifeevents.shtml", + "ticketevents.shtml", + "communityday.shtml", + "raidday.shtml", + "maxbattleday.shtml", + "incenseday.shtml", + "limitedresearchday.shtml", + "hatchday.shtml" + ], + "in": "query", + "name": "category", + "required": true, + "type": "string" + } + ], + "produces": [ + "application/json" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/serebii.EventsResponse" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/app.Response" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/app.Response" + } + }, + "503": { + "description": "Service Unavailable", + "schema": { + "$ref": "#/definitions/app.Response" + } + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "List events from a Serebii Pokémon GO category page", + "tags": [ + "Serebii" + ] + } + }, + "/serebii/pokemongo/events/{filename}": { + "get": { + "description": "Returns the public tables from one native Global Events detail page. Linked pages and media are not fetched.", + "operationId": "serebii-pokemongo-event-detail-global", + "parameters": [ + { + "description": "Native event page filename returned by the Global Events list", + "in": "path", + "name": "filename", + "required": true, + "type": "string" + } + ], + "produces": [ + "application/json" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/serebii.NativeEventDetailResponse" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/app.Response" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/app.Response" + } + }, + "503": { + "description": "Service Unavailable", + "schema": { + "$ref": "#/definitions/app.Response" + } + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Get a Serebii Pokémon GO global event page", + "tags": [ + "Serebii" + ] + } + }, + "/serebii/pokemongo/hatchday/{filename}": { + "get": { + "description": "Returns the public tables from one native Hatch Day detail page. Linked pages and media are not fetched.", + "operationId": "serebii-pokemongo-event-detail-hatch-day", + "parameters": [ + { + "description": "Native event page filename returned by the Hatch Day list", + "in": "path", + "name": "filename", + "required": true, + "type": "string" + } + ], + "produces": [ + "application/json" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/serebii.NativeEventDetailResponse" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/app.Response" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/app.Response" + } + }, + "503": { + "description": "Service Unavailable", + "schema": { + "$ref": "#/definitions/app.Response" + } + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Get a Serebii Pokémon GO Hatch Day page", + "tags": [ + "Serebii" + ] + } + }, + "/serebii/pokemongo/incenseday/{filename}": { + "get": { + "description": "Returns the public tables from one native Incense Day detail page. Linked pages and media are not fetched.", + "operationId": "serebii-pokemongo-event-detail-incense-day", + "parameters": [ + { + "description": "Native event page filename returned by the Incense Day list", + "in": "path", + "name": "filename", + "required": true, + "type": "string" + } + ], + "produces": [ + "application/json" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/serebii.NativeEventDetailResponse" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/app.Response" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/app.Response" + } + }, + "503": { + "description": "Service Unavailable", + "schema": { + "$ref": "#/definitions/app.Response" + } + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Get a Serebii Pokémon GO Incense Day page", + "tags": [ + "Serebii" + ] + } + }, + "/serebii/pokemongo/limitedresearchday/{filename}": { + "get": { + "description": "Returns the public tables from one native Research Day detail page. Linked pages and media are not fetched.", + "operationId": "serebii-pokemongo-event-detail-research-day", + "parameters": [ + { + "description": "Native event page filename returned by the Research Day list", + "in": "path", + "name": "filename", + "required": true, + "type": "string" + } + ], + "produces": [ + "application/json" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/serebii.NativeEventDetailResponse" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/app.Response" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/app.Response" + } + }, + "503": { + "description": "Service Unavailable", + "schema": { + "$ref": "#/definitions/app.Response" + } + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Get a Serebii Pokémon GO Research Day page", + "tags": [ + "Serebii" + ] + } + }, + "/serebii/pokemongo/maxbattleday/{filename}": { + "get": { + "description": "Returns the public tables from one native Max Battle Day detail page. Linked pages and media are not fetched.", + "operationId": "serebii-pokemongo-event-detail-max-battle-day", + "parameters": [ + { + "description": "Native event page filename returned by the Max Battle Day list", + "in": "path", + "name": "filename", + "required": true, + "type": "string" + } + ], + "produces": [ + "application/json" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/serebii.NativeEventDetailResponse" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/app.Response" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/app.Response" + } + }, + "503": { + "description": "Service Unavailable", + "schema": { + "$ref": "#/definitions/app.Response" + } + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Get a Serebii Pokémon GO Max Battle Day page", + "tags": [ + "Serebii" + ] + } + }, + "/serebii/pokemongo/raidday/{filename}": { + "get": { + "description": "Returns the public tables from one native Raid Day detail page. Linked pages and media are not fetched.", + "operationId": "serebii-pokemongo-event-detail-raid-day", + "parameters": [ + { + "description": "Native event page filename returned by the Raid Day list", + "in": "path", + "name": "filename", + "required": true, + "type": "string" + } + ], + "produces": [ + "application/json" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/serebii.NativeEventDetailResponse" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/app.Response" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/app.Response" + } + }, + "503": { + "description": "Service Unavailable", + "schema": { + "$ref": "#/definitions/app.Response" + } + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Get a Serebii Pokémon GO Raid Day page", + "tags": [ + "Serebii" + ] + } + }, + "/serebii/pokemongo/reallifeevents/{filename}": { + "get": { + "description": "Returns the public tables from one native Real Life Events detail page. Linked pages and media are not fetched.", + "operationId": "serebii-pokemongo-event-detail-real-life", + "parameters": [ + { + "description": "Native event page filename returned by the Real Life Events list", + "in": "path", + "name": "filename", + "required": true, + "type": "string" + } + ], + "produces": [ + "application/json" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/serebii.NativeEventDetailResponse" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/app.Response" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/app.Response" + } + }, + "503": { + "description": "Service Unavailable", + "schema": { + "$ref": "#/definitions/app.Response" + } + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Get a Serebii Pokémon GO real-life event page", + "tags": [ + "Serebii" + ] + } + }, + "/serebii/pokemongo/spotlight-hours": { + "get": { + "description": "Returns rows from Serebii's historical Spotlight Hour table. The source dates are labels and do not represent a current or future schedule.", + "operationId": "serebii-pokemongo-spotlight-hours", + "produces": [ + "application/json" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/serebii.SpotlightHoursResponse" + } + }, + "503": { + "description": "Service Unavailable", + "schema": { + "$ref": "#/definitions/app.Response" + } + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "List Serebii Pokémon GO Spotlight Hour archive rows", + "tags": [ + "Serebii" + ] + } + }, + "/serebii/pokemongo/ticketevents/{filename}": { + "get": { + "description": "Returns the public tables from one native Ticket Events detail page. Linked pages and media are not fetched.", + "operationId": "serebii-pokemongo-event-detail-ticket", + "parameters": [ + { + "description": "Native event page filename returned by the Ticket Events list", + "in": "path", + "name": "filename", + "required": true, + "type": "string" + } + ], + "produces": [ + "application/json" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/serebii.NativeEventDetailResponse" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/app.Response" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/app.Response" + } + }, + "503": { + "description": "Service Unavailable", + "schema": { + "$ref": "#/definitions/app.Response" + } + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Get a Serebii Pokémon GO ticket event page", + "tags": [ + "Serebii" + ] + } + }, + "/serebii/pokemongo/unown-events": { + "get": { + "description": "Returns the rows from Serebii's Unown Event Locations archive, including source date, event, locations, letters, and restrictions.", + "operationId": "serebii-pokemongo-unown-events", + "produces": [ + "application/json" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/serebii.UnownEventsResponse" + } + }, + "503": { + "description": "Service Unavailable", + "schema": { + "$ref": "#/definitions/app.Response" + } + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "List Serebii Pokémon GO Unown event locations", + "tags": [ + "Serebii" + ] + } + }, "/sevennewsau/article": { "get": { "description": "Returns public 7NEWS article metadata and body paragraphs from a canonical 7news.com.au article URL. 7NEWS articles are free to read; a non-free content tier, if one ever appears, is flagged as paywalled.", diff --git a/src/main/java/net/crawlora/ClientGroups.java b/src/main/java/net/crawlora/ClientGroups.java index 8ca0d30..f7b283b 100644 --- a/src/main/java/net/crawlora/ClientGroups.java +++ b/src/main/java/net/crawlora/ClientGroups.java @@ -1058,6 +1058,14 @@ public ENewsGroup eNews() { return new ENewsGroup((CrawloraClient) this); } + /** + * Typed accessor for the "epicGamesStore" operation group. + * @return a new {@link EpicGamesStoreGroup} bound to this client + */ + public EpicGamesStoreGroup epicGamesStore() { + return new EpicGamesStoreGroup((CrawloraClient) this); + } + /** * Typed accessor for the "espn" operation group. * @return a new {@link EspnGroup} bound to this client @@ -1602,6 +1610,14 @@ public HealthgradesGroup healthgrades() { return new HealthgradesGroup((CrawloraClient) this); } + /** + * Typed accessor for the "hearthstone" operation group. + * @return a new {@link HearthstoneGroup} bound to this client + */ + public HearthstoneGroup hearthstone() { + return new HearthstoneGroup((CrawloraClient) this); + } + /** * Typed accessor for the "hermes" operation group. * @return a new {@link HermesGroup} bound to this client @@ -2410,6 +2426,14 @@ public NfhsGroup nfhs() { return new NfhsGroup((CrawloraClient) this); } + /** + * Typed accessor for the "nhl" operation group. + * @return a new {@link NhlGroup} bound to this client + */ + public NhlGroup nhl() { + return new NhlGroup((CrawloraClient) this); + } + /** * Typed accessor for the "nike" operation group. * @return a new {@link NikeGroup} bound to this client @@ -3122,6 +3146,14 @@ public SephoraGroup sephora() { return new SephoraGroup((CrawloraClient) this); } + /** + * Typed accessor for the "serebii" operation group. + * @return a new {@link SerebiiGroup} bound to this client + */ + public SerebiiGroup serebii() { + return new SerebiiGroup((CrawloraClient) this); + } + /** * Typed accessor for the "sevenNewsAustralia" operation group. * @return a new {@link SevenNewsAustraliaGroup} bound to this client diff --git a/src/main/java/net/crawlora/OperationId.java b/src/main/java/net/crawlora/OperationId.java index 4715bd8..5bae4d3 100644 --- a/src/main/java/net/crawlora/OperationId.java +++ b/src/main/java/net/crawlora/OperationId.java @@ -1069,6 +1069,7 @@ private OperationId() {} public static final String ENTERTAINMENT_WEEKLY_EW_HEADLINES = "ew-headlines"; public static final String ENTERTAINMENT_WEEKLY_EW_NEWS = "ew-news"; public static final String ENTERTAINMENT_WEEKLY_EW_SECTIONS = "ew-sections"; + public static final String EPIC_GAMES_STORE_EPICGAMES_FREE_PROMOTIONS = "epicgames-free-promotions"; public static final String ESPN_ATHLETE = "espn-athlete"; public static final String ESPN_GAME_SUMMARY = "espn-game-summary"; public static final String ESPN_NEWS = "espn-news"; @@ -1834,6 +1835,9 @@ private OperationId() {} public static final String HEALTHGRADES_PHYSICIANS_SEARCH = "healthgrades-physicians-search"; public static final String HEALTHGRADES_SPECIALTIES = "healthgrades-specialties"; public static final String HEALTHGRADES_TOP_SEARCHES = "healthgrades-top-searches"; + public static final String HEARTHSTONE_CARD = "hearthstone-card"; + public static final String HEARTHSTONE_CARDS = "hearthstone-cards"; + public static final String HEARTHSTONE_FILTERS = "hearthstone-filters"; public static final String HERMES_CATEGORIES = "hermes-categories"; public static final String HERMES_CATEGORY = "hermes-category"; public static final String HERMES_PRODUCT = "hermes-product"; @@ -2571,16 +2575,23 @@ private OperationId() {} public static final String NBA_GAMES = "nba-games"; public static final String NBA_HOMEPAGE_LEADERS = "nba-homepage-leaders"; public static final String NBA_HUSTLE_STATS = "nba-hustle-stats"; + public static final String NBA_HUSTLE_TEAM = "nba-hustle-team"; public static final String NBA_LEAGUE_GAME_LOG = "nba-league-game-log"; public static final String NBA_LINEUPS = "nba-lineups"; public static final String NBA_NEWS = "nba-news"; + public static final String NBA_OPP_PT_SHOT = "nba-opp-pt-shot"; public static final String NBA_PLAY_BY_PLAY = "nba-play-by-play"; public static final String NBA_PLAYER_AWARDS = "nba-player-awards"; public static final String NBA_PLAYER_BIO_STATS = "nba-player-bio-stats"; public static final String NBA_PLAYER_CAREER_STATS = "nba-player-career-stats"; + public static final String NBA_PLAYER_CLUTCH = "nba-player-clutch"; public static final String NBA_PLAYER_DASH_PT_SHOTS = "nba-player-dash-pt-shots"; + public static final String NBA_PLAYER_GAME_LOGS = "nba-player-game-logs"; public static final String NBA_PLAYER_INFO = "nba-player-info"; + public static final String NBA_PLAYER_PROFILE_V2 = "nba-player-profile-v2"; + public static final String NBA_PLAYER_PT_SHOT = "nba-player-pt-shot"; public static final String NBA_PLAYER_STATS = "nba-player-stats"; + public static final String NBA_PLAYER_STREAK_FINDER = "nba-player-streak-finder"; public static final String NBA_PLAYERS = "nba-players"; public static final String NBA_PLAYOFF_PICTURE = "nba-playoff-picture"; public static final String NBA_PT_DEFEND = "nba-pt-defend"; @@ -2588,11 +2599,18 @@ private OperationId() {} public static final String NBA_SCOREBOARD = "nba-scoreboard"; public static final String NBA_STANDINGS = "nba-standings"; public static final String NBA_SYNERGY_PLAY_TYPES = "nba-synergy-play-types"; + public static final String NBA_TEAM_DASH_PT_PASS = "nba-team-dash-pt-pass"; + public static final String NBA_TEAM_DASH_PT_SHOTS = "nba-team-dash-pt-shots"; public static final String NBA_TEAM_DETAILS = "nba-team-details"; + public static final String NBA_TEAM_GAME_LOGS = "nba-team-game-logs"; + public static final String NBA_TEAM_INFO_COMMON = "nba-team-info-common"; + public static final String NBA_TEAM_ON_OFF = "nba-team-on-off"; + public static final String NBA_TEAM_PT_SHOT = "nba-team-pt-shot"; public static final String NBA_TEAM_ROSTER = "nba-team-roster"; public static final String NBA_TEAM_SHOT_LOCATIONS = "nba-team-shot-locations"; public static final String NBA_TEAM_STATS = "nba-team-stats"; public static final String NBA_TEAM_STATS_LEADERS = "nba-team-stats-leaders"; + public static final String NBA_TEAM_YEARS = "nba-team-years"; public static final String NBC_NEWS_CALL = "nbc-news"; public static final String NBC_NEWS_NBC_ARTICLE = "nbc-article"; public static final String NBC_NEWS_NBC_AUTHOR = "nbc-author"; @@ -2679,6 +2697,11 @@ private OperationId() {} public static final String NFHS_SPORTS = "nfhs-sports"; public static final String NFHS_STATES = "nfhs-states"; public static final String NFHS_SUGGEST = "nfhs-suggest"; + public static final String NHL_GAMECENTER_BOXSCORE = "nhl-gamecenter-boxscore"; + public static final String NHL_GAMECENTER_PLAY_BY_PLAY = "nhl-gamecenter-play-by-play"; + public static final String NHL_SCHEDULE = "nhl-schedule"; + public static final String NHL_SEASONS = "nhl-seasons"; + public static final String NHL_STANDINGS = "nhl-standings"; public static final String NIKE_CATEGORIES = "nike-categories"; public static final String NIKE_PRODUCT = "nike-product"; public static final String NIKE_PRODUCT_AVAILABILITY = "nike-product-availability"; @@ -3432,6 +3455,21 @@ private OperationId() {} public static final String SEPHORA_SEARCH = "sephora-search"; public static final String SEPHORA_STORES = "sephora-stores"; public static final String SEPHORA_SUGGEST = "sephora-suggest"; + public static final String SEREBII_POKEMONGO_EVENT_CATEGORIES = "serebii-pokemongo-event-categories"; + public static final String SEREBII_POKEMONGO_EVENT_DETAIL_COMMUNITY_DAY = "serebii-pokemongo-event-detail-community-day"; + public static final String SEREBII_POKEMONGO_EVENT_DETAIL_GLOBAL = "serebii-pokemongo-event-detail-global"; + public static final String SEREBII_POKEMONGO_EVENT_DETAIL_HATCH_DAY = "serebii-pokemongo-event-detail-hatch-day"; + public static final String SEREBII_POKEMONGO_EVENT_DETAIL_INCENSE_DAY = "serebii-pokemongo-event-detail-incense-day"; + public static final String SEREBII_POKEMONGO_EVENT_DETAIL_MAX_BATTLE_DAY = "serebii-pokemongo-event-detail-max-battle-day"; + public static final String SEREBII_POKEMONGO_EVENT_DETAIL_RAID_DAY = "serebii-pokemongo-event-detail-raid-day"; + public static final String SEREBII_POKEMONGO_EVENT_DETAIL_REAL_LIFE = "serebii-pokemongo-event-detail-real-life"; + public static final String SEREBII_POKEMONGO_EVENT_DETAIL_RESEARCH_DAY = "serebii-pokemongo-event-detail-research-day"; + public static final String SEREBII_POKEMONGO_EVENT_DETAIL_TICKET = "serebii-pokemongo-event-detail-ticket"; + public static final String SEREBII_POKEMONGO_EVENT_ONLY_MOVES = "serebii-pokemongo-event-only-moves"; + public static final String SEREBII_POKEMONGO_EVENT_ONLY_RESEARCH = "serebii-pokemongo-event-only-research"; + public static final String SEREBII_POKEMONGO_EVENTS = "serebii-pokemongo-events"; + public static final String SEREBII_POKEMONGO_SPOTLIGHT_HOURS = "serebii-pokemongo-spotlight-hours"; + public static final String SEREBII_POKEMONGO_UNOWN_EVENTS = "serebii-pokemongo-unown-events"; public static final String SEVEN_NEWS_AUSTRALIA_ARTICLE = "sevennewsau-article"; public static final String SEVEN_NEWS_AUSTRALIA_AUTHOR = "sevennewsau-author"; public static final String SEVEN_NEWS_AUSTRALIA_HEADLINES = "sevennewsau-headlines"; diff --git a/src/main/java/net/crawlora/Operations.java b/src/main/java/net/crawlora/Operations.java index 5be0483..60461bd 100644 --- a/src/main/java/net/crawlora/Operations.java +++ b/src/main/java/net/crawlora/Operations.java @@ -15,7 +15,7 @@ public final class Operations { private Operations() {} /** Total number of operations in the contract. */ - public static final int OPERATION_COUNT = 4731; + public static final int OPERATION_COUNT = 4769; /** Immutable map of operation id to its runtime metadata. */ public static final Map OPERATIONS = buildOperations(); @@ -104,6 +104,7 @@ private static Map buildOperations() { putOperations76(m); putOperations77(m); putOperations78(m); + putOperations79(m); return Map.copyOf(m); } @@ -16576,6 +16577,21 @@ private static void putOperations18(Map m) { List.of("ApiKeyAuth"), false, List.of())); + m.put("epicgames-free-promotions", new Operation( + "epicgames-free-promotions", + "GET", + "/epicgames/free-promotions", + List.of(), + List.of( + new QueryParam("locale", false, "string", List.of()), + new QueryParam("country", false, "string", List.of()), + new QueryParam("allowCountries", false, "string", List.of())), + List.of(), + null, + false, + List.of("ApiKeyAuth"), + false, + List.of())); m.put("espn-athlete", new Operation( "espn-athlete", "GET", @@ -17311,6 +17327,9 @@ private static void putOperations18(Map m) { List.of("ApiKeyAuth"), false, List.of())); + } + + private static void putOperations19(Map m) { m.put("faceit-best-clips", new Operation( "faceit-best-clips", "GET", @@ -17328,9 +17347,6 @@ private static void putOperations18(Map m) { List.of("ApiKeyAuth"), false, List.of())); - } - - private static void putOperations19(Map m) { m.put("faceit-championship", new Operation( "faceit-championship", "GET", @@ -18172,6 +18188,9 @@ private static void putOperations19(Map m) { List.of("ApiKeyAuth"), false, List.of())); + } + + private static void putOperations20(Map m) { m.put("fanduel-casino-category", new Operation( "fanduel-casino-category", "GET", @@ -18191,9 +18210,6 @@ private static void putOperations19(Map m) { List.of("ApiKeyAuth"), true, List.of())); - } - - private static void putOperations20(Map m) { m.put("fanduel-casino-game", new Operation( "fanduel-casino-game", "GET", @@ -19103,6 +19119,9 @@ private static void putOperations20(Map m) { List.of("ApiKeyAuth"), false, List.of())); + } + + private static void putOperations21(Map m) { m.put("fanduel-sportsbook-sports", new Operation( "fanduel-sportsbook-sports", "GET", @@ -19116,9 +19135,6 @@ private static void putOperations20(Map m) { List.of("ApiKeyAuth"), false, List.of())); - } - - private static void putOperations21(Map m) { m.put("fanduel-sportsbook-standings", new Operation( "fanduel-sportsbook-standings", "GET", @@ -19938,6 +19954,9 @@ private static void putOperations21(Map m) { List.of("ApiKeyAuth"), false, List.of())); + } + + private static void putOperations22(Map m) { m.put("fiverr-search", new Operation( "fiverr-search", "GET", @@ -19952,9 +19971,6 @@ private static void putOperations21(Map m) { List.of("ApiKeyAuth"), true, List.of())); - } - - private static void putOperations22(Map m) { m.put("fiverr-seller", new Operation( "fiverr-seller", "GET", @@ -20745,6 +20761,9 @@ private static void putOperations22(Map m) { List.of("ApiKeyAuth"), false, List.of())); + } + + private static void putOperations23(Map m) { m.put("flickreels-classify", new Operation( "flickreels-classify", "GET", @@ -20761,9 +20780,6 @@ private static void putOperations22(Map m) { List.of("ApiKeyAuth"), true, List.of())); - } - - private static void putOperations23(Map m) { m.put("flickreels-genres", new Operation( "flickreels-genres", "GET", @@ -21573,6 +21589,9 @@ private static void putOperations23(Map m) { List.of("ApiKeyAuth"), true, List.of())); + } + + private static void putOperations24(Map m) { m.put("fortune-company-filters", new Operation( "fortune-company-filters", "GET", @@ -21585,9 +21604,6 @@ private static void putOperations23(Map m) { List.of("ApiKeyAuth"), false, List.of())); - } - - private static void putOperations24(Map m) { m.put("fortune-company", new Operation( "fortune-company", "GET", @@ -22401,6 +22417,9 @@ private static void putOperations24(Map m) { List.of("ApiKeyAuth"), true, List.of("start"))); + } + + private static void putOperations25(Map m) { m.put("fresha-venue", new Operation( "fresha-venue", "GET", @@ -22414,9 +22433,6 @@ private static void putOperations24(Map m) { List.of("ApiKeyAuth"), false, List.of())); - } - - private static void putOperations25(Map m) { m.put("ft-article", new Operation( "ft-article", "GET", @@ -23281,6 +23297,9 @@ private static void putOperations25(Map m) { List.of("ApiKeyAuth"), false, List.of())); + } + + private static void putOperations26(Map m) { m.put("gamesradar-article", new Operation( "gamesradar-article", "GET", @@ -23294,9 +23313,6 @@ private static void putOperations25(Map m) { List.of("ApiKeyAuth"), false, List.of())); - } - - private static void putOperations26(Map m) { m.put("gamesradar-author", new Operation( "gamesradar-author", "GET", @@ -24204,6 +24220,9 @@ private static void putOperations26(Map m) { List.of("ApiKeyAuth"), false, List.of())); + } + + private static void putOperations27(Map m) { m.put("globalnews-sections", new Operation( "globalnews-sections", "GET", @@ -24216,9 +24235,6 @@ private static void putOperations26(Map m) { List.of("ApiKeyAuth"), false, List.of())); - } - - private static void putOperations27(Map m) { m.put("globeandmail-article", new Operation( "globeandmail-article", "GET", @@ -25050,6 +25066,9 @@ private static void putOperations27(Map m) { List.of("ApiKeyAuth"), false, List.of())); + } + + private static void putOperations28(Map m) { m.put("goodrx-drugs", new Operation( "goodrx-drugs", "GET", @@ -25063,9 +25082,6 @@ private static void putOperations27(Map m) { List.of("ApiKeyAuth"), false, List.of())); - } - - private static void putOperations28(Map m) { m.put("goodrx-health-article", new Operation( "goodrx-health-article", "GET", @@ -25869,6 +25885,9 @@ private static void putOperations28(Map m) { List.of("ApiKeyAuth"), false, List.of())); + } + + private static void putOperations29(Map m) { m.put("googleplay-reviews", new Operation( "googleplay-reviews", "GET", @@ -25888,9 +25907,6 @@ private static void putOperations28(Map m) { List.of("ApiKeyAuth"), false, List.of())); - } - - private static void putOperations29(Map m) { m.put("googleplay-search", new Operation( "googleplay-search", "GET", @@ -26766,6 +26782,9 @@ private static void putOperations29(Map m) { List.of("ApiKeyAuth"), true, List.of())); + } + + private static void putOperations30(Map m) { m.put("gucci-categories", new Operation( "gucci-categories", "GET", @@ -26779,9 +26798,6 @@ private static void putOperations29(Map m) { List.of("ApiKeyAuth"), false, List.of())); - } - - private static void putOperations30(Map m) { m.put("gucci-category", new Operation( "gucci-category", "GET", @@ -27402,6 +27418,78 @@ private static void putOperations30(Map m) { List.of("ApiKeyAuth"), false, List.of())); + m.put("hearthstone-card", new Operation( + "hearthstone-card", + "GET", + "/hearthstone/card", + List.of(), + List.of( + new QueryParam("id", true, "string", List.of())), + List.of(), + null, + false, + List.of("ApiKeyAuth"), + false, + List.of())); + m.put("hearthstone-cards", new Operation( + "hearthstone-cards", + "GET", + "/hearthstone/cards", + List.of(), + List.of( + new QueryParam("page", false, "integer", List.of()), + new QueryParam("pageSize", false, "integer", List.of()), + new QueryParam("locale", false, "string", List.of()), + new QueryParam("class", false, "string", List.of()), + new QueryParam("set", false, "string", List.of()), + new QueryParam("sort", false, "string", List.of()), + new QueryParam("order", false, "string", List.of("asc", "desc")), + new QueryParam("gameMode", false, "string", List.of()), + new QueryParam("collectible", false, "array", List.of("0", "1")), + new QueryParam("textFilter", false, "string", List.of()), + new QueryParam("filterLocale", false, "string", List.of()), + new QueryParam("deckcode", false, "string", List.of()), + new QueryParam("cardSetId", false, "array", List.of()), + new QueryParam("spellSchoolId", false, "array", List.of()), + new QueryParam("rarityId", false, "array", List.of()), + new QueryParam("cardTypeId", false, "array", List.of()), + new QueryParam("manaCost", false, "array", List.of()), + new QueryParam("attack", false, "array", List.of()), + new QueryParam("health", false, "array", List.of()), + new QueryParam("armor", false, "array", List.of()), + new QueryParam("rarity", false, "string", List.of()), + new QueryParam("type", false, "array", List.of()), + new QueryParam("bgCardType", false, "string", List.of()), + new QueryParam("keyword", false, "string", List.of()), + new QueryParam("minionType", false, "string", List.of()), + new QueryParam("deckFormat", false, "string", List.of()), + new QueryParam("tier", false, "array", List.of("1", "2", "3", "4", "5", "6", "7")), + new QueryParam("mercenaryRole", false, "string", List.of()), + new QueryParam("mercenaryFaction", false, "string", List.of()), + new QueryParam("viewMode", false, "string", List.of("grid", "table")), + new QueryParam("cardBackCategory", false, "string", List.of()), + new QueryParam("spellSchool", false, "string", List.of()), + new QueryParam("faction", false, "string", List.of()), + new QueryParam("bgGameMode", false, "string", List.of()), + new QueryParam("zilliaxMod", false, "boolean", List.of())), + List.of(), + null, + false, + List.of("ApiKeyAuth"), + true, + List.of())); + m.put("hearthstone-filters", new Operation( + "hearthstone-filters", + "GET", + "/hearthstone/filters", + List.of(), + List.of(), + List.of(), + null, + false, + List.of("ApiKeyAuth"), + false, + List.of())); m.put("hermes-categories", new Operation( "hermes-categories", "GET", @@ -27570,6 +27658,9 @@ private static void putOperations30(Map m) { List.of("ApiKeyAuth"), false, List.of())); + } + + private static void putOperations31(Map m) { m.put("hindustantimes-sections", new Operation( "hindustantimes-sections", "GET", @@ -27622,9 +27713,6 @@ private static void putOperations30(Map m) { List.of("ApiKeyAuth"), false, List.of())); - } - - private static void putOperations31(Map m) { m.put("hltv-matches", new Operation( "hltv-matches", "GET", @@ -28372,6 +28460,9 @@ private static void putOperations31(Map m) { List.of("ApiKeyAuth"), false, List.of())); + } + + private static void putOperations32(Map m) { m.put("imdb-charts", new Operation( "imdb-charts", "GET", @@ -28426,9 +28517,6 @@ private static void putOperations31(Map m) { List.of("ApiKeyAuth"), false, List.of())); - } - - private static void putOperations32(Map m) { m.put("imdb-name-credits", new Operation( "imdb-name-credits", "GET", @@ -29218,6 +29306,9 @@ private static void putOperations32(Map m) { List.of("ApiKeyAuth"), false, List.of())); + } + + private static void putOperations33(Map m) { m.put("inquirer-article", new Operation( "inquirer-article", "GET", @@ -29270,9 +29361,6 @@ private static void putOperations32(Map m) { List.of("ApiKeyAuth"), false, List.of())); - } - - private static void putOperations33(Map m) { m.put("inquirer-sections", new Operation( "inquirer-sections", "GET", @@ -30010,6 +30098,9 @@ private static void putOperations33(Map m) { List.of("ApiKeyAuth"), true, List.of())); + } + + private static void putOperations34(Map m) { m.put("jcrew-size-chart", new Operation( "jcrew-size-chart", "GET", @@ -30066,9 +30157,6 @@ private static void putOperations33(Map m) { List.of("ApiKeyAuth"), false, List.of())); - } - - private static void putOperations34(Map m) { m.put("jerusalempost-author", new Operation( "jerusalempost-author", "GET", @@ -30902,6 +30990,9 @@ private static void putOperations34(Map m) { List.of("ApiKeyAuth"), false, List.of())); + } + + private static void putOperations35(Map m) { m.put("justwatch-genre-titles", new Operation( "justwatch-genre-titles", "GET", @@ -30965,9 +31056,6 @@ private static void putOperations34(Map m) { List.of("ApiKeyAuth"), false, List.of())); - } - - private static void putOperations35(Map m) { m.put("justwatch-popular", new Operation( "justwatch-popular", "GET", @@ -31781,6 +31869,9 @@ private static void putOperations35(Map m) { List.of("ApiKeyAuth"), false, List.of())); + } + + private static void putOperations36(Map m) { m.put("kick-clips", new Operation( "kick-clips", "GET", @@ -31833,9 +31924,6 @@ private static void putOperations35(Map m) { List.of("ApiKeyAuth"), false, List.of())); - } - - private static void putOperations36(Map m) { m.put("kick-livestreams", new Operation( "kick-livestreams", "GET", @@ -32635,6 +32723,9 @@ private static void putOperations36(Map m) { List.of("ApiKeyAuth"), false, List.of())); + } + + private static void putOperations37(Map m) { m.put("kyliecosmetics-sitemap-urls", new Operation( "kyliecosmetics-sitemap-urls", "GET", @@ -32686,9 +32777,6 @@ private static void putOperations36(Map m) { List.of("ApiKeyAuth"), false, List.of())); - } - - private static void putOperations37(Map m) { m.put("latimes-author", new Operation( "latimes-author", "GET", @@ -33436,6 +33524,9 @@ private static void putOperations37(Map m) { List.of("ApiKeyAuth"), false, List.of())); + } + + private static void putOperations38(Map m) { m.put("lolesports-game-details", new Operation( "lolesports-game-details", "GET", @@ -33494,9 +33585,6 @@ private static void putOperations37(Map m) { List.of("ApiKeyAuth"), false, List.of())); - } - - private static void putOperations38(Map m) { m.put("lolesports-live", new Operation( "lolesports-live", "GET", @@ -34263,6 +34351,9 @@ private static void putOperations38(Map m) { List.of("ApiKeyAuth"), false, List.of())); + } + + private static void putOperations39(Map m) { m.put("maxpreps-school", new Operation( "maxpreps-school", "GET", @@ -34337,9 +34428,6 @@ private static void putOperations38(Map m) { List.of("ApiKeyAuth"), false, List.of())); - } - - private static void putOperations39(Map m) { m.put("maxpreps-school-seasons", new Operation( "maxpreps-school-seasons", "GET", @@ -35117,6 +35205,9 @@ private static void putOperations39(Map m) { List.of("ApiKeyAuth"), false, List.of())); + } + + private static void putOperations40(Map m) { m.put("metaculus-question", new Operation( "metaculus-question", "GET", @@ -35167,9 +35258,6 @@ private static void putOperations39(Map m) { List.of("ApiKeyAuth"), false, List.of())); - } - - private static void putOperations40(Map m) { m.put("metaculus-question-options", new Operation( "metaculus-question-options", "GET", @@ -36163,6 +36251,9 @@ private static void putOperations40(Map m) { List.of("ApiKeyAuth"), true, List.of())); + } + + private static void putOperations41(Map m) { m.put("mlb-statcast-catcher-framing-details", new Operation( "mlb-statcast-catcher-framing-details", "GET", @@ -36267,9 +36358,6 @@ private static void putOperations40(Map m) { List.of("ApiKeyAuth"), true, List.of())); - } - - private static void putOperations41(Map m) { m.put("mlb-statcast-catcher-throwing-details", new Operation( "mlb-statcast-catcher-throwing-details", "GET", @@ -37317,6 +37405,9 @@ private static void putOperations41(Map m) { List.of("ApiKeyAuth"), false, List.of())); + } + + private static void putOperations42(Map m) { m.put("modrinth-search", new Operation( "modrinth-search", "GET", @@ -37370,9 +37461,6 @@ private static void putOperations41(Map m) { List.of("ApiKeyAuth"), false, List.of())); - } - - private static void putOperations42(Map m) { m.put("modrinth-forge-updates", new Operation( "modrinth-forge-updates", "GET", @@ -38105,6 +38193,9 @@ private static void putOperations42(Map m) { List.of("ApiKeyAuth"), false, List.of())); + } + + private static void putOperations43(Map m) { m.put("nascar-races", new Operation( "nascar-races", "GET", @@ -38154,9 +38245,6 @@ private static void putOperations42(Map m) { List.of("ApiKeyAuth"), false, List.of())); - } - - private static void putOperations43(Map m) { m.put("nationafrica-article", new Operation( "nationafrica-article", "GET", @@ -38568,6 +38656,22 @@ private static void putOperations43(Map m) { List.of("ApiKeyAuth"), false, List.of())); + m.put("nba-hustle-team", new Operation( + "nba-hustle-team", + "GET", + "/nba/hustle-team", + List.of(), + List.of( + new QueryParam("league_id", false, "string", List.of("00")), + new QueryParam("season", false, "string", List.of()), + new QueryParam("season_type", false, "string", List.of("Regular Season", "Playoffs", "Pre Season", "All Star")), + new QueryParam("per_mode", false, "string", List.of("PerGame", "Totals", "Per36", "Per48", "Per100Possessions", "MinutesPer", "PerPossession"))), + List.of(), + null, + false, + List.of("ApiKeyAuth"), + false, + List.of())); m.put("nba-league-game-log", new Operation( "nba-league-game-log", "GET", @@ -38616,6 +38720,22 @@ private static void putOperations43(Map m) { List.of("ApiKeyAuth"), false, List.of())); + m.put("nba-opp-pt-shot", new Operation( + "nba-opp-pt-shot", + "GET", + "/nba/opp-pt-shot", + List.of(), + List.of( + new QueryParam("league_id", false, "string", List.of("00")), + new QueryParam("season", false, "string", List.of()), + new QueryParam("season_type", false, "string", List.of("Regular Season", "Playoffs", "Pre Season", "All Star")), + new QueryParam("per_mode", false, "string", List.of("PerGame", "Totals", "Per36", "Per48", "Per100Possessions", "MinutesPer", "PerPossession"))), + List.of(), + null, + false, + List.of("ApiKeyAuth"), + false, + List.of())); m.put("nba-play-by-play", new Operation( "nba-play-by-play", "GET", @@ -38675,6 +38795,26 @@ private static void putOperations43(Map m) { List.of("ApiKeyAuth"), false, List.of())); + m.put("nba-player-clutch", new Operation( + "nba-player-clutch", + "GET", + "/nba/player-clutch", + List.of(), + List.of( + new QueryParam("league_id", false, "string", List.of("00")), + new QueryParam("season", false, "string", List.of()), + new QueryParam("season_type", false, "string", List.of("Regular Season", "Playoffs", "Pre Season", "All Star")), + new QueryParam("per_mode", false, "string", List.of("PerGame", "Totals", "Per36", "Per48", "Per100Possessions", "MinutesPer", "PerPossession")), + new QueryParam("measure_type", false, "string", List.of("Base", "Advanced", "Misc", "Scoring", "Defense", "Opponent")), + new QueryParam("clutch_time", false, "string", List.of("Last 5 Minutes")), + new QueryParam("ahead_behind", false, "string", List.of("Ahead or Behind")), + new QueryParam("point_diff", false, "integer", List.of("5"))), + List.of(), + null, + false, + List.of("ApiKeyAuth"), + false, + List.of())); m.put("nba-player-dash-pt-shots", new Operation( "nba-player-dash-pt-shots", "GET", @@ -38692,6 +38832,22 @@ private static void putOperations43(Map m) { List.of("ApiKeyAuth"), false, List.of())); + m.put("nba-player-game-logs", new Operation( + "nba-player-game-logs", + "GET", + "/nba/player-game-logs", + List.of(), + List.of( + new QueryParam("league_id", false, "string", List.of("00")), + new QueryParam("season", false, "string", List.of()), + new QueryParam("season_type", false, "string", List.of("Regular Season", "Playoffs", "Pre Season", "All Star")), + new QueryParam("player_id", true, "integer", List.of())), + List.of(), + null, + false, + List.of("ApiKeyAuth"), + false, + List.of())); m.put("nba-player-info", new Operation( "nba-player-info", "GET", @@ -38706,6 +38862,36 @@ private static void putOperations43(Map m) { List.of("ApiKeyAuth"), false, List.of())); + m.put("nba-player-profile-v2", new Operation( + "nba-player-profile-v2", + "GET", + "/nba/player-profile-v2", + List.of(), + List.of( + new QueryParam("player_id", true, "integer", List.of()), + new QueryParam("per_mode", false, "string", List.of("PerGame", "Totals", "Per36", "Per48", "Per100Possessions", "MinutesPer", "PerPossession"))), + List.of(), + null, + false, + List.of("ApiKeyAuth"), + false, + List.of())); + m.put("nba-player-pt-shot", new Operation( + "nba-player-pt-shot", + "GET", + "/nba/player-pt-shot", + List.of(), + List.of( + new QueryParam("league_id", false, "string", List.of("00")), + new QueryParam("season", false, "string", List.of()), + new QueryParam("season_type", false, "string", List.of("Regular Season", "Playoffs", "Pre Season", "All Star")), + new QueryParam("per_mode", false, "string", List.of("PerGame", "Totals", "Per36", "Per48", "Per100Possessions", "MinutesPer", "PerPossession"))), + List.of(), + null, + false, + List.of("ApiKeyAuth"), + false, + List.of())); m.put("nba-player-stats", new Operation( "nba-player-stats", "GET", @@ -38723,6 +38909,23 @@ private static void putOperations43(Map m) { List.of("ApiKeyAuth"), false, List.of())); + m.put("nba-player-streak-finder", new Operation( + "nba-player-streak-finder", + "GET", + "/nba/player-streak-finder", + List.of(), + List.of( + new QueryParam("league_id", false, "string", List.of("00")), + new QueryParam("season", false, "string", List.of()), + new QueryParam("season_type", false, "string", List.of("Regular Season", "Playoffs", "Pre Season", "All Star")), + new QueryParam("player_id", false, "integer", List.of()), + new QueryParam("min_games", false, "integer", List.of())), + List.of(), + null, + false, + List.of("ApiKeyAuth"), + false, + List.of())); m.put("nba-players", new Operation( "nba-players", "GET", @@ -38836,6 +39039,43 @@ private static void putOperations43(Map m) { List.of("ApiKeyAuth"), false, List.of())); + m.put("nba-team-dash-pt-pass", new Operation( + "nba-team-dash-pt-pass", + "GET", + "/nba/team-dash-pt-pass", + List.of(), + List.of( + new QueryParam("league_id", false, "string", List.of("00")), + new QueryParam("season", false, "string", List.of()), + new QueryParam("season_type", false, "string", List.of("Regular Season", "Playoffs", "Pre Season", "All Star")), + new QueryParam("per_mode", false, "string", List.of("PerGame", "Totals", "Per36", "Per48", "Per100Possessions", "MinutesPer", "PerPossession")), + new QueryParam("team_id", true, "integer", List.of())), + List.of(), + null, + false, + List.of("ApiKeyAuth"), + false, + List.of())); + m.put("nba-team-dash-pt-shots", new Operation( + "nba-team-dash-pt-shots", + "GET", + "/nba/team-dash-pt-shots", + List.of(), + List.of( + new QueryParam("league_id", false, "string", List.of("00")), + new QueryParam("season", false, "string", List.of()), + new QueryParam("season_type", false, "string", List.of("Regular Season", "Playoffs", "Pre Season", "All Star")), + new QueryParam("per_mode", false, "string", List.of("PerGame", "Totals", "Per36", "Per48", "Per100Possessions", "MinutesPer", "PerPossession")), + new QueryParam("team_id", true, "integer", List.of())), + List.of(), + null, + false, + List.of("ApiKeyAuth"), + false, + List.of())); + } + + private static void putOperations44(Map m) { m.put("nba-team-details", new Operation( "nba-team-details", "GET", @@ -38850,6 +39090,72 @@ private static void putOperations43(Map m) { List.of("ApiKeyAuth"), false, List.of())); + m.put("nba-team-game-logs", new Operation( + "nba-team-game-logs", + "GET", + "/nba/team-game-logs", + List.of(), + List.of( + new QueryParam("league_id", false, "string", List.of("00")), + new QueryParam("season", false, "string", List.of()), + new QueryParam("season_type", false, "string", List.of("Regular Season", "Playoffs", "Pre Season", "All Star")), + new QueryParam("team_id", true, "integer", List.of())), + List.of(), + null, + false, + List.of("ApiKeyAuth"), + false, + List.of())); + m.put("nba-team-info-common", new Operation( + "nba-team-info-common", + "GET", + "/nba/team-info-common", + List.of(), + List.of( + new QueryParam("league_id", false, "string", List.of("00")), + new QueryParam("season", false, "string", List.of()), + new QueryParam("season_type", false, "string", List.of("Regular Season", "Playoffs", "Pre Season", "All Star")), + new QueryParam("team_id", true, "integer", List.of())), + List.of(), + null, + false, + List.of("ApiKeyAuth"), + false, + List.of())); + m.put("nba-team-on-off", new Operation( + "nba-team-on-off", + "GET", + "/nba/team-on-off", + List.of(), + List.of( + new QueryParam("league_id", false, "string", List.of("00")), + new QueryParam("season", false, "string", List.of()), + new QueryParam("season_type", false, "string", List.of("Regular Season", "Playoffs", "Pre Season", "All Star")), + new QueryParam("per_mode", false, "string", List.of("PerGame", "Totals", "Per36", "Per48", "Per100Possessions", "MinutesPer", "PerPossession")), + new QueryParam("measure_type", false, "string", List.of("Base", "Advanced", "Misc", "Scoring", "Defense", "Opponent")), + new QueryParam("team_id", true, "integer", List.of())), + List.of(), + null, + false, + List.of("ApiKeyAuth"), + false, + List.of())); + m.put("nba-team-pt-shot", new Operation( + "nba-team-pt-shot", + "GET", + "/nba/team-pt-shot", + List.of(), + List.of( + new QueryParam("league_id", false, "string", List.of("00")), + new QueryParam("season", false, "string", List.of()), + new QueryParam("season_type", false, "string", List.of("Regular Season", "Playoffs", "Pre Season", "All Star")), + new QueryParam("per_mode", false, "string", List.of("PerGame", "Totals", "Per36", "Per48", "Per100Possessions", "MinutesPer", "PerPossession"))), + List.of(), + null, + false, + List.of("ApiKeyAuth"), + false, + List.of())); m.put("nba-team-roster", new Operation( "nba-team-roster", "GET", @@ -38918,6 +39224,19 @@ private static void putOperations43(Map m) { List.of("ApiKeyAuth"), false, List.of())); + m.put("nba-team-years", new Operation( + "nba-team-years", + "GET", + "/nba/team-years", + List.of(), + List.of( + new QueryParam("league_id", false, "string", List.of("00"))), + List.of(), + null, + false, + List.of("ApiKeyAuth"), + false, + List.of())); m.put("nbc-article", new Operation( "nbc-article", "GET", @@ -39021,9 +39340,6 @@ private static void putOperations43(Map m) { List.of("ApiKeyAuth"), false, List.of())); - } - - private static void putOperations44(Map m) { m.put("ndtv-latest-videos", new Operation( "ndtv-latest-videos", "GET", @@ -39569,6 +39885,9 @@ private static void putOperations44(Map m) { List.of("ApiKeyAuth"), false, List.of())); + } + + private static void putOperations45(Map m) { m.put("newyorker-author", new Operation( "newyorker-author", "GET", @@ -39839,9 +40158,6 @@ private static void putOperations44(Map m) { List.of("ApiKeyAuth"), true, List.of("start", "cursor"))); - } - - private static void putOperations45(Map m) { m.put("nfhs-sports", new Operation( "nfhs-sports", "GET", @@ -39881,6 +40197,70 @@ private static void putOperations45(Map m) { List.of("ApiKeyAuth"), false, List.of())); + m.put("nhl-gamecenter-boxscore", new Operation( + "nhl-gamecenter-boxscore", + "GET", + "/nhl/gamecenter/boxscore", + List.of(), + List.of( + new QueryParam("game_id", true, "string", List.of())), + List.of(), + null, + false, + List.of("ApiKeyAuth"), + false, + List.of())); + m.put("nhl-gamecenter-play-by-play", new Operation( + "nhl-gamecenter-play-by-play", + "GET", + "/nhl/gamecenter/play-by-play", + List.of(), + List.of( + new QueryParam("game_id", true, "string", List.of())), + List.of(), + null, + false, + List.of("ApiKeyAuth"), + false, + List.of())); + m.put("nhl-schedule", new Operation( + "nhl-schedule", + "GET", + "/nhl/schedule", + List.of(), + List.of( + new QueryParam("date", false, "string", List.of())), + List.of(), + null, + false, + List.of("ApiKeyAuth"), + false, + List.of())); + m.put("nhl-seasons", new Operation( + "nhl-seasons", + "GET", + "/nhl/seasons", + List.of(), + List.of(), + List.of(), + null, + false, + List.of("ApiKeyAuth"), + false, + List.of())); + m.put("nhl-standings", new Operation( + "nhl-standings", + "GET", + "/nhl/standings", + List.of(), + List.of( + new QueryParam("date", false, "string", List.of())), + List.of(), + null, + false, + List.of("ApiKeyAuth"), + false, + List.of())); m.put("nike-categories", new Operation( "nike-categories", "GET", @@ -40325,6 +40705,9 @@ private static void putOperations45(Map m) { List.of("ApiKeyAuth"), false, List.of())); + } + + private static void putOperations46(Map m) { m.put("nydailynews-author", new Operation( "nydailynews-author", "GET", @@ -40616,9 +40999,6 @@ private static void putOperations45(Map m) { List.of("ApiKeyAuth"), false, List.of())); - } - - private static void putOperations46(Map m) { m.put("nzherald-sections", new Operation( "nzherald-sections", "GET", @@ -41130,6 +41510,9 @@ private static void putOperations46(Map m) { List.of("ApiKeyAuth"), false, List.of())); + } + + private static void putOperations47(Map m) { m.put("opendota-patch-notes", new Operation( "opendota-patch-notes", "GET", @@ -41523,9 +41906,6 @@ private static void putOperations46(Map m) { List.of("ApiKeyAuth"), false, List.of())); - } - - private static void putOperations47(Map m) { m.put("openf1-race-control", new Operation( "openf1-race-control", "GET", @@ -42090,6 +42470,9 @@ private static void putOperations47(Map m) { List.of("ApiKeyAuth"), false, List.of())); + } + + private static void putOperations48(Map m) { m.put("opensea-collection-holders", new Operation( "opensea-collection-holders", "GET", @@ -42413,9 +42796,6 @@ private static void putOperations47(Map m) { List.of("ApiKeyAuth"), true, List.of("cursor"))); - } - - private static void putOperations48(Map m) { m.put("opensea-profile-items", new Operation( "opensea-profile-items", "GET", @@ -42929,6 +43309,9 @@ private static void putOperations48(Map m) { List.of("ApiKeyAuth"), false, List.of())); + } + + private static void putOperations49(Map m) { m.put("papajohns-colombia-menu", new Operation( "papajohns-colombia-menu", "GET", @@ -43256,9 +43639,6 @@ private static void putOperations48(Map m) { List.of("ApiKeyAuth"), false, List.of())); - } - - private static void putOperations49(Map m) { m.put("partiful-city-feed", new Operation( "partiful-city-feed", "GET", @@ -43771,6 +44151,9 @@ private static void putOperations49(Map m) { List.of("ApiKeyAuth"), false, List.of())); + } + + private static void putOperations50(Map m) { m.put("pgatour-tournament-course-stats", new Operation( "pgatour-tournament-course-stats", "GET", @@ -44061,9 +44444,6 @@ private static void putOperations49(Map m) { List.of("ApiKeyAuth"), false, List.of())); - } - - private static void putOperations50(Map m) { m.put("physorg-news", new Operation( "physorg-news", "GET", @@ -44591,6 +44971,9 @@ private static void putOperations50(Map m) { List.of("ApiKeyAuth"), false, List.of())); + } + + private static void putOperations51(Map m) { m.put("polygon-article", new Operation( "polygon-article", "GET", @@ -44931,9 +45314,6 @@ private static void putOperations50(Map m) { List.of("ApiKeyAuth"), true, List.of())); - } - - private static void putOperations51(Map m) { m.put("polymarket-market-detail-by-condition", new Operation( "polymarket-market-detail-by-condition", "GET", @@ -45445,6 +45825,9 @@ private static void putOperations51(Map m) { List.of("ApiKeyAuth"), false, List.of())); + } + + private static void putOperations52(Map m) { m.put("polymarket-token-orderbook", new Operation( "polymarket-token-orderbook", "GET", @@ -45755,9 +46138,6 @@ private static void putOperations51(Map m) { List.of("ApiKeyAuth"), false, List.of())); - } - - private static void putOperations52(Map m) { m.put("poshmark-closet", new Operation( "poshmark-closet", "GET", @@ -46288,6 +46668,9 @@ private static void putOperations52(Map m) { List.of("ApiKeyAuth"), false, List.of())); + } + + private static void putOperations53(Map m) { m.put("producthunt-alternatives", new Operation( "producthunt-alternatives", "GET", @@ -46599,9 +46982,6 @@ private static void putOperations52(Map m) { List.of("ApiKeyAuth"), true, List.of())); - } - - private static void putOperations53(Map m) { m.put("psa-probatfacts-categories", new Operation( "psa-probatfacts-categories", "GET", @@ -47095,6 +47475,9 @@ private static void putOperations53(Map m) { List.of("ApiKeyAuth"), true, List.of())); + } + + private static void putOperations54(Map m) { m.put("raisingcanes-promotion", new Operation( "raisingcanes-promotion", "GET", @@ -47398,9 +47781,6 @@ private static void putOperations53(Map m) { List.of("ApiKeyAuth"), false, List.of())); - } - - private static void putOperations54(Map m) { m.put("rebag-sitemap-urls", new Operation( "rebag-sitemap-urls", "GET", @@ -47957,6 +48337,9 @@ private static void putOperations54(Map m) { List.of("ApiKeyAuth"), false, List.of())); + } + + private static void putOperations55(Map m) { m.put("reelshort-search", new Operation( "reelshort-search", "GET", @@ -48271,9 +48654,6 @@ private static void putOperations54(Map m) { List.of("ApiKeyAuth"), false, List.of())); - } - - private static void putOperations55(Map m) { m.put("resy-restaurant", new Operation( "resy-restaurant", "GET", @@ -48815,6 +49195,9 @@ private static void putOperations55(Map m) { List.of("ApiKeyAuth"), true, List.of())); + } + + private static void putOperations56(Map m) { m.put("rnz-article", new Operation( "rnz-article", "GET", @@ -49119,9 +49502,6 @@ private static void putOperations55(Map m) { List.of("ApiKeyAuth"), false, List.of())); - } - - private static void putOperations56(Map m) { m.put("rothys-sitemaps", new Operation( "rothys-sitemaps", "GET", @@ -49678,6 +50058,9 @@ private static void putOperations56(Map m) { List.of("ApiKeyAuth"), false, List.of())); + } + + private static void putOperations57(Map m) { m.put("rte-headlines", new Operation( "rte-headlines", "GET", @@ -49967,9 +50350,6 @@ private static void putOperations56(Map m) { List.of("ApiKeyAuth"), false, List.of())); - } - - private static void putOperations57(Map m) { m.put("scmp-article", new Operation( "scmp-article", "GET", @@ -50489,6 +50869,9 @@ private static void putOperations57(Map m) { List.of("ApiKeyAuth"), false, List.of())); + } + + private static void putOperations58(Map m) { m.put("sephora-category", new Operation( "sephora-category", "GET", @@ -50602,6 +50985,187 @@ private static void putOperations57(Map m) { List.of("ApiKeyAuth"), false, List.of())); + m.put("serebii-pokemongo-event-detail-community-day", new Operation( + "serebii-pokemongo-event-detail-community-day", + "GET", + "/serebii/pokemongo/communityday/{filename}", + List.of("filename"), + List.of(), + List.of(), + null, + false, + List.of("ApiKeyAuth"), + false, + List.of())); + m.put("serebii-pokemongo-event-categories", new Operation( + "serebii-pokemongo-event-categories", + "GET", + "/serebii/pokemongo/event-categories", + List.of(), + List.of(), + List.of(), + null, + false, + List.of("ApiKeyAuth"), + false, + List.of())); + m.put("serebii-pokemongo-event-only-moves", new Operation( + "serebii-pokemongo-event-only-moves", + "GET", + "/serebii/pokemongo/event-only-moves", + List.of(), + List.of(), + List.of(), + null, + false, + List.of("ApiKeyAuth"), + false, + List.of())); + m.put("serebii-pokemongo-event-only-research", new Operation( + "serebii-pokemongo-event-only-research", + "GET", + "/serebii/pokemongo/event-only-research", + List.of(), + List.of(), + List.of(), + null, + false, + List.of("ApiKeyAuth"), + false, + List.of())); + m.put("serebii-pokemongo-events", new Operation( + "serebii-pokemongo-events", + "GET", + "/serebii/pokemongo/events", + List.of(), + List.of( + new QueryParam("category", true, "string", List.of("events.shtml", "reallifeevents.shtml", "ticketevents.shtml", "communityday.shtml", "raidday.shtml", "maxbattleday.shtml", "incenseday.shtml", "limitedresearchday.shtml", "hatchday.shtml"))), + List.of(), + null, + false, + List.of("ApiKeyAuth"), + false, + List.of())); + m.put("serebii-pokemongo-event-detail-global", new Operation( + "serebii-pokemongo-event-detail-global", + "GET", + "/serebii/pokemongo/events/{filename}", + List.of("filename"), + List.of(), + List.of(), + null, + false, + List.of("ApiKeyAuth"), + false, + List.of())); + m.put("serebii-pokemongo-event-detail-hatch-day", new Operation( + "serebii-pokemongo-event-detail-hatch-day", + "GET", + "/serebii/pokemongo/hatchday/{filename}", + List.of("filename"), + List.of(), + List.of(), + null, + false, + List.of("ApiKeyAuth"), + false, + List.of())); + m.put("serebii-pokemongo-event-detail-incense-day", new Operation( + "serebii-pokemongo-event-detail-incense-day", + "GET", + "/serebii/pokemongo/incenseday/{filename}", + List.of("filename"), + List.of(), + List.of(), + null, + false, + List.of("ApiKeyAuth"), + false, + List.of())); + m.put("serebii-pokemongo-event-detail-research-day", new Operation( + "serebii-pokemongo-event-detail-research-day", + "GET", + "/serebii/pokemongo/limitedresearchday/{filename}", + List.of("filename"), + List.of(), + List.of(), + null, + false, + List.of("ApiKeyAuth"), + false, + List.of())); + m.put("serebii-pokemongo-event-detail-max-battle-day", new Operation( + "serebii-pokemongo-event-detail-max-battle-day", + "GET", + "/serebii/pokemongo/maxbattleday/{filename}", + List.of("filename"), + List.of(), + List.of(), + null, + false, + List.of("ApiKeyAuth"), + false, + List.of())); + m.put("serebii-pokemongo-event-detail-raid-day", new Operation( + "serebii-pokemongo-event-detail-raid-day", + "GET", + "/serebii/pokemongo/raidday/{filename}", + List.of("filename"), + List.of(), + List.of(), + null, + false, + List.of("ApiKeyAuth"), + false, + List.of())); + m.put("serebii-pokemongo-event-detail-real-life", new Operation( + "serebii-pokemongo-event-detail-real-life", + "GET", + "/serebii/pokemongo/reallifeevents/{filename}", + List.of("filename"), + List.of(), + List.of(), + null, + false, + List.of("ApiKeyAuth"), + false, + List.of())); + m.put("serebii-pokemongo-spotlight-hours", new Operation( + "serebii-pokemongo-spotlight-hours", + "GET", + "/serebii/pokemongo/spotlight-hours", + List.of(), + List.of(), + List.of(), + null, + false, + List.of("ApiKeyAuth"), + false, + List.of())); + m.put("serebii-pokemongo-event-detail-ticket", new Operation( + "serebii-pokemongo-event-detail-ticket", + "GET", + "/serebii/pokemongo/ticketevents/{filename}", + List.of("filename"), + List.of(), + List.of(), + null, + false, + List.of("ApiKeyAuth"), + false, + List.of())); + m.put("serebii-pokemongo-unown-events", new Operation( + "serebii-pokemongo-unown-events", + "GET", + "/serebii/pokemongo/unown-events", + List.of(), + List.of(), + List.of(), + null, + false, + List.of("ApiKeyAuth"), + false, + List.of())); m.put("sevennewsau-article", new Operation( "sevennewsau-article", "GET", @@ -50809,9 +51373,6 @@ private static void putOperations57(Map m) { List.of("ApiKeyAuth"), false, List.of())); - } - - private static void putOperations58(Map m) { m.put("shein-category-filters", new Operation( "shein-category-filters", "GET", @@ -51111,6 +51672,9 @@ private static void putOperations58(Map m) { List.of("ApiKeyAuth"), false, List.of())); + } + + private static void putOperations59(Map m) { m.put("shop-app-search", new Operation( "shop-app-search", "GET", @@ -51657,9 +52221,6 @@ private static void putOperations58(Map m) { List.of("ApiKeyAuth"), true, List.of())); - } - - private static void putOperations59(Map m) { m.put("skims-pages", new Operation( "skims-pages", "GET", @@ -51943,6 +52504,9 @@ private static void putOperations59(Map m) { List.of("ApiKeyAuth"), false, List.of())); + } + + private static void putOperations60(Map m) { m.put("slate-categories", new Operation( "slate-categories", "GET", @@ -52447,9 +53011,6 @@ private static void putOperations59(Map m) { List.of("ApiKeyAuth"), false, List.of())); - } - - private static void putOperations60(Map m) { m.put("sofascore-event-highlights", new Operation( "sofascore-event-highlights", "GET", @@ -52743,6 +53304,9 @@ private static void putOperations60(Map m) { List.of("ApiKeyAuth"), true, List.of())); + } + + private static void putOperations61(Map m) { m.put("sofascore-mma-card", new Operation( "sofascore-mma-card", "GET", @@ -53268,9 +53832,6 @@ private static void putOperations60(Map m) { List.of("ApiKeyAuth"), false, List.of())); - } - - private static void putOperations61(Map m) { m.put("sofascore-team", new Operation( "sofascore-team", "GET", @@ -53590,6 +54151,9 @@ private static void putOperations61(Map m) { List.of("ApiKeyAuth"), true, List.of())); + } + + private static void putOperations62(Map m) { m.put("sofascore-tournament-rounds", new Operation( "sofascore-tournament-rounds", "GET", @@ -54114,9 +54678,6 @@ private static void putOperations61(Map m) { List.of("ApiKeyAuth"), true, List.of())); - } - - private static void putOperations62(Map m) { m.put("sparkfun-product", new Operation( "sparkfun-product", "GET", @@ -54465,6 +55026,9 @@ private static void putOperations62(Map m) { List.of("ApiKeyAuth"), false, List.of())); + } + + private static void putOperations63(Map m) { m.put("sportingnews-news", new Operation( "sportingnews-news", "GET", @@ -54988,9 +55552,6 @@ private static void putOperations62(Map m) { List.of("ApiKeyAuth"), true, List.of())); - } - - private static void putOperations63(Map m) { m.put("sportskeeda-transactions", new Operation( "sportskeeda-transactions", "GET", @@ -55328,6 +55889,9 @@ private static void putOperations63(Map m) { List.of("ApiKeyAuth"), true, List.of())); + } + + private static void putOperations64(Map m) { m.put("spotify-albums-search", new Operation( "spotify-albums-search", "GET", @@ -55933,9 +56497,6 @@ private static void putOperations63(Map m) { List.of("ApiKeyAuth"), false, List.of())); - } - - private static void putOperations64(Map m) { m.put("startpage-suggest", new Operation( "startpage-suggest", "GET", @@ -56279,6 +56840,9 @@ private static void putOperations64(Map m) { List.of("ApiKeyAuth"), false, List.of())); + } + + private static void putOperations65(Map m) { m.put("steam-top-sellers", new Operation( "steam-top-sellers", "GET", @@ -56849,9 +57413,6 @@ private static void putOperations64(Map m) { List.of("ApiKeyAuth"), false, List.of())); - } - - private static void putOperations65(Map m) { m.put("stubhub-categories", new Operation( "stubhub-categories", "GET", @@ -57163,6 +57724,9 @@ private static void putOperations65(Map m) { List.of("ApiKeyAuth"), true, List.of("cursor"))); + } + + private static void putOperations66(Map m) { m.put("substack-notes", new Operation( "substack-notes", "GET", @@ -57706,9 +58270,6 @@ private static void putOperations65(Map m) { List.of("ApiKeyAuth"), false, List.of())); - } - - private static void putOperations66(Map m) { m.put("target-product", new Operation( "target-product", "GET", @@ -58032,6 +58593,9 @@ private static void putOperations66(Map m) { List.of("ApiKeyAuth"), false, List.of())); + } + + private static void putOperations67(Map m) { m.put("techradar-news", new Operation( "techradar-news", "GET", @@ -58550,9 +59114,6 @@ private static void putOperations66(Map m) { List.of("ApiKeyAuth"), true, List.of())); - } - - private static void putOperations67(Map m) { m.put("thebodyshop-page", new Operation( "thebodyshop-page", "GET", @@ -58835,6 +59396,9 @@ private static void putOperations67(Map m) { List.of("ApiKeyAuth"), false, List.of())); + } + + private static void putOperations68(Map m) { m.put("thehindu-sections", new Operation( "thehindu-sections", "GET", @@ -59332,9 +59896,6 @@ private static void putOperations67(Map m) { List.of("ApiKeyAuth"), false, List.of())); - } - - private static void putOperations68(Map m) { m.put("threads-post-replies", new Operation( "threads-post-replies", "GET", @@ -59629,6 +60190,9 @@ private static void putOperations68(Map m) { List.of("ApiKeyAuth"), false, List.of())); + } + + private static void putOperations69(Map m) { m.put("ticketmaster-venue-enhanced-details", new Operation( "ticketmaster-venue-enhanced-details", "GET", @@ -60164,9 +60728,6 @@ private static void putOperations68(Map m) { List.of("ApiKeyAuth"), false, List.of())); - } - - private static void putOperations69(Map m) { m.put("tiktok-mobile-live-room-by-user", new Operation( "tiktok-mobile-live-room-by-user", "GET", @@ -60481,6 +61042,9 @@ private static void putOperations69(Map m) { List.of("ApiKeyAuth"), true, List.of("cursor"))); + } + + private static void putOperations70(Map m) { m.put("tiktok-mobile-playlist-videos", new Operation( "tiktok-mobile-playlist-videos", "GET", @@ -61041,9 +61605,6 @@ private static void putOperations69(Map m) { List.of("ApiKeyAuth"), false, List.of())); - } - - private static void putOperations70(Map m) { m.put("tiktok-top-ads-recommend", new Operation( "tiktok-top-ads-recommend", "GET", @@ -61326,6 +61887,9 @@ private static void putOperations70(Map m) { List.of("ApiKeyAuth"), false, List.of())); + } + + private static void putOperations71(Map m) { m.put("timesofisrael-news", new Operation( "timesofisrael-news", "GET", @@ -61848,9 +62412,6 @@ private static void putOperations70(Map m) { List.of("ApiKeyAuth"), false, List.of())); - } - - private static void putOperations71(Map m) { m.put("torontostar-sections", new Operation( "torontostar-sections", "GET", @@ -62182,6 +62743,9 @@ private static void putOperations71(Map m) { List.of("ApiKeyAuth"), true, List.of())); + } + + private static void putOperations72(Map m) { m.put("trustpilot-business", new Operation( "trustpilot-business", "GET", @@ -62712,9 +63276,6 @@ private static void putOperations71(Map m) { List.of("ApiKeyAuth"), false, List.of())); - } - - private static void putOperations72(Map m) { m.put("usatoday-headlines", new Operation( "usatoday-headlines", "GET", @@ -62993,6 +63554,9 @@ private static void putOperations72(Map m) { List.of("ApiKeyAuth"), false, List.of())); + } + + private static void putOperations73(Map m) { m.put("vanguardng-sections", new Operation( "vanguardng-sections", "GET", @@ -63508,9 +64072,6 @@ private static void putOperations72(Map m) { List.of("ApiKeyAuth"), true, List.of())); - } - - private static void putOperations73(Map m) { m.put("vlr-match", new Operation( "vlr-match", "GET", @@ -63814,6 +64375,9 @@ private static void putOperations73(Map m) { List.of("ApiKeyAuth"), false, List.of())); + } + + private static void putOperations74(Map m) { m.put("vrbo-property", new Operation( "vrbo-property", "GET", @@ -64340,9 +64904,6 @@ private static void putOperations73(Map m) { List.of("ApiKeyAuth"), true, List.of())); - } - - private static void putOperations74(Map m) { m.put("wayfair-product", new Operation( "wayfair-product", "GET", @@ -64623,6 +65184,9 @@ private static void putOperations74(Map m) { List.of("ApiKeyAuth"), false, List.of())); + } + + private static void putOperations75(Map m) { m.put("wendys-directory", new Operation( "wendys-directory", "GET", @@ -65136,9 +65700,6 @@ private static void putOperations74(Map m) { List.of("ApiKeyAuth"), false, List.of())); - } - - private static void putOperations75(Map m) { m.put("wolt-search", new Operation( "wolt-search", "GET", @@ -65470,6 +66031,9 @@ private static void putOperations75(Map m) { List.of("ApiKeyAuth"), true, List.of("cursor"))); + } + + private static void putOperations76(Map m) { m.put("xda-article", new Operation( "xda-article", "GET", @@ -65968,9 +66532,6 @@ private static void putOperations75(Map m) { List.of("ApiKeyAuth"), false, List.of())); - } - - private static void putOperations76(Map m) { m.put("yahoo-finance-ticker-history", new Operation( "yahoo-finance-ticker-history", "GET", @@ -66255,6 +66816,9 @@ private static void putOperations76(Map m) { List.of("ApiKeyAuth"), false, List.of())); + } + + private static void putOperations77(Map m) { m.put("yahoo-news-category", new Operation( "yahoo-news-category", "GET", @@ -66772,9 +67336,6 @@ private static void putOperations76(Map m) { List.of("ApiKeyAuth"), false, List.of())); - } - - private static void putOperations77(Map m) { m.put("yahoo-sports-mma-fight-card", new Operation( "yahoo-sports-mma-fight-card", "GET", @@ -67060,6 +67621,9 @@ private static void putOperations77(Map m) { List.of("ApiKeyAuth"), false, List.of())); + } + + private static void putOperations78(Map m) { m.put("yahoo-sports-scoreboard", new Operation( "yahoo-sports-scoreboard", "GET", @@ -67573,9 +68137,6 @@ private static void putOperations77(Map m) { List.of("ApiKeyAuth"), false, List.of())); - } - - private static void putOperations78(Map m) { m.put("yoox-product", new Operation( "yoox-product", "GET", @@ -67892,6 +68453,9 @@ private static void putOperations78(Map m) { List.of("ApiKeyAuth"), false, List.of())); + } + + private static void putOperations79(Map m) { m.put("zalando-suggest", new Operation( "zalando-suggest", "GET", @@ -69950,6 +70514,11 @@ private static void putGroups4(Map> g) { group.put("eonlineSections", "eonline-sections"); g.put("eNews", Map.copyOf(group)); } + { + Map group = new LinkedHashMap<>(); + group.put("epicgamesFreePromotions", "epicgames-free-promotions"); + g.put("epicGamesStore", Map.copyOf(group)); + } { Map group = new LinkedHashMap<>(); group.put("athlete", "espn-athlete"); @@ -70245,6 +70814,9 @@ private static void putGroups4(Map> g) { group.put("topCities", "fever-top-cities"); g.put("fever", Map.copyOf(group)); } + } + + private static void putGroups5(Map> g) { { Map group = new LinkedHashMap<>(); group.put("fiveguysDirectory", "fiveguys-directory"); @@ -70259,9 +70831,6 @@ private static void putGroups4(Map> g) { group.put("fiveguysStore", "fiveguys-store"); g.put("fiveGuys", Map.copyOf(group)); } - } - - private static void putGroups5(Map> g) { { Map group = new LinkedHashMap<>(); group.put("gig", "fiverr-gig"); @@ -70695,6 +71264,9 @@ private static void putGroups5(Map> g) { group.put("storesFilters", "glovo-stores-filters"); g.put("glovo", Map.copyOf(group)); } + } + + private static void putGroups6(Map> g) { { Map group = new LinkedHashMap<>(); group.put("gmanewsArticle", "gmanews-article"); @@ -70703,9 +71275,6 @@ private static void putGroups5(Map> g) { group.put("gmanewsSections", "gmanews-sections"); g.put("gmaNews", Map.copyOf(group)); } - } - - private static void putGroups6(Map> g) { { Map group = new LinkedHashMap<>(); group.put("collection", "goat-collection"); @@ -70987,6 +71556,13 @@ private static void putGroups6(Map> g) { group.put("topSearches", "healthgrades-top-searches"); g.put("healthgrades", Map.copyOf(group)); } + { + Map group = new LinkedHashMap<>(); + group.put("card", "hearthstone-card"); + group.put("cards", "hearthstone-cards"); + group.put("filters", "hearthstone-filters"); + g.put("hearthstone", Map.copyOf(group)); + } { Map group = new LinkedHashMap<>(); group.put("categories", "hermes-categories"); @@ -71076,6 +71652,9 @@ private static void putGroups6(Map> g) { group.put("howtogeekNews", "howtogeek-news"); g.put("howToGeek", Map.copyOf(group)); } + } + + private static void putGroups7(Map> g) { { Map group = new LinkedHashMap<>(); group.put("huffpostArticle", "huffpost-article"); @@ -71094,9 +71673,6 @@ private static void putGroups6(Map> g) { group.put("sections", "ign-sections"); g.put("ign", Map.copyOf(group)); } - } - - private static void putGroups7(Map> g) { { Map group = new LinkedHashMap<>(); group.put("availability", "ikea-availability"); @@ -71448,6 +72024,9 @@ private static void putGroups7(Map> g) { group.put("khaleejtimesSections", "khaleejtimes-sections"); g.put("khaleejTimes", Map.copyOf(group)); } + } + + private static void putGroups8(Map> g) { { Map group = new LinkedHashMap<>(); group.put("categories", "kick-categories"); @@ -71481,9 +72060,6 @@ private static void putGroups7(Map> g) { group.put("updates", "kickstarter-updates"); g.put("kickstarter", Map.copyOf(group)); } - } - - private static void putGroups8(Map> g) { { Map group = new LinkedHashMap<>(); group.put("activity", "klook-activity"); @@ -71795,6 +72371,9 @@ private static void putGroups8(Map> g) { group.put("medicalnewstodaySections", "medicalnewstoday-sections"); g.put("medicalNewsToday", Map.copyOf(group)); } + } + + private static void putGroups9(Map> g) { { Map group = new LinkedHashMap<>(); group.put("menArticle", "men-article"); @@ -71813,9 +72392,6 @@ private static void putGroups8(Map> g) { group.put("search", "mercari-search"); g.put("mercari", Map.copyOf(group)); } - } - - private static void putGroups9(Map> g) { { Map group = new LinkedHashMap<>(); group.put("job", "meta-jobs-job"); @@ -72124,16 +72700,23 @@ private static void putGroups9(Map> g) { group.put("games", "nba-games"); group.put("homepageLeaders", "nba-homepage-leaders"); group.put("hustleStats", "nba-hustle-stats"); + group.put("hustleTeam", "nba-hustle-team"); group.put("leagueGameLog", "nba-league-game-log"); group.put("lineups", "nba-lineups"); group.put("news", "nba-news"); + group.put("oppPtShot", "nba-opp-pt-shot"); group.put("playByPlay", "nba-play-by-play"); group.put("playerAwards", "nba-player-awards"); group.put("playerBioStats", "nba-player-bio-stats"); group.put("playerCareerStats", "nba-player-career-stats"); + group.put("playerClutch", "nba-player-clutch"); group.put("playerDashPtShots", "nba-player-dash-pt-shots"); + group.put("playerGameLogs", "nba-player-game-logs"); group.put("playerInfo", "nba-player-info"); + group.put("playerProfileV2", "nba-player-profile-v2"); + group.put("playerPtShot", "nba-player-pt-shot"); group.put("playerStats", "nba-player-stats"); + group.put("playerStreakFinder", "nba-player-streak-finder"); group.put("players", "nba-players"); group.put("playoffPicture", "nba-playoff-picture"); group.put("ptDefend", "nba-pt-defend"); @@ -72141,11 +72724,18 @@ private static void putGroups9(Map> g) { group.put("scoreboard", "nba-scoreboard"); group.put("standings", "nba-standings"); group.put("synergyPlayTypes", "nba-synergy-play-types"); + group.put("teamDashPtPass", "nba-team-dash-pt-pass"); + group.put("teamDashPtShots", "nba-team-dash-pt-shots"); group.put("teamDetails", "nba-team-details"); + group.put("teamGameLogs", "nba-team-game-logs"); + group.put("teamInfoCommon", "nba-team-info-common"); + group.put("teamOnOff", "nba-team-on-off"); + group.put("teamPtShot", "nba-team-pt-shot"); group.put("teamRoster", "nba-team-roster"); group.put("teamShotLocations", "nba-team-shot-locations"); group.put("teamStats", "nba-team-stats"); group.put("teamStatsLeaders", "nba-team-stats-leaders"); + group.put("teamYears", "nba-team-years"); g.put("nba", Map.copyOf(group)); } { @@ -72229,6 +72819,9 @@ private static void putGroups9(Map> g) { group.put("sections", "newsweek-sections"); g.put("newsweek", Map.copyOf(group)); } + } + + private static void putGroups10(Map> g) { { Map group = new LinkedHashMap<>(); group.put("newyorkerArticle", "newyorker-article"); @@ -72259,9 +72852,15 @@ private static void putGroups9(Map> g) { group.put("suggest", "nfhs-suggest"); g.put("nfhs", Map.copyOf(group)); } - } - - private static void putGroups10(Map> g) { + { + Map group = new LinkedHashMap<>(); + group.put("gamecenterBoxscore", "nhl-gamecenter-boxscore"); + group.put("gamecenterPlayByPlay", "nhl-gamecenter-play-by-play"); + group.put("schedule", "nhl-schedule"); + group.put("seasons", "nhl-seasons"); + group.put("standings", "nhl-standings"); + g.put("nhl", Map.copyOf(group)); + } { Map group = new LinkedHashMap<>(); group.put("categories", "nike-categories"); @@ -72624,6 +73223,9 @@ private static void putGroups10(Map> g) { group.put("sections", "pcmag-sections"); g.put("pcmag", Map.copyOf(group)); } + } + + private static void putGroups11(Map> g) { { Map group = new LinkedHashMap<>(); group.put("article", "people-article"); @@ -72662,9 +73264,6 @@ private static void putGroups10(Map> g) { group.put("pgatourTournamentWeather", "pgatour-tournament-weather"); g.put("pgaTour", Map.copyOf(group)); } - } - - private static void putGroups11(Map> g) { { Map group = new LinkedHashMap<>(); group.put("phillyinquirerArticle", "phillyinquirer-article"); @@ -73011,6 +73610,9 @@ private static void putGroups11(Map> g) { group.put("raisingcanesStore", "raisingcanes-store"); g.put("raisingCaneS", Map.copyOf(group)); } + } + + private static void putGroups12(Map> g) { { Map group = new LinkedHashMap<>(); group.put("article", "rappler-article"); @@ -73045,9 +73647,6 @@ private static void putGroups11(Map> g) { group.put("store", "rebag-store"); g.put("rebag", Map.copyOf(group)); } - } - - private static void putGroups12(Map> g) { { Map group = new LinkedHashMap<>(); group.put("archiveCommentsIds", "reddit-archive-comments-ids"); @@ -73358,6 +73957,9 @@ private static void putGroups12(Map> g) { group.put("seattletimesSections", "seattletimes-sections"); g.put("seattleTimes", Map.copyOf(group)); } + } + + private static void putGroups13(Map> g) { { Map group = new LinkedHashMap<>(); group.put("secCompanyIntelligence", "sec-company-intelligence"); @@ -73385,6 +73987,25 @@ private static void putGroups12(Map> g) { group.put("suggest", "sephora-suggest"); g.put("sephora", Map.copyOf(group)); } + { + Map group = new LinkedHashMap<>(); + group.put("pokemongoEventDetailCommunityDay", "serebii-pokemongo-event-detail-community-day"); + group.put("pokemongoEventCategories", "serebii-pokemongo-event-categories"); + group.put("pokemongoEventOnlyMoves", "serebii-pokemongo-event-only-moves"); + group.put("pokemongoEventOnlyResearch", "serebii-pokemongo-event-only-research"); + group.put("pokemongoEvents", "serebii-pokemongo-events"); + group.put("pokemongoEventDetailGlobal", "serebii-pokemongo-event-detail-global"); + group.put("pokemongoEventDetailHatchDay", "serebii-pokemongo-event-detail-hatch-day"); + group.put("pokemongoEventDetailIncenseDay", "serebii-pokemongo-event-detail-incense-day"); + group.put("pokemongoEventDetailResearchDay", "serebii-pokemongo-event-detail-research-day"); + group.put("pokemongoEventDetailMaxBattleDay", "serebii-pokemongo-event-detail-max-battle-day"); + group.put("pokemongoEventDetailRaidDay", "serebii-pokemongo-event-detail-raid-day"); + group.put("pokemongoEventDetailRealLife", "serebii-pokemongo-event-detail-real-life"); + group.put("pokemongoSpotlightHours", "serebii-pokemongo-spotlight-hours"); + group.put("pokemongoEventDetailTicket", "serebii-pokemongo-event-detail-ticket"); + group.put("pokemongoUnownEvents", "serebii-pokemongo-unown-events"); + g.put("serebii", Map.copyOf(group)); + } { Map group = new LinkedHashMap<>(); group.put("article", "sevennewsau-article"); @@ -73394,9 +74015,6 @@ private static void putGroups12(Map> g) { group.put("sections", "sevennewsau-sections"); g.put("sevenNewsAustralia", Map.copyOf(group)); } - } - - private static void putGroups13(Map> g) { { Map group = new LinkedHashMap<>(); group.put("article", "sfgate-article"); @@ -73872,6 +74490,9 @@ private static void putGroups13(Map> g) { group.put("stores", "starbucks-stores"); g.put("starbucks", Map.copyOf(group)); } + } + + private static void putGroups14(Map> g) { { Map group = new LinkedHashMap<>(); group.put("suggest", "startpage-suggest"); @@ -73922,9 +74543,6 @@ private static void putGroups13(Map> g) { group.put("stevemaddenStore", "stevemadden-store"); g.put("steveMadden", Map.copyOf(group)); } - } - - private static void putGroups14(Map> g) { { Map group = new LinkedHashMap<>(); group.put("stockxBrands", "stockx-brands"); @@ -74198,6 +74816,9 @@ private static void putGroups14(Map> g) { group.put("thehinduSections", "thehindu-sections"); g.put("theHindu", Map.copyOf(group)); } + } + + private static void putGroups15(Map> g) { { Map group = new LinkedHashMap<>(); group.put("thejournalArticle", "thejournal-article"); @@ -74240,9 +74861,6 @@ private static void putGroups14(Map> g) { group.put("thestarmySections", "thestarmy-sections"); g.put("theStarMalaysia", Map.copyOf(group)); } - } - - private static void putGroups15(Map> g) { { Map group = new LinkedHashMap<>(); group.put("thevergeArticle", "theverge-article"); @@ -74591,6 +75209,9 @@ private static void putGroups15(Map> g) { group.put("search", "upwork-search"); g.put("upwork", Map.copyOf(group)); } + } + + private static void putGroups16(Map> g) { { Map group = new LinkedHashMap<>(); group.put("meEndpoints", "usage-me-endpoints"); @@ -74625,9 +75246,6 @@ private static void putGroups15(Map> g) { group.put("request", "account-deletion-request"); g.put("accountDeletion", Map.copyOf(group)); } - } - - private static void putGroups16(Map> g) { { Map group = new LinkedHashMap<>(); group.put("usmagazineArticle", "usmagazine-article"); @@ -74886,6 +75504,9 @@ private static void putGroups16(Map> g) { group.put("suggest", "wish-suggest"); g.put("wish", Map.copyOf(group)); } + } + + private static void putGroups17(Map> g) { { Map group = new LinkedHashMap<>(); group.put("cities", "wolt-cities"); @@ -74925,9 +75546,6 @@ private static void putGroups16(Map> g) { group.put("profilePosts", "x-profile-posts"); g.put("x", Map.copyOf(group)); } - } - - private static void putGroups17(Map> g) { { Map group = new LinkedHashMap<>(); group.put("browse", "xbox-browse"); diff --git a/src/main/java/net/crawlora/groups/EpicGamesStoreGroup.java b/src/main/java/net/crawlora/groups/EpicGamesStoreGroup.java new file mode 100644 index 0000000..09d26a8 --- /dev/null +++ b/src/main/java/net/crawlora/groups/EpicGamesStoreGroup.java @@ -0,0 +1,52 @@ +package net.crawlora.groups; + +// Generated by scripts/generate.py. Do not edit manually. + +import java.util.Map; +import net.crawlora.CrawloraClient; +import net.crawlora.OperationGroup; +import net.crawlora.RequestOptions; + +/** + * Generated typed accessor for the "epicGamesStore" operation group. + * Reach it via {@code client.epicGamesStore()}. + */ +public final class EpicGamesStoreGroup { + private final CrawloraClient client; + + public EpicGamesStoreGroup(CrawloraClient client) { + this.client = client; + } + + /** + * epicgames-free-promotions (GET /epicgames/free-promotions). + * + * @param params operation parameters + * @return the parsed JSON response (Map/List/String/Number/Boolean), or an InputStream in stream mode + */ + public Object epicgamesFreePromotions(Map params) { + return epicgamesFreePromotions(params, null); + } + + /** + * epicgames-free-promotions (GET /epicgames/free-promotions). with explicit request options. + * + * @param params operation parameters + * @param options per-request options, or {@code null} for defaults + * @return the parsed JSON response (Map/List/String/Number/Boolean), or an InputStream in stream mode + */ + public Object epicgamesFreePromotions(Map params, RequestOptions options) { + OperationGroup.checkParams("epicgames-free-promotions", params); + return client.request("epicgames-free-promotions", params, options); + } + + /** + * epicgames-free-promotions (GET /epicgames/free-promotions). with no parameters. + * + * @return the parsed JSON response (Map/List/String/Number/Boolean), or an InputStream in stream mode + */ + public Object epicgamesFreePromotions() { + return epicgamesFreePromotions(Map.of(), null); + } + +} diff --git a/src/main/java/net/crawlora/groups/HearthstoneGroup.java b/src/main/java/net/crawlora/groups/HearthstoneGroup.java new file mode 100644 index 0000000..2f76ef8 --- /dev/null +++ b/src/main/java/net/crawlora/groups/HearthstoneGroup.java @@ -0,0 +1,105 @@ +package net.crawlora.groups; + +// Generated by scripts/generate.py. Do not edit manually. + +import java.util.Map; +import net.crawlora.CrawloraClient; +import net.crawlora.OperationGroup; +import net.crawlora.RequestOptions; + +/** + * Generated typed accessor for the "hearthstone" operation group. + * Reach it via {@code client.hearthstone()}. + */ +public final class HearthstoneGroup { + private final CrawloraClient client; + + public HearthstoneGroup(CrawloraClient client) { + this.client = client; + } + + /** + * hearthstone-card (GET /hearthstone/card). + * + * @param params operation parameters + * @return the parsed JSON response (Map/List/String/Number/Boolean), or an InputStream in stream mode + */ + public Object card(Map params) { + return card(params, null); + } + + /** + * hearthstone-card (GET /hearthstone/card). with explicit request options. + * + * @param params operation parameters + * @param options per-request options, or {@code null} for defaults + * @return the parsed JSON response (Map/List/String/Number/Boolean), or an InputStream in stream mode + */ + public Object card(Map params, RequestOptions options) { + OperationGroup.checkParams("hearthstone-card", params); + return client.request("hearthstone-card", params, options); + } + + /** + * hearthstone-cards (GET /hearthstone/cards). + * + * @param params operation parameters + * @return the parsed JSON response (Map/List/String/Number/Boolean), or an InputStream in stream mode + */ + public Object cards(Map params) { + return cards(params, null); + } + + /** + * hearthstone-cards (GET /hearthstone/cards). with explicit request options. + * + * @param params operation parameters + * @param options per-request options, or {@code null} for defaults + * @return the parsed JSON response (Map/List/String/Number/Boolean), or an InputStream in stream mode + */ + public Object cards(Map params, RequestOptions options) { + OperationGroup.checkParams("hearthstone-cards", params); + return client.request("hearthstone-cards", params, options); + } + + /** + * hearthstone-cards (GET /hearthstone/cards). with no parameters. + * + * @return the parsed JSON response (Map/List/String/Number/Boolean), or an InputStream in stream mode + */ + public Object cards() { + return cards(Map.of(), null); + } + + /** + * hearthstone-filters (GET /hearthstone/filters). + * + * @param params operation parameters + * @return the parsed JSON response (Map/List/String/Number/Boolean), or an InputStream in stream mode + */ + public Object filters(Map params) { + return filters(params, null); + } + + /** + * hearthstone-filters (GET /hearthstone/filters). with explicit request options. + * + * @param params operation parameters + * @param options per-request options, or {@code null} for defaults + * @return the parsed JSON response (Map/List/String/Number/Boolean), or an InputStream in stream mode + */ + public Object filters(Map params, RequestOptions options) { + OperationGroup.checkParams("hearthstone-filters", params); + return client.request("hearthstone-filters", params, options); + } + + /** + * hearthstone-filters (GET /hearthstone/filters). with no parameters. + * + * @return the parsed JSON response (Map/List/String/Number/Boolean), or an InputStream in stream mode + */ + public Object filters() { + return filters(Map.of(), null); + } + +} diff --git a/src/main/java/net/crawlora/groups/NbaGroup.java b/src/main/java/net/crawlora/groups/NbaGroup.java index 6306aa0..6a4faa2 100644 --- a/src/main/java/net/crawlora/groups/NbaGroup.java +++ b/src/main/java/net/crawlora/groups/NbaGroup.java @@ -393,6 +393,37 @@ public Object hustleStats(Map params, RequestOptions options) { return client.request("nba-hustle-stats", params, options); } + /** + * nba-hustle-team (GET /nba/hustle-team). + * + * @param params operation parameters + * @return the parsed JSON response (Map/List/String/Number/Boolean), or an InputStream in stream mode + */ + public Object hustleTeam(Map params) { + return hustleTeam(params, null); + } + + /** + * nba-hustle-team (GET /nba/hustle-team). with explicit request options. + * + * @param params operation parameters + * @param options per-request options, or {@code null} for defaults + * @return the parsed JSON response (Map/List/String/Number/Boolean), or an InputStream in stream mode + */ + public Object hustleTeam(Map params, RequestOptions options) { + OperationGroup.checkParams("nba-hustle-team", params); + return client.request("nba-hustle-team", params, options); + } + + /** + * nba-hustle-team (GET /nba/hustle-team). with no parameters. + * + * @return the parsed JSON response (Map/List/String/Number/Boolean), or an InputStream in stream mode + */ + public Object hustleTeam() { + return hustleTeam(Map.of(), null); + } + /** * nba-league-game-log (GET /nba/league-game-log). * @@ -486,6 +517,37 @@ public Object news() { return news(Map.of(), null); } + /** + * nba-opp-pt-shot (GET /nba/opp-pt-shot). + * + * @param params operation parameters + * @return the parsed JSON response (Map/List/String/Number/Boolean), or an InputStream in stream mode + */ + public Object oppPtShot(Map params) { + return oppPtShot(params, null); + } + + /** + * nba-opp-pt-shot (GET /nba/opp-pt-shot). with explicit request options. + * + * @param params operation parameters + * @param options per-request options, or {@code null} for defaults + * @return the parsed JSON response (Map/List/String/Number/Boolean), or an InputStream in stream mode + */ + public Object oppPtShot(Map params, RequestOptions options) { + OperationGroup.checkParams("nba-opp-pt-shot", params); + return client.request("nba-opp-pt-shot", params, options); + } + + /** + * nba-opp-pt-shot (GET /nba/opp-pt-shot). with no parameters. + * + * @return the parsed JSON response (Map/List/String/Number/Boolean), or an InputStream in stream mode + */ + public Object oppPtShot() { + return oppPtShot(Map.of(), null); + } + /** * nba-play-by-play (GET /nba/play-by-play). * @@ -583,6 +645,37 @@ public Object playerCareerStats(Map params, RequestOptions optio return client.request("nba-player-career-stats", params, options); } + /** + * nba-player-clutch (GET /nba/player-clutch). + * + * @param params operation parameters + * @return the parsed JSON response (Map/List/String/Number/Boolean), or an InputStream in stream mode + */ + public Object playerClutch(Map params) { + return playerClutch(params, null); + } + + /** + * nba-player-clutch (GET /nba/player-clutch). with explicit request options. + * + * @param params operation parameters + * @param options per-request options, or {@code null} for defaults + * @return the parsed JSON response (Map/List/String/Number/Boolean), or an InputStream in stream mode + */ + public Object playerClutch(Map params, RequestOptions options) { + OperationGroup.checkParams("nba-player-clutch", params); + return client.request("nba-player-clutch", params, options); + } + + /** + * nba-player-clutch (GET /nba/player-clutch). with no parameters. + * + * @return the parsed JSON response (Map/List/String/Number/Boolean), or an InputStream in stream mode + */ + public Object playerClutch() { + return playerClutch(Map.of(), null); + } + /** * nba-player-dash-pt-shots (GET /nba/player-dash-pt-shots). * @@ -605,6 +698,28 @@ public Object playerDashPtShots(Map params, RequestOptions optio return client.request("nba-player-dash-pt-shots", params, options); } + /** + * nba-player-game-logs (GET /nba/player-game-logs). + * + * @param params operation parameters + * @return the parsed JSON response (Map/List/String/Number/Boolean), or an InputStream in stream mode + */ + public Object playerGameLogs(Map params) { + return playerGameLogs(params, null); + } + + /** + * nba-player-game-logs (GET /nba/player-game-logs). with explicit request options. + * + * @param params operation parameters + * @param options per-request options, or {@code null} for defaults + * @return the parsed JSON response (Map/List/String/Number/Boolean), or an InputStream in stream mode + */ + public Object playerGameLogs(Map params, RequestOptions options) { + OperationGroup.checkParams("nba-player-game-logs", params); + return client.request("nba-player-game-logs", params, options); + } + /** * nba-player-info (GET /nba/player-info). * @@ -627,6 +742,59 @@ public Object playerInfo(Map params, RequestOptions options) { return client.request("nba-player-info", params, options); } + /** + * nba-player-profile-v2 (GET /nba/player-profile-v2). + * + * @param params operation parameters + * @return the parsed JSON response (Map/List/String/Number/Boolean), or an InputStream in stream mode + */ + public Object playerProfileV2(Map params) { + return playerProfileV2(params, null); + } + + /** + * nba-player-profile-v2 (GET /nba/player-profile-v2). with explicit request options. + * + * @param params operation parameters + * @param options per-request options, or {@code null} for defaults + * @return the parsed JSON response (Map/List/String/Number/Boolean), or an InputStream in stream mode + */ + public Object playerProfileV2(Map params, RequestOptions options) { + OperationGroup.checkParams("nba-player-profile-v2", params); + return client.request("nba-player-profile-v2", params, options); + } + + /** + * nba-player-pt-shot (GET /nba/player-pt-shot). + * + * @param params operation parameters + * @return the parsed JSON response (Map/List/String/Number/Boolean), or an InputStream in stream mode + */ + public Object playerPtShot(Map params) { + return playerPtShot(params, null); + } + + /** + * nba-player-pt-shot (GET /nba/player-pt-shot). with explicit request options. + * + * @param params operation parameters + * @param options per-request options, or {@code null} for defaults + * @return the parsed JSON response (Map/List/String/Number/Boolean), or an InputStream in stream mode + */ + public Object playerPtShot(Map params, RequestOptions options) { + OperationGroup.checkParams("nba-player-pt-shot", params); + return client.request("nba-player-pt-shot", params, options); + } + + /** + * nba-player-pt-shot (GET /nba/player-pt-shot). with no parameters. + * + * @return the parsed JSON response (Map/List/String/Number/Boolean), or an InputStream in stream mode + */ + public Object playerPtShot() { + return playerPtShot(Map.of(), null); + } + /** * nba-player-stats (GET /nba/player-stats). * @@ -658,6 +826,37 @@ public Object playerStats() { return playerStats(Map.of(), null); } + /** + * nba-player-streak-finder (GET /nba/player-streak-finder). + * + * @param params operation parameters + * @return the parsed JSON response (Map/List/String/Number/Boolean), or an InputStream in stream mode + */ + public Object playerStreakFinder(Map params) { + return playerStreakFinder(params, null); + } + + /** + * nba-player-streak-finder (GET /nba/player-streak-finder). with explicit request options. + * + * @param params operation parameters + * @param options per-request options, or {@code null} for defaults + * @return the parsed JSON response (Map/List/String/Number/Boolean), or an InputStream in stream mode + */ + public Object playerStreakFinder(Map params, RequestOptions options) { + OperationGroup.checkParams("nba-player-streak-finder", params); + return client.request("nba-player-streak-finder", params, options); + } + + /** + * nba-player-streak-finder (GET /nba/player-streak-finder). with no parameters. + * + * @return the parsed JSON response (Map/List/String/Number/Boolean), or an InputStream in stream mode + */ + public Object playerStreakFinder() { + return playerStreakFinder(Map.of(), null); + } + /** * nba-players (GET /nba/players). * @@ -875,6 +1074,50 @@ public Object synergyPlayTypes() { return synergyPlayTypes(Map.of(), null); } + /** + * nba-team-dash-pt-pass (GET /nba/team-dash-pt-pass). + * + * @param params operation parameters + * @return the parsed JSON response (Map/List/String/Number/Boolean), or an InputStream in stream mode + */ + public Object teamDashPtPass(Map params) { + return teamDashPtPass(params, null); + } + + /** + * nba-team-dash-pt-pass (GET /nba/team-dash-pt-pass). with explicit request options. + * + * @param params operation parameters + * @param options per-request options, or {@code null} for defaults + * @return the parsed JSON response (Map/List/String/Number/Boolean), or an InputStream in stream mode + */ + public Object teamDashPtPass(Map params, RequestOptions options) { + OperationGroup.checkParams("nba-team-dash-pt-pass", params); + return client.request("nba-team-dash-pt-pass", params, options); + } + + /** + * nba-team-dash-pt-shots (GET /nba/team-dash-pt-shots). + * + * @param params operation parameters + * @return the parsed JSON response (Map/List/String/Number/Boolean), or an InputStream in stream mode + */ + public Object teamDashPtShots(Map params) { + return teamDashPtShots(params, null); + } + + /** + * nba-team-dash-pt-shots (GET /nba/team-dash-pt-shots). with explicit request options. + * + * @param params operation parameters + * @param options per-request options, or {@code null} for defaults + * @return the parsed JSON response (Map/List/String/Number/Boolean), or an InputStream in stream mode + */ + public Object teamDashPtShots(Map params, RequestOptions options) { + OperationGroup.checkParams("nba-team-dash-pt-shots", params); + return client.request("nba-team-dash-pt-shots", params, options); + } + /** * nba-team-details (GET /nba/team-details). * @@ -897,6 +1140,103 @@ public Object teamDetails(Map params, RequestOptions options) { return client.request("nba-team-details", params, options); } + /** + * nba-team-game-logs (GET /nba/team-game-logs). + * + * @param params operation parameters + * @return the parsed JSON response (Map/List/String/Number/Boolean), or an InputStream in stream mode + */ + public Object teamGameLogs(Map params) { + return teamGameLogs(params, null); + } + + /** + * nba-team-game-logs (GET /nba/team-game-logs). with explicit request options. + * + * @param params operation parameters + * @param options per-request options, or {@code null} for defaults + * @return the parsed JSON response (Map/List/String/Number/Boolean), or an InputStream in stream mode + */ + public Object teamGameLogs(Map params, RequestOptions options) { + OperationGroup.checkParams("nba-team-game-logs", params); + return client.request("nba-team-game-logs", params, options); + } + + /** + * nba-team-info-common (GET /nba/team-info-common). + * + * @param params operation parameters + * @return the parsed JSON response (Map/List/String/Number/Boolean), or an InputStream in stream mode + */ + public Object teamInfoCommon(Map params) { + return teamInfoCommon(params, null); + } + + /** + * nba-team-info-common (GET /nba/team-info-common). with explicit request options. + * + * @param params operation parameters + * @param options per-request options, or {@code null} for defaults + * @return the parsed JSON response (Map/List/String/Number/Boolean), or an InputStream in stream mode + */ + public Object teamInfoCommon(Map params, RequestOptions options) { + OperationGroup.checkParams("nba-team-info-common", params); + return client.request("nba-team-info-common", params, options); + } + + /** + * nba-team-on-off (GET /nba/team-on-off). + * + * @param params operation parameters + * @return the parsed JSON response (Map/List/String/Number/Boolean), or an InputStream in stream mode + */ + public Object teamOnOff(Map params) { + return teamOnOff(params, null); + } + + /** + * nba-team-on-off (GET /nba/team-on-off). with explicit request options. + * + * @param params operation parameters + * @param options per-request options, or {@code null} for defaults + * @return the parsed JSON response (Map/List/String/Number/Boolean), or an InputStream in stream mode + */ + public Object teamOnOff(Map params, RequestOptions options) { + OperationGroup.checkParams("nba-team-on-off", params); + return client.request("nba-team-on-off", params, options); + } + + /** + * nba-team-pt-shot (GET /nba/team-pt-shot). + * + * @param params operation parameters + * @return the parsed JSON response (Map/List/String/Number/Boolean), or an InputStream in stream mode + */ + public Object teamPtShot(Map params) { + return teamPtShot(params, null); + } + + /** + * nba-team-pt-shot (GET /nba/team-pt-shot). with explicit request options. + * + * @param params operation parameters + * @param options per-request options, or {@code null} for defaults + * @return the parsed JSON response (Map/List/String/Number/Boolean), or an InputStream in stream mode + */ + public Object teamPtShot(Map params, RequestOptions options) { + OperationGroup.checkParams("nba-team-pt-shot", params); + return client.request("nba-team-pt-shot", params, options); + } + + /** + * nba-team-pt-shot (GET /nba/team-pt-shot). with no parameters. + * + * @return the parsed JSON response (Map/List/String/Number/Boolean), or an InputStream in stream mode + */ + public Object teamPtShot() { + return teamPtShot(Map.of(), null); + } + /** * nba-team-roster (GET /nba/team-roster). * @@ -1003,4 +1343,35 @@ public Object teamStatsLeaders(Map params, RequestOptions option return client.request("nba-team-stats-leaders", params, options); } + /** + * nba-team-years (GET /nba/team-years). + * + * @param params operation parameters + * @return the parsed JSON response (Map/List/String/Number/Boolean), or an InputStream in stream mode + */ + public Object teamYears(Map params) { + return teamYears(params, null); + } + + /** + * nba-team-years (GET /nba/team-years). with explicit request options. + * + * @param params operation parameters + * @param options per-request options, or {@code null} for defaults + * @return the parsed JSON response (Map/List/String/Number/Boolean), or an InputStream in stream mode + */ + public Object teamYears(Map params, RequestOptions options) { + OperationGroup.checkParams("nba-team-years", params); + return client.request("nba-team-years", params, options); + } + + /** + * nba-team-years (GET /nba/team-years). with no parameters. + * + * @return the parsed JSON response (Map/List/String/Number/Boolean), or an InputStream in stream mode + */ + public Object teamYears() { + return teamYears(Map.of(), null); + } + } diff --git a/src/main/java/net/crawlora/groups/NhlGroup.java b/src/main/java/net/crawlora/groups/NhlGroup.java new file mode 100644 index 0000000..0e9042e --- /dev/null +++ b/src/main/java/net/crawlora/groups/NhlGroup.java @@ -0,0 +1,158 @@ +package net.crawlora.groups; + +// Generated by scripts/generate.py. Do not edit manually. + +import java.util.Map; +import net.crawlora.CrawloraClient; +import net.crawlora.OperationGroup; +import net.crawlora.RequestOptions; + +/** + * Generated typed accessor for the "nhl" operation group. + * Reach it via {@code client.nhl()}. + */ +public final class NhlGroup { + private final CrawloraClient client; + + public NhlGroup(CrawloraClient client) { + this.client = client; + } + + /** + * nhl-gamecenter-boxscore (GET /nhl/gamecenter/boxscore). + * + * @param params operation parameters + * @return the parsed JSON response (Map/List/String/Number/Boolean), or an InputStream in stream mode + */ + public Object gamecenterBoxscore(Map params) { + return gamecenterBoxscore(params, null); + } + + /** + * nhl-gamecenter-boxscore (GET /nhl/gamecenter/boxscore). with explicit request options. + * + * @param params operation parameters + * @param options per-request options, or {@code null} for defaults + * @return the parsed JSON response (Map/List/String/Number/Boolean), or an InputStream in stream mode + */ + public Object gamecenterBoxscore(Map params, RequestOptions options) { + OperationGroup.checkParams("nhl-gamecenter-boxscore", params); + return client.request("nhl-gamecenter-boxscore", params, options); + } + + /** + * nhl-gamecenter-play-by-play (GET /nhl/gamecenter/play-by-play). + * + * @param params operation parameters + * @return the parsed JSON response (Map/List/String/Number/Boolean), or an InputStream in stream mode + */ + public Object gamecenterPlayByPlay(Map params) { + return gamecenterPlayByPlay(params, null); + } + + /** + * nhl-gamecenter-play-by-play (GET /nhl/gamecenter/play-by-play). with explicit request options. + * + * @param params operation parameters + * @param options per-request options, or {@code null} for defaults + * @return the parsed JSON response (Map/List/String/Number/Boolean), or an InputStream in stream mode + */ + public Object gamecenterPlayByPlay(Map params, RequestOptions options) { + OperationGroup.checkParams("nhl-gamecenter-play-by-play", params); + return client.request("nhl-gamecenter-play-by-play", params, options); + } + + /** + * nhl-schedule (GET /nhl/schedule). + * + * @param params operation parameters + * @return the parsed JSON response (Map/List/String/Number/Boolean), or an InputStream in stream mode + */ + public Object schedule(Map params) { + return schedule(params, null); + } + + /** + * nhl-schedule (GET /nhl/schedule). with explicit request options. + * + * @param params operation parameters + * @param options per-request options, or {@code null} for defaults + * @return the parsed JSON response (Map/List/String/Number/Boolean), or an InputStream in stream mode + */ + public Object schedule(Map params, RequestOptions options) { + OperationGroup.checkParams("nhl-schedule", params); + return client.request("nhl-schedule", params, options); + } + + /** + * nhl-schedule (GET /nhl/schedule). with no parameters. + * + * @return the parsed JSON response (Map/List/String/Number/Boolean), or an InputStream in stream mode + */ + public Object schedule() { + return schedule(Map.of(), null); + } + + /** + * nhl-seasons (GET /nhl/seasons). + * + * @param params operation parameters + * @return the parsed JSON response (Map/List/String/Number/Boolean), or an InputStream in stream mode + */ + public Object seasons(Map params) { + return seasons(params, null); + } + + /** + * nhl-seasons (GET /nhl/seasons). with explicit request options. + * + * @param params operation parameters + * @param options per-request options, or {@code null} for defaults + * @return the parsed JSON response (Map/List/String/Number/Boolean), or an InputStream in stream mode + */ + public Object seasons(Map params, RequestOptions options) { + OperationGroup.checkParams("nhl-seasons", params); + return client.request("nhl-seasons", params, options); + } + + /** + * nhl-seasons (GET /nhl/seasons). with no parameters. + * + * @return the parsed JSON response (Map/List/String/Number/Boolean), or an InputStream in stream mode + */ + public Object seasons() { + return seasons(Map.of(), null); + } + + /** + * nhl-standings (GET /nhl/standings). + * + * @param params operation parameters + * @return the parsed JSON response (Map/List/String/Number/Boolean), or an InputStream in stream mode + */ + public Object standings(Map params) { + return standings(params, null); + } + + /** + * nhl-standings (GET /nhl/standings). with explicit request options. + * + * @param params operation parameters + * @param options per-request options, or {@code null} for defaults + * @return the parsed JSON response (Map/List/String/Number/Boolean), or an InputStream in stream mode + */ + public Object standings(Map params, RequestOptions options) { + OperationGroup.checkParams("nhl-standings", params); + return client.request("nhl-standings", params, options); + } + + /** + * nhl-standings (GET /nhl/standings). with no parameters. + * + * @return the parsed JSON response (Map/List/String/Number/Boolean), or an InputStream in stream mode + */ + public Object standings() { + return standings(Map.of(), null); + } + +} diff --git a/src/main/java/net/crawlora/groups/SerebiiGroup.java b/src/main/java/net/crawlora/groups/SerebiiGroup.java new file mode 100644 index 0000000..1b5775d --- /dev/null +++ b/src/main/java/net/crawlora/groups/SerebiiGroup.java @@ -0,0 +1,396 @@ +package net.crawlora.groups; + +// Generated by scripts/generate.py. Do not edit manually. + +import java.util.Map; +import net.crawlora.CrawloraClient; +import net.crawlora.OperationGroup; +import net.crawlora.RequestOptions; + +/** + * Generated typed accessor for the "serebii" operation group. + * Reach it via {@code client.serebii()}. + */ +public final class SerebiiGroup { + private final CrawloraClient client; + + public SerebiiGroup(CrawloraClient client) { + this.client = client; + } + + /** + * serebii-pokemongo-event-detail-community-day (GET /serebii/pokemongo/communityday/{filename}). + * + * @param params operation parameters + * @return the parsed JSON response (Map/List/String/Number/Boolean), or an InputStream in stream mode + */ + public Object pokemongoEventDetailCommunityDay(Map params) { + return pokemongoEventDetailCommunityDay(params, null); + } + + /** + * serebii-pokemongo-event-detail-community-day (GET /serebii/pokemongo/communityday/{filename}). with explicit request options. + * + * @param params operation parameters + * @param options per-request options, or {@code null} for defaults + * @return the parsed JSON response (Map/List/String/Number/Boolean), or an InputStream in stream mode + */ + public Object pokemongoEventDetailCommunityDay(Map params, RequestOptions options) { + OperationGroup.checkParams("serebii-pokemongo-event-detail-community-day", params); + return client.request("serebii-pokemongo-event-detail-community-day", params, options); + } + + /** + * serebii-pokemongo-event-categories (GET /serebii/pokemongo/event-categories). + * + * @param params operation parameters + * @return the parsed JSON response (Map/List/String/Number/Boolean), or an InputStream in stream mode + */ + public Object pokemongoEventCategories(Map params) { + return pokemongoEventCategories(params, null); + } + + /** + * serebii-pokemongo-event-categories (GET /serebii/pokemongo/event-categories). with explicit request options. + * + * @param params operation parameters + * @param options per-request options, or {@code null} for defaults + * @return the parsed JSON response (Map/List/String/Number/Boolean), or an InputStream in stream mode + */ + public Object pokemongoEventCategories(Map params, RequestOptions options) { + OperationGroup.checkParams("serebii-pokemongo-event-categories", params); + return client.request("serebii-pokemongo-event-categories", params, options); + } + + /** + * serebii-pokemongo-event-categories (GET /serebii/pokemongo/event-categories). with no parameters. + * + * @return the parsed JSON response (Map/List/String/Number/Boolean), or an InputStream in stream mode + */ + public Object pokemongoEventCategories() { + return pokemongoEventCategories(Map.of(), null); + } + + /** + * serebii-pokemongo-event-only-moves (GET /serebii/pokemongo/event-only-moves). + * + * @param params operation parameters + * @return the parsed JSON response (Map/List/String/Number/Boolean), or an InputStream in stream mode + */ + public Object pokemongoEventOnlyMoves(Map params) { + return pokemongoEventOnlyMoves(params, null); + } + + /** + * serebii-pokemongo-event-only-moves (GET /serebii/pokemongo/event-only-moves). with explicit request options. + * + * @param params operation parameters + * @param options per-request options, or {@code null} for defaults + * @return the parsed JSON response (Map/List/String/Number/Boolean), or an InputStream in stream mode + */ + public Object pokemongoEventOnlyMoves(Map params, RequestOptions options) { + OperationGroup.checkParams("serebii-pokemongo-event-only-moves", params); + return client.request("serebii-pokemongo-event-only-moves", params, options); + } + + /** + * serebii-pokemongo-event-only-moves (GET /serebii/pokemongo/event-only-moves). with no parameters. + * + * @return the parsed JSON response (Map/List/String/Number/Boolean), or an InputStream in stream mode + */ + public Object pokemongoEventOnlyMoves() { + return pokemongoEventOnlyMoves(Map.of(), null); + } + + /** + * serebii-pokemongo-event-only-research (GET /serebii/pokemongo/event-only-research). + * + * @param params operation parameters + * @return the parsed JSON response (Map/List/String/Number/Boolean), or an InputStream in stream mode + */ + public Object pokemongoEventOnlyResearch(Map params) { + return pokemongoEventOnlyResearch(params, null); + } + + /** + * serebii-pokemongo-event-only-research (GET /serebii/pokemongo/event-only-research). with explicit request options. + * + * @param params operation parameters + * @param options per-request options, or {@code null} for defaults + * @return the parsed JSON response (Map/List/String/Number/Boolean), or an InputStream in stream mode + */ + public Object pokemongoEventOnlyResearch(Map params, RequestOptions options) { + OperationGroup.checkParams("serebii-pokemongo-event-only-research", params); + return client.request("serebii-pokemongo-event-only-research", params, options); + } + + /** + * serebii-pokemongo-event-only-research (GET /serebii/pokemongo/event-only-research). with no parameters. + * + * @return the parsed JSON response (Map/List/String/Number/Boolean), or an InputStream in stream mode + */ + public Object pokemongoEventOnlyResearch() { + return pokemongoEventOnlyResearch(Map.of(), null); + } + + /** + * serebii-pokemongo-events (GET /serebii/pokemongo/events). + * + * @param params operation parameters + * @return the parsed JSON response (Map/List/String/Number/Boolean), or an InputStream in stream mode + */ + public Object pokemongoEvents(Map params) { + return pokemongoEvents(params, null); + } + + /** + * serebii-pokemongo-events (GET /serebii/pokemongo/events). with explicit request options. + * + * @param params operation parameters + * @param options per-request options, or {@code null} for defaults + * @return the parsed JSON response (Map/List/String/Number/Boolean), or an InputStream in stream mode + */ + public Object pokemongoEvents(Map params, RequestOptions options) { + OperationGroup.checkParams("serebii-pokemongo-events", params); + return client.request("serebii-pokemongo-events", params, options); + } + + /** + * serebii-pokemongo-event-detail-global (GET /serebii/pokemongo/events/{filename}). + * + * @param params operation parameters + * @return the parsed JSON response (Map/List/String/Number/Boolean), or an InputStream in stream mode + */ + public Object pokemongoEventDetailGlobal(Map params) { + return pokemongoEventDetailGlobal(params, null); + } + + /** + * serebii-pokemongo-event-detail-global (GET /serebii/pokemongo/events/{filename}). with explicit request options. + * + * @param params operation parameters + * @param options per-request options, or {@code null} for defaults + * @return the parsed JSON response (Map/List/String/Number/Boolean), or an InputStream in stream mode + */ + public Object pokemongoEventDetailGlobal(Map params, RequestOptions options) { + OperationGroup.checkParams("serebii-pokemongo-event-detail-global", params); + return client.request("serebii-pokemongo-event-detail-global", params, options); + } + + /** + * serebii-pokemongo-event-detail-hatch-day (GET /serebii/pokemongo/hatchday/{filename}). + * + * @param params operation parameters + * @return the parsed JSON response (Map/List/String/Number/Boolean), or an InputStream in stream mode + */ + public Object pokemongoEventDetailHatchDay(Map params) { + return pokemongoEventDetailHatchDay(params, null); + } + + /** + * serebii-pokemongo-event-detail-hatch-day (GET /serebii/pokemongo/hatchday/{filename}). with explicit request options. + * + * @param params operation parameters + * @param options per-request options, or {@code null} for defaults + * @return the parsed JSON response (Map/List/String/Number/Boolean), or an InputStream in stream mode + */ + public Object pokemongoEventDetailHatchDay(Map params, RequestOptions options) { + OperationGroup.checkParams("serebii-pokemongo-event-detail-hatch-day", params); + return client.request("serebii-pokemongo-event-detail-hatch-day", params, options); + } + + /** + * serebii-pokemongo-event-detail-incense-day (GET /serebii/pokemongo/incenseday/{filename}). + * + * @param params operation parameters + * @return the parsed JSON response (Map/List/String/Number/Boolean), or an InputStream in stream mode + */ + public Object pokemongoEventDetailIncenseDay(Map params) { + return pokemongoEventDetailIncenseDay(params, null); + } + + /** + * serebii-pokemongo-event-detail-incense-day (GET /serebii/pokemongo/incenseday/{filename}). with explicit request options. + * + * @param params operation parameters + * @param options per-request options, or {@code null} for defaults + * @return the parsed JSON response (Map/List/String/Number/Boolean), or an InputStream in stream mode + */ + public Object pokemongoEventDetailIncenseDay(Map params, RequestOptions options) { + OperationGroup.checkParams("serebii-pokemongo-event-detail-incense-day", params); + return client.request("serebii-pokemongo-event-detail-incense-day", params, options); + } + + /** + * serebii-pokemongo-event-detail-research-day (GET /serebii/pokemongo/limitedresearchday/{filename}). + * + * @param params operation parameters + * @return the parsed JSON response (Map/List/String/Number/Boolean), or an InputStream in stream mode + */ + public Object pokemongoEventDetailResearchDay(Map params) { + return pokemongoEventDetailResearchDay(params, null); + } + + /** + * serebii-pokemongo-event-detail-research-day (GET /serebii/pokemongo/limitedresearchday/{filename}). with explicit request options. + * + * @param params operation parameters + * @param options per-request options, or {@code null} for defaults + * @return the parsed JSON response (Map/List/String/Number/Boolean), or an InputStream in stream mode + */ + public Object pokemongoEventDetailResearchDay(Map params, RequestOptions options) { + OperationGroup.checkParams("serebii-pokemongo-event-detail-research-day", params); + return client.request("serebii-pokemongo-event-detail-research-day", params, options); + } + + /** + * serebii-pokemongo-event-detail-max-battle-day (GET /serebii/pokemongo/maxbattleday/{filename}). + * + * @param params operation parameters + * @return the parsed JSON response (Map/List/String/Number/Boolean), or an InputStream in stream mode + */ + public Object pokemongoEventDetailMaxBattleDay(Map params) { + return pokemongoEventDetailMaxBattleDay(params, null); + } + + /** + * serebii-pokemongo-event-detail-max-battle-day (GET /serebii/pokemongo/maxbattleday/{filename}). with explicit request options. + * + * @param params operation parameters + * @param options per-request options, or {@code null} for defaults + * @return the parsed JSON response (Map/List/String/Number/Boolean), or an InputStream in stream mode + */ + public Object pokemongoEventDetailMaxBattleDay(Map params, RequestOptions options) { + OperationGroup.checkParams("serebii-pokemongo-event-detail-max-battle-day", params); + return client.request("serebii-pokemongo-event-detail-max-battle-day", params, options); + } + + /** + * serebii-pokemongo-event-detail-raid-day (GET /serebii/pokemongo/raidday/{filename}). + * + * @param params operation parameters + * @return the parsed JSON response (Map/List/String/Number/Boolean), or an InputStream in stream mode + */ + public Object pokemongoEventDetailRaidDay(Map params) { + return pokemongoEventDetailRaidDay(params, null); + } + + /** + * serebii-pokemongo-event-detail-raid-day (GET /serebii/pokemongo/raidday/{filename}). with explicit request options. + * + * @param params operation parameters + * @param options per-request options, or {@code null} for defaults + * @return the parsed JSON response (Map/List/String/Number/Boolean), or an InputStream in stream mode + */ + public Object pokemongoEventDetailRaidDay(Map params, RequestOptions options) { + OperationGroup.checkParams("serebii-pokemongo-event-detail-raid-day", params); + return client.request("serebii-pokemongo-event-detail-raid-day", params, options); + } + + /** + * serebii-pokemongo-event-detail-real-life (GET /serebii/pokemongo/reallifeevents/{filename}). + * + * @param params operation parameters + * @return the parsed JSON response (Map/List/String/Number/Boolean), or an InputStream in stream mode + */ + public Object pokemongoEventDetailRealLife(Map params) { + return pokemongoEventDetailRealLife(params, null); + } + + /** + * serebii-pokemongo-event-detail-real-life (GET /serebii/pokemongo/reallifeevents/{filename}). with explicit request options. + * + * @param params operation parameters + * @param options per-request options, or {@code null} for defaults + * @return the parsed JSON response (Map/List/String/Number/Boolean), or an InputStream in stream mode + */ + public Object pokemongoEventDetailRealLife(Map params, RequestOptions options) { + OperationGroup.checkParams("serebii-pokemongo-event-detail-real-life", params); + return client.request("serebii-pokemongo-event-detail-real-life", params, options); + } + + /** + * serebii-pokemongo-spotlight-hours (GET /serebii/pokemongo/spotlight-hours). + * + * @param params operation parameters + * @return the parsed JSON response (Map/List/String/Number/Boolean), or an InputStream in stream mode + */ + public Object pokemongoSpotlightHours(Map params) { + return pokemongoSpotlightHours(params, null); + } + + /** + * serebii-pokemongo-spotlight-hours (GET /serebii/pokemongo/spotlight-hours). with explicit request options. + * + * @param params operation parameters + * @param options per-request options, or {@code null} for defaults + * @return the parsed JSON response (Map/List/String/Number/Boolean), or an InputStream in stream mode + */ + public Object pokemongoSpotlightHours(Map params, RequestOptions options) { + OperationGroup.checkParams("serebii-pokemongo-spotlight-hours", params); + return client.request("serebii-pokemongo-spotlight-hours", params, options); + } + + /** + * serebii-pokemongo-spotlight-hours (GET /serebii/pokemongo/spotlight-hours). with no parameters. + * + * @return the parsed JSON response (Map/List/String/Number/Boolean), or an InputStream in stream mode + */ + public Object pokemongoSpotlightHours() { + return pokemongoSpotlightHours(Map.of(), null); + } + + /** + * serebii-pokemongo-event-detail-ticket (GET /serebii/pokemongo/ticketevents/{filename}). + * + * @param params operation parameters + * @return the parsed JSON response (Map/List/String/Number/Boolean), or an InputStream in stream mode + */ + public Object pokemongoEventDetailTicket(Map params) { + return pokemongoEventDetailTicket(params, null); + } + + /** + * serebii-pokemongo-event-detail-ticket (GET /serebii/pokemongo/ticketevents/{filename}). with explicit request options. + * + * @param params operation parameters + * @param options per-request options, or {@code null} for defaults + * @return the parsed JSON response (Map/List/String/Number/Boolean), or an InputStream in stream mode + */ + public Object pokemongoEventDetailTicket(Map params, RequestOptions options) { + OperationGroup.checkParams("serebii-pokemongo-event-detail-ticket", params); + return client.request("serebii-pokemongo-event-detail-ticket", params, options); + } + + /** + * serebii-pokemongo-unown-events (GET /serebii/pokemongo/unown-events). + * + * @param params operation parameters + * @return the parsed JSON response (Map/List/String/Number/Boolean), or an InputStream in stream mode + */ + public Object pokemongoUnownEvents(Map params) { + return pokemongoUnownEvents(params, null); + } + + /** + * serebii-pokemongo-unown-events (GET /serebii/pokemongo/unown-events). with explicit request options. + * + * @param params operation parameters + * @param options per-request options, or {@code null} for defaults + * @return the parsed JSON response (Map/List/String/Number/Boolean), or an InputStream in stream mode + */ + public Object pokemongoUnownEvents(Map params, RequestOptions options) { + OperationGroup.checkParams("serebii-pokemongo-unown-events", params); + return client.request("serebii-pokemongo-unown-events", params, options); + } + + /** + * serebii-pokemongo-unown-events (GET /serebii/pokemongo/unown-events). with no parameters. + * + * @return the parsed JSON response (Map/List/String/Number/Boolean), or an InputStream in stream mode + */ + public Object pokemongoUnownEvents() { + return pokemongoUnownEvents(Map.of(), null); + } + +}