{"fanfare_schema_version":"1.0.0","generated_at":"2026-07-16T02:16:25.031524+00:00","service":{"name":"Fanfare","url":"https://fanfare.run","version":"1.0.0","protocol":"x402","network":"eip155:8453","payment_address":"0x41AdeE1eBA2c276bE5e8Cabe0CE523e4dd792170","openapi":"https://fanfare.run/openapi.json","agent_card":"https://fanfare.run/.well-known/agent.json","x402_manifest":"https://fanfare.run/.well-known/x402"},"pricing":{"standard_usd":0.001,"live_usd":0.005,"flights_usd":0.25,"hotels_usd":0.25,"world_cup_bundle_usd":0.25,"mlb_fantasy_slate_context_usd":0.02,"mlb_fantasy_projections_usd":0.1,"mlb_fantasy_lineups_usd":0.05,"mlb_fantasy_late_swap_usd":0.03,"mlb_fantasy_slate_bundle_usd":0.5,"bet_context_usd":0.05,"content_moments_usd":0.03,"content_charts_usd":0.03,"content_games_of_interest_usd":0.02,"content_anomalies_usd":0.04,"content_milestones_usd":0.04,"content_career_h2h_usd":0.02,"content_narrative_usd":0.05,"content_headlines_usd":0.04,"content_notable_stats_usd":0.03,"content_season_narratives_usd":0.05},"pillars":{"live_events":{"name":"Live Events","description":"Game-day and trip-planning bundles — tickets, travel, weather, and dining composed into one paid call.","path_prefix":"/v1/live-events"},"fantasy_betting":{"name":"Fantasy & Betting","description":"DFS-inputs and betting-context bundles — projections, lineups, Vegas lines, park factors, and weather impact.","path_prefix":"/v1/fantasy-betting"},"digital_social":{"name":"Digital & Social","description":"Content and analytics for media and social — highlights, narratives, headlines, charts, and milestone context.","path_prefix":"/v1/content"},"atomic":{"name":"Atomics","description":"Raw per-sport primitives — schedules, scores, standings, players, venues — that the bundles compose.","path_prefix":"/v1/atomic"}},"upstream_sources":{"mlb_stats_api":{"url":"https://statsapi.mlb.com/api/v1","auth":"none"},"mlb_stats_api_live":{"url":"https://statsapi.mlb.com/api/v1.1","auth":"none"},"espn_unofficial":{"url":"https://site.api.espn.com","auth":"none"},"nhle_api":{"url":"https://api-web.nhle.com","auth":"none"},"ticketmaster":{"url":"https://app.ticketmaster.com/discovery/v2","auth":"api_key"},"google_places":{"url":"https://maps.googleapis.com/maps/api/place","auth":"api_key"},"open_meteo":{"url":"https://api.open-meteo.com/v1","auth":"none"},"the_odds_api":{"url":"https://api.the-odds-api.com/v4","auth":"api_key"},"anthropic":{"url":"https://api.anthropic.com","auth":"api_key"},"fanfare_derived":{"url":"internal","auth":"none"},"duffel":{"url":"https://api.duffel.com/air","auth":"api_key"},"duffel_stays":{"url":"https://api.duffel.com/stays","auth":"api_key"}},"endpoints":{"GET /mlb/schedule":{"method":"GET","path":"/mlb/schedule","bucket":"atomic","canonical":true,"sport":"baseball","league":"mlb","description":"MLB game schedule for any date or team — matchups, scores, venues, and status.","price_tier":"standard","price_usd":0.001,"freshness_seconds":60,"upstream_sources":["mlb_stats_api"],"params":{"type":"object","properties":{"date":{"type":"string","format":"date","description":"Game date (YYYY-MM-DD)"},"teamId":{"type":"integer","description":"MLB team ID"}}},"response_data_model":"list[Game]","response_data_schema_ref":"#/$defs/Game","response_data_is_list":true},"GET /mlb/teams":{"method":"GET","path":"/mlb/teams","bucket":"atomic","canonical":true,"sport":"baseball","league":"mlb","description":"All 30 MLB teams with ID, city, abbreviation, and division.","price_tier":"standard","price_usd":0.001,"freshness_seconds":86400,"upstream_sources":["mlb_stats_api"],"params":{"type":"object"},"response_data_model":"list[Team]","response_data_schema_ref":"#/$defs/Team","response_data_is_list":true},"GET /mlb/standings":{"method":"GET","path":"/mlb/standings","bucket":"atomic","canonical":true,"sport":"baseball","league":"mlb","description":"Current MLB standings — wins, losses, pct, games back, splits, streak. leagueId 103 = AL, 104 = NL.","price_tier":"standard","price_usd":0.001,"freshness_seconds":300,"upstream_sources":["mlb_stats_api"],"params":{"type":"object","properties":{"leagueId":{"type":"integer","description":"103 for AL, 104 for NL"}}},"response_data_model":"list[StandingsEntry]","response_data_schema_ref":"#/$defs/StandingsEntry","response_data_is_list":true},"GET /mlb/players":{"method":"GET","path":"/mlb/players","bucket":"atomic","canonical":true,"sport":"baseball","league":"mlb","description":"All active MLB players for the current season — name, position, jersey number, team.","price_tier":"standard","price_usd":0.001,"freshness_seconds":3600,"upstream_sources":["mlb_stats_api"],"params":{"type":"object"},"response_data_model":"list[Player]","response_data_schema_ref":"#/$defs/Player","response_data_is_list":true},"GET /mlb/player/{player_id}":{"method":"GET","path":"/mlb/player/{player_id}","bucket":"atomic","canonical":true,"sport":"baseball","league":"mlb","description":"Full season hitting, pitching, and fielding stats for an MLB player. Example: 660271 = Shohei Ohtani.","price_tier":"standard","price_usd":0.001,"freshness_seconds":3600,"upstream_sources":["mlb_stats_api"],"params":{"type":"object","properties":{"player_id":{"type":"string","in":"path","description":"MLB player ID"}}},"response_data_model":"Player","response_data_schema_ref":"#/$defs/Player","response_data_is_list":false},"GET /mlb/game/{game_pk}":{"method":"GET","path":"/mlb/game/{game_pk}","bucket":"atomic","canonical":true,"sport":"baseball","league":"mlb","description":"Live play-by-play feed for an MLB game — lineups, inning scores, pitching changes, real-time status.","price_tier":"live","price_usd":0.005,"freshness_seconds":15,"upstream_sources":["mlb_stats_api_live"],"params":{"type":"object","properties":{"game_pk":{"type":"string","in":"path","description":"MLB game PK from /mlb/schedule"}}},"response_data_model":"Game","response_data_schema_ref":"#/$defs/Game","response_data_is_list":false},"GET /mlb/venues":{"method":"GET","path":"/mlb/venues","bucket":"atomic","canonical":true,"sport":"baseball","league":"mlb","description":"All 30 MLB ballparks — city, state, capacity, and playing surface. Filter by venueId.","price_tier":"standard","price_usd":0.001,"freshness_seconds":86400,"upstream_sources":["mlb_stats_api"],"params":{"type":"object","properties":{"venueId":{"type":"integer","description":"MLB venue ID (optional)"}}},"response_data_model":"list[Venue]","response_data_schema_ref":"#/$defs/Venue","response_data_is_list":true},"GET /mlb/venue-nearby":{"method":"GET","path":"/mlb/venue-nearby","bucket":"atomic","canonical":true,"sport":"baseball","league":"mlb","description":"Restaurants, bars, parking, and attractions near any MLB ballpark via Google Places.","price_tier":"standard","price_usd":0.001,"freshness_seconds":86400,"upstream_sources":["google_places"],"params":{"type":"object","properties":{"venueId":{"type":"integer","description":"MLB venue ID"},"type":{"type":"string","description":"Place category","default":"restaurant","enum":["restaurant","bar","cafe","parking","tourist_attraction","lodging"]}}},"response_data_model":"VenueNearby","response_data_schema_ref":"#/$defs/VenueNearby","response_data_is_list":false},"GET /mlb/venue-weather":{"method":"GET","path":"/mlb/venue-weather","bucket":"atomic","canonical":true,"sport":"baseball","league":"mlb","description":"Real-time weather at any MLB ballpark — temperature, feels-like, wind, precipitation.","price_tier":"standard","price_usd":0.001,"freshness_seconds":3600,"upstream_sources":["open_meteo"],"params":{"type":"object","properties":{"venueId":{"type":"integer","description":"MLB venue ID"}}},"response_data_model":"VenueWeather","response_data_schema_ref":"#/$defs/VenueWeather","response_data_is_list":false},"GET /mlb/tickets":{"method":"GET","path":"/mlb/tickets","bucket":"atomic","canonical":true,"sport":"baseball","league":"mlb","description":"Live primary-market ticket listings for an MLB home game via Ticketmaster — price range, purchase URL, on-sale status.","price_tier":"standard","price_usd":0.001,"freshness_seconds":900,"upstream_sources":["ticketmaster"],"params":{"type":"object","properties":{"teamId":{"type":"string","description":"MLB Stats API team ID"},"date":{"type":"string","format":"date","description":"Game date (YYYY-MM-DD)"}}},"response_data_model":"VenueTickets","response_data_schema_ref":"#/$defs/VenueTickets","response_data_is_list":false},"GET /mlb/flights":{"method":"GET","path":"/mlb/flights","bucket":"atomic","canonical":true,"sport":"baseball","league":"mlb","description":"Economy flight search to the nearest airport for any MLB team's home stadium via Duffel.","price_tier":"flights","price_usd":0.25,"freshness_seconds":300,"upstream_sources":["duffel"],"params":{"type":"object","properties":{"teamId":{"type":"string","description":"MLB Stats API team ID"},"date":{"type":"string","format":"date","description":"Departure date (YYYY-MM-DD)"},"origin":{"type":"string","description":"Origin airport IATA code (e.g. JFK)"},"passengers":{"type":"integer","description":"Number of adult passengers","default":1}}},"response_data_model":"FlightSearchResult","response_data_schema_ref":"#/$defs/FlightSearchResult","response_data_is_list":false},"GET /mlb/hotels":{"method":"GET","path":"/mlb/hotels","bucket":"atomic","canonical":true,"sport":"baseball","league":"mlb","description":"Hotel search near any MLB team's home stadium via Duffel Stays.","price_tier":"hotels","price_usd":0.25,"freshness_seconds":300,"upstream_sources":["duffel_stays"],"params":{"type":"object","properties":{"teamId":{"type":"string","description":"MLB Stats API team ID"},"check_in":{"type":"string","format":"date","description":"Check-in date (YYYY-MM-DD)"},"check_out":{"type":"string","format":"date","description":"Check-out date (YYYY-MM-DD)"},"guests":{"type":"integer","description":"Number of guests","default":1}}},"response_data_model":"HotelSearchResult","response_data_schema_ref":"#/$defs/HotelSearchResult","response_data_is_list":false},"GET /nba/schedule":{"method":"GET","path":"/nba/schedule","bucket":"atomic","canonical":true,"sport":"basketball","league":"nba","description":"NBA game schedule for any date — matchups, scores by quarter, teams, and game status.","price_tier":"standard","price_usd":0.001,"freshness_seconds":60,"upstream_sources":["espn_unofficial"],"params":{"type":"object","properties":{"date":{"type":"string","format":"date","description":"Game date (YYYY-MM-DD)"}}},"response_data_model":"list[NBAGame]","response_data_schema_ref":"#/$defs/NBAGame","response_data_is_list":true},"GET /nba/teams":{"method":"GET","path":"/nba/teams","bucket":"atomic","canonical":true,"sport":"basketball","league":"nba","description":"All 30 NBA teams with ID, city, abbreviation, conference, and division.","price_tier":"standard","price_usd":0.001,"freshness_seconds":86400,"upstream_sources":["espn_unofficial"],"params":{"type":"object"},"response_data_model":"list[NBATeam]","response_data_schema_ref":"#/$defs/NBATeam","response_data_is_list":true},"GET /nba/standings":{"method":"GET","path":"/nba/standings","bucket":"atomic","canonical":true,"sport":"basketball","league":"nba","description":"Current NBA standings by conference — wins, losses, pct, conference rank.","price_tier":"standard","price_usd":0.001,"freshness_seconds":300,"upstream_sources":["espn_unofficial"],"params":{"type":"object"},"response_data_model":"list[NBAStandingsEntry]","response_data_schema_ref":"#/$defs/NBAStandingsEntry","response_data_is_list":true},"GET /nba/players":{"method":"GET","path":"/nba/players","bucket":"atomic","canonical":true,"sport":"basketball","league":"nba","description":"All active NBA players for the current season — name, position, jersey number, team.","price_tier":"standard","price_usd":0.001,"freshness_seconds":3600,"upstream_sources":["espn_unofficial"],"params":{"type":"object"},"response_data_model":"list[NBAPlayer]","response_data_schema_ref":"#/$defs/NBAPlayer","response_data_is_list":true},"GET /nba/player/{player_id}":{"method":"GET","path":"/nba/player/{player_id}","bucket":"atomic","canonical":true,"sport":"basketball","league":"nba","description":"Season stats for an NBA player — points, rebounds, assists. Look up by ESPN player ID.","price_tier":"standard","price_usd":0.001,"freshness_seconds":3600,"upstream_sources":["espn_unofficial"],"params":{"type":"object","properties":{"player_id":{"type":"string","in":"path","description":"ESPN player ID"}}},"response_data_model":"NBAPlayer","response_data_schema_ref":"#/$defs/NBAPlayer","response_data_is_list":false},"GET /nba/game/{game_id}":{"method":"GET","path":"/nba/game/{game_id}","bucket":"atomic","canonical":true,"sport":"basketball","league":"nba","description":"Live NBA game detail — current score, period, clock, and game status.","price_tier":"live","price_usd":0.005,"freshness_seconds":15,"upstream_sources":["espn_unofficial"],"params":{"type":"object","properties":{"game_id":{"type":"string","in":"path","description":"ESPN game ID from /nba/schedule"}}},"response_data_model":"NBAGame","response_data_schema_ref":"#/$defs/NBAGame","response_data_is_list":false},"GET /nba/venue-nearby":{"method":"GET","path":"/nba/venue-nearby","bucket":"atomic","canonical":true,"sport":"basketball","league":"nba","description":"Restaurants, bars, parking, and attractions near any NBA arena via Google Places.","price_tier":"standard","price_usd":0.001,"freshness_seconds":86400,"upstream_sources":["google_places"],"params":{"type":"object","properties":{"teamId":{"type":"string","description":"NBA team ID"},"type":{"type":"string","description":"Place category","enum":["restaurant","bar","cafe","parking","tourist_attraction","lodging"],"default":"restaurant"}}},"response_data_model":"VenueNearby","response_data_schema_ref":"#/$defs/VenueNearby","response_data_is_list":false},"GET /nba/venue-weather":{"method":"GET","path":"/nba/venue-weather","bucket":"atomic","canonical":true,"sport":"basketball","league":"nba","description":"Real-time weather near any NBA arena — temperature, wind, and conditions.","price_tier":"standard","price_usd":0.001,"freshness_seconds":3600,"upstream_sources":["open_meteo"],"params":{"type":"object","properties":{"teamId":{"type":"string","description":"NBA team ID"}}},"response_data_model":"VenueWeather","response_data_schema_ref":"#/$defs/VenueWeather","response_data_is_list":false},"GET /nba/tickets":{"method":"GET","path":"/nba/tickets","bucket":"atomic","canonical":true,"sport":"basketball","league":"nba","description":"Live primary-market ticket listings for an NBA home game via Ticketmaster.","price_tier":"standard","price_usd":0.001,"freshness_seconds":900,"upstream_sources":["ticketmaster"],"params":{"type":"object","properties":{"teamId":{"type":"string","description":"NBA team ID"},"date":{"type":"string","format":"date","description":"Game date (YYYY-MM-DD)"}}},"response_data_model":"VenueTickets","response_data_schema_ref":"#/$defs/VenueTickets","response_data_is_list":false},"GET /nba/flights":{"method":"GET","path":"/nba/flights","bucket":"atomic","canonical":true,"sport":"basketball","league":"nba","description":"Economy flight search to the nearest airport for any NBA team's home arena via Duffel.","price_tier":"flights","price_usd":0.25,"freshness_seconds":300,"upstream_sources":["duffel"],"params":{"type":"object","properties":{"teamId":{"type":"string","description":"NBA team ID"},"date":{"type":"string","format":"date","description":"Departure date (YYYY-MM-DD)"},"origin":{"type":"string","description":"Origin airport IATA code (e.g. JFK)"},"passengers":{"type":"integer","description":"Number of adult passengers","default":1}}},"response_data_model":"FlightSearchResult","response_data_schema_ref":"#/$defs/FlightSearchResult","response_data_is_list":false},"GET /nba/hotels":{"method":"GET","path":"/nba/hotels","bucket":"atomic","canonical":true,"sport":"basketball","league":"nba","description":"Hotel search near any NBA team's home arena via Duffel Stays.","price_tier":"hotels","price_usd":0.25,"freshness_seconds":300,"upstream_sources":["duffel_stays"],"params":{"type":"object","properties":{"teamId":{"type":"string","description":"NBA team ID"},"check_in":{"type":"string","format":"date","description":"Check-in date (YYYY-MM-DD)"},"check_out":{"type":"string","format":"date","description":"Check-out date (YYYY-MM-DD)"},"guests":{"type":"integer","description":"Number of guests","default":1}}},"response_data_model":"HotelSearchResult","response_data_schema_ref":"#/$defs/HotelSearchResult","response_data_is_list":false},"GET /wnba/schedule":{"method":"GET","path":"/wnba/schedule","bucket":"atomic","canonical":true,"sport":"basketball","league":"wnba","description":"WNBA game schedule for any date — matchups, scores, and game status.","price_tier":"standard","price_usd":0.001,"freshness_seconds":60,"upstream_sources":["espn_unofficial"],"params":{"type":"object","properties":{"date":{"type":"string","format":"date","description":"Game date (YYYY-MM-DD)"}}},"response_data_model":"list[WNBAGame]","response_data_schema_ref":"#/$defs/WNBAGame","response_data_is_list":true},"GET /wnba/teams":{"method":"GET","path":"/wnba/teams","bucket":"atomic","canonical":true,"sport":"basketball","league":"wnba","description":"All WNBA teams with ID, city, abbreviation, and conference.","price_tier":"standard","price_usd":0.001,"freshness_seconds":86400,"upstream_sources":["espn_unofficial"],"params":{"type":"object"},"response_data_model":"list[WNBATeam]","response_data_schema_ref":"#/$defs/WNBATeam","response_data_is_list":true},"GET /wnba/standings":{"method":"GET","path":"/wnba/standings","bucket":"atomic","canonical":true,"sport":"basketball","league":"wnba","description":"Current WNBA standings with wins, losses, pct, and conference rank.","price_tier":"standard","price_usd":0.001,"freshness_seconds":300,"upstream_sources":["espn_unofficial"],"params":{"type":"object"},"response_data_model":"list[WNBAStandingsEntry]","response_data_schema_ref":"#/$defs/WNBAStandingsEntry","response_data_is_list":true},"GET /wnba/players":{"method":"GET","path":"/wnba/players","bucket":"atomic","canonical":true,"sport":"basketball","league":"wnba","description":"All active WNBA players for the current season — name, position, jersey number, team.","price_tier":"standard","price_usd":0.001,"freshness_seconds":3600,"upstream_sources":["espn_unofficial"],"params":{"type":"object"},"response_data_model":"list[WNBAPlayer]","response_data_schema_ref":"#/$defs/WNBAPlayer","response_data_is_list":true},"GET /wnba/player/{player_id}":{"method":"GET","path":"/wnba/player/{player_id}","bucket":"atomic","canonical":true,"sport":"basketball","league":"wnba","description":"Season stats for a WNBA player — points, rebounds, assists. Look up by ESPN player ID.","price_tier":"standard","price_usd":0.001,"freshness_seconds":3600,"upstream_sources":["espn_unofficial"],"params":{"type":"object","properties":{"player_id":{"type":"string","in":"path","description":"ESPN player ID"}}},"response_data_model":"WNBAPlayer","response_data_schema_ref":"#/$defs/WNBAPlayer","response_data_is_list":false},"GET /wnba/venue-nearby":{"method":"GET","path":"/wnba/venue-nearby","bucket":"atomic","canonical":true,"sport":"basketball","league":"wnba","description":"Restaurants, bars, parking, and attractions near any WNBA arena via Google Places.","price_tier":"standard","price_usd":0.001,"freshness_seconds":86400,"upstream_sources":["google_places"],"params":{"type":"object","properties":{"teamId":{"type":"string","description":"WNBA team ID"},"type":{"type":"string","description":"Place category","enum":["restaurant","bar","cafe","parking","tourist_attraction","lodging"],"default":"restaurant"}}},"response_data_model":"VenueNearby","response_data_schema_ref":"#/$defs/VenueNearby","response_data_is_list":false},"GET /wnba/venue-weather":{"method":"GET","path":"/wnba/venue-weather","bucket":"atomic","canonical":true,"sport":"basketball","league":"wnba","description":"Real-time weather near any WNBA arena — temperature, wind, and conditions.","price_tier":"standard","price_usd":0.001,"freshness_seconds":3600,"upstream_sources":["open_meteo"],"params":{"type":"object","properties":{"teamId":{"type":"string","description":"WNBA team ID"}}},"response_data_model":"VenueWeather","response_data_schema_ref":"#/$defs/VenueWeather","response_data_is_list":false},"GET /wnba/tickets":{"method":"GET","path":"/wnba/tickets","bucket":"atomic","canonical":true,"sport":"basketball","league":"wnba","description":"Live primary-market ticket listings for a WNBA home game via Ticketmaster.","price_tier":"standard","price_usd":0.001,"freshness_seconds":900,"upstream_sources":["ticketmaster"],"params":{"type":"object","properties":{"teamId":{"type":"string","description":"WNBA team ID"},"date":{"type":"string","format":"date","description":"Game date (YYYY-MM-DD)"}}},"response_data_model":"VenueTickets","response_data_schema_ref":"#/$defs/VenueTickets","response_data_is_list":false},"GET /wnba/flights":{"method":"GET","path":"/wnba/flights","bucket":"atomic","canonical":true,"sport":"basketball","league":"wnba","description":"Economy flight search to the nearest airport for any WNBA team's home arena via Duffel.","price_tier":"flights","price_usd":0.25,"freshness_seconds":300,"upstream_sources":["duffel"],"params":{"type":"object","properties":{"teamId":{"type":"string","description":"WNBA team ID"},"date":{"type":"string","format":"date","description":"Departure date (YYYY-MM-DD)"},"origin":{"type":"string","description":"Origin airport IATA code (e.g. JFK)"},"passengers":{"type":"integer","description":"Number of adult passengers","default":1}}},"response_data_model":"FlightSearchResult","response_data_schema_ref":"#/$defs/FlightSearchResult","response_data_is_list":false},"GET /wnba/hotels":{"method":"GET","path":"/wnba/hotels","bucket":"atomic","canonical":true,"sport":"basketball","league":"wnba","description":"Hotel search near any WNBA team's home arena via Duffel Stays.","price_tier":"hotels","price_usd":0.25,"freshness_seconds":300,"upstream_sources":["duffel_stays"],"params":{"type":"object","properties":{"teamId":{"type":"string","description":"WNBA team ID"},"check_in":{"type":"string","format":"date","description":"Check-in date (YYYY-MM-DD)"},"check_out":{"type":"string","format":"date","description":"Check-out date (YYYY-MM-DD)"},"guests":{"type":"integer","description":"Number of guests","default":1}}},"response_data_model":"HotelSearchResult","response_data_schema_ref":"#/$defs/HotelSearchResult","response_data_is_list":false},"GET /nhl/schedule":{"method":"GET","path":"/nhl/schedule","bucket":"atomic","canonical":true,"sport":"hockey","league":"nhl","description":"NHL game schedule for any date — matchups, scores by period, game status. Defaults to today.","price_tier":"standard","price_usd":0.001,"freshness_seconds":60,"upstream_sources":["nhle_api"],"params":{"type":"object","properties":{"date":{"type":"string","format":"date","description":"Game date (YYYY-MM-DD)"}}},"response_data_model":"list[NHLGame]","response_data_schema_ref":"#/$defs/NHLGame","response_data_is_list":true},"GET /nhl/teams":{"method":"GET","path":"/nhl/teams","bucket":"atomic","canonical":true,"sport":"hockey","league":"nhl","description":"All 32 NHL teams with ID, abbreviation, and city.","price_tier":"standard","price_usd":0.001,"freshness_seconds":86400,"upstream_sources":["nhle_api"],"params":{"type":"object"},"response_data_model":"list[NHLTeam]","response_data_schema_ref":"#/$defs/NHLTeam","response_data_is_list":true},"GET /nhl/standings":{"method":"GET","path":"/nhl/standings","bucket":"atomic","canonical":true,"sport":"hockey","league":"nhl","description":"Current NHL standings — wins, losses, OT losses, points, division rank across all 32 teams.","price_tier":"standard","price_usd":0.001,"freshness_seconds":300,"upstream_sources":["nhle_api"],"params":{"type":"object"},"response_data_model":"list[NHLStandingsEntry]","response_data_schema_ref":"#/$defs/NHLStandingsEntry","response_data_is_list":true},"GET /nhl/player/{player_id}":{"method":"GET","path":"/nhl/player/{player_id}","bucket":"atomic","canonical":true,"sport":"hockey","league":"nhl","description":"NHL player profile and season stats — goals, assists, plus/minus. Example: 8478402 = Connor McDavid.","price_tier":"standard","price_usd":0.001,"freshness_seconds":3600,"upstream_sources":["nhle_api"],"params":{"type":"object","properties":{"player_id":{"type":"string","in":"path","description":"NHL player ID"}}},"response_data_model":"NHLPlayer","response_data_schema_ref":"#/$defs/NHLPlayer","response_data_is_list":false},"GET /nhl/game/{game_id}":{"method":"GET","path":"/nhl/game/{game_id}","bucket":"atomic","canonical":true,"sport":"hockey","league":"nhl","description":"Live NHL game feed — period, clock, play-by-play, and real-time scoring.","price_tier":"live","price_usd":0.005,"freshness_seconds":15,"upstream_sources":["nhle_api"],"params":{"type":"object","properties":{"game_id":{"type":"string","in":"path","description":"NHL game ID from /nhl/schedule"}}},"response_data_model":"NHLGame","response_data_schema_ref":"#/$defs/NHLGame","response_data_is_list":false},"GET /nhl/venue-nearby":{"method":"GET","path":"/nhl/venue-nearby","bucket":"atomic","canonical":true,"sport":"hockey","league":"nhl","description":"Restaurants, bars, parking, and attractions near any NHL arena via Google Places.","price_tier":"standard","price_usd":0.001,"freshness_seconds":86400,"upstream_sources":["google_places"],"params":{"type":"object","properties":{"teamId":{"type":"string","description":"NHL team ID"},"type":{"type":"string","description":"Place category","enum":["restaurant","bar","cafe","parking","tourist_attraction","lodging"],"default":"restaurant"}}},"response_data_model":"VenueNearby","response_data_schema_ref":"#/$defs/VenueNearby","response_data_is_list":false},"GET /nhl/venue-weather":{"method":"GET","path":"/nhl/venue-weather","bucket":"atomic","canonical":true,"sport":"hockey","league":"nhl","description":"Real-time weather near any NHL arena — temperature, wind, and conditions for travel planning.","price_tier":"standard","price_usd":0.001,"freshness_seconds":3600,"upstream_sources":["open_meteo"],"params":{"type":"object","properties":{"teamId":{"type":"string","description":"NHL team ID"}}},"response_data_model":"VenueWeather","response_data_schema_ref":"#/$defs/VenueWeather","response_data_is_list":false},"GET /nhl/tickets":{"method":"GET","path":"/nhl/tickets","bucket":"atomic","canonical":true,"sport":"hockey","league":"nhl","description":"Live primary-market ticket listings for an NHL home game via Ticketmaster.","price_tier":"standard","price_usd":0.001,"freshness_seconds":900,"upstream_sources":["ticketmaster"],"params":{"type":"object","properties":{"teamId":{"type":"string","description":"NHL team ID"},"date":{"type":"string","format":"date","description":"Game date (YYYY-MM-DD)"}}},"response_data_model":"VenueTickets","response_data_schema_ref":"#/$defs/VenueTickets","response_data_is_list":false},"GET /nhl/flights":{"method":"GET","path":"/nhl/flights","bucket":"atomic","canonical":true,"sport":"hockey","league":"nhl","description":"Economy flight search to the nearest airport for any NHL team's home arena via Duffel.","price_tier":"flights","price_usd":0.25,"freshness_seconds":300,"upstream_sources":["duffel"],"params":{"type":"object","properties":{"teamId":{"type":"string","description":"NHL team ID"},"date":{"type":"string","format":"date","description":"Departure date (YYYY-MM-DD)"},"origin":{"type":"string","description":"Origin airport IATA code (e.g. JFK)"},"passengers":{"type":"integer","description":"Number of adult passengers","default":1}}},"response_data_model":"FlightSearchResult","response_data_schema_ref":"#/$defs/FlightSearchResult","response_data_is_list":false},"GET /nhl/hotels":{"method":"GET","path":"/nhl/hotels","bucket":"atomic","canonical":true,"sport":"hockey","league":"nhl","description":"Hotel search near any NHL team's home arena via Duffel Stays.","price_tier":"hotels","price_usd":0.25,"freshness_seconds":300,"upstream_sources":["duffel_stays"],"params":{"type":"object","properties":{"teamId":{"type":"string","description":"NHL team ID"},"check_in":{"type":"string","format":"date","description":"Check-in date (YYYY-MM-DD)"},"check_out":{"type":"string","format":"date","description":"Check-out date (YYYY-MM-DD)"},"guests":{"type":"integer","description":"Number of guests","default":1}}},"response_data_model":"HotelSearchResult","response_data_schema_ref":"#/$defs/HotelSearchResult","response_data_is_list":false},"GET /nfl/scoreboard":{"method":"GET","path":"/nfl/scoreboard","bucket":"atomic","canonical":true,"sport":"football","league":"nfl","description":"NFL game scores for any date — live and final scores during season, empty during offseason.","price_tier":"standard","price_usd":0.001,"freshness_seconds":60,"upstream_sources":["espn_unofficial"],"params":{"type":"object","properties":{"date":{"type":"string","format":"date","description":"Game date (YYYY-MM-DD)"}}},"response_data_model":"list[NFLGame]","response_data_schema_ref":"#/$defs/NFLGame","response_data_is_list":true},"GET /nfl/schedule":{"method":"GET","path":"/nfl/schedule","bucket":"atomic","canonical":true,"sport":"football","league":"nfl","description":"NFL weekly schedule by season year and week number (1-18) — matchups, kickoff times, venues.","price_tier":"standard","price_usd":0.001,"freshness_seconds":3600,"upstream_sources":["espn_unofficial"],"params":{"type":"object","properties":{"year":{"type":"integer","description":"Season year (e.g. 2025)"},"week":{"type":"integer","description":"Week number 1–18"}}},"response_data_model":"list[NFLGame]","response_data_schema_ref":"#/$defs/NFLGame","response_data_is_list":true},"GET /nfl/teams":{"method":"GET","path":"/nfl/teams","bucket":"atomic","canonical":true,"sport":"football","league":"nfl","description":"All 32 NFL teams with ID, name, abbreviation, and city.","price_tier":"standard","price_usd":0.001,"freshness_seconds":86400,"upstream_sources":["espn_unofficial"],"params":{"type":"object"},"response_data_model":"list[NFLTeam]","response_data_schema_ref":"#/$defs/NFLTeam","response_data_is_list":true},"GET /nfl/standings":{"method":"GET","path":"/nfl/standings","bucket":"atomic","canonical":true,"sport":"football","league":"nfl","description":"Current NFL standings — wins, losses, pct, division rank, conference rank.","price_tier":"standard","price_usd":0.001,"freshness_seconds":300,"upstream_sources":["espn_unofficial"],"params":{"type":"object"},"response_data_model":"list[NFLStandingsEntry]","response_data_schema_ref":"#/$defs/NFLStandingsEntry","response_data_is_list":true},"GET /nfl/game/{event_id}":{"method":"GET","path":"/nfl/game/{event_id}","bucket":"atomic","canonical":true,"sport":"football","league":"nfl","description":"NFL game detail with score, current quarter, clock, and box score.","price_tier":"standard","price_usd":0.001,"freshness_seconds":60,"upstream_sources":["espn_unofficial"],"params":{"type":"object","properties":{"event_id":{"type":"string","in":"path","description":"ESPN event ID from /nfl/schedule or /nfl/scoreboard"}}},"response_data_model":"NFLGame","response_data_schema_ref":"#/$defs/NFLGame","response_data_is_list":false},"GET /nfl/venue-nearby":{"method":"GET","path":"/nfl/venue-nearby","bucket":"atomic","canonical":true,"sport":"football","league":"nfl","description":"Restaurants, bars, parking, and attractions near any NFL stadium via Google Places.","price_tier":"standard","price_usd":0.001,"freshness_seconds":86400,"upstream_sources":["google_places"],"params":{"type":"object","properties":{"teamId":{"type":"string","description":"NFL team ID"},"type":{"type":"string","description":"Place category","enum":["restaurant","bar","cafe","parking","tourist_attraction","lodging"],"default":"restaurant"}}},"response_data_model":"VenueNearby","response_data_schema_ref":"#/$defs/VenueNearby","response_data_is_list":false},"GET /nfl/venue-weather":{"method":"GET","path":"/nfl/venue-weather","bucket":"atomic","canonical":true,"sport":"football","league":"nfl","description":"Real-time weather at any NFL stadium — critical for outdoor games and fantasy decisions.","price_tier":"standard","price_usd":0.001,"freshness_seconds":3600,"upstream_sources":["open_meteo"],"params":{"type":"object","properties":{"teamId":{"type":"string","description":"NFL team ID"}}},"response_data_model":"VenueWeather","response_data_schema_ref":"#/$defs/VenueWeather","response_data_is_list":false},"GET /nfl/tickets":{"method":"GET","path":"/nfl/tickets","bucket":"atomic","canonical":true,"sport":"football","league":"nfl","description":"Live primary-market ticket listings for an NFL home game via Ticketmaster.","price_tier":"standard","price_usd":0.001,"freshness_seconds":900,"upstream_sources":["ticketmaster"],"params":{"type":"object","properties":{"teamId":{"type":"string","description":"NFL team ID"},"date":{"type":"string","format":"date","description":"Game date (YYYY-MM-DD)"}}},"response_data_model":"VenueTickets","response_data_schema_ref":"#/$defs/VenueTickets","response_data_is_list":false},"GET /nfl/flights":{"method":"GET","path":"/nfl/flights","bucket":"atomic","canonical":true,"sport":"football","league":"nfl","description":"Economy flight search to the nearest airport for any NFL team's home stadium via Duffel.","price_tier":"flights","price_usd":0.25,"freshness_seconds":300,"upstream_sources":["duffel"],"params":{"type":"object","properties":{"teamId":{"type":"string","description":"NFL team ID"},"date":{"type":"string","format":"date","description":"Departure date (YYYY-MM-DD)"},"origin":{"type":"string","description":"Origin airport IATA code (e.g. JFK)"},"passengers":{"type":"integer","description":"Number of adult passengers","default":1}}},"response_data_model":"FlightSearchResult","response_data_schema_ref":"#/$defs/FlightSearchResult","response_data_is_list":false},"GET /nfl/hotels":{"method":"GET","path":"/nfl/hotels","bucket":"atomic","canonical":true,"sport":"football","league":"nfl","description":"Hotel search near any NFL team's home stadium via Duffel Stays.","price_tier":"hotels","price_usd":0.25,"freshness_seconds":300,"upstream_sources":["duffel_stays"],"params":{"type":"object","properties":{"teamId":{"type":"string","description":"NFL team ID"},"check_in":{"type":"string","format":"date","description":"Check-in date (YYYY-MM-DD)"},"check_out":{"type":"string","format":"date","description":"Check-out date (YYYY-MM-DD)"},"guests":{"type":"integer","description":"Number of guests","default":1}}},"response_data_model":"HotelSearchResult","response_data_schema_ref":"#/$defs/HotelSearchResult","response_data_is_list":false},"GET /v1/world-cup-bundle":{"method":"GET","path":"/v1/world-cup-bundle","bucket":"live_events","canonical":true,"sport":"football","league":"worldcup","description":"FIFA World Cup 2026 multi-source trip bundle. Returns match schedule + 16-city venue intel + weather + flights + hotels in one call. Enrichment activates when exactly one match is returned. Filter by match_id, team, date, or date range. WC 2026: June 11 – July 19, 2026.","price_tier":"world_cup_bundle","price_usd":0.25,"freshness_seconds":43200,"upstream_sources":["apifootball","open_meteo","duffel_flights","duffel_stays"],"params":{"type":"object","properties":{"match_id":{"type":"integer","description":"API-Football fixture ID"},"team":{"type":"string","description":"Team name substring (e.g. 'Argentina', 'Brazil', 'USA')"},"date":{"type":"string","format":"date","description":"Single game date (YYYY-MM-DD)"},"date_from":{"type":"string","format":"date","description":"Start of date range"},"date_to":{"type":"string","format":"date","description":"End of date range"},"origin":{"type":"string","description":"Origin airport IATA code for flights"},"passengers":{"type":"integer","description":"Number of adult passengers","default":1},"check_in":{"type":"string","format":"date","description":"Hotel check-in date"},"check_out":{"type":"string","format":"date","description":"Hotel check-out date"},"guests":{"type":"integer","description":"Number of hotel guests","default":1}}},"response_data_model":"WorldCupBundle","response_data_schema_ref":"#/$defs/WorldCupBundle","response_data_is_list":false},"GET /v1/fantasy/mlb/slate-context":{"method":"GET","path":"/v1/fantasy/mlb/slate-context","bucket":"fantasy_betting","canonical":true,"sport":"baseball","league":"mlb","description":"MLB DFS slate context for a date: every game with Vegas implied team totals + per-game weather impact.","price_tier":"mlb_fantasy_slate_context","price_usd":0.02,"freshness_seconds":900,"upstream_sources":["mlb_stats_api","the_odds_api","open_meteo","fanfare_derived"],"params":{"type":"object","properties":{"date":{"type":"string","format":"date"},"window":{"type":"string","description":"all|day|night"},"team_id":{"type":"integer"},"game_pk":{"type":"integer"}}},"response_data_model":"MLBFantasySlateContext","response_data_schema_ref":"#/$defs/MLBFantasySlateContext","response_data_is_list":false},"GET /v1/fantasy/mlb/projections":{"method":"GET","path":"/v1/fantasy/mlb/projections","bucket":"fantasy_betting","canonical":true,"sport":"baseball","league":"mlb","description":"Per-player MLB DFS inputs vector: Fanfare Baseline Score + projected_points/ceiling/floor, recent form, contact-quality proxy, park factors, Vegas totals, weather, pitcher splits. No DK/FD salaries (bring your own).","price_tier":"mlb_fantasy_projections","price_usd":0.1,"freshness_seconds":3600,"upstream_sources":["mlb_stats_api","the_odds_api","open_meteo","fanfare_derived"],"params":{"type":"object","properties":{"date":{"type":"string","format":"date"},"window":{"type":"string"},"contest_type":{"type":"string","description":"cash|gpp|both"},"position":{"type":"string"},"handedness_filter":{"type":"string"},"team_id":{"type":"integer"},"game_pk":{"type":"integer"}}},"response_data_model":"MLBFantasyProjections","response_data_schema_ref":"#/$defs/MLBFantasyProjections","response_data_is_list":false},"GET /v1/fantasy/mlb/lineups":{"method":"GET","path":"/v1/fantasy/mlb/lineups","bucket":"fantasy_betting","canonical":true,"sport":"baseball","league":"mlb","description":"Confirmed batting orders + probable pitchers + late scratches per MLB game for a date.","price_tier":"mlb_fantasy_lineups","price_usd":0.05,"freshness_seconds":300,"upstream_sources":["mlb_stats_api"],"params":{"type":"object","properties":{"date":{"type":"string","format":"date"},"team_id":{"type":"integer"},"game_pk":{"type":"integer"}}},"response_data_model":"MLBFantasyLineups","response_data_schema_ref":"#/$defs/MLBFantasyLineups","response_data_is_list":false},"GET /v1/fantasy/mlb/late-swap":{"method":"GET","path":"/v1/fantasy/mlb/late-swap","bucket":"fantasy_betting","canonical":true,"sport":"baseball","league":"mlb","description":"Players whose lineup status / batting order changed since `since` (default now-900s). Cheap 60s poll target.","price_tier":"mlb_fantasy_late_swap","price_usd":0.03,"freshness_seconds":60,"upstream_sources":["mlb_stats_api"],"params":{"type":"object","properties":{"date":{"type":"string","format":"date"},"since":{"type":"string","description":"ISO-8601 UTC"}}},"response_data_model":"MLBFantasyLateSwap","response_data_schema_ref":"#/$defs/MLBFantasyLateSwap","response_data_is_list":false},"GET /v1/fantasy/mlb/slate-bundle":{"method":"GET","path":"/v1/fantasy/mlb/slate-bundle","bucket":"fantasy_betting","canonical":true,"sport":"baseball","league":"mlb","description":"Everything for the slate in one call: slate-context + projections + stacks + lineups + late-swap snapshot.","price_tier":"mlb_fantasy_slate_bundle","price_usd":0.5,"freshness_seconds":60,"upstream_sources":["mlb_stats_api","the_odds_api","open_meteo","fanfare_derived"],"params":{"type":"object","properties":{"date":{"type":"string","format":"date"},"window":{"type":"string"},"contest_type":{"type":"string"},"position":{"type":"string"},"handedness_filter":{"type":"string"},"team_id":{"type":"integer"},"game_pk":{"type":"integer"}}},"response_data_model":"MLBFantasySlateBundle","response_data_schema_ref":"#/$defs/MLBFantasySlateBundle","response_data_is_list":false},"GET /mlb/scoreboard":{"method":"GET","path":"/mlb/scoreboard","bucket":"atomic","canonical":true,"sport":"baseball","league":"mlb","description":"MLB scores for any date — live and final scores during season, empty during offseason.","price_tier":"standard","price_usd":0.001,"freshness_seconds":60,"upstream_sources":["mlb_stats_api"],"params":{"type":"object","properties":{"date":{"type":"string","format":"date","description":"Game date (YYYY-MM-DD)"}}},"response_data_model":"list[Game]","response_data_schema_ref":"#/$defs/Game","response_data_is_list":true},"GET /nba/scoreboard":{"method":"GET","path":"/nba/scoreboard","bucket":"atomic","canonical":true,"sport":"basketball","league":"nba","description":"NBA scores for any date — live and final scores during season, empty during offseason.","price_tier":"standard","price_usd":0.001,"freshness_seconds":60,"upstream_sources":["espn_unofficial"],"params":{"type":"object","properties":{"date":{"type":"string","format":"date","description":"Game date (YYYY-MM-DD)"}}},"response_data_model":"list[NBAGame]","response_data_schema_ref":"#/$defs/NBAGame","response_data_is_list":true},"GET /wnba/scoreboard":{"method":"GET","path":"/wnba/scoreboard","bucket":"atomic","canonical":true,"sport":"basketball","league":"wnba","description":"WNBA scores for any date — live and final scores during season, empty during offseason.","price_tier":"standard","price_usd":0.001,"freshness_seconds":60,"upstream_sources":["espn_unofficial"],"params":{"type":"object","properties":{"date":{"type":"string","format":"date","description":"Game date (YYYY-MM-DD)"}}},"response_data_model":"list[WNBAGame]","response_data_schema_ref":"#/$defs/WNBAGame","response_data_is_list":true},"GET /nhl/scoreboard":{"method":"GET","path":"/nhl/scoreboard","bucket":"atomic","canonical":true,"sport":"hockey","league":"nhl","description":"NHL scores for any date — live and final scores during season, empty during offseason.","price_tier":"standard","price_usd":0.001,"freshness_seconds":60,"upstream_sources":["nhle_api"],"params":{"type":"object","properties":{"date":{"type":"string","format":"date","description":"Game date (YYYY-MM-DD)"}}},"response_data_model":"list[NHLGame]","response_data_schema_ref":"#/$defs/NHLGame","response_data_is_list":true},"GET /v1/fantasy-betting/bet-context":{"method":"GET","path":"/v1/fantasy-betting/bet-context","bucket":"fantasy_betting","canonical":true,"sport":"baseball","league":"mlb","description":"Single-game MLB betting context: consensus Vegas spread + total + implied team totals, days of rest for each team, umpire crew, probable pitchers, and forecast weather at first pitch — one paid call.","price_tier":"bet_context","price_usd":0.05,"freshness_seconds":900,"upstream_sources":["the_odds_api","mlb_stats_api","mlb_stats_api_live","open_meteo"],"params":{"type":"object","properties":{"game_pk":{"type":"integer","description":"MLB game PK from /mlb/schedule"},"league":{"type":"string","enum":["mlb"],"default":"mlb"}}},"response_data_model":"BetContext","response_data_schema_ref":"#/$defs/BetContext","response_data_is_list":false},"GET /v1/content/highlights/moments":{"method":"GET","path":"/v1/content/highlights/moments","bucket":"digital_social","canonical":true,"sport":"baseball","league":"mlb","description":"Key-moment timestamps from MLB play-by-play: home runs, scoring plays, long HRs, and high-leverage moments.","price_tier":"content_moments","price_usd":0.03,"freshness_seconds":30,"upstream_sources":["mlb_stats_api_live"],"params":{"type":"object","properties":{"game_id":{"type":"integer","description":"MLB game PK"},"league":{"type":"string","enum":["mlb"]},"moment_types":{"type":"array","items":{"type":"string"}}}},"response_data_model":"MomentsResult","response_data_schema_ref":"#/$defs/MomentsResult","response_data_is_list":false},"GET /v1/content/visuals/charts":{"method":"GET","path":"/v1/content/visuals/charts","bucket":"digital_social","canonical":true,"sport":"baseball","league":"mlb","description":"Player trend chart from a hitter's game log as JSON and/or SVG (pygal). chart_type=player_trend in v1.","price_tier":"content_charts","price_usd":0.03,"freshness_seconds":600,"upstream_sources":["mlb_stats_api"],"params":{"type":"object","properties":{"entity_id":{"type":"integer","description":"MLB player ID"},"metric":{"type":"string","enum":["total_bases","hits","home_runs","rbi"]},"window":{"type":"string","enum":["l15","l30","season"]},"format":{"type":"string","enum":["json","svg","both"]}}},"response_data_model":"ChartResult","response_data_schema_ref":"#/$defs/ChartResult","response_data_is_list":false},"GET /v1/content/games-of-interest":{"method":"GET","path":"/v1/content/games-of-interest","bucket":"digital_social","canonical":true,"sport":"baseball","league":"mlb","description":"Watchability-scored MLB games for a date (0-10) from Vegas total, both-above-.500, and division rivalry, with reasons.","price_tier":"content_games_of_interest","price_usd":0.02,"freshness_seconds":1800,"upstream_sources":["mlb_stats_api","the_odds_api"],"params":{"type":"object","properties":{"date":{"type":"string","format":"date"},"league":{"type":"string","enum":["mlb"]}}},"response_data_model":"GamesOfInterestResult","response_data_schema_ref":"#/$defs/GamesOfInterestResult","response_data_is_list":false},"GET /v1/analytics/context/anomalies":{"method":"GET","path":"/v1/analytics/context/anomalies","bucket":"digital_social","canonical":true,"sport":"baseball","league":"mlb","description":"A hitter's recent-window per-game stats exceeding 2σ from their season baseline (z-scored).","price_tier":"content_anomalies","price_usd":0.04,"freshness_seconds":3600,"upstream_sources":["mlb_stats_api"],"params":{"type":"object","properties":{"player_id":{"type":"integer"},"window":{"type":"string","enum":["l5","l15","l30"]}}},"response_data_model":"AnomaliesResult","response_data_schema_ref":"#/$defs/AnomaliesResult","response_data_is_list":false},"GET /v1/analytics/context/milestones":{"method":"GET","path":"/v1/analytics/context/milestones","bucket":"digital_social","canonical":true,"sport":"baseball","league":"mlb","description":"Season round-number milestone proximity for a hitter (next threshold + how many needed) across HR, hits, RBI, SB, runs, doubles.","price_tier":"content_milestones","price_usd":0.04,"freshness_seconds":3600,"upstream_sources":["mlb_stats_api"],"params":{"type":"object","properties":{"player_id":{"type":"integer","description":"MLB player ID"}}},"response_data_model":"MilestonesResult","response_data_schema_ref":"#/$defs/MilestonesResult","response_data_is_list":false},"GET /v1/analytics/context/career-h2h":{"method":"GET","path":"/v1/analytics/context/career-h2h","bucket":"digital_social","canonical":true,"sport":"baseball","league":"mlb","description":"Career batter-vs-pitcher splits (AB, H, HR, RBI, K, BB, AVG, OPS).","price_tier":"content_career_h2h","price_usd":0.02,"freshness_seconds":86400,"upstream_sources":["mlb_stats_api"],"params":{"type":"object","properties":{"batter_id":{"type":"integer"},"pitcher_id":{"type":"integer"}}},"response_data_model":"CareerH2H","response_data_schema_ref":"#/$defs/CareerH2H","response_data_is_list":false},"GET /v1/content/narrative/recap":{"method":"GET","path":"/v1/content/narrative/recap","bucket":"digital_social","canonical":true,"sport":"baseball","league":"mlb","description":"Post-game MLB recap written by Claude Haiku 4.5 (JSON headline+body) with tone/length controls and quote/length/ethnicity guardrails.","price_tier":"content_narrative","price_usd":0.05,"freshness_seconds":86400,"upstream_sources":["mlb_stats_api_live","anthropic"],"params":{"type":"object","properties":{"game_pk":{"type":"integer"},"length":{"type":"string","enum":["140char","1para","3para"]},"tone":{"type":"string","enum":["neutral","dramatic","analytical","comedic"]}}},"response_data_model":"NarrativeResult","response_data_schema_ref":"#/$defs/NarrativeResult","response_data_is_list":false},"GET /v1/content/narrative/preview":{"method":"GET","path":"/v1/content/narrative/preview","bucket":"digital_social","canonical":true,"sport":"baseball","league":"mlb","description":"Pre-game MLB preview written by Claude Haiku 4.5 (JSON headline+body), same tone/length controls and guardrails as recap.","price_tier":"content_narrative","price_usd":0.05,"freshness_seconds":900,"upstream_sources":["mlb_stats_api_live","anthropic"],"params":{"type":"object","properties":{"game_pk":{"type":"integer"},"length":{"type":"string","enum":["140char","1para","3para"]},"tone":{"type":"string","enum":["neutral","dramatic","analytical","comedic"]}}},"response_data_model":"NarrativeResult","response_data_schema_ref":"#/$defs/NarrativeResult","response_data_is_list":false},"GET /v1/content/narrative/summaries":{"method":"GET","path":"/v1/content/narrative/summaries","bucket":"digital_social","canonical":true,"sport":"baseball","league":"mlb","description":"Scoped MLB summary (game | player | team) written by Claude Haiku 4.5 (JSON headline+body).","price_tier":"content_narrative","price_usd":0.05,"freshness_seconds":3600,"upstream_sources":["mlb_stats_api","anthropic"],"params":{"type":"object","properties":{"scope":{"type":"string","enum":["game","player","team"]},"subject_id":{"type":"integer"},"tone":{"type":"string","enum":["neutral","dramatic","analytical","comedic"]}}},"response_data_model":"NarrativeResult","response_data_schema_ref":"#/$defs/NarrativeResult","response_data_is_list":false},"GET /v1/content/headlines/candidates":{"method":"GET","path":"/v1/content/headlines/candidates","bucket":"digital_social","canonical":true,"sport":"baseball","league":"mlb","description":"Up to five MLB headline options across tones from Claude Haiku 4.5, each within max_chars.","price_tier":"content_headlines","price_usd":0.04,"freshness_seconds":86400,"upstream_sources":["mlb_stats_api_live","anthropic"],"params":{"type":"object","properties":{"game_id":{"type":"integer"},"count":{"type":"integer"},"max_chars":{"type":"integer"}}},"response_data_model":"HeadlinesResult","response_data_schema_ref":"#/$defs/HeadlinesResult","response_data_is_list":false},"GET /v1/content/notable-stats/cards":{"method":"GET","path":"/v1/content/notable-stats/cards","bucket":"digital_social","canonical":true,"sport":"baseball","league":"mlb","description":"Shareable MLB stat cards: deterministic season-milestone hooks with LLM-polished share_text (Claude Haiku 4.5).","price_tier":"content_notable_stats","price_usd":0.03,"freshness_seconds":7200,"upstream_sources":["mlb_stats_api","anthropic"],"params":{"type":"object","properties":{"player_id":{"type":"integer"},"max_cards":{"type":"integer"}}},"response_data_model":"NotableStatsResult","response_data_schema_ref":"#/$defs/NotableStatsResult","response_data_is_list":false},"GET /v1/content/season-narratives":{"method":"GET","path":"/v1/content/season-narratives","bucket":"digital_social","canonical":true,"sport":"baseball","league":"mlb","description":"Rolling MLB storylines (hot streaks, slumps, playoff-hunt) precomputed nightly and served from cache — reads only, no upstream on the hot path.","price_tier":"content_season_narratives","price_usd":0.05,"freshness_seconds":129600,"upstream_sources":["fanfare_derived","mlb_stats_api","anthropic"],"params":{"type":"object","properties":{"scope":{"type":"string","enum":["team","player","league"]},"subject_id":{"type":"string"},"league":{"type":"string","enum":["mlb"]}}},"response_data_model":"SeasonNarrativesResult","response_data_schema_ref":"#/$defs/SeasonNarrativesResult","response_data_is_list":false},"GET /v1/atomic/mlb/schedule":{"method":"GET","path":"/v1/atomic/mlb/schedule","bucket":"atomic","canonical":false,"sport":"baseball","league":"mlb","description":"MLB game schedule for any date or team — matchups, scores, venues, and status.","price_tier":"standard","price_usd":0.001,"freshness_seconds":60,"upstream_sources":["mlb_stats_api"],"params":{"type":"object","properties":{"date":{"type":"string","format":"date","description":"Game date (YYYY-MM-DD)"},"teamId":{"type":"integer","description":"MLB team ID"}}},"response_data_model":"list[Game]","response_data_schema_ref":"#/$defs/Game","response_data_is_list":true,"alias_of":"/mlb/schedule"},"GET /v1/atomic/mlb/teams":{"method":"GET","path":"/v1/atomic/mlb/teams","bucket":"atomic","canonical":false,"sport":"baseball","league":"mlb","description":"All 30 MLB teams with ID, city, abbreviation, and division.","price_tier":"standard","price_usd":0.001,"freshness_seconds":86400,"upstream_sources":["mlb_stats_api"],"params":{"type":"object"},"response_data_model":"list[Team]","response_data_schema_ref":"#/$defs/Team","response_data_is_list":true,"alias_of":"/mlb/teams"},"GET /v1/atomic/mlb/standings":{"method":"GET","path":"/v1/atomic/mlb/standings","bucket":"atomic","canonical":false,"sport":"baseball","league":"mlb","description":"Current MLB standings — wins, losses, pct, games back, splits, streak. leagueId 103 = AL, 104 = NL.","price_tier":"standard","price_usd":0.001,"freshness_seconds":300,"upstream_sources":["mlb_stats_api"],"params":{"type":"object","properties":{"leagueId":{"type":"integer","description":"103 for AL, 104 for NL"}}},"response_data_model":"list[StandingsEntry]","response_data_schema_ref":"#/$defs/StandingsEntry","response_data_is_list":true,"alias_of":"/mlb/standings"},"GET /v1/atomic/mlb/players":{"method":"GET","path":"/v1/atomic/mlb/players","bucket":"atomic","canonical":false,"sport":"baseball","league":"mlb","description":"All active MLB players for the current season — name, position, jersey number, team.","price_tier":"standard","price_usd":0.001,"freshness_seconds":3600,"upstream_sources":["mlb_stats_api"],"params":{"type":"object"},"response_data_model":"list[Player]","response_data_schema_ref":"#/$defs/Player","response_data_is_list":true,"alias_of":"/mlb/players"},"GET /v1/atomic/mlb/player/{player_id}":{"method":"GET","path":"/v1/atomic/mlb/player/{player_id}","bucket":"atomic","canonical":false,"sport":"baseball","league":"mlb","description":"Full season hitting, pitching, and fielding stats for an MLB player. Example: 660271 = Shohei Ohtani.","price_tier":"standard","price_usd":0.001,"freshness_seconds":3600,"upstream_sources":["mlb_stats_api"],"params":{"type":"object","properties":{"player_id":{"type":"string","in":"path","description":"MLB player ID"}}},"response_data_model":"Player","response_data_schema_ref":"#/$defs/Player","response_data_is_list":false,"alias_of":"/mlb/player/{player_id}"},"GET /v1/atomic/mlb/game/{game_pk}":{"method":"GET","path":"/v1/atomic/mlb/game/{game_pk}","bucket":"atomic","canonical":false,"sport":"baseball","league":"mlb","description":"Live play-by-play feed for an MLB game — lineups, inning scores, pitching changes, real-time status.","price_tier":"live","price_usd":0.005,"freshness_seconds":15,"upstream_sources":["mlb_stats_api_live"],"params":{"type":"object","properties":{"game_pk":{"type":"string","in":"path","description":"MLB game PK from /mlb/schedule"}}},"response_data_model":"Game","response_data_schema_ref":"#/$defs/Game","response_data_is_list":false,"alias_of":"/mlb/game/{game_pk}"},"GET /v1/atomic/mlb/venues":{"method":"GET","path":"/v1/atomic/mlb/venues","bucket":"atomic","canonical":false,"sport":"baseball","league":"mlb","description":"All 30 MLB ballparks — city, state, capacity, and playing surface. Filter by venueId.","price_tier":"standard","price_usd":0.001,"freshness_seconds":86400,"upstream_sources":["mlb_stats_api"],"params":{"type":"object","properties":{"venueId":{"type":"integer","description":"MLB venue ID (optional)"}}},"response_data_model":"list[Venue]","response_data_schema_ref":"#/$defs/Venue","response_data_is_list":true,"alias_of":"/mlb/venues"},"GET /v1/atomic/mlb/venue-nearby":{"method":"GET","path":"/v1/atomic/mlb/venue-nearby","bucket":"atomic","canonical":false,"sport":"baseball","league":"mlb","description":"Restaurants, bars, parking, and attractions near any MLB ballpark via Google Places.","price_tier":"standard","price_usd":0.001,"freshness_seconds":86400,"upstream_sources":["google_places"],"params":{"type":"object","properties":{"venueId":{"type":"integer","description":"MLB venue ID"},"type":{"type":"string","description":"Place category","default":"restaurant","enum":["restaurant","bar","cafe","parking","tourist_attraction","lodging"]}}},"response_data_model":"VenueNearby","response_data_schema_ref":"#/$defs/VenueNearby","response_data_is_list":false,"alias_of":"/mlb/venue-nearby"},"GET /v1/atomic/mlb/venue-weather":{"method":"GET","path":"/v1/atomic/mlb/venue-weather","bucket":"atomic","canonical":false,"sport":"baseball","league":"mlb","description":"Real-time weather at any MLB ballpark — temperature, feels-like, wind, precipitation.","price_tier":"standard","price_usd":0.001,"freshness_seconds":3600,"upstream_sources":["open_meteo"],"params":{"type":"object","properties":{"venueId":{"type":"integer","description":"MLB venue ID"}}},"response_data_model":"VenueWeather","response_data_schema_ref":"#/$defs/VenueWeather","response_data_is_list":false,"alias_of":"/mlb/venue-weather"},"GET /v1/atomic/mlb/tickets":{"method":"GET","path":"/v1/atomic/mlb/tickets","bucket":"atomic","canonical":false,"sport":"baseball","league":"mlb","description":"Live primary-market ticket listings for an MLB home game via Ticketmaster — price range, purchase URL, on-sale status.","price_tier":"standard","price_usd":0.001,"freshness_seconds":900,"upstream_sources":["ticketmaster"],"params":{"type":"object","properties":{"teamId":{"type":"string","description":"MLB Stats API team ID"},"date":{"type":"string","format":"date","description":"Game date (YYYY-MM-DD)"}}},"response_data_model":"VenueTickets","response_data_schema_ref":"#/$defs/VenueTickets","response_data_is_list":false,"alias_of":"/mlb/tickets"},"GET /v1/atomic/mlb/flights":{"method":"GET","path":"/v1/atomic/mlb/flights","bucket":"atomic","canonical":false,"sport":"baseball","league":"mlb","description":"Economy flight search to the nearest airport for any MLB team's home stadium via Duffel.","price_tier":"flights","price_usd":0.25,"freshness_seconds":300,"upstream_sources":["duffel"],"params":{"type":"object","properties":{"teamId":{"type":"string","description":"MLB Stats API team ID"},"date":{"type":"string","format":"date","description":"Departure date (YYYY-MM-DD)"},"origin":{"type":"string","description":"Origin airport IATA code (e.g. JFK)"},"passengers":{"type":"integer","description":"Number of adult passengers","default":1}}},"response_data_model":"FlightSearchResult","response_data_schema_ref":"#/$defs/FlightSearchResult","response_data_is_list":false,"alias_of":"/mlb/flights"},"GET /v1/atomic/mlb/hotels":{"method":"GET","path":"/v1/atomic/mlb/hotels","bucket":"atomic","canonical":false,"sport":"baseball","league":"mlb","description":"Hotel search near any MLB team's home stadium via Duffel Stays.","price_tier":"hotels","price_usd":0.25,"freshness_seconds":300,"upstream_sources":["duffel_stays"],"params":{"type":"object","properties":{"teamId":{"type":"string","description":"MLB Stats API team ID"},"check_in":{"type":"string","format":"date","description":"Check-in date (YYYY-MM-DD)"},"check_out":{"type":"string","format":"date","description":"Check-out date (YYYY-MM-DD)"},"guests":{"type":"integer","description":"Number of guests","default":1}}},"response_data_model":"HotelSearchResult","response_data_schema_ref":"#/$defs/HotelSearchResult","response_data_is_list":false,"alias_of":"/mlb/hotels"},"GET /v1/atomic/nba/schedule":{"method":"GET","path":"/v1/atomic/nba/schedule","bucket":"atomic","canonical":false,"sport":"basketball","league":"nba","description":"NBA game schedule for any date — matchups, scores by quarter, teams, and game status.","price_tier":"standard","price_usd":0.001,"freshness_seconds":60,"upstream_sources":["espn_unofficial"],"params":{"type":"object","properties":{"date":{"type":"string","format":"date","description":"Game date (YYYY-MM-DD)"}}},"response_data_model":"list[NBAGame]","response_data_schema_ref":"#/$defs/NBAGame","response_data_is_list":true,"alias_of":"/nba/schedule"},"GET /v1/atomic/nba/teams":{"method":"GET","path":"/v1/atomic/nba/teams","bucket":"atomic","canonical":false,"sport":"basketball","league":"nba","description":"All 30 NBA teams with ID, city, abbreviation, conference, and division.","price_tier":"standard","price_usd":0.001,"freshness_seconds":86400,"upstream_sources":["espn_unofficial"],"params":{"type":"object"},"response_data_model":"list[NBATeam]","response_data_schema_ref":"#/$defs/NBATeam","response_data_is_list":true,"alias_of":"/nba/teams"},"GET /v1/atomic/nba/standings":{"method":"GET","path":"/v1/atomic/nba/standings","bucket":"atomic","canonical":false,"sport":"basketball","league":"nba","description":"Current NBA standings by conference — wins, losses, pct, conference rank.","price_tier":"standard","price_usd":0.001,"freshness_seconds":300,"upstream_sources":["espn_unofficial"],"params":{"type":"object"},"response_data_model":"list[NBAStandingsEntry]","response_data_schema_ref":"#/$defs/NBAStandingsEntry","response_data_is_list":true,"alias_of":"/nba/standings"},"GET /v1/atomic/nba/players":{"method":"GET","path":"/v1/atomic/nba/players","bucket":"atomic","canonical":false,"sport":"basketball","league":"nba","description":"All active NBA players for the current season — name, position, jersey number, team.","price_tier":"standard","price_usd":0.001,"freshness_seconds":3600,"upstream_sources":["espn_unofficial"],"params":{"type":"object"},"response_data_model":"list[NBAPlayer]","response_data_schema_ref":"#/$defs/NBAPlayer","response_data_is_list":true,"alias_of":"/nba/players"},"GET /v1/atomic/nba/player/{player_id}":{"method":"GET","path":"/v1/atomic/nba/player/{player_id}","bucket":"atomic","canonical":false,"sport":"basketball","league":"nba","description":"Season stats for an NBA player — points, rebounds, assists. Look up by ESPN player ID.","price_tier":"standard","price_usd":0.001,"freshness_seconds":3600,"upstream_sources":["espn_unofficial"],"params":{"type":"object","properties":{"player_id":{"type":"string","in":"path","description":"ESPN player ID"}}},"response_data_model":"NBAPlayer","response_data_schema_ref":"#/$defs/NBAPlayer","response_data_is_list":false,"alias_of":"/nba/player/{player_id}"},"GET /v1/atomic/nba/game/{game_id}":{"method":"GET","path":"/v1/atomic/nba/game/{game_id}","bucket":"atomic","canonical":false,"sport":"basketball","league":"nba","description":"Live NBA game detail — current score, period, clock, and game status.","price_tier":"live","price_usd":0.005,"freshness_seconds":15,"upstream_sources":["espn_unofficial"],"params":{"type":"object","properties":{"game_id":{"type":"string","in":"path","description":"ESPN game ID from /nba/schedule"}}},"response_data_model":"NBAGame","response_data_schema_ref":"#/$defs/NBAGame","response_data_is_list":false,"alias_of":"/nba/game/{game_id}"},"GET /v1/atomic/nba/venue-nearby":{"method":"GET","path":"/v1/atomic/nba/venue-nearby","bucket":"atomic","canonical":false,"sport":"basketball","league":"nba","description":"Restaurants, bars, parking, and attractions near any NBA arena via Google Places.","price_tier":"standard","price_usd":0.001,"freshness_seconds":86400,"upstream_sources":["google_places"],"params":{"type":"object","properties":{"teamId":{"type":"string","description":"NBA team ID"},"type":{"type":"string","description":"Place category","enum":["restaurant","bar","cafe","parking","tourist_attraction","lodging"],"default":"restaurant"}}},"response_data_model":"VenueNearby","response_data_schema_ref":"#/$defs/VenueNearby","response_data_is_list":false,"alias_of":"/nba/venue-nearby"},"GET /v1/atomic/nba/venue-weather":{"method":"GET","path":"/v1/atomic/nba/venue-weather","bucket":"atomic","canonical":false,"sport":"basketball","league":"nba","description":"Real-time weather near any NBA arena — temperature, wind, and conditions.","price_tier":"standard","price_usd":0.001,"freshness_seconds":3600,"upstream_sources":["open_meteo"],"params":{"type":"object","properties":{"teamId":{"type":"string","description":"NBA team ID"}}},"response_data_model":"VenueWeather","response_data_schema_ref":"#/$defs/VenueWeather","response_data_is_list":false,"alias_of":"/nba/venue-weather"},"GET /v1/atomic/nba/tickets":{"method":"GET","path":"/v1/atomic/nba/tickets","bucket":"atomic","canonical":false,"sport":"basketball","league":"nba","description":"Live primary-market ticket listings for an NBA home game via Ticketmaster.","price_tier":"standard","price_usd":0.001,"freshness_seconds":900,"upstream_sources":["ticketmaster"],"params":{"type":"object","properties":{"teamId":{"type":"string","description":"NBA team ID"},"date":{"type":"string","format":"date","description":"Game date (YYYY-MM-DD)"}}},"response_data_model":"VenueTickets","response_data_schema_ref":"#/$defs/VenueTickets","response_data_is_list":false,"alias_of":"/nba/tickets"},"GET /v1/atomic/nba/flights":{"method":"GET","path":"/v1/atomic/nba/flights","bucket":"atomic","canonical":false,"sport":"basketball","league":"nba","description":"Economy flight search to the nearest airport for any NBA team's home arena via Duffel.","price_tier":"flights","price_usd":0.25,"freshness_seconds":300,"upstream_sources":["duffel"],"params":{"type":"object","properties":{"teamId":{"type":"string","description":"NBA team ID"},"date":{"type":"string","format":"date","description":"Departure date (YYYY-MM-DD)"},"origin":{"type":"string","description":"Origin airport IATA code (e.g. JFK)"},"passengers":{"type":"integer","description":"Number of adult passengers","default":1}}},"response_data_model":"FlightSearchResult","response_data_schema_ref":"#/$defs/FlightSearchResult","response_data_is_list":false,"alias_of":"/nba/flights"},"GET /v1/atomic/nba/hotels":{"method":"GET","path":"/v1/atomic/nba/hotels","bucket":"atomic","canonical":false,"sport":"basketball","league":"nba","description":"Hotel search near any NBA team's home arena via Duffel Stays.","price_tier":"hotels","price_usd":0.25,"freshness_seconds":300,"upstream_sources":["duffel_stays"],"params":{"type":"object","properties":{"teamId":{"type":"string","description":"NBA team ID"},"check_in":{"type":"string","format":"date","description":"Check-in date (YYYY-MM-DD)"},"check_out":{"type":"string","format":"date","description":"Check-out date (YYYY-MM-DD)"},"guests":{"type":"integer","description":"Number of guests","default":1}}},"response_data_model":"HotelSearchResult","response_data_schema_ref":"#/$defs/HotelSearchResult","response_data_is_list":false,"alias_of":"/nba/hotels"},"GET /v1/atomic/wnba/schedule":{"method":"GET","path":"/v1/atomic/wnba/schedule","bucket":"atomic","canonical":false,"sport":"basketball","league":"wnba","description":"WNBA game schedule for any date — matchups, scores, and game status.","price_tier":"standard","price_usd":0.001,"freshness_seconds":60,"upstream_sources":["espn_unofficial"],"params":{"type":"object","properties":{"date":{"type":"string","format":"date","description":"Game date (YYYY-MM-DD)"}}},"response_data_model":"list[WNBAGame]","response_data_schema_ref":"#/$defs/WNBAGame","response_data_is_list":true,"alias_of":"/wnba/schedule"},"GET /v1/atomic/wnba/teams":{"method":"GET","path":"/v1/atomic/wnba/teams","bucket":"atomic","canonical":false,"sport":"basketball","league":"wnba","description":"All WNBA teams with ID, city, abbreviation, and conference.","price_tier":"standard","price_usd":0.001,"freshness_seconds":86400,"upstream_sources":["espn_unofficial"],"params":{"type":"object"},"response_data_model":"list[WNBATeam]","response_data_schema_ref":"#/$defs/WNBATeam","response_data_is_list":true,"alias_of":"/wnba/teams"},"GET /v1/atomic/wnba/standings":{"method":"GET","path":"/v1/atomic/wnba/standings","bucket":"atomic","canonical":false,"sport":"basketball","league":"wnba","description":"Current WNBA standings with wins, losses, pct, and conference rank.","price_tier":"standard","price_usd":0.001,"freshness_seconds":300,"upstream_sources":["espn_unofficial"],"params":{"type":"object"},"response_data_model":"list[WNBAStandingsEntry]","response_data_schema_ref":"#/$defs/WNBAStandingsEntry","response_data_is_list":true,"alias_of":"/wnba/standings"},"GET /v1/atomic/wnba/players":{"method":"GET","path":"/v1/atomic/wnba/players","bucket":"atomic","canonical":false,"sport":"basketball","league":"wnba","description":"All active WNBA players for the current season — name, position, jersey number, team.","price_tier":"standard","price_usd":0.001,"freshness_seconds":3600,"upstream_sources":["espn_unofficial"],"params":{"type":"object"},"response_data_model":"list[WNBAPlayer]","response_data_schema_ref":"#/$defs/WNBAPlayer","response_data_is_list":true,"alias_of":"/wnba/players"},"GET /v1/atomic/wnba/player/{player_id}":{"method":"GET","path":"/v1/atomic/wnba/player/{player_id}","bucket":"atomic","canonical":false,"sport":"basketball","league":"wnba","description":"Season stats for a WNBA player — points, rebounds, assists. Look up by ESPN player ID.","price_tier":"standard","price_usd":0.001,"freshness_seconds":3600,"upstream_sources":["espn_unofficial"],"params":{"type":"object","properties":{"player_id":{"type":"string","in":"path","description":"ESPN player ID"}}},"response_data_model":"WNBAPlayer","response_data_schema_ref":"#/$defs/WNBAPlayer","response_data_is_list":false,"alias_of":"/wnba/player/{player_id}"},"GET /v1/atomic/wnba/venue-nearby":{"method":"GET","path":"/v1/atomic/wnba/venue-nearby","bucket":"atomic","canonical":false,"sport":"basketball","league":"wnba","description":"Restaurants, bars, parking, and attractions near any WNBA arena via Google Places.","price_tier":"standard","price_usd":0.001,"freshness_seconds":86400,"upstream_sources":["google_places"],"params":{"type":"object","properties":{"teamId":{"type":"string","description":"WNBA team ID"},"type":{"type":"string","description":"Place category","enum":["restaurant","bar","cafe","parking","tourist_attraction","lodging"],"default":"restaurant"}}},"response_data_model":"VenueNearby","response_data_schema_ref":"#/$defs/VenueNearby","response_data_is_list":false,"alias_of":"/wnba/venue-nearby"},"GET /v1/atomic/wnba/venue-weather":{"method":"GET","path":"/v1/atomic/wnba/venue-weather","bucket":"atomic","canonical":false,"sport":"basketball","league":"wnba","description":"Real-time weather near any WNBA arena — temperature, wind, and conditions.","price_tier":"standard","price_usd":0.001,"freshness_seconds":3600,"upstream_sources":["open_meteo"],"params":{"type":"object","properties":{"teamId":{"type":"string","description":"WNBA team ID"}}},"response_data_model":"VenueWeather","response_data_schema_ref":"#/$defs/VenueWeather","response_data_is_list":false,"alias_of":"/wnba/venue-weather"},"GET /v1/atomic/wnba/tickets":{"method":"GET","path":"/v1/atomic/wnba/tickets","bucket":"atomic","canonical":false,"sport":"basketball","league":"wnba","description":"Live primary-market ticket listings for a WNBA home game via Ticketmaster.","price_tier":"standard","price_usd":0.001,"freshness_seconds":900,"upstream_sources":["ticketmaster"],"params":{"type":"object","properties":{"teamId":{"type":"string","description":"WNBA team ID"},"date":{"type":"string","format":"date","description":"Game date (YYYY-MM-DD)"}}},"response_data_model":"VenueTickets","response_data_schema_ref":"#/$defs/VenueTickets","response_data_is_list":false,"alias_of":"/wnba/tickets"},"GET /v1/atomic/wnba/flights":{"method":"GET","path":"/v1/atomic/wnba/flights","bucket":"atomic","canonical":false,"sport":"basketball","league":"wnba","description":"Economy flight search to the nearest airport for any WNBA team's home arena via Duffel.","price_tier":"flights","price_usd":0.25,"freshness_seconds":300,"upstream_sources":["duffel"],"params":{"type":"object","properties":{"teamId":{"type":"string","description":"WNBA team ID"},"date":{"type":"string","format":"date","description":"Departure date (YYYY-MM-DD)"},"origin":{"type":"string","description":"Origin airport IATA code (e.g. JFK)"},"passengers":{"type":"integer","description":"Number of adult passengers","default":1}}},"response_data_model":"FlightSearchResult","response_data_schema_ref":"#/$defs/FlightSearchResult","response_data_is_list":false,"alias_of":"/wnba/flights"},"GET /v1/atomic/wnba/hotels":{"method":"GET","path":"/v1/atomic/wnba/hotels","bucket":"atomic","canonical":false,"sport":"basketball","league":"wnba","description":"Hotel search near any WNBA team's home arena via Duffel Stays.","price_tier":"hotels","price_usd":0.25,"freshness_seconds":300,"upstream_sources":["duffel_stays"],"params":{"type":"object","properties":{"teamId":{"type":"string","description":"WNBA team ID"},"check_in":{"type":"string","format":"date","description":"Check-in date (YYYY-MM-DD)"},"check_out":{"type":"string","format":"date","description":"Check-out date (YYYY-MM-DD)"},"guests":{"type":"integer","description":"Number of guests","default":1}}},"response_data_model":"HotelSearchResult","response_data_schema_ref":"#/$defs/HotelSearchResult","response_data_is_list":false,"alias_of":"/wnba/hotels"},"GET /v1/atomic/nhl/schedule":{"method":"GET","path":"/v1/atomic/nhl/schedule","bucket":"atomic","canonical":false,"sport":"hockey","league":"nhl","description":"NHL game schedule for any date — matchups, scores by period, game status. Defaults to today.","price_tier":"standard","price_usd":0.001,"freshness_seconds":60,"upstream_sources":["nhle_api"],"params":{"type":"object","properties":{"date":{"type":"string","format":"date","description":"Game date (YYYY-MM-DD)"}}},"response_data_model":"list[NHLGame]","response_data_schema_ref":"#/$defs/NHLGame","response_data_is_list":true,"alias_of":"/nhl/schedule"},"GET /v1/atomic/nhl/teams":{"method":"GET","path":"/v1/atomic/nhl/teams","bucket":"atomic","canonical":false,"sport":"hockey","league":"nhl","description":"All 32 NHL teams with ID, abbreviation, and city.","price_tier":"standard","price_usd":0.001,"freshness_seconds":86400,"upstream_sources":["nhle_api"],"params":{"type":"object"},"response_data_model":"list[NHLTeam]","response_data_schema_ref":"#/$defs/NHLTeam","response_data_is_list":true,"alias_of":"/nhl/teams"},"GET /v1/atomic/nhl/standings":{"method":"GET","path":"/v1/atomic/nhl/standings","bucket":"atomic","canonical":false,"sport":"hockey","league":"nhl","description":"Current NHL standings — wins, losses, OT losses, points, division rank across all 32 teams.","price_tier":"standard","price_usd":0.001,"freshness_seconds":300,"upstream_sources":["nhle_api"],"params":{"type":"object"},"response_data_model":"list[NHLStandingsEntry]","response_data_schema_ref":"#/$defs/NHLStandingsEntry","response_data_is_list":true,"alias_of":"/nhl/standings"},"GET /v1/atomic/nhl/player/{player_id}":{"method":"GET","path":"/v1/atomic/nhl/player/{player_id}","bucket":"atomic","canonical":false,"sport":"hockey","league":"nhl","description":"NHL player profile and season stats — goals, assists, plus/minus. Example: 8478402 = Connor McDavid.","price_tier":"standard","price_usd":0.001,"freshness_seconds":3600,"upstream_sources":["nhle_api"],"params":{"type":"object","properties":{"player_id":{"type":"string","in":"path","description":"NHL player ID"}}},"response_data_model":"NHLPlayer","response_data_schema_ref":"#/$defs/NHLPlayer","response_data_is_list":false,"alias_of":"/nhl/player/{player_id}"},"GET /v1/atomic/nhl/game/{game_id}":{"method":"GET","path":"/v1/atomic/nhl/game/{game_id}","bucket":"atomic","canonical":false,"sport":"hockey","league":"nhl","description":"Live NHL game feed — period, clock, play-by-play, and real-time scoring.","price_tier":"live","price_usd":0.005,"freshness_seconds":15,"upstream_sources":["nhle_api"],"params":{"type":"object","properties":{"game_id":{"type":"string","in":"path","description":"NHL game ID from /nhl/schedule"}}},"response_data_model":"NHLGame","response_data_schema_ref":"#/$defs/NHLGame","response_data_is_list":false,"alias_of":"/nhl/game/{game_id}"},"GET /v1/atomic/nhl/venue-nearby":{"method":"GET","path":"/v1/atomic/nhl/venue-nearby","bucket":"atomic","canonical":false,"sport":"hockey","league":"nhl","description":"Restaurants, bars, parking, and attractions near any NHL arena via Google Places.","price_tier":"standard","price_usd":0.001,"freshness_seconds":86400,"upstream_sources":["google_places"],"params":{"type":"object","properties":{"teamId":{"type":"string","description":"NHL team ID"},"type":{"type":"string","description":"Place category","enum":["restaurant","bar","cafe","parking","tourist_attraction","lodging"],"default":"restaurant"}}},"response_data_model":"VenueNearby","response_data_schema_ref":"#/$defs/VenueNearby","response_data_is_list":false,"alias_of":"/nhl/venue-nearby"},"GET /v1/atomic/nhl/venue-weather":{"method":"GET","path":"/v1/atomic/nhl/venue-weather","bucket":"atomic","canonical":false,"sport":"hockey","league":"nhl","description":"Real-time weather near any NHL arena — temperature, wind, and conditions for travel planning.","price_tier":"standard","price_usd":0.001,"freshness_seconds":3600,"upstream_sources":["open_meteo"],"params":{"type":"object","properties":{"teamId":{"type":"string","description":"NHL team ID"}}},"response_data_model":"VenueWeather","response_data_schema_ref":"#/$defs/VenueWeather","response_data_is_list":false,"alias_of":"/nhl/venue-weather"},"GET /v1/atomic/nhl/tickets":{"method":"GET","path":"/v1/atomic/nhl/tickets","bucket":"atomic","canonical":false,"sport":"hockey","league":"nhl","description":"Live primary-market ticket listings for an NHL home game via Ticketmaster.","price_tier":"standard","price_usd":0.001,"freshness_seconds":900,"upstream_sources":["ticketmaster"],"params":{"type":"object","properties":{"teamId":{"type":"string","description":"NHL team ID"},"date":{"type":"string","format":"date","description":"Game date (YYYY-MM-DD)"}}},"response_data_model":"VenueTickets","response_data_schema_ref":"#/$defs/VenueTickets","response_data_is_list":false,"alias_of":"/nhl/tickets"},"GET /v1/atomic/nhl/flights":{"method":"GET","path":"/v1/atomic/nhl/flights","bucket":"atomic","canonical":false,"sport":"hockey","league":"nhl","description":"Economy flight search to the nearest airport for any NHL team's home arena via Duffel.","price_tier":"flights","price_usd":0.25,"freshness_seconds":300,"upstream_sources":["duffel"],"params":{"type":"object","properties":{"teamId":{"type":"string","description":"NHL team ID"},"date":{"type":"string","format":"date","description":"Departure date (YYYY-MM-DD)"},"origin":{"type":"string","description":"Origin airport IATA code (e.g. JFK)"},"passengers":{"type":"integer","description":"Number of adult passengers","default":1}}},"response_data_model":"FlightSearchResult","response_data_schema_ref":"#/$defs/FlightSearchResult","response_data_is_list":false,"alias_of":"/nhl/flights"},"GET /v1/atomic/nhl/hotels":{"method":"GET","path":"/v1/atomic/nhl/hotels","bucket":"atomic","canonical":false,"sport":"hockey","league":"nhl","description":"Hotel search near any NHL team's home arena via Duffel Stays.","price_tier":"hotels","price_usd":0.25,"freshness_seconds":300,"upstream_sources":["duffel_stays"],"params":{"type":"object","properties":{"teamId":{"type":"string","description":"NHL team ID"},"check_in":{"type":"string","format":"date","description":"Check-in date (YYYY-MM-DD)"},"check_out":{"type":"string","format":"date","description":"Check-out date (YYYY-MM-DD)"},"guests":{"type":"integer","description":"Number of guests","default":1}}},"response_data_model":"HotelSearchResult","response_data_schema_ref":"#/$defs/HotelSearchResult","response_data_is_list":false,"alias_of":"/nhl/hotels"},"GET /v1/atomic/nfl/scoreboard":{"method":"GET","path":"/v1/atomic/nfl/scoreboard","bucket":"atomic","canonical":false,"sport":"football","league":"nfl","description":"NFL game scores for any date — live and final scores during season, empty during offseason.","price_tier":"standard","price_usd":0.001,"freshness_seconds":60,"upstream_sources":["espn_unofficial"],"params":{"type":"object","properties":{"date":{"type":"string","format":"date","description":"Game date (YYYY-MM-DD)"}}},"response_data_model":"list[NFLGame]","response_data_schema_ref":"#/$defs/NFLGame","response_data_is_list":true,"alias_of":"/nfl/scoreboard"},"GET /v1/atomic/nfl/schedule":{"method":"GET","path":"/v1/atomic/nfl/schedule","bucket":"atomic","canonical":false,"sport":"football","league":"nfl","description":"NFL weekly schedule by season year and week number (1-18) — matchups, kickoff times, venues.","price_tier":"standard","price_usd":0.001,"freshness_seconds":3600,"upstream_sources":["espn_unofficial"],"params":{"type":"object","properties":{"year":{"type":"integer","description":"Season year (e.g. 2025)"},"week":{"type":"integer","description":"Week number 1–18"}}},"response_data_model":"list[NFLGame]","response_data_schema_ref":"#/$defs/NFLGame","response_data_is_list":true,"alias_of":"/nfl/schedule"},"GET /v1/atomic/nfl/teams":{"method":"GET","path":"/v1/atomic/nfl/teams","bucket":"atomic","canonical":false,"sport":"football","league":"nfl","description":"All 32 NFL teams with ID, name, abbreviation, and city.","price_tier":"standard","price_usd":0.001,"freshness_seconds":86400,"upstream_sources":["espn_unofficial"],"params":{"type":"object"},"response_data_model":"list[NFLTeam]","response_data_schema_ref":"#/$defs/NFLTeam","response_data_is_list":true,"alias_of":"/nfl/teams"},"GET /v1/atomic/nfl/standings":{"method":"GET","path":"/v1/atomic/nfl/standings","bucket":"atomic","canonical":false,"sport":"football","league":"nfl","description":"Current NFL standings — wins, losses, pct, division rank, conference rank.","price_tier":"standard","price_usd":0.001,"freshness_seconds":300,"upstream_sources":["espn_unofficial"],"params":{"type":"object"},"response_data_model":"list[NFLStandingsEntry]","response_data_schema_ref":"#/$defs/NFLStandingsEntry","response_data_is_list":true,"alias_of":"/nfl/standings"},"GET /v1/atomic/nfl/game/{event_id}":{"method":"GET","path":"/v1/atomic/nfl/game/{event_id}","bucket":"atomic","canonical":false,"sport":"football","league":"nfl","description":"NFL game detail with score, current quarter, clock, and box score.","price_tier":"standard","price_usd":0.001,"freshness_seconds":60,"upstream_sources":["espn_unofficial"],"params":{"type":"object","properties":{"event_id":{"type":"string","in":"path","description":"ESPN event ID from /nfl/schedule or /nfl/scoreboard"}}},"response_data_model":"NFLGame","response_data_schema_ref":"#/$defs/NFLGame","response_data_is_list":false,"alias_of":"/nfl/game/{event_id}"},"GET /v1/atomic/nfl/venue-nearby":{"method":"GET","path":"/v1/atomic/nfl/venue-nearby","bucket":"atomic","canonical":false,"sport":"football","league":"nfl","description":"Restaurants, bars, parking, and attractions near any NFL stadium via Google Places.","price_tier":"standard","price_usd":0.001,"freshness_seconds":86400,"upstream_sources":["google_places"],"params":{"type":"object","properties":{"teamId":{"type":"string","description":"NFL team ID"},"type":{"type":"string","description":"Place category","enum":["restaurant","bar","cafe","parking","tourist_attraction","lodging"],"default":"restaurant"}}},"response_data_model":"VenueNearby","response_data_schema_ref":"#/$defs/VenueNearby","response_data_is_list":false,"alias_of":"/nfl/venue-nearby"},"GET /v1/atomic/nfl/venue-weather":{"method":"GET","path":"/v1/atomic/nfl/venue-weather","bucket":"atomic","canonical":false,"sport":"football","league":"nfl","description":"Real-time weather at any NFL stadium — critical for outdoor games and fantasy decisions.","price_tier":"standard","price_usd":0.001,"freshness_seconds":3600,"upstream_sources":["open_meteo"],"params":{"type":"object","properties":{"teamId":{"type":"string","description":"NFL team ID"}}},"response_data_model":"VenueWeather","response_data_schema_ref":"#/$defs/VenueWeather","response_data_is_list":false,"alias_of":"/nfl/venue-weather"},"GET /v1/atomic/nfl/tickets":{"method":"GET","path":"/v1/atomic/nfl/tickets","bucket":"atomic","canonical":false,"sport":"football","league":"nfl","description":"Live primary-market ticket listings for an NFL home game via Ticketmaster.","price_tier":"standard","price_usd":0.001,"freshness_seconds":900,"upstream_sources":["ticketmaster"],"params":{"type":"object","properties":{"teamId":{"type":"string","description":"NFL team ID"},"date":{"type":"string","format":"date","description":"Game date (YYYY-MM-DD)"}}},"response_data_model":"VenueTickets","response_data_schema_ref":"#/$defs/VenueTickets","response_data_is_list":false,"alias_of":"/nfl/tickets"},"GET /v1/atomic/nfl/flights":{"method":"GET","path":"/v1/atomic/nfl/flights","bucket":"atomic","canonical":false,"sport":"football","league":"nfl","description":"Economy flight search to the nearest airport for any NFL team's home stadium via Duffel.","price_tier":"flights","price_usd":0.25,"freshness_seconds":300,"upstream_sources":["duffel"],"params":{"type":"object","properties":{"teamId":{"type":"string","description":"NFL team ID"},"date":{"type":"string","format":"date","description":"Departure date (YYYY-MM-DD)"},"origin":{"type":"string","description":"Origin airport IATA code (e.g. JFK)"},"passengers":{"type":"integer","description":"Number of adult passengers","default":1}}},"response_data_model":"FlightSearchResult","response_data_schema_ref":"#/$defs/FlightSearchResult","response_data_is_list":false,"alias_of":"/nfl/flights"},"GET /v1/atomic/nfl/hotels":{"method":"GET","path":"/v1/atomic/nfl/hotels","bucket":"atomic","canonical":false,"sport":"football","league":"nfl","description":"Hotel search near any NFL team's home stadium via Duffel Stays.","price_tier":"hotels","price_usd":0.25,"freshness_seconds":300,"upstream_sources":["duffel_stays"],"params":{"type":"object","properties":{"teamId":{"type":"string","description":"NFL team ID"},"check_in":{"type":"string","format":"date","description":"Check-in date (YYYY-MM-DD)"},"check_out":{"type":"string","format":"date","description":"Check-out date (YYYY-MM-DD)"},"guests":{"type":"integer","description":"Number of guests","default":1}}},"response_data_model":"HotelSearchResult","response_data_schema_ref":"#/$defs/HotelSearchResult","response_data_is_list":false,"alias_of":"/nfl/hotels"},"GET /v1/live-events/world-cup":{"method":"GET","path":"/v1/live-events/world-cup","bucket":"live_events","canonical":false,"sport":"football","league":"worldcup","description":"FIFA World Cup 2026 multi-source trip bundle. Returns match schedule + 16-city venue intel + weather + flights + hotels in one call. Enrichment activates when exactly one match is returned. Filter by match_id, team, date, or date range. WC 2026: June 11 – July 19, 2026.","price_tier":"world_cup_bundle","price_usd":0.25,"freshness_seconds":43200,"upstream_sources":["apifootball","open_meteo","duffel_flights","duffel_stays"],"params":{"type":"object","properties":{"match_id":{"type":"integer","description":"API-Football fixture ID"},"team":{"type":"string","description":"Team name substring (e.g. 'Argentina', 'Brazil', 'USA')"},"date":{"type":"string","format":"date","description":"Single game date (YYYY-MM-DD)"},"date_from":{"type":"string","format":"date","description":"Start of date range"},"date_to":{"type":"string","format":"date","description":"End of date range"},"origin":{"type":"string","description":"Origin airport IATA code for flights"},"passengers":{"type":"integer","description":"Number of adult passengers","default":1},"check_in":{"type":"string","format":"date","description":"Hotel check-in date"},"check_out":{"type":"string","format":"date","description":"Hotel check-out date"},"guests":{"type":"integer","description":"Number of hotel guests","default":1}}},"response_data_model":"WorldCupBundle","response_data_schema_ref":"#/$defs/WorldCupBundle","response_data_is_list":false,"alias_of":"/v1/world-cup-bundle"},"GET /v1/fantasy-betting/mlb/slate-context":{"method":"GET","path":"/v1/fantasy-betting/mlb/slate-context","bucket":"fantasy_betting","canonical":false,"sport":"baseball","league":"mlb","description":"MLB DFS slate context for a date: every game with Vegas implied team totals + per-game weather impact.","price_tier":"mlb_fantasy_slate_context","price_usd":0.02,"freshness_seconds":900,"upstream_sources":["mlb_stats_api","the_odds_api","open_meteo","fanfare_derived"],"params":{"type":"object","properties":{"date":{"type":"string","format":"date"},"window":{"type":"string","description":"all|day|night"},"team_id":{"type":"integer"},"game_pk":{"type":"integer"}}},"response_data_model":"MLBFantasySlateContext","response_data_schema_ref":"#/$defs/MLBFantasySlateContext","response_data_is_list":false,"alias_of":"/v1/fantasy/mlb/slate-context"},"GET /v1/fantasy-betting/mlb/projections":{"method":"GET","path":"/v1/fantasy-betting/mlb/projections","bucket":"fantasy_betting","canonical":false,"sport":"baseball","league":"mlb","description":"Per-player MLB DFS inputs vector: Fanfare Baseline Score + projected_points/ceiling/floor, recent form, contact-quality proxy, park factors, Vegas totals, weather, pitcher splits. No DK/FD salaries (bring your own).","price_tier":"mlb_fantasy_projections","price_usd":0.1,"freshness_seconds":3600,"upstream_sources":["mlb_stats_api","the_odds_api","open_meteo","fanfare_derived"],"params":{"type":"object","properties":{"date":{"type":"string","format":"date"},"window":{"type":"string"},"contest_type":{"type":"string","description":"cash|gpp|both"},"position":{"type":"string"},"handedness_filter":{"type":"string"},"team_id":{"type":"integer"},"game_pk":{"type":"integer"}}},"response_data_model":"MLBFantasyProjections","response_data_schema_ref":"#/$defs/MLBFantasyProjections","response_data_is_list":false,"alias_of":"/v1/fantasy/mlb/projections"},"GET /v1/fantasy-betting/mlb/lineups":{"method":"GET","path":"/v1/fantasy-betting/mlb/lineups","bucket":"fantasy_betting","canonical":false,"sport":"baseball","league":"mlb","description":"Confirmed batting orders + probable pitchers + late scratches per MLB game for a date.","price_tier":"mlb_fantasy_lineups","price_usd":0.05,"freshness_seconds":300,"upstream_sources":["mlb_stats_api"],"params":{"type":"object","properties":{"date":{"type":"string","format":"date"},"team_id":{"type":"integer"},"game_pk":{"type":"integer"}}},"response_data_model":"MLBFantasyLineups","response_data_schema_ref":"#/$defs/MLBFantasyLineups","response_data_is_list":false,"alias_of":"/v1/fantasy/mlb/lineups"},"GET /v1/fantasy-betting/mlb/late-swap":{"method":"GET","path":"/v1/fantasy-betting/mlb/late-swap","bucket":"fantasy_betting","canonical":false,"sport":"baseball","league":"mlb","description":"Players whose lineup status / batting order changed since `since` (default now-900s). Cheap 60s poll target.","price_tier":"mlb_fantasy_late_swap","price_usd":0.03,"freshness_seconds":60,"upstream_sources":["mlb_stats_api"],"params":{"type":"object","properties":{"date":{"type":"string","format":"date"},"since":{"type":"string","description":"ISO-8601 UTC"}}},"response_data_model":"MLBFantasyLateSwap","response_data_schema_ref":"#/$defs/MLBFantasyLateSwap","response_data_is_list":false,"alias_of":"/v1/fantasy/mlb/late-swap"},"GET /v1/fantasy-betting/mlb/slate-bundle":{"method":"GET","path":"/v1/fantasy-betting/mlb/slate-bundle","bucket":"fantasy_betting","canonical":false,"sport":"baseball","league":"mlb","description":"Everything for the slate in one call: slate-context + projections + stacks + lineups + late-swap snapshot.","price_tier":"mlb_fantasy_slate_bundle","price_usd":0.5,"freshness_seconds":60,"upstream_sources":["mlb_stats_api","the_odds_api","open_meteo","fanfare_derived"],"params":{"type":"object","properties":{"date":{"type":"string","format":"date"},"window":{"type":"string"},"contest_type":{"type":"string"},"position":{"type":"string"},"handedness_filter":{"type":"string"},"team_id":{"type":"integer"},"game_pk":{"type":"integer"}}},"response_data_model":"MLBFantasySlateBundle","response_data_schema_ref":"#/$defs/MLBFantasySlateBundle","response_data_is_list":false,"alias_of":"/v1/fantasy/mlb/slate-bundle"},"GET /v1/atomic/mlb/scoreboard":{"method":"GET","path":"/v1/atomic/mlb/scoreboard","bucket":"atomic","canonical":false,"sport":"baseball","league":"mlb","description":"MLB scores for any date — live and final scores during season, empty during offseason.","price_tier":"standard","price_usd":0.001,"freshness_seconds":60,"upstream_sources":["mlb_stats_api"],"params":{"type":"object","properties":{"date":{"type":"string","format":"date","description":"Game date (YYYY-MM-DD)"}}},"response_data_model":"list[Game]","response_data_schema_ref":"#/$defs/Game","response_data_is_list":true,"alias_of":"/mlb/scoreboard"},"GET /v1/atomic/nba/scoreboard":{"method":"GET","path":"/v1/atomic/nba/scoreboard","bucket":"atomic","canonical":false,"sport":"basketball","league":"nba","description":"NBA scores for any date — live and final scores during season, empty during offseason.","price_tier":"standard","price_usd":0.001,"freshness_seconds":60,"upstream_sources":["espn_unofficial"],"params":{"type":"object","properties":{"date":{"type":"string","format":"date","description":"Game date (YYYY-MM-DD)"}}},"response_data_model":"list[NBAGame]","response_data_schema_ref":"#/$defs/NBAGame","response_data_is_list":true,"alias_of":"/nba/scoreboard"},"GET /v1/atomic/wnba/scoreboard":{"method":"GET","path":"/v1/atomic/wnba/scoreboard","bucket":"atomic","canonical":false,"sport":"basketball","league":"wnba","description":"WNBA scores for any date — live and final scores during season, empty during offseason.","price_tier":"standard","price_usd":0.001,"freshness_seconds":60,"upstream_sources":["espn_unofficial"],"params":{"type":"object","properties":{"date":{"type":"string","format":"date","description":"Game date (YYYY-MM-DD)"}}},"response_data_model":"list[WNBAGame]","response_data_schema_ref":"#/$defs/WNBAGame","response_data_is_list":true,"alias_of":"/wnba/scoreboard"},"GET /v1/atomic/nhl/scoreboard":{"method":"GET","path":"/v1/atomic/nhl/scoreboard","bucket":"atomic","canonical":false,"sport":"hockey","league":"nhl","description":"NHL scores for any date — live and final scores during season, empty during offseason.","price_tier":"standard","price_usd":0.001,"freshness_seconds":60,"upstream_sources":["nhle_api"],"params":{"type":"object","properties":{"date":{"type":"string","format":"date","description":"Game date (YYYY-MM-DD)"}}},"response_data_model":"list[NHLGame]","response_data_schema_ref":"#/$defs/NHLGame","response_data_is_list":true,"alias_of":"/nhl/scoreboard"}},"$defs":{"FanfareError":{"description":"Structured error from an upstream source — included in the response envelope\ninstead of raising an HTTP 5xx so callers can receive partial results.","properties":{"code":{"title":"Code","type":"string"},"source":{"title":"Source","type":"string"},"message":{"title":"Message","type":"string"}},"required":["code","source","message"],"title":"FanfareError","type":"object"},"Game":{"$defs":{"InningScore":{"properties":{"inning":{"title":"Inning","type":"integer"},"home":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Home"},"away":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Away"}},"required":["inning","home","away"],"title":"InningScore","type":"object"},"Score":{"properties":{"home":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Home"},"away":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Away"},"innings":{"anyOf":[{"items":{"$ref":"#/$defs/InningScore"},"type":"array"},{"type":"null"}],"title":"Innings"}},"required":["home","away","innings"],"title":"Score","type":"object"},"TeamRef":{"properties":{"id":{"title":"Id","type":"string"},"name":{"title":"Name","type":"string"},"full_name":{"title":"Full Name","type":"string"},"abbreviation":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Abbreviation"},"city":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"City"},"league_division":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"League Division"}},"required":["id","name","full_name","abbreviation","city","league_division"],"title":"TeamRef","type":"object"},"Venue":{"properties":{"id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Id"},"name":{"title":"Name","type":"string"},"city":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"City"},"state":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"State"},"country":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Country"},"capacity":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Capacity"},"surface":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Surface"},"roof_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Roof Type"},"latitude":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Latitude"},"longitude":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Longitude"}},"required":["id","name","city","state","country","capacity","surface","roof_type","latitude","longitude"],"title":"Venue","type":"object"}},"properties":{"id":{"title":"Id","type":"string"},"sport":{"title":"Sport","type":"string"},"league":{"title":"League","type":"string"},"season":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Season"},"date_utc":{"title":"Date Utc","type":"string"},"status":{"title":"Status","type":"string"},"inning":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Inning"},"inning_half":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Inning Half"},"home_team":{"$ref":"#/$defs/TeamRef"},"away_team":{"$ref":"#/$defs/TeamRef"},"score":{"$ref":"#/$defs/Score"},"venue":{"$ref":"#/$defs/Venue"}},"required":["id","sport","league","season","date_utc","status","inning","inning_half","home_team","away_team","score","venue"],"title":"Game","type":"object"},"Team":{"$defs":{"TeamRecord":{"properties":{"wins":{"title":"Wins","type":"integer"},"losses":{"title":"Losses","type":"integer"},"pct":{"title":"Pct","type":"number"},"games_back":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Games Back"}},"required":["wins","losses","pct","games_back"],"title":"TeamRecord","type":"object"},"TeamStanding":{"properties":{"division_rank":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Division Rank"},"league_rank":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"League Rank"},"wildcard_rank":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Wildcard Rank"}},"required":["division_rank","league_rank","wildcard_rank"],"title":"TeamStanding","type":"object"}},"properties":{"id":{"title":"Id","type":"string"},"name":{"title":"Name","type":"string"},"full_name":{"title":"Full Name","type":"string"},"abbreviation":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Abbreviation"},"city":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"City"},"league_division":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"League Division"},"record":{"anyOf":[{"$ref":"#/$defs/TeamRecord"},{"type":"null"}]},"standing":{"anyOf":[{"$ref":"#/$defs/TeamStanding"},{"type":"null"}]}},"required":["id","name","full_name","abbreviation","city","league_division","record","standing"],"title":"Team","type":"object"},"Player":{"properties":{"id":{"title":"Id","type":"string"},"first_name":{"title":"First Name","type":"string"},"last_name":{"title":"Last Name","type":"string"},"full_name":{"title":"Full Name","type":"string"},"position":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Position"},"jersey_number":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Jersey Number"},"team_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Team Id"},"status":{"title":"Status","type":"string"},"bats":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Bats"},"throws":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Throws"},"stats":{"anyOf":[{"items":{},"type":"array"},{"type":"null"}],"title":"Stats"}},"required":["id","first_name","last_name","full_name","position","jersey_number","team_id","status","bats","throws","stats"],"title":"Player","type":"object"},"TeamRef":{"properties":{"id":{"title":"Id","type":"string"},"name":{"title":"Name","type":"string"},"full_name":{"title":"Full Name","type":"string"},"abbreviation":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Abbreviation"},"city":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"City"},"league_division":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"League Division"}},"required":["id","name","full_name","abbreviation","city","league_division"],"title":"TeamRef","type":"object"},"Venue":{"properties":{"id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Id"},"name":{"title":"Name","type":"string"},"city":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"City"},"state":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"State"},"country":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Country"},"capacity":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Capacity"},"surface":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Surface"},"roof_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Roof Type"},"latitude":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Latitude"},"longitude":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Longitude"}},"required":["id","name","city","state","country","capacity","surface","roof_type","latitude","longitude"],"title":"Venue","type":"object"},"StandingsEntry":{"$defs":{"StandingsRecord":{"properties":{"wins":{"title":"Wins","type":"integer"},"losses":{"title":"Losses","type":"integer"},"pct":{"title":"Pct","type":"number"},"games_back":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Games Back"},"home_record":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Home Record"},"away_record":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Away Record"},"last_10":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Last 10"},"streak":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Streak"}},"required":["wins","losses","pct","games_back","home_record","away_record","last_10","streak"],"title":"StandingsRecord","type":"object"},"TeamRef":{"properties":{"id":{"title":"Id","type":"string"},"name":{"title":"Name","type":"string"},"full_name":{"title":"Full Name","type":"string"},"abbreviation":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Abbreviation"},"city":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"City"},"league_division":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"League Division"}},"required":["id","name","full_name","abbreviation","city","league_division"],"title":"TeamRef","type":"object"}},"properties":{"team":{"$ref":"#/$defs/TeamRef"},"record":{"$ref":"#/$defs/StandingsRecord"},"division_rank":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Division Rank"},"wildcard_rank":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Wildcard Rank"}},"required":["team","record","division_rank","wildcard_rank"],"title":"StandingsEntry","type":"object"},"NBAGame":{"$defs":{"NBAQuarterScore":{"properties":{"quarter":{"anyOf":[{"type":"integer"},{"type":"string"}],"title":"Quarter"},"home":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Home"},"away":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Away"}},"required":["quarter","home","away"],"title":"NBAQuarterScore","type":"object"},"NBAScore":{"properties":{"home":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Home"},"away":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Away"},"quarters":{"anyOf":[{"items":{"$ref":"#/$defs/NBAQuarterScore"},"type":"array"},{"type":"null"}],"title":"Quarters"}},"required":["home","away","quarters"],"title":"NBAScore","type":"object"},"NBATeamRef":{"properties":{"id":{"title":"Id","type":"string"},"name":{"title":"Name","type":"string"},"full_name":{"title":"Full Name","type":"string"},"abbreviation":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Abbreviation"},"city":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"City"},"conference":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Conference"},"division":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Division"}},"required":["id","name","full_name","abbreviation","city","conference","division"],"title":"NBATeamRef","type":"object"},"NBAVenueRef":{"properties":{"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name"},"city":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"City"},"state":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"State"},"roof_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Roof Type"},"surface":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Surface"}},"required":["name","city","state","roof_type","surface"],"title":"NBAVenueRef","type":"object"}},"properties":{"id":{"title":"Id","type":"string"},"sport":{"title":"Sport","type":"string"},"league":{"title":"League","type":"string"},"season":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Season"},"date_utc":{"title":"Date Utc","type":"string"},"status":{"title":"Status","type":"string"},"period":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Period"},"clock":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Clock"},"home_team":{"$ref":"#/$defs/NBATeamRef"},"away_team":{"$ref":"#/$defs/NBATeamRef"},"score":{"$ref":"#/$defs/NBAScore"},"venue":{"$ref":"#/$defs/NBAVenueRef"}},"required":["id","sport","league","season","date_utc","status","period","clock","home_team","away_team","score","venue"],"title":"NBAGame","type":"object"},"NBATeam":{"$defs":{"NBATeamRecord":{"properties":{"wins":{"title":"Wins","type":"integer"},"losses":{"title":"Losses","type":"integer"},"pct":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Pct"}},"required":["wins","losses","pct"],"title":"NBATeamRecord","type":"object"}},"properties":{"id":{"title":"Id","type":"string"},"name":{"title":"Name","type":"string"},"full_name":{"title":"Full Name","type":"string"},"abbreviation":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Abbreviation"},"city":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"City"},"conference":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Conference"},"division":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Division"},"record":{"anyOf":[{"$ref":"#/$defs/NBATeamRecord"},{"type":"null"}]},"conference_rank":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Conference Rank"},"division_rank":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Division Rank"}},"required":["id","name","full_name","abbreviation","city","conference","division","record","conference_rank","division_rank"],"title":"NBATeam","type":"object"},"NBAPlayer":{"properties":{"id":{"title":"Id","type":"string"},"first_name":{"title":"First Name","type":"string"},"last_name":{"title":"Last Name","type":"string"},"full_name":{"title":"Full Name","type":"string"},"position":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Position"},"jersey_number":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Jersey Number"},"team_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Team Id"},"stats":{"anyOf":[{"type":"object"},{"type":"null"}],"title":"Stats"}},"required":["id","first_name","last_name","full_name","position","jersey_number","team_id","stats"],"title":"NBAPlayer","type":"object"},"NBAStandingsEntry":{"$defs":{"NBATeamRecord":{"properties":{"wins":{"title":"Wins","type":"integer"},"losses":{"title":"Losses","type":"integer"},"pct":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Pct"}},"required":["wins","losses","pct"],"title":"NBATeamRecord","type":"object"},"NBATeamRef":{"properties":{"id":{"title":"Id","type":"string"},"name":{"title":"Name","type":"string"},"full_name":{"title":"Full Name","type":"string"},"abbreviation":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Abbreviation"},"city":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"City"},"conference":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Conference"},"division":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Division"}},"required":["id","name","full_name","abbreviation","city","conference","division"],"title":"NBATeamRef","type":"object"}},"properties":{"team":{"$ref":"#/$defs/NBATeamRef"},"record":{"$ref":"#/$defs/NBATeamRecord"},"conference_rank":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Conference Rank"},"division_rank":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Division Rank"}},"required":["team","record","conference_rank","division_rank"],"title":"NBAStandingsEntry","type":"object"},"WNBAGame":{"$defs":{"WNBAQuarterScore":{"properties":{"quarter":{"anyOf":[{"type":"integer"},{"type":"string"}],"title":"Quarter"},"home":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Home"},"away":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Away"}},"required":["quarter","home","away"],"title":"WNBAQuarterScore","type":"object"},"WNBAScore":{"properties":{"home":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Home"},"away":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Away"},"quarters":{"anyOf":[{"items":{"$ref":"#/$defs/WNBAQuarterScore"},"type":"array"},{"type":"null"}],"title":"Quarters"}},"required":["home","away","quarters"],"title":"WNBAScore","type":"object"},"WNBATeamRef":{"properties":{"id":{"title":"Id","type":"string"},"name":{"title":"Name","type":"string"},"full_name":{"title":"Full Name","type":"string"},"abbreviation":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Abbreviation"},"city":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"City"},"conference":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Conference"},"division":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Division"}},"required":["id","name","full_name","abbreviation","city","conference","division"],"title":"WNBATeamRef","type":"object"},"WNBAVenueRef":{"properties":{"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name"},"city":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"City"},"state":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"State"},"roof_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Roof Type"},"surface":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Surface"}},"required":["name","city","state","roof_type","surface"],"title":"WNBAVenueRef","type":"object"}},"properties":{"id":{"title":"Id","type":"string"},"sport":{"title":"Sport","type":"string"},"league":{"title":"League","type":"string"},"season":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Season"},"date_utc":{"title":"Date Utc","type":"string"},"status":{"title":"Status","type":"string"},"period":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Period"},"clock":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Clock"},"home_team":{"$ref":"#/$defs/WNBATeamRef"},"away_team":{"$ref":"#/$defs/WNBATeamRef"},"score":{"$ref":"#/$defs/WNBAScore"},"venue":{"$ref":"#/$defs/WNBAVenueRef"}},"required":["id","sport","league","season","date_utc","status","period","clock","home_team","away_team","score","venue"],"title":"WNBAGame","type":"object"},"WNBATeam":{"$defs":{"WNBATeamRecord":{"properties":{"wins":{"title":"Wins","type":"integer"},"losses":{"title":"Losses","type":"integer"},"pct":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Pct"}},"required":["wins","losses","pct"],"title":"WNBATeamRecord","type":"object"}},"properties":{"id":{"title":"Id","type":"string"},"name":{"title":"Name","type":"string"},"full_name":{"title":"Full Name","type":"string"},"abbreviation":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Abbreviation"},"city":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"City"},"conference":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Conference"},"division":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Division"},"record":{"anyOf":[{"$ref":"#/$defs/WNBATeamRecord"},{"type":"null"}]},"conference_rank":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Conference Rank"},"division_rank":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Division Rank"}},"required":["id","name","full_name","abbreviation","city","conference","division","record","conference_rank","division_rank"],"title":"WNBATeam","type":"object"},"WNBAPlayer":{"properties":{"id":{"title":"Id","type":"string"},"first_name":{"title":"First Name","type":"string"},"last_name":{"title":"Last Name","type":"string"},"full_name":{"title":"Full Name","type":"string"},"position":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Position"},"jersey_number":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Jersey Number"},"team_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Team Id"},"stats":{"anyOf":[{"type":"object"},{"type":"null"}],"title":"Stats"}},"required":["id","first_name","last_name","full_name","position","jersey_number","team_id","stats"],"title":"WNBAPlayer","type":"object"},"WNBAStandingsEntry":{"$defs":{"WNBATeamRecord":{"properties":{"wins":{"title":"Wins","type":"integer"},"losses":{"title":"Losses","type":"integer"},"pct":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Pct"}},"required":["wins","losses","pct"],"title":"WNBATeamRecord","type":"object"},"WNBATeamRef":{"properties":{"id":{"title":"Id","type":"string"},"name":{"title":"Name","type":"string"},"full_name":{"title":"Full Name","type":"string"},"abbreviation":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Abbreviation"},"city":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"City"},"conference":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Conference"},"division":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Division"}},"required":["id","name","full_name","abbreviation","city","conference","division"],"title":"WNBATeamRef","type":"object"}},"properties":{"team":{"$ref":"#/$defs/WNBATeamRef"},"record":{"$ref":"#/$defs/WNBATeamRecord"},"conference_rank":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Conference Rank"},"division_rank":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Division Rank"}},"required":["team","record","conference_rank","division_rank"],"title":"WNBAStandingsEntry","type":"object"},"NHLGame":{"$defs":{"NHLPeriodScore":{"properties":{"period":{"anyOf":[{"type":"integer"},{"type":"string"}],"title":"Period"},"home":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Home"},"away":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Away"}},"required":["period","home","away"],"title":"NHLPeriodScore","type":"object"},"NHLScore":{"properties":{"home":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Home"},"away":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Away"},"periods":{"anyOf":[{"items":{"$ref":"#/$defs/NHLPeriodScore"},"type":"array"},{"type":"null"}],"title":"Periods"}},"required":["home","away","periods"],"title":"NHLScore","type":"object"},"NHLTeamRef":{"properties":{"id":{"title":"Id","type":"string"},"name":{"title":"Name","type":"string"},"full_name":{"title":"Full Name","type":"string"},"abbreviation":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Abbreviation"},"city":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"City"},"conference":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Conference"},"division":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Division"}},"required":["id","name","full_name","abbreviation","city","conference","division"],"title":"NHLTeamRef","type":"object"}},"properties":{"id":{"title":"Id","type":"string"},"sport":{"title":"Sport","type":"string"},"league":{"title":"League","type":"string"},"season":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Season"},"date_utc":{"title":"Date Utc","type":"string"},"status":{"title":"Status","type":"string"},"period":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Period"},"clock":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Clock"},"home_team":{"$ref":"#/$defs/NHLTeamRef"},"away_team":{"$ref":"#/$defs/NHLTeamRef"},"score":{"$ref":"#/$defs/NHLScore"},"venue_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Venue Name"}},"required":["id","sport","league","season","date_utc","status","period","clock","home_team","away_team","score","venue_name"],"title":"NHLGame","type":"object"},"NHLTeam":{"properties":{"id":{"title":"Id","type":"string"},"name":{"title":"Name","type":"string"},"full_name":{"title":"Full Name","type":"string"},"abbreviation":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Abbreviation"},"city":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"City"},"conference":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Conference"},"division":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Division"},"wins":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Wins"},"losses":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Losses"},"ot_losses":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Ot Losses"},"pct":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Pct"},"points":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Points"}},"required":["id","name","full_name","abbreviation","city","conference","division","wins","losses","ot_losses","pct","points"],"title":"NHLTeam","type":"object"},"NHLPlayer":{"properties":{"id":{"title":"Id","type":"string"},"first_name":{"title":"First Name","type":"string"},"last_name":{"title":"Last Name","type":"string"},"full_name":{"title":"Full Name","type":"string"},"position":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Position"},"jersey_number":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Jersey Number"},"team_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Team Id"},"team_abbrev":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Team Abbrev"},"stats":{"anyOf":[{"type":"object"},{"type":"null"}],"title":"Stats"}},"required":["id","first_name","last_name","full_name","position","jersey_number","team_id","team_abbrev","stats"],"title":"NHLPlayer","type":"object"},"NHLStandingsEntry":{"$defs":{"NHLTeamRef":{"properties":{"id":{"title":"Id","type":"string"},"name":{"title":"Name","type":"string"},"full_name":{"title":"Full Name","type":"string"},"abbreviation":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Abbreviation"},"city":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"City"},"conference":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Conference"},"division":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Division"}},"required":["id","name","full_name","abbreviation","city","conference","division"],"title":"NHLTeamRef","type":"object"}},"properties":{"team":{"$ref":"#/$defs/NHLTeamRef"},"wins":{"title":"Wins","type":"integer"},"losses":{"title":"Losses","type":"integer"},"ot_losses":{"title":"Ot Losses","type":"integer"},"points":{"title":"Points","type":"integer"},"pct":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Pct"},"conference_sequence":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Conference Sequence"},"division_sequence":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Division Sequence"}},"required":["team","wins","losses","ot_losses","points","pct","conference_sequence","division_sequence"],"title":"NHLStandingsEntry","type":"object"},"NFLGame":{"$defs":{"NFLQuarterScore":{"properties":{"quarter":{"anyOf":[{"type":"integer"},{"type":"string"}],"title":"Quarter"},"home":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Home"},"away":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Away"}},"required":["quarter","home","away"],"title":"NFLQuarterScore","type":"object"},"NFLScore":{"properties":{"home":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Home"},"away":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Away"},"quarters":{"anyOf":[{"items":{"$ref":"#/$defs/NFLQuarterScore"},"type":"array"},{"type":"null"}],"title":"Quarters"}},"required":["home","away","quarters"],"title":"NFLScore","type":"object"},"NFLTeamRef":{"properties":{"id":{"title":"Id","type":"string"},"name":{"title":"Name","type":"string"},"full_name":{"title":"Full Name","type":"string"},"abbreviation":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Abbreviation"},"city":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"City"},"conference":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Conference"},"division":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Division"}},"required":["id","name","full_name","abbreviation","city","conference","division"],"title":"NFLTeamRef","type":"object"},"NFLVenueRef":{"properties":{"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name"},"city":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"City"},"state":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"State"},"roof_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Roof Type"},"surface":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Surface"}},"required":["name","city","state","roof_type","surface"],"title":"NFLVenueRef","type":"object"}},"properties":{"id":{"title":"Id","type":"string"},"sport":{"title":"Sport","type":"string"},"league":{"title":"League","type":"string"},"season":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Season"},"date_utc":{"title":"Date Utc","type":"string"},"status":{"title":"Status","type":"string"},"quarter":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Quarter"},"clock":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Clock"},"week":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Week"},"home_team":{"$ref":"#/$defs/NFLTeamRef"},"away_team":{"$ref":"#/$defs/NFLTeamRef"},"score":{"$ref":"#/$defs/NFLScore"},"venue":{"$ref":"#/$defs/NFLVenueRef"}},"required":["id","sport","league","season","date_utc","status","quarter","clock","week","home_team","away_team","score","venue"],"title":"NFLGame","type":"object"},"NFLTeam":{"$defs":{"NFLTeamRecord":{"properties":{"wins":{"title":"Wins","type":"integer"},"losses":{"title":"Losses","type":"integer"},"ties":{"title":"Ties","type":"integer"},"pct":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Pct"}},"required":["wins","losses","ties","pct"],"title":"NFLTeamRecord","type":"object"}},"properties":{"id":{"title":"Id","type":"string"},"name":{"title":"Name","type":"string"},"full_name":{"title":"Full Name","type":"string"},"abbreviation":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Abbreviation"},"city":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"City"},"conference":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Conference"},"division":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Division"},"record":{"anyOf":[{"$ref":"#/$defs/NFLTeamRecord"},{"type":"null"}]}},"required":["id","name","full_name","abbreviation","city","conference","division","record"],"title":"NFLTeam","type":"object"},"NFLStandingsEntry":{"$defs":{"NFLTeamRecord":{"properties":{"wins":{"title":"Wins","type":"integer"},"losses":{"title":"Losses","type":"integer"},"ties":{"title":"Ties","type":"integer"},"pct":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Pct"}},"required":["wins","losses","ties","pct"],"title":"NFLTeamRecord","type":"object"},"NFLTeamRef":{"properties":{"id":{"title":"Id","type":"string"},"name":{"title":"Name","type":"string"},"full_name":{"title":"Full Name","type":"string"},"abbreviation":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Abbreviation"},"city":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"City"},"conference":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Conference"},"division":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Division"}},"required":["id","name","full_name","abbreviation","city","conference","division"],"title":"NFLTeamRef","type":"object"}},"properties":{"team":{"$ref":"#/$defs/NFLTeamRef"},"record":{"$ref":"#/$defs/NFLTeamRecord"},"division_rank":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Division Rank"},"conference_rank":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Conference Rank"},"wildcard_rank":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Wildcard Rank"}},"required":["team","record","division_rank","conference_rank","wildcard_rank"],"title":"NFLStandingsEntry","type":"object"},"VenueNearby":{"$defs":{"NearbyPlace":{"properties":{"name":{"title":"Name","type":"string"},"address":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Address"},"rating":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Rating"},"user_ratings_total":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"User Ratings Total"},"types":{"items":{"type":"string"},"title":"Types","type":"array"},"place_id":{"title":"Place Id","type":"string"}},"required":["name","address","rating","user_ratings_total","types","place_id"],"title":"NearbyPlace","type":"object"}},"properties":{"venue_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Venue Id"},"venue_name":{"title":"Venue Name","type":"string"},"latitude":{"title":"Latitude","type":"number"},"longitude":{"title":"Longitude","type":"number"},"radius_meters":{"title":"Radius Meters","type":"integer"},"category":{"title":"Category","type":"string"},"places":{"items":{"$ref":"#/$defs/NearbyPlace"},"title":"Places","type":"array"}},"required":["venue_id","venue_name","latitude","longitude","radius_meters","category","places"],"title":"VenueNearby","type":"object"},"VenueWeather":{"$defs":{"CurrentWeather":{"properties":{"temperature_c":{"title":"Temperature C","type":"number"},"feels_like_c":{"title":"Feels Like C","type":"number"},"condition":{"title":"Condition","type":"string"},"wind_speed_kmh":{"title":"Wind Speed Kmh","type":"number"},"humidity_percent":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Humidity Percent"},"precipitation_mm":{"title":"Precipitation Mm","type":"number"}},"required":["temperature_c","feels_like_c","condition","wind_speed_kmh","humidity_percent","precipitation_mm"],"title":"CurrentWeather","type":"object"}},"properties":{"venue_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Venue Id"},"venue_name":{"title":"Venue Name","type":"string"},"latitude":{"title":"Latitude","type":"number"},"longitude":{"title":"Longitude","type":"number"},"timezone":{"title":"Timezone","type":"string"},"current":{"$ref":"#/$defs/CurrentWeather"}},"required":["venue_id","venue_name","latitude","longitude","timezone","current"],"title":"VenueWeather","type":"object"},"VenueTickets":{"$defs":{"TicketListing":{"properties":{"event_id":{"title":"Event Id","type":"string"},"event_name":{"title":"Event Name","type":"string"},"date_local":{"title":"Date Local","type":"string"},"time_local":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Time Local"},"venue_name":{"title":"Venue Name","type":"string"},"venue_city":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Venue City"},"url":{"title":"Url","type":"string"},"min_price":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Min Price"},"max_price":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Max Price"},"currency":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Currency"},"status":{"title":"Status","type":"string"}},"required":["event_id","event_name","date_local","time_local","venue_name","venue_city","url","min_price","max_price","currency","status"],"title":"TicketListing","type":"object"}},"properties":{"venue_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Venue Id"},"venue_name":{"title":"Venue Name","type":"string"},"date":{"title":"Date","type":"string"},"listings":{"items":{"$ref":"#/$defs/TicketListing"},"title":"Listings","type":"array"}},"required":["venue_id","venue_name","date","listings"],"title":"VenueTickets","type":"object"},"FlightSearchResult":{"$defs":{"FlightOffer":{"properties":{"offer_id":{"title":"Offer Id","type":"string"},"total_amount":{"title":"Total Amount","type":"string"},"total_currency":{"title":"Total Currency","type":"string"},"passenger_count":{"title":"Passenger Count","type":"integer"},"slices":{"items":{"$ref":"#/$defs/FlightSlice"},"title":"Slices","type":"array"},"expires_at":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Expires At"},"book_url":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"Book Url"}},"required":["offer_id","total_amount","total_currency","passenger_count","slices","expires_at"],"title":"FlightOffer","type":"object"},"FlightSlice":{"properties":{"origin":{"title":"Origin","type":"string"},"destination":{"title":"Destination","type":"string"},"departure_at":{"title":"Departure At","type":"string"},"arrival_at":{"title":"Arrival At","type":"string"},"duration":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Duration"},"carrier_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Carrier Name"},"flight_number":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Flight Number"}},"required":["origin","destination","departure_at","arrival_at","duration","carrier_name","flight_number"],"title":"FlightSlice","type":"object"}},"properties":{"origin":{"title":"Origin","type":"string"},"destination":{"title":"Destination","type":"string"},"date":{"title":"Date","type":"string"},"passengers":{"title":"Passengers","type":"integer"},"offers":{"items":{"$ref":"#/$defs/FlightOffer"},"title":"Offers","type":"array"},"truncated":{"default":false,"title":"Truncated","type":"boolean"}},"required":["origin","destination","date","passengers","offers"],"title":"FlightSearchResult","type":"object"},"HotelSearchResult":{"$defs":{"HotelRate":{"properties":{"rate_id":{"title":"Rate Id","type":"string"},"room_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Room Type"},"board_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Board Type"},"total_amount":{"title":"Total Amount","type":"string"},"total_currency":{"title":"Total Currency","type":"string"},"available":{"title":"Available","type":"boolean"}},"required":["rate_id","room_type","board_type","total_amount","total_currency","available"],"title":"HotelRate","type":"object"},"HotelResult":{"properties":{"accommodation_id":{"title":"Accommodation Id","type":"string"},"name":{"title":"Name","type":"string"},"city_code":{"title":"City Code","type":"string"},"check_in":{"title":"Check In","type":"string"},"check_out":{"title":"Check Out","type":"string"},"guests":{"title":"Guests","type":"integer"},"rating":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Rating"},"cheapest_rate":{"anyOf":[{"$ref":"#/$defs/HotelRate"},{"type":"null"}]},"book_url":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"Book Url"}},"required":["accommodation_id","name","city_code","check_in","check_out","guests","rating","cheapest_rate"],"title":"HotelResult","type":"object"}},"properties":{"city_code":{"title":"City Code","type":"string"},"check_in":{"title":"Check In","type":"string"},"check_out":{"title":"Check Out","type":"string"},"guests":{"title":"Guests","type":"integer"},"results":{"items":{"$ref":"#/$defs/HotelResult"},"title":"Results","type":"array"},"truncated":{"default":false,"title":"Truncated","type":"boolean"}},"required":["city_code","check_in","check_out","guests","results"],"title":"HotelSearchResult","type":"object"},"WorldCupBundle":{"$defs":{"CurrentWeather":{"properties":{"temperature_c":{"title":"Temperature C","type":"number"},"feels_like_c":{"title":"Feels Like C","type":"number"},"condition":{"title":"Condition","type":"string"},"wind_speed_kmh":{"title":"Wind Speed Kmh","type":"number"},"humidity_percent":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Humidity Percent"},"precipitation_mm":{"title":"Precipitation Mm","type":"number"}},"required":["temperature_c","feels_like_c","condition","wind_speed_kmh","humidity_percent","precipitation_mm"],"title":"CurrentWeather","type":"object"},"FlightOffer":{"properties":{"offer_id":{"title":"Offer Id","type":"string"},"total_amount":{"title":"Total Amount","type":"string"},"total_currency":{"title":"Total Currency","type":"string"},"passenger_count":{"title":"Passenger Count","type":"integer"},"slices":{"items":{"$ref":"#/$defs/FlightSlice"},"title":"Slices","type":"array"},"expires_at":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Expires At"},"book_url":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"Book Url"}},"required":["offer_id","total_amount","total_currency","passenger_count","slices","expires_at"],"title":"FlightOffer","type":"object"},"FlightSearchResult":{"properties":{"origin":{"title":"Origin","type":"string"},"destination":{"title":"Destination","type":"string"},"date":{"title":"Date","type":"string"},"passengers":{"title":"Passengers","type":"integer"},"offers":{"items":{"$ref":"#/$defs/FlightOffer"},"title":"Offers","type":"array"},"truncated":{"default":false,"title":"Truncated","type":"boolean"}},"required":["origin","destination","date","passengers","offers"],"title":"FlightSearchResult","type":"object"},"FlightSlice":{"properties":{"origin":{"title":"Origin","type":"string"},"destination":{"title":"Destination","type":"string"},"departure_at":{"title":"Departure At","type":"string"},"arrival_at":{"title":"Arrival At","type":"string"},"duration":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Duration"},"carrier_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Carrier Name"},"flight_number":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Flight Number"}},"required":["origin","destination","departure_at","arrival_at","duration","carrier_name","flight_number"],"title":"FlightSlice","type":"object"},"HotelRate":{"properties":{"rate_id":{"title":"Rate Id","type":"string"},"room_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Room Type"},"board_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Board Type"},"total_amount":{"title":"Total Amount","type":"string"},"total_currency":{"title":"Total Currency","type":"string"},"available":{"title":"Available","type":"boolean"}},"required":["rate_id","room_type","board_type","total_amount","total_currency","available"],"title":"HotelRate","type":"object"},"HotelResult":{"properties":{"accommodation_id":{"title":"Accommodation Id","type":"string"},"name":{"title":"Name","type":"string"},"city_code":{"title":"City Code","type":"string"},"check_in":{"title":"Check In","type":"string"},"check_out":{"title":"Check Out","type":"string"},"guests":{"title":"Guests","type":"integer"},"rating":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Rating"},"cheapest_rate":{"anyOf":[{"$ref":"#/$defs/HotelRate"},{"type":"null"}]},"book_url":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"Book Url"}},"required":["accommodation_id","name","city_code","check_in","check_out","guests","rating","cheapest_rate"],"title":"HotelResult","type":"object"},"HotelSearchResult":{"properties":{"city_code":{"title":"City Code","type":"string"},"check_in":{"title":"Check In","type":"string"},"check_out":{"title":"Check Out","type":"string"},"guests":{"title":"Guests","type":"integer"},"results":{"items":{"$ref":"#/$defs/HotelResult"},"title":"Results","type":"array"},"truncated":{"default":false,"title":"Truncated","type":"boolean"}},"required":["city_code","check_in","check_out","guests","results"],"title":"HotelSearchResult","type":"object"},"VenueWeather":{"properties":{"venue_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Venue Id"},"venue_name":{"title":"Venue Name","type":"string"},"latitude":{"title":"Latitude","type":"number"},"longitude":{"title":"Longitude","type":"number"},"timezone":{"title":"Timezone","type":"string"},"current":{"$ref":"#/$defs/CurrentWeather"}},"required":["venue_id","venue_name","latitude","longitude","timezone","current"],"title":"VenueWeather","type":"object"},"WCMatch":{"properties":{"match_id":{"title":"Match Id","type":"integer"},"date_utc":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Date Utc"},"status":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Status"},"round":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Round"},"home_team":{"$ref":"#/$defs/WCTeam"},"away_team":{"$ref":"#/$defs/WCTeam"},"score":{"anyOf":[{"$ref":"#/$defs/WCScore"},{"type":"null"}]},"venue":{"anyOf":[{"$ref":"#/$defs/WCVenueEnriched"},{"type":"null"}]}},"required":["match_id","date_utc","status","round","home_team","away_team","score","venue"],"title":"WCMatch","type":"object"},"WCScore":{"properties":{"home":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Home"},"away":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Away"}},"required":["home","away"],"title":"WCScore","type":"object"},"WCTeam":{"properties":{"id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Id"},"name":{"title":"Name","type":"string"},"country":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Country"}},"required":["id","name","country"],"title":"WCTeam","type":"object"},"WCVenueEnriched":{"properties":{"slug":{"title":"Slug","type":"string"},"stadium_name":{"title":"Stadium Name","type":"string"},"city":{"title":"City","type":"string"},"country":{"title":"Country","type":"string"},"latitude":{"title":"Latitude","type":"number"},"longitude":{"title":"Longitude","type":"number"},"airport_iata":{"title":"Airport Iata","type":"string"},"transit_tips":{"title":"Transit Tips","type":"string"}},"required":["slug","stadium_name","city","country","latitude","longitude","airport_iata","transit_tips"],"title":"WCVenueEnriched","type":"object"}},"properties":{"league":{"default":"FIFA World Cup 2026","title":"League","type":"string"},"season":{"default":2026,"title":"Season","type":"integer"},"matches":{"items":{"$ref":"#/$defs/WCMatch"},"title":"Matches","type":"array"},"weather":{"anyOf":[{"$ref":"#/$defs/VenueWeather"},{"type":"null"}],"default":null},"flights":{"anyOf":[{"$ref":"#/$defs/FlightSearchResult"},{"type":"null"}],"default":null},"hotels":{"anyOf":[{"$ref":"#/$defs/HotelSearchResult"},{"type":"null"}],"default":null}},"required":["matches"],"title":"WorldCupBundle","type":"object"},"MLBFantasyPlayer":{"properties":{"player_id":{"title":"Player Id","type":"string"},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"Name"},"position":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"Position"},"team":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"Team"},"opponent":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"Opponent"},"home_away":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"Home Away"},"game_pk":{"anyOf":[{"type":"integer"},{"type":"null"}],"default":null,"title":"Game Pk"},"handedness":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"Handedness"},"is_pitcher":{"default":false,"title":"Is Pitcher","type":"boolean"},"batting_order":{"anyOf":[{"type":"integer"},{"type":"null"}],"default":null,"title":"Batting Order"},"lineup_status":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"Lineup Status"},"fanfare_baseline_score":{"anyOf":[{"type":"number"},{"type":"null"}],"default":null,"title":"Fanfare Baseline Score"},"projected_points":{"anyOf":[{"type":"number"},{"type":"null"}],"default":null,"title":"Projected Points"},"ceiling":{"anyOf":[{"type":"number"},{"type":"null"}],"default":null,"title":"Ceiling"},"floor":{"anyOf":[{"type":"number"},{"type":"null"}],"default":null,"title":"Floor"},"matchup_quality":{"anyOf":[{"type":"number"},{"type":"null"}],"default":null,"title":"Matchup Quality"},"baseline_weights_version":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"Baseline Weights Version"},"opp_pitcher":{"anyOf":[{"type":"object"},{"type":"null"}],"default":null,"title":"Opp Pitcher"},"platoon_advantage":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"Platoon Advantage"},"recent_form_l15":{"anyOf":[{"type":"object"},{"type":"null"}],"default":null,"title":"Recent Form L15"},"recent_form_l30":{"anyOf":[{"type":"object"},{"type":"null"}],"default":null,"title":"Recent Form L30"},"bvp_career":{"anyOf":[{"type":"object"},{"type":"null"}],"default":null,"title":"Bvp Career"},"bvp_sample_size":{"anyOf":[{"type":"integer"},{"type":"null"}],"default":null,"title":"Bvp Sample Size"},"contact_quality_proxy":{"anyOf":[{"type":"object"},{"type":"null"}],"default":null,"title":"Contact Quality Proxy"},"expected_role":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"Expected Role"},"expected_innings":{"anyOf":[{"type":"number"},{"type":"null"}],"default":null,"title":"Expected Innings"},"recent_era_l3":{"anyOf":[{"type":"number"},{"type":"null"}],"default":null,"title":"Recent Era L3"},"recent_whip_l3":{"anyOf":[{"type":"number"},{"type":"null"}],"default":null,"title":"Recent Whip L3"},"recent_k_per_9_l3":{"anyOf":[{"type":"number"},{"type":"null"}],"default":null,"title":"Recent K Per 9 L3"},"recent_bb_per_9_l3":{"anyOf":[{"type":"number"},{"type":"null"}],"default":null,"title":"Recent Bb Per 9 L3"},"opposing_team_total":{"anyOf":[{"type":"number"},{"type":"null"}],"default":null,"title":"Opposing Team Total"},"park_factor_hr":{"anyOf":[{"type":"number"},{"type":"null"}],"default":null,"title":"Park Factor Hr"},"park_factor_runs":{"anyOf":[{"type":"number"},{"type":"null"}],"default":null,"title":"Park Factor Runs"},"vegas_implied_team_total":{"anyOf":[{"type":"number"},{"type":"null"}],"default":null,"title":"Vegas Implied Team Total"},"vegas_team_total_rank":{"anyOf":[{"type":"integer"},{"type":"null"}],"default":null,"title":"Vegas Team Total Rank"},"weather_impact":{"anyOf":[{"type":"object"},{"type":"null"}],"default":null,"title":"Weather Impact"},"late_news":{"default":[],"items":{},"title":"Late News","type":"array"}},"required":["player_id"],"title":"MLBFantasyPlayer","type":"object"},"MLBFantasySlateContext":{"properties":{"games":{"default":[],"items":{"type":"object"},"title":"Games","type":"array"},"team_implied_totals":{"default":{},"title":"Team Implied Totals","type":"object"},"weather_by_game":{"default":{},"title":"Weather By Game","type":"object"}},"title":"SlateContextResult","type":"object"},"MLBFantasyProjections":{"$defs":{"MLBFantasyPlayer":{"properties":{"player_id":{"title":"Player Id","type":"string"},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"Name"},"position":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"Position"},"team":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"Team"},"opponent":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"Opponent"},"home_away":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"Home Away"},"game_pk":{"anyOf":[{"type":"integer"},{"type":"null"}],"default":null,"title":"Game Pk"},"handedness":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"Handedness"},"is_pitcher":{"default":false,"title":"Is Pitcher","type":"boolean"},"batting_order":{"anyOf":[{"type":"integer"},{"type":"null"}],"default":null,"title":"Batting Order"},"lineup_status":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"Lineup Status"},"fanfare_baseline_score":{"anyOf":[{"type":"number"},{"type":"null"}],"default":null,"title":"Fanfare Baseline Score"},"projected_points":{"anyOf":[{"type":"number"},{"type":"null"}],"default":null,"title":"Projected Points"},"ceiling":{"anyOf":[{"type":"number"},{"type":"null"}],"default":null,"title":"Ceiling"},"floor":{"anyOf":[{"type":"number"},{"type":"null"}],"default":null,"title":"Floor"},"matchup_quality":{"anyOf":[{"type":"number"},{"type":"null"}],"default":null,"title":"Matchup Quality"},"baseline_weights_version":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"Baseline Weights Version"},"opp_pitcher":{"anyOf":[{"type":"object"},{"type":"null"}],"default":null,"title":"Opp Pitcher"},"platoon_advantage":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"Platoon Advantage"},"recent_form_l15":{"anyOf":[{"type":"object"},{"type":"null"}],"default":null,"title":"Recent Form L15"},"recent_form_l30":{"anyOf":[{"type":"object"},{"type":"null"}],"default":null,"title":"Recent Form L30"},"bvp_career":{"anyOf":[{"type":"object"},{"type":"null"}],"default":null,"title":"Bvp Career"},"bvp_sample_size":{"anyOf":[{"type":"integer"},{"type":"null"}],"default":null,"title":"Bvp Sample Size"},"contact_quality_proxy":{"anyOf":[{"type":"object"},{"type":"null"}],"default":null,"title":"Contact Quality Proxy"},"expected_role":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"Expected Role"},"expected_innings":{"anyOf":[{"type":"number"},{"type":"null"}],"default":null,"title":"Expected Innings"},"recent_era_l3":{"anyOf":[{"type":"number"},{"type":"null"}],"default":null,"title":"Recent Era L3"},"recent_whip_l3":{"anyOf":[{"type":"number"},{"type":"null"}],"default":null,"title":"Recent Whip L3"},"recent_k_per_9_l3":{"anyOf":[{"type":"number"},{"type":"null"}],"default":null,"title":"Recent K Per 9 L3"},"recent_bb_per_9_l3":{"anyOf":[{"type":"number"},{"type":"null"}],"default":null,"title":"Recent Bb Per 9 L3"},"opposing_team_total":{"anyOf":[{"type":"number"},{"type":"null"}],"default":null,"title":"Opposing Team Total"},"park_factor_hr":{"anyOf":[{"type":"number"},{"type":"null"}],"default":null,"title":"Park Factor Hr"},"park_factor_runs":{"anyOf":[{"type":"number"},{"type":"null"}],"default":null,"title":"Park Factor Runs"},"vegas_implied_team_total":{"anyOf":[{"type":"number"},{"type":"null"}],"default":null,"title":"Vegas Implied Team Total"},"vegas_team_total_rank":{"anyOf":[{"type":"integer"},{"type":"null"}],"default":null,"title":"Vegas Team Total Rank"},"weather_impact":{"anyOf":[{"type":"object"},{"type":"null"}],"default":null,"title":"Weather Impact"},"late_news":{"default":[],"items":{},"title":"Late News","type":"array"}},"required":["player_id"],"title":"MLBFantasyPlayer","type":"object"},"StackEntry":{"properties":{"team":{"title":"Team","type":"string"},"stack_score":{"title":"Stack Score","type":"number"},"implied_total":{"anyOf":[{"type":"number"},{"type":"null"}],"default":null,"title":"Implied Total"},"park_factor_runs":{"anyOf":[{"type":"number"},{"type":"null"}],"default":null,"title":"Park Factor Runs"},"weather_summary":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"Weather Summary"},"top_order":{"default":[],"items":{"type":"string"},"title":"Top Order","type":"array"}},"required":["team","stack_score"],"title":"StackEntry","type":"object"}},"properties":{"players":{"default":[],"items":{"$ref":"#/$defs/MLBFantasyPlayer"},"title":"Players","type":"array"},"stacks":{"default":[],"items":{"$ref":"#/$defs/StackEntry"},"title":"Stacks","type":"array"},"slate_context_summary":{"default":{},"title":"Slate Context Summary","type":"object"}},"title":"ProjectionsResult","type":"object"},"MLBFantasyLineups":{"$defs":{"LineupGame":{"properties":{"game_pk":{"anyOf":[{"type":"integer"},{"type":"null"}],"default":null,"title":"Game Pk"},"home_team":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"Home Team"},"away_team":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"Away Team"},"home_lineup":{"default":[],"items":{"type":"object"},"title":"Home Lineup","type":"array"},"away_lineup":{"default":[],"items":{"type":"object"},"title":"Away Lineup","type":"array"},"home_probable_pitcher":{"anyOf":[{"type":"object"},{"type":"null"}],"default":null,"title":"Home Probable Pitcher"},"away_probable_pitcher":{"anyOf":[{"type":"object"},{"type":"null"}],"default":null,"title":"Away Probable Pitcher"},"late_scratches":{"default":[],"items":{"type":"object"},"title":"Late Scratches","type":"array"}},"title":"LineupGame","type":"object"}},"properties":{"games":{"default":[],"items":{"$ref":"#/$defs/LineupGame"},"title":"Games","type":"array"}},"title":"LineupsResult","type":"object"},"MLBFantasyLateSwap":{"$defs":{"ChangedPlayer":{"properties":{"player_id":{"title":"Player Id","type":"string"},"game_pk":{"anyOf":[{"type":"integer"},{"type":"null"}],"default":null,"title":"Game Pk"},"change_type":{"title":"Change Type","type":"string"}},"required":["player_id","change_type"],"title":"ChangedPlayer","type":"object"}},"properties":{"changed_players":{"default":[],"items":{"$ref":"#/$defs/ChangedPlayer"},"title":"Changed Players","type":"array"}},"title":"LateSwapResult","type":"object"},"MLBFantasySlateBundle":{"$defs":{"ChangedPlayer":{"properties":{"player_id":{"title":"Player Id","type":"string"},"game_pk":{"anyOf":[{"type":"integer"},{"type":"null"}],"default":null,"title":"Game Pk"},"change_type":{"title":"Change Type","type":"string"}},"required":["player_id","change_type"],"title":"ChangedPlayer","type":"object"},"LineupGame":{"properties":{"game_pk":{"anyOf":[{"type":"integer"},{"type":"null"}],"default":null,"title":"Game Pk"},"home_team":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"Home Team"},"away_team":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"Away Team"},"home_lineup":{"default":[],"items":{"type":"object"},"title":"Home Lineup","type":"array"},"away_lineup":{"default":[],"items":{"type":"object"},"title":"Away Lineup","type":"array"},"home_probable_pitcher":{"anyOf":[{"type":"object"},{"type":"null"}],"default":null,"title":"Home Probable Pitcher"},"away_probable_pitcher":{"anyOf":[{"type":"object"},{"type":"null"}],"default":null,"title":"Away Probable Pitcher"},"late_scratches":{"default":[],"items":{"type":"object"},"title":"Late Scratches","type":"array"}},"title":"LineupGame","type":"object"},"MLBFantasyPlayer":{"properties":{"player_id":{"title":"Player Id","type":"string"},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"Name"},"position":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"Position"},"team":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"Team"},"opponent":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"Opponent"},"home_away":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"Home Away"},"game_pk":{"anyOf":[{"type":"integer"},{"type":"null"}],"default":null,"title":"Game Pk"},"handedness":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"Handedness"},"is_pitcher":{"default":false,"title":"Is Pitcher","type":"boolean"},"batting_order":{"anyOf":[{"type":"integer"},{"type":"null"}],"default":null,"title":"Batting Order"},"lineup_status":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"Lineup Status"},"fanfare_baseline_score":{"anyOf":[{"type":"number"},{"type":"null"}],"default":null,"title":"Fanfare Baseline Score"},"projected_points":{"anyOf":[{"type":"number"},{"type":"null"}],"default":null,"title":"Projected Points"},"ceiling":{"anyOf":[{"type":"number"},{"type":"null"}],"default":null,"title":"Ceiling"},"floor":{"anyOf":[{"type":"number"},{"type":"null"}],"default":null,"title":"Floor"},"matchup_quality":{"anyOf":[{"type":"number"},{"type":"null"}],"default":null,"title":"Matchup Quality"},"baseline_weights_version":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"Baseline Weights Version"},"opp_pitcher":{"anyOf":[{"type":"object"},{"type":"null"}],"default":null,"title":"Opp Pitcher"},"platoon_advantage":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"Platoon Advantage"},"recent_form_l15":{"anyOf":[{"type":"object"},{"type":"null"}],"default":null,"title":"Recent Form L15"},"recent_form_l30":{"anyOf":[{"type":"object"},{"type":"null"}],"default":null,"title":"Recent Form L30"},"bvp_career":{"anyOf":[{"type":"object"},{"type":"null"}],"default":null,"title":"Bvp Career"},"bvp_sample_size":{"anyOf":[{"type":"integer"},{"type":"null"}],"default":null,"title":"Bvp Sample Size"},"contact_quality_proxy":{"anyOf":[{"type":"object"},{"type":"null"}],"default":null,"title":"Contact Quality Proxy"},"expected_role":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"Expected Role"},"expected_innings":{"anyOf":[{"type":"number"},{"type":"null"}],"default":null,"title":"Expected Innings"},"recent_era_l3":{"anyOf":[{"type":"number"},{"type":"null"}],"default":null,"title":"Recent Era L3"},"recent_whip_l3":{"anyOf":[{"type":"number"},{"type":"null"}],"default":null,"title":"Recent Whip L3"},"recent_k_per_9_l3":{"anyOf":[{"type":"number"},{"type":"null"}],"default":null,"title":"Recent K Per 9 L3"},"recent_bb_per_9_l3":{"anyOf":[{"type":"number"},{"type":"null"}],"default":null,"title":"Recent Bb Per 9 L3"},"opposing_team_total":{"anyOf":[{"type":"number"},{"type":"null"}],"default":null,"title":"Opposing Team Total"},"park_factor_hr":{"anyOf":[{"type":"number"},{"type":"null"}],"default":null,"title":"Park Factor Hr"},"park_factor_runs":{"anyOf":[{"type":"number"},{"type":"null"}],"default":null,"title":"Park Factor Runs"},"vegas_implied_team_total":{"anyOf":[{"type":"number"},{"type":"null"}],"default":null,"title":"Vegas Implied Team Total"},"vegas_team_total_rank":{"anyOf":[{"type":"integer"},{"type":"null"}],"default":null,"title":"Vegas Team Total Rank"},"weather_impact":{"anyOf":[{"type":"object"},{"type":"null"}],"default":null,"title":"Weather Impact"},"late_news":{"default":[],"items":{},"title":"Late News","type":"array"}},"required":["player_id"],"title":"MLBFantasyPlayer","type":"object"},"SlateContextResult":{"properties":{"games":{"default":[],"items":{"type":"object"},"title":"Games","type":"array"},"team_implied_totals":{"default":{},"title":"Team Implied Totals","type":"object"},"weather_by_game":{"default":{},"title":"Weather By Game","type":"object"}},"title":"SlateContextResult","type":"object"},"StackEntry":{"properties":{"team":{"title":"Team","type":"string"},"stack_score":{"title":"Stack Score","type":"number"},"implied_total":{"anyOf":[{"type":"number"},{"type":"null"}],"default":null,"title":"Implied Total"},"park_factor_runs":{"anyOf":[{"type":"number"},{"type":"null"}],"default":null,"title":"Park Factor Runs"},"weather_summary":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"Weather Summary"},"top_order":{"default":[],"items":{"type":"string"},"title":"Top Order","type":"array"}},"required":["team","stack_score"],"title":"StackEntry","type":"object"}},"properties":{"slate_context":{"anyOf":[{"$ref":"#/$defs/SlateContextResult"},{"type":"null"}],"default":null},"players":{"default":[],"items":{"$ref":"#/$defs/MLBFantasyPlayer"},"title":"Players","type":"array"},"stacks":{"default":[],"items":{"$ref":"#/$defs/StackEntry"},"title":"Stacks","type":"array"},"lineups":{"default":[],"items":{"$ref":"#/$defs/LineupGame"},"title":"Lineups","type":"array"},"changed_players":{"default":[],"items":{"$ref":"#/$defs/ChangedPlayer"},"title":"Changed Players","type":"array"}},"title":"SlateBundleResult","type":"object"},"BetContext":{"$defs":{"BetLine":{"properties":{"total":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Total"},"home_spread":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Home Spread"},"books_counted":{"title":"Books Counted","type":"integer"},"source":{"default":"the_odds_api","title":"Source","type":"string"}},"required":["total","home_spread","books_counted"],"title":"BetLine","type":"object"},"BetWeather":{"properties":{"time":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Time"},"temperature_f":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Temperature F"},"wind_mph":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Wind Mph"},"wind_dir_from_deg":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Wind Dir From Deg"},"precip_pct":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Precip Pct"}},"required":["time","temperature_f","wind_mph","wind_dir_from_deg","precip_pct"],"title":"BetWeather","type":"object"},"TeamSide":{"properties":{"team_id":{"title":"Team Id","type":"string"},"name":{"title":"Name","type":"string"},"implied_total":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Implied Total"},"rest_days":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Rest Days"},"probable_pitcher":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Probable Pitcher"}},"required":["team_id","name","implied_total","rest_days","probable_pitcher"],"title":"TeamSide","type":"object"}},"properties":{"game_pk":{"title":"Game Pk","type":"string"},"status":{"title":"Status","type":"string"},"first_pitch_utc":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"First Pitch Utc"},"venue":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Venue"},"home":{"$ref":"#/$defs/TeamSide"},"away":{"$ref":"#/$defs/TeamSide"},"line":{"$ref":"#/$defs/BetLine"},"crew":{"items":{"type":"string"},"title":"Crew","type":"array"},"weather":{"anyOf":[{"$ref":"#/$defs/BetWeather"},{"type":"null"}]}},"required":["game_pk","status","first_pitch_utc","venue","home","away","line","crew","weather"],"title":"BetContext","type":"object"},"MomentsResult":{"$defs":{"Moment":{"properties":{"timestamp":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Timestamp"},"inning":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Inning"},"type":{"title":"Type","type":"string"},"player_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Player Name"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"leverage_index":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Leverage Index"},"score_after":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Score After"}},"required":["timestamp","inning","type","player_name","description","leverage_index","score_after"],"title":"Moment","type":"object"}},"properties":{"game_id":{"title":"Game Id","type":"string"},"moment_count":{"title":"Moment Count","type":"integer"},"moments":{"items":{"$ref":"#/$defs/Moment"},"title":"Moments","type":"array"}},"required":["game_id","moment_count","moments"],"title":"MomentsResult","type":"object"},"ChartResult":{"properties":{"chart_type":{"title":"Chart Type","type":"string"},"entity_id":{"title":"Entity Id","type":"string"},"metric":{"title":"Metric","type":"string"},"window":{"title":"Window","type":"string"},"chart_json":{"title":"Chart Json","type":"object"},"svg":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Svg"}},"required":["chart_type","entity_id","metric","window","chart_json","svg"],"title":"ChartResult","type":"object"},"GamesOfInterestResult":{"$defs":{"GameOfInterest":{"properties":{"game_id":{"title":"Game Id","type":"string"},"matchup":{"title":"Matchup","type":"string"},"first_pitch_utc":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"First Pitch Utc"},"watchability":{"title":"Watchability","type":"number"},"reasons":{"items":{"type":"string"},"title":"Reasons","type":"array"}},"required":["game_id","matchup","first_pitch_utc","watchability","reasons"],"title":"GameOfInterest","type":"object"}},"properties":{"date":{"title":"Date","type":"string"},"games":{"items":{"$ref":"#/$defs/GameOfInterest"},"title":"Games","type":"array"}},"required":["date","games"],"title":"GamesOfInterestResult","type":"object"},"AnomaliesResult":{"$defs":{"Anomaly":{"properties":{"stat":{"title":"Stat","type":"string"},"window_per_game":{"title":"Window Per Game","type":"number"},"season_per_game":{"title":"Season Per Game","type":"number"},"z_score":{"title":"Z Score","type":"number"},"direction":{"title":"Direction","type":"string"}},"required":["stat","window_per_game","season_per_game","z_score","direction"],"title":"Anomaly","type":"object"}},"properties":{"player_id":{"title":"Player Id","type":"string"},"window":{"title":"Window","type":"string"},"games_in_window":{"title":"Games In Window","type":"integer"},"anomalies":{"items":{"$ref":"#/$defs/Anomaly"},"title":"Anomalies","type":"array"}},"required":["player_id","window","games_in_window","anomalies"],"title":"AnomaliesResult","type":"object"},"MilestonesResult":{"$defs":{"Milestone":{"properties":{"stat":{"title":"Stat","type":"string"},"current":{"title":"Current","type":"integer"},"next_threshold":{"title":"Next Threshold","type":"integer"},"needed":{"title":"Needed","type":"integer"}},"required":["stat","current","next_threshold","needed"],"title":"Milestone","type":"object"}},"properties":{"player_id":{"title":"Player Id","type":"string"},"player_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Player Name"},"season":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Season"},"milestones":{"items":{"$ref":"#/$defs/Milestone"},"title":"Milestones","type":"array"}},"required":["player_id","player_name","season","milestones"],"title":"MilestonesResult","type":"object"},"CareerH2H":{"properties":{"batter_id":{"title":"Batter Id","type":"string"},"pitcher_id":{"title":"Pitcher Id","type":"string"},"games":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Games"},"at_bats":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"At Bats"},"hits":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Hits"},"home_runs":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Home Runs"},"rbi":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Rbi"},"strikeouts":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Strikeouts"},"walks":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Walks"},"avg":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Avg"},"ops":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Ops"}},"required":["batter_id","pitcher_id","games","at_bats","hits","home_runs","rbi","strikeouts","walks","avg","ops"],"title":"CareerH2H","type":"object"},"NarrativeResult":{"properties":{"mode":{"title":"Mode","type":"string"},"subject_id":{"title":"Subject Id","type":"string"},"headline":{"title":"Headline","type":"string"},"body":{"title":"Body","type":"string"},"tone":{"title":"Tone","type":"string"},"length":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"Length"},"scope":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"Scope"},"generated":{"title":"Generated","type":"string"},"llm":{"anyOf":[{"type":"object"},{"type":"null"}],"default":null,"title":"Llm"}},"required":["mode","subject_id","headline","body","tone","generated"],"title":"NarrativeResult","type":"object"},"HeadlinesResult":{"$defs":{"Headline":{"properties":{"tone":{"title":"Tone","type":"string"},"text":{"title":"Text","type":"string"},"chars":{"title":"Chars","type":"integer"}},"required":["tone","text","chars"],"title":"Headline","type":"object"}},"properties":{"game_id":{"title":"Game Id","type":"string"},"headlines":{"items":{"$ref":"#/$defs/Headline"},"title":"Headlines","type":"array"},"generated":{"title":"Generated","type":"string"}},"required":["game_id","headlines","generated"],"title":"HeadlinesResult","type":"object"},"NotableStatsResult":{"$defs":{"NotableCard":{"properties":{"hook":{"title":"Hook","type":"string"},"stat":{"title":"Stat","type":"string"},"share_text":{"title":"Share Text","type":"string"}},"required":["hook","stat","share_text"],"title":"NotableCard","type":"object"}},"properties":{"player_id":{"title":"Player Id","type":"string"},"player_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Player Name"},"cards":{"items":{"$ref":"#/$defs/NotableCard"},"title":"Cards","type":"array"},"generated":{"title":"Generated","type":"string"}},"required":["player_id","player_name","cards","generated"],"title":"NotableStatsResult","type":"object"},"SeasonNarrativesResult":{"$defs":{"Narrative":{"properties":{"subject_type":{"title":"Subject Type","type":"string"},"subject_id":{"title":"Subject Id","type":"string"},"story_type":{"title":"Story Type","type":"string"},"summary":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Summary"},"evidence":{"title":"Evidence","type":"object"},"computed_at":{"title":"Computed At","type":"string"},"valid_until":{"title":"Valid Until","type":"string"}},"required":["subject_type","subject_id","story_type","summary","evidence","computed_at","valid_until"],"title":"Narrative","type":"object"}},"properties":{"scope":{"title":"Scope","type":"string"},"subject_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Subject Id"},"count":{"title":"Count","type":"integer"},"narratives":{"items":{"$ref":"#/$defs/Narrative"},"title":"Narratives","type":"array"}},"required":["scope","subject_id","count","narratives"],"title":"SeasonNarrativesResult","type":"object"}}}