naftiko: 1.0.0-alpha2 info: label: MLB API — MLB v3 Stats description: 'MLB API — MLB v3 Stats. 17 operations. Lead operation: Box Score [Live & Final]. Self-contained Naftiko capability covering one Sportsdataio business surface.' tags: - Sportsdataio - MLB v3 Stats created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: SPORTSDATAIO_API_KEY: SPORTSDATAIO_API_KEY capability: consumes: - type: http namespace: mlb-mlb-v3-stats baseUri: https://api.sportsdata.io description: MLB API — MLB v3 Stats business capability. Self-contained, no shared references. resources: - name: v3-mlb-stats-format-BoxScore-gameid path: /v3/mlb/stats/{format}/BoxScore/{gameid} operations: - name: mlbv3statsboxscorelivefinal method: GET description: Box Score [Live & Final] outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: format in: path type: string description: Desired response format. Valid entries are JSON or XML. required: true - name: gameid in: path type: string description: The GameID of an MLB game. GameIDs can be found in the Games API. Valid entries are 14620 or 16905 required: true - name: v3-mlb-stats-format-BoxScoreFinal-gameid path: /v3/mlb/stats/{format}/BoxScoreFinal/{gameid} operations: - name: mlbv3statsboxscorefinal method: GET description: Box Score [Final] outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: format in: path type: string description: Desired response format. Valid entries are JSON or XML. required: true - name: gameid in: path type: string description: The GameID of an MLB game. GameIDs can be found in the Games API. Valid entries are 14620 or 16905 required: true - name: v3-mlb-stats-format-BoxScores-date path: /v3/mlb/stats/{format}/BoxScores/{date} operations: - name: mlbv3statsboxscoresbydatelivefinal method: GET description: Box Scores - by Date [Live & Final] outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: format in: path type: string description: Desired response format. Valid entries are JSON or XML. required: true - name: date in: path type: string description: The date of the game(s). required: true - name: v3-mlb-stats-format-BoxScoresDelta-date-minutes path: /v3/mlb/stats/{format}/BoxScoresDelta/{date}/{minutes} operations: - name: mlbv3statsboxscoresdeltabydate method: GET description: Box Scores Delta - by Date outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: format in: path type: string description: Desired response format. Valid entries are JSON or XML. required: true - name: date in: path type: string description: The date of the game(s). required: true - name: minutes in: path type: string description: 'Only returns player statistics that have changed in the last X minutes. You specify how many minutes in time to go back. Valid entries are:' required: true - name: v3-mlb-stats-format-BoxScoresFinal-date path: /v3/mlb/stats/{format}/BoxScoresFinal/{date} operations: - name: mlbv3statsboxscoresbydatefinal method: GET description: Box Scores - by Date [Final] outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: format in: path type: string description: Desired response format. Valid entries are JSON or XML. required: true - name: date in: path type: string description: The date of the game(s). required: true - name: v3-mlb-stats-format-FantasyGameStatsByDate-date path: /v3/mlb/stats/{format}/FantasyGameStatsByDate/{date} operations: - name: mlbv3statsfantasypointsbydate method: GET description: Fantasy Points - by Date outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: format in: path type: string description: Desired response format. Valid entries are JSON or XML. required: true - name: date in: path type: string description: The date of the game(s). required: true - name: v3-mlb-stats-format-HitterVsPitcher-hitterid-pitcherid path: /v3/mlb/stats/{format}/HitterVsPitcher/{hitterid}/{pitcherid} operations: - name: mlbv3statsbattervspitcherstats method: GET description: Batter vs. Pitcher Stats outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: format in: path type: string description: Desired response format. Valid entries are JSON or XML. required: true - name: hitterid in: path type: string description: Unique FantasyData Player ID. required: true - name: pitcherid in: path type: string description: Unique FantasyData Player ID. required: true - name: v3-mlb-stats-format-PlayerGameStatsByDate-date path: /v3/mlb/stats/{format}/PlayerGameStatsByDate/{date} operations: - name: mlbv3statsplayergamestatsbydatelivefinal method: GET description: Player Game Stats - by Date [Live & Final] outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: format in: path type: string description: Desired response format. Valid entries are JSON or XML. required: true - name: date in: path type: string description: The date of the game(s). required: true - name: v3-mlb-stats-format-PlayerGameStatsByDateFinal-date path: /v3/mlb/stats/{format}/PlayerGameStatsByDateFinal/{date} operations: - name: mlbv3statsplayergamestatsbydatefinal method: GET description: Player Game Stats - by Date [Final] outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: format in: path type: string description: Desired response format. Valid entries are JSON or XML. required: true - name: date in: path type: string description: The date of the game(s). required: true - name: v3-mlb-stats-format-PlayerGameStatsBySeason-season-playerid-numberofgames path: /v3/mlb/stats/{format}/PlayerGameStatsBySeason/{season}/{playerid}/{numberofgames} operations: - name: mlbv3statsplayergamelogsbyseason method: GET description: Player Game Logs - by Season outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: format in: path type: string description: Desired response format. Valid entries are JSON or XML. required: true - name: season in: path type: string description: Season to get games from. Example 2019POST, 2020 required: true - name: playerid in: path type: string description: Unique SportsDataIO Player ID. required: true - name: numberofgames in: path type: string description: How many games to return. Example all, 10, 25 required: true - name: v3-mlb-stats-format-PlayerSeasonAwayStats-season path: /v3/mlb/stats/{format}/PlayerSeasonAwayStats/{season} operations: - name: mlbv3statsplayerseasonstatsbyaway method: GET description: Player Season Stats - by Away outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: format in: path type: string description: Desired response format. Valid entries are JSON or XML. required: true - name: season in: path type: string description: Year of the season. required: true - name: v3-mlb-stats-format-PlayerSeasonHomeStats-season path: /v3/mlb/stats/{format}/PlayerSeasonHomeStats/{season} operations: - name: mlbv3statsplayerseasonstatsbyhome method: GET description: Player Season Stats - by Home outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: format in: path type: string description: Desired response format. Valid entries are JSON or XML. required: true - name: season in: path type: string description: Year of the season. required: true - name: v3-mlb-stats-format-PlayerSeasonSplitStats-season-split path: /v3/mlb/stats/{format}/PlayerSeasonSplitStats/{season}/{split} operations: - name: mlbv3statsplayerseasonsplitstats method: GET description: Player Season Split Stats outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: format in: path type: string description: Desired response format. Valid entries are JSON or XML. required: true - name: season in: path type: string description: Year of the season. required: true - name: split in: path type: string description: 'The desired split of stats. Currently, we support vs. Left/Right/Switch handed pitchers/hitters. Possible values are: L, R and S' required: true - name: v3-mlb-stats-format-PlayerSeasonStats-season path: /v3/mlb/stats/{format}/PlayerSeasonStats/{season} operations: - name: mlbv3statsplayerseasonstats method: GET description: Player Season Stats outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: format in: path type: string description: Desired response format. Valid entries are JSON or XML. required: true - name: season in: path type: string description: Year of the season. required: true - name: v3-mlb-stats-format-PlayerSeasonStatsByTeam-season-team path: /v3/mlb/stats/{format}/PlayerSeasonStatsByTeam/{season}/{team} operations: - name: mlbv3statsplayerseasonstatsbyteam method: GET description: Player Season Stats - by Team outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: format in: path type: string description: Desired response format. Valid entries are JSON or XML. required: true - name: season in: path type: string description: Year of the season. required: true - name: team in: path type: string description: The abbreviation of the requested team. required: true - name: v3-mlb-stats-format-PlayerSeasonStatsSplitByTeam-season path: /v3/mlb/stats/{format}/PlayerSeasonStatsSplitByTeam/{season} operations: - name: mlbv3statsplayerseasonstatssplitbyteam method: GET description: Player Season Stats Split - by Team outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: format in: path type: string description: Desired response format. Valid entries are JSON or XML. required: true - name: season in: path type: string description: Year of the season. required: true - name: v3-mlb-stats-format-TeamHittersVsPitcher-gameid-team path: /v3/mlb/stats/{format}/TeamHittersVsPitcher/{gameid}/{team} operations: - name: mlbv3statsteamhittingvsstartingpitcher method: GET description: Team Hitting vs. Starting Pitcher outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: format in: path type: string description: Desired response format. Valid entries are JSON or XML. required: true - name: gameid in: path type: string description: The GameID of an MLB game. GameIDs can be found in the Games API. Valid entries are 14620 or 16905 required: true - name: team in: path type: string description: The abbreviation of the requested team. required: true authentication: type: apikey key: Ocp-Apim-Subscription-Key value: '{{env.SPORTSDATAIO_API_KEY}}' placement: header exposes: - type: rest namespace: mlb-mlb-v3-stats-rest port: 8080 description: REST adapter for MLB API — MLB v3 Stats. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/v3/mlb/stats/{format}/boxscore/{gameid} name: v3-mlb-stats-format-boxscore-gameid description: REST surface for v3-mlb-stats-format-BoxScore-gameid. operations: - method: GET name: mlbv3statsboxscorelivefinal description: Box Score [Live & Final] call: mlb-mlb-v3-stats.mlbv3statsboxscorelivefinal with: format: rest.format gameid: rest.gameid outputParameters: - type: object mapping: $. - path: /v1/v3/mlb/stats/{format}/boxscorefinal/{gameid} name: v3-mlb-stats-format-boxscorefinal-gameid description: REST surface for v3-mlb-stats-format-BoxScoreFinal-gameid. operations: - method: GET name: mlbv3statsboxscorefinal description: Box Score [Final] call: mlb-mlb-v3-stats.mlbv3statsboxscorefinal with: format: rest.format gameid: rest.gameid outputParameters: - type: object mapping: $. - path: /v1/v3/mlb/stats/{format}/boxscores/{date} name: v3-mlb-stats-format-boxscores-date description: REST surface for v3-mlb-stats-format-BoxScores-date. operations: - method: GET name: mlbv3statsboxscoresbydatelivefinal description: Box Scores - by Date [Live & Final] call: mlb-mlb-v3-stats.mlbv3statsboxscoresbydatelivefinal with: format: rest.format date: rest.date outputParameters: - type: object mapping: $. - path: /v1/v3/mlb/stats/{format}/boxscoresdelta/{date}/{minutes} name: v3-mlb-stats-format-boxscoresdelta-date-minutes description: REST surface for v3-mlb-stats-format-BoxScoresDelta-date-minutes. operations: - method: GET name: mlbv3statsboxscoresdeltabydate description: Box Scores Delta - by Date call: mlb-mlb-v3-stats.mlbv3statsboxscoresdeltabydate with: format: rest.format date: rest.date minutes: rest.minutes outputParameters: - type: object mapping: $. - path: /v1/v3/mlb/stats/{format}/boxscoresfinal/{date} name: v3-mlb-stats-format-boxscoresfinal-date description: REST surface for v3-mlb-stats-format-BoxScoresFinal-date. operations: - method: GET name: mlbv3statsboxscoresbydatefinal description: Box Scores - by Date [Final] call: mlb-mlb-v3-stats.mlbv3statsboxscoresbydatefinal with: format: rest.format date: rest.date outputParameters: - type: object mapping: $. - path: /v1/v3/mlb/stats/{format}/fantasygamestatsbydate/{date} name: v3-mlb-stats-format-fantasygamestatsbydate-date description: REST surface for v3-mlb-stats-format-FantasyGameStatsByDate-date. operations: - method: GET name: mlbv3statsfantasypointsbydate description: Fantasy Points - by Date call: mlb-mlb-v3-stats.mlbv3statsfantasypointsbydate with: format: rest.format date: rest.date outputParameters: - type: object mapping: $. - path: /v1/v3/mlb/stats/{format}/hittervspitcher/{hitterid}/{pitcherid} name: v3-mlb-stats-format-hittervspitcher-hitterid-pitcherid description: REST surface for v3-mlb-stats-format-HitterVsPitcher-hitterid-pitcherid. operations: - method: GET name: mlbv3statsbattervspitcherstats description: Batter vs. Pitcher Stats call: mlb-mlb-v3-stats.mlbv3statsbattervspitcherstats with: format: rest.format hitterid: rest.hitterid pitcherid: rest.pitcherid outputParameters: - type: object mapping: $. - path: /v1/v3/mlb/stats/{format}/playergamestatsbydate/{date} name: v3-mlb-stats-format-playergamestatsbydate-date description: REST surface for v3-mlb-stats-format-PlayerGameStatsByDate-date. operations: - method: GET name: mlbv3statsplayergamestatsbydatelivefinal description: Player Game Stats - by Date [Live & Final] call: mlb-mlb-v3-stats.mlbv3statsplayergamestatsbydatelivefinal with: format: rest.format date: rest.date outputParameters: - type: object mapping: $. - path: /v1/v3/mlb/stats/{format}/playergamestatsbydatefinal/{date} name: v3-mlb-stats-format-playergamestatsbydatefinal-date description: REST surface for v3-mlb-stats-format-PlayerGameStatsByDateFinal-date. operations: - method: GET name: mlbv3statsplayergamestatsbydatefinal description: Player Game Stats - by Date [Final] call: mlb-mlb-v3-stats.mlbv3statsplayergamestatsbydatefinal with: format: rest.format date: rest.date outputParameters: - type: object mapping: $. - path: /v1/v3/mlb/stats/{format}/playergamestatsbyseason/{season}/{playerid}/{numberofgames} name: v3-mlb-stats-format-playergamestatsbyseason-season-playerid-numberofgames description: REST surface for v3-mlb-stats-format-PlayerGameStatsBySeason-season-playerid-numberofgames. operations: - method: GET name: mlbv3statsplayergamelogsbyseason description: Player Game Logs - by Season call: mlb-mlb-v3-stats.mlbv3statsplayergamelogsbyseason with: format: rest.format season: rest.season playerid: rest.playerid numberofgames: rest.numberofgames outputParameters: - type: object mapping: $. - path: /v1/v3/mlb/stats/{format}/playerseasonawaystats/{season} name: v3-mlb-stats-format-playerseasonawaystats-season description: REST surface for v3-mlb-stats-format-PlayerSeasonAwayStats-season. operations: - method: GET name: mlbv3statsplayerseasonstatsbyaway description: Player Season Stats - by Away call: mlb-mlb-v3-stats.mlbv3statsplayerseasonstatsbyaway with: format: rest.format season: rest.season outputParameters: - type: object mapping: $. - path: /v1/v3/mlb/stats/{format}/playerseasonhomestats/{season} name: v3-mlb-stats-format-playerseasonhomestats-season description: REST surface for v3-mlb-stats-format-PlayerSeasonHomeStats-season. operations: - method: GET name: mlbv3statsplayerseasonstatsbyhome description: Player Season Stats - by Home call: mlb-mlb-v3-stats.mlbv3statsplayerseasonstatsbyhome with: format: rest.format season: rest.season outputParameters: - type: object mapping: $. - path: /v1/v3/mlb/stats/{format}/playerseasonsplitstats/{season}/{split} name: v3-mlb-stats-format-playerseasonsplitstats-season-split description: REST surface for v3-mlb-stats-format-PlayerSeasonSplitStats-season-split. operations: - method: GET name: mlbv3statsplayerseasonsplitstats description: Player Season Split Stats call: mlb-mlb-v3-stats.mlbv3statsplayerseasonsplitstats with: format: rest.format season: rest.season split: rest.split outputParameters: - type: object mapping: $. - path: /v1/v3/mlb/stats/{format}/playerseasonstats/{season} name: v3-mlb-stats-format-playerseasonstats-season description: REST surface for v3-mlb-stats-format-PlayerSeasonStats-season. operations: - method: GET name: mlbv3statsplayerseasonstats description: Player Season Stats call: mlb-mlb-v3-stats.mlbv3statsplayerseasonstats with: format: rest.format season: rest.season outputParameters: - type: object mapping: $. - path: /v1/v3/mlb/stats/{format}/playerseasonstatsbyteam/{season}/{team} name: v3-mlb-stats-format-playerseasonstatsbyteam-season-team description: REST surface for v3-mlb-stats-format-PlayerSeasonStatsByTeam-season-team. operations: - method: GET name: mlbv3statsplayerseasonstatsbyteam description: Player Season Stats - by Team call: mlb-mlb-v3-stats.mlbv3statsplayerseasonstatsbyteam with: format: rest.format season: rest.season team: rest.team outputParameters: - type: object mapping: $. - path: /v1/v3/mlb/stats/{format}/playerseasonstatssplitbyteam/{season} name: v3-mlb-stats-format-playerseasonstatssplitbyteam-season description: REST surface for v3-mlb-stats-format-PlayerSeasonStatsSplitByTeam-season. operations: - method: GET name: mlbv3statsplayerseasonstatssplitbyteam description: Player Season Stats Split - by Team call: mlb-mlb-v3-stats.mlbv3statsplayerseasonstatssplitbyteam with: format: rest.format season: rest.season outputParameters: - type: object mapping: $. - path: /v1/v3/mlb/stats/{format}/teamhittersvspitcher/{gameid}/{team} name: v3-mlb-stats-format-teamhittersvspitcher-gameid-team description: REST surface for v3-mlb-stats-format-TeamHittersVsPitcher-gameid-team. operations: - method: GET name: mlbv3statsteamhittingvsstartingpitcher description: Team Hitting vs. Starting Pitcher call: mlb-mlb-v3-stats.mlbv3statsteamhittingvsstartingpitcher with: format: rest.format gameid: rest.gameid team: rest.team outputParameters: - type: object mapping: $. - type: mcp namespace: mlb-mlb-v3-stats-mcp port: 9090 transport: http description: MCP adapter for MLB API — MLB v3 Stats. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: box-score-live-final description: Box Score [Live & Final] hints: readOnly: true destructive: false idempotent: true call: mlb-mlb-v3-stats.mlbv3statsboxscorelivefinal with: format: tools.format gameid: tools.gameid outputParameters: - type: object mapping: $. - name: box-score-final description: Box Score [Final] hints: readOnly: true destructive: false idempotent: true call: mlb-mlb-v3-stats.mlbv3statsboxscorefinal with: format: tools.format gameid: tools.gameid outputParameters: - type: object mapping: $. - name: box-scores-date-live-final description: Box Scores - by Date [Live & Final] hints: readOnly: true destructive: false idempotent: true call: mlb-mlb-v3-stats.mlbv3statsboxscoresbydatelivefinal with: format: tools.format date: tools.date outputParameters: - type: object mapping: $. - name: box-scores-delta-date description: Box Scores Delta - by Date hints: readOnly: true destructive: false idempotent: true call: mlb-mlb-v3-stats.mlbv3statsboxscoresdeltabydate with: format: tools.format date: tools.date minutes: tools.minutes outputParameters: - type: object mapping: $. - name: box-scores-date-final description: Box Scores - by Date [Final] hints: readOnly: true destructive: false idempotent: true call: mlb-mlb-v3-stats.mlbv3statsboxscoresbydatefinal with: format: tools.format date: tools.date outputParameters: - type: object mapping: $. - name: fantasy-points-date description: Fantasy Points - by Date hints: readOnly: true destructive: false idempotent: true call: mlb-mlb-v3-stats.mlbv3statsfantasypointsbydate with: format: tools.format date: tools.date outputParameters: - type: object mapping: $. - name: batter-vs-pitcher-stats description: Batter vs. Pitcher Stats hints: readOnly: true destructive: false idempotent: true call: mlb-mlb-v3-stats.mlbv3statsbattervspitcherstats with: format: tools.format hitterid: tools.hitterid pitcherid: tools.pitcherid outputParameters: - type: object mapping: $. - name: player-game-stats-date-live description: Player Game Stats - by Date [Live & Final] hints: readOnly: true destructive: false idempotent: true call: mlb-mlb-v3-stats.mlbv3statsplayergamestatsbydatelivefinal with: format: tools.format date: tools.date outputParameters: - type: object mapping: $. - name: player-game-stats-date-final description: Player Game Stats - by Date [Final] hints: readOnly: true destructive: false idempotent: true call: mlb-mlb-v3-stats.mlbv3statsplayergamestatsbydatefinal with: format: tools.format date: tools.date outputParameters: - type: object mapping: $. - name: player-game-logs-season description: Player Game Logs - by Season hints: readOnly: true destructive: false idempotent: true call: mlb-mlb-v3-stats.mlbv3statsplayergamelogsbyseason with: format: tools.format season: tools.season playerid: tools.playerid numberofgames: tools.numberofgames outputParameters: - type: object mapping: $. - name: player-season-stats-away description: Player Season Stats - by Away hints: readOnly: true destructive: false idempotent: true call: mlb-mlb-v3-stats.mlbv3statsplayerseasonstatsbyaway with: format: tools.format season: tools.season outputParameters: - type: object mapping: $. - name: player-season-stats-home description: Player Season Stats - by Home hints: readOnly: true destructive: false idempotent: true call: mlb-mlb-v3-stats.mlbv3statsplayerseasonstatsbyhome with: format: tools.format season: tools.season outputParameters: - type: object mapping: $. - name: player-season-split-stats description: Player Season Split Stats hints: readOnly: true destructive: false idempotent: true call: mlb-mlb-v3-stats.mlbv3statsplayerseasonsplitstats with: format: tools.format season: tools.season split: tools.split outputParameters: - type: object mapping: $. - name: player-season-stats description: Player Season Stats hints: readOnly: true destructive: false idempotent: true call: mlb-mlb-v3-stats.mlbv3statsplayerseasonstats with: format: tools.format season: tools.season outputParameters: - type: object mapping: $. - name: player-season-stats-team description: Player Season Stats - by Team hints: readOnly: true destructive: false idempotent: true call: mlb-mlb-v3-stats.mlbv3statsplayerseasonstatsbyteam with: format: tools.format season: tools.season team: tools.team outputParameters: - type: object mapping: $. - name: player-season-stats-split-team description: Player Season Stats Split - by Team hints: readOnly: true destructive: false idempotent: true call: mlb-mlb-v3-stats.mlbv3statsplayerseasonstatssplitbyteam with: format: tools.format season: tools.season outputParameters: - type: object mapping: $. - name: team-hitting-vs-starting-pitcher description: Team Hitting vs. Starting Pitcher hints: readOnly: true destructive: false idempotent: true call: mlb-mlb-v3-stats.mlbv3statsteamhittingvsstartingpitcher with: format: tools.format gameid: tools.gameid team: tools.team outputParameters: - type: object mapping: $.