naftiko: 1.0.0-alpha2 info: label: NHL API — NHL v3 Stats description: 'NHL API — NHL v3 Stats. 14 operations. Lead operation: Box Score [Live & Final]. Self-contained Naftiko capability covering one Sportsdataio business surface.' tags: - Sportsdataio - NHL 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: nhl-nhl-v3-stats baseUri: https://api.sportsdata.io description: NHL API — NHL v3 Stats business capability. Self-contained, no shared references. resources: - name: v3-nhl-stats-format-BoxScore-gameid path: /v3/nhl/stats/{format}/BoxScore/{gameid} operations: - name: nhlv3statsboxscorelivefinal 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 NHL game. GameIDs can be found in the Games API. Valid entries are 14620 or 16905 required: true - name: v3-nhl-stats-format-BoxScoreFinal-gameid path: /v3/nhl/stats/{format}/BoxScoreFinal/{gameid} operations: - name: nhlv3statsboxscorefinal 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 NHL game. GameIDs can be found in the Games API. Valid entries are 14620 or 16905 required: true - name: v3-nhl-stats-format-BoxScores-date path: /v3/nhl/stats/{format}/BoxScores/{date} operations: - name: nhlv3statsboxscoresbydatelivefinal 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-nhl-stats-format-BoxScoresDelta-date-minutes path: /v3/nhl/stats/{format}/BoxScoresDelta/{date}/{minutes} operations: - name: nhlv3statsboxscoresdeltabydate 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-nhl-stats-format-BoxScoresFinal-date path: /v3/nhl/stats/{format}/BoxScoresFinal/{date} operations: - name: nhlv3statsboxscoresbydatefinal 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-nhl-stats-format-FantasyGameStatsByDate-date path: /v3/nhl/stats/{format}/FantasyGameStatsByDate/{date} operations: - name: nhlv3statsfantasypointsbydate 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-nhl-stats-format-LinesBySeason-season path: /v3/nhl/stats/{format}/LinesBySeason/{season} operations: - name: nhlv3statslinecombinationsbyseason method: GET description: Line Combinations - 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: Year of the season. required: true - name: v3-nhl-stats-format-PlayerGameStatsByDate-date path: /v3/nhl/stats/{format}/PlayerGameStatsByDate/{date} operations: - name: nhlv3statsplayergamestatsbydatelivefinal 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-nhl-stats-format-PlayerGameStatsByDateFinal-date path: /v3/nhl/stats/{format}/PlayerGameStatsByDateFinal/{date} operations: - name: nhlv3statsplayergamestatsbydatefinal 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-nhl-stats-format-PlayerGameStatsBySeason-season-playerid-numberofgames path: /v3/nhl/stats/{format}/PlayerGameStatsBySeason/{season}/{playerid}/{numberofgames} operations: - name: nhlv3statsplayergamelogsbyseason 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-nhl-stats-format-PlayerSeasonStats-season path: /v3/nhl/stats/{format}/PlayerSeasonStats/{season} operations: - name: nhlv3statsplayerseasonstats 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-nhl-stats-format-PlayerSeasonStatsByTeam-season-team path: /v3/nhl/stats/{format}/PlayerSeasonStatsByTeam/{season}/{team} operations: - name: nhlv3statsplayerseasonstatsbyteam 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-nhl-stats-format-TeamGameStatsByDateFinal-date path: /v3/nhl/stats/{format}/TeamGameStatsByDateFinal/{date} operations: - name: nhlv3statsteamgamestatsbydatefinal method: GET description: Team 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-nhl-stats-format-TeamStatsAllowedByPosition-season path: /v3/nhl/stats/{format}/TeamStatsAllowedByPosition/{season} operations: - name: nhlv3statsteamstatsallowedbyposition method: GET description: Team Stats Allowed - by Position 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 authentication: type: apikey key: Ocp-Apim-Subscription-Key value: '{{env.SPORTSDATAIO_API_KEY}}' placement: header exposes: - type: rest namespace: nhl-nhl-v3-stats-rest port: 8080 description: REST adapter for NHL API — NHL v3 Stats. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/v3/nhl/stats/{format}/boxscore/{gameid} name: v3-nhl-stats-format-boxscore-gameid description: REST surface for v3-nhl-stats-format-BoxScore-gameid. operations: - method: GET name: nhlv3statsboxscorelivefinal description: Box Score [Live & Final] call: nhl-nhl-v3-stats.nhlv3statsboxscorelivefinal with: format: rest.format gameid: rest.gameid outputParameters: - type: object mapping: $. - path: /v1/v3/nhl/stats/{format}/boxscorefinal/{gameid} name: v3-nhl-stats-format-boxscorefinal-gameid description: REST surface for v3-nhl-stats-format-BoxScoreFinal-gameid. operations: - method: GET name: nhlv3statsboxscorefinal description: Box Score [Final] call: nhl-nhl-v3-stats.nhlv3statsboxscorefinal with: format: rest.format gameid: rest.gameid outputParameters: - type: object mapping: $. - path: /v1/v3/nhl/stats/{format}/boxscores/{date} name: v3-nhl-stats-format-boxscores-date description: REST surface for v3-nhl-stats-format-BoxScores-date. operations: - method: GET name: nhlv3statsboxscoresbydatelivefinal description: Box Scores - by Date [Live & Final] call: nhl-nhl-v3-stats.nhlv3statsboxscoresbydatelivefinal with: format: rest.format date: rest.date outputParameters: - type: object mapping: $. - path: /v1/v3/nhl/stats/{format}/boxscoresdelta/{date}/{minutes} name: v3-nhl-stats-format-boxscoresdelta-date-minutes description: REST surface for v3-nhl-stats-format-BoxScoresDelta-date-minutes. operations: - method: GET name: nhlv3statsboxscoresdeltabydate description: Box Scores Delta - by Date call: nhl-nhl-v3-stats.nhlv3statsboxscoresdeltabydate with: format: rest.format date: rest.date minutes: rest.minutes outputParameters: - type: object mapping: $. - path: /v1/v3/nhl/stats/{format}/boxscoresfinal/{date} name: v3-nhl-stats-format-boxscoresfinal-date description: REST surface for v3-nhl-stats-format-BoxScoresFinal-date. operations: - method: GET name: nhlv3statsboxscoresbydatefinal description: Box Scores - by Date [Final] call: nhl-nhl-v3-stats.nhlv3statsboxscoresbydatefinal with: format: rest.format date: rest.date outputParameters: - type: object mapping: $. - path: /v1/v3/nhl/stats/{format}/fantasygamestatsbydate/{date} name: v3-nhl-stats-format-fantasygamestatsbydate-date description: REST surface for v3-nhl-stats-format-FantasyGameStatsByDate-date. operations: - method: GET name: nhlv3statsfantasypointsbydate description: Fantasy Points - by Date call: nhl-nhl-v3-stats.nhlv3statsfantasypointsbydate with: format: rest.format date: rest.date outputParameters: - type: object mapping: $. - path: /v1/v3/nhl/stats/{format}/linesbyseason/{season} name: v3-nhl-stats-format-linesbyseason-season description: REST surface for v3-nhl-stats-format-LinesBySeason-season. operations: - method: GET name: nhlv3statslinecombinationsbyseason description: Line Combinations - by Season call: nhl-nhl-v3-stats.nhlv3statslinecombinationsbyseason with: format: rest.format season: rest.season outputParameters: - type: object mapping: $. - path: /v1/v3/nhl/stats/{format}/playergamestatsbydate/{date} name: v3-nhl-stats-format-playergamestatsbydate-date description: REST surface for v3-nhl-stats-format-PlayerGameStatsByDate-date. operations: - method: GET name: nhlv3statsplayergamestatsbydatelivefinal description: Player Game Stats - by Date [Live & Final] call: nhl-nhl-v3-stats.nhlv3statsplayergamestatsbydatelivefinal with: format: rest.format date: rest.date outputParameters: - type: object mapping: $. - path: /v1/v3/nhl/stats/{format}/playergamestatsbydatefinal/{date} name: v3-nhl-stats-format-playergamestatsbydatefinal-date description: REST surface for v3-nhl-stats-format-PlayerGameStatsByDateFinal-date. operations: - method: GET name: nhlv3statsplayergamestatsbydatefinal description: Player Game Stats - by Date [Final] call: nhl-nhl-v3-stats.nhlv3statsplayergamestatsbydatefinal with: format: rest.format date: rest.date outputParameters: - type: object mapping: $. - path: /v1/v3/nhl/stats/{format}/playergamestatsbyseason/{season}/{playerid}/{numberofgames} name: v3-nhl-stats-format-playergamestatsbyseason-season-playerid-numberofgames description: REST surface for v3-nhl-stats-format-PlayerGameStatsBySeason-season-playerid-numberofgames. operations: - method: GET name: nhlv3statsplayergamelogsbyseason description: Player Game Logs - by Season call: nhl-nhl-v3-stats.nhlv3statsplayergamelogsbyseason with: format: rest.format season: rest.season playerid: rest.playerid numberofgames: rest.numberofgames outputParameters: - type: object mapping: $. - path: /v1/v3/nhl/stats/{format}/playerseasonstats/{season} name: v3-nhl-stats-format-playerseasonstats-season description: REST surface for v3-nhl-stats-format-PlayerSeasonStats-season. operations: - method: GET name: nhlv3statsplayerseasonstats description: Player Season Stats call: nhl-nhl-v3-stats.nhlv3statsplayerseasonstats with: format: rest.format season: rest.season outputParameters: - type: object mapping: $. - path: /v1/v3/nhl/stats/{format}/playerseasonstatsbyteam/{season}/{team} name: v3-nhl-stats-format-playerseasonstatsbyteam-season-team description: REST surface for v3-nhl-stats-format-PlayerSeasonStatsByTeam-season-team. operations: - method: GET name: nhlv3statsplayerseasonstatsbyteam description: Player Season Stats - by Team call: nhl-nhl-v3-stats.nhlv3statsplayerseasonstatsbyteam with: format: rest.format season: rest.season team: rest.team outputParameters: - type: object mapping: $. - path: /v1/v3/nhl/stats/{format}/teamgamestatsbydatefinal/{date} name: v3-nhl-stats-format-teamgamestatsbydatefinal-date description: REST surface for v3-nhl-stats-format-TeamGameStatsByDateFinal-date. operations: - method: GET name: nhlv3statsteamgamestatsbydatefinal description: Team Game Stats - by Date [Final] call: nhl-nhl-v3-stats.nhlv3statsteamgamestatsbydatefinal with: format: rest.format date: rest.date outputParameters: - type: object mapping: $. - path: /v1/v3/nhl/stats/{format}/teamstatsallowedbyposition/{season} name: v3-nhl-stats-format-teamstatsallowedbyposition-season description: REST surface for v3-nhl-stats-format-TeamStatsAllowedByPosition-season. operations: - method: GET name: nhlv3statsteamstatsallowedbyposition description: Team Stats Allowed - by Position call: nhl-nhl-v3-stats.nhlv3statsteamstatsallowedbyposition with: format: rest.format season: rest.season outputParameters: - type: object mapping: $. - type: mcp namespace: nhl-nhl-v3-stats-mcp port: 9090 transport: http description: MCP adapter for NHL API — NHL 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: nhl-nhl-v3-stats.nhlv3statsboxscorelivefinal 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: nhl-nhl-v3-stats.nhlv3statsboxscorefinal 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: nhl-nhl-v3-stats.nhlv3statsboxscoresbydatelivefinal 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: nhl-nhl-v3-stats.nhlv3statsboxscoresdeltabydate 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: nhl-nhl-v3-stats.nhlv3statsboxscoresbydatefinal 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: nhl-nhl-v3-stats.nhlv3statsfantasypointsbydate with: format: tools.format date: tools.date outputParameters: - type: object mapping: $. - name: line-combinations-season description: Line Combinations - by Season hints: readOnly: true destructive: false idempotent: true call: nhl-nhl-v3-stats.nhlv3statslinecombinationsbyseason with: format: tools.format season: tools.season 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: nhl-nhl-v3-stats.nhlv3statsplayergamestatsbydatelivefinal 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: nhl-nhl-v3-stats.nhlv3statsplayergamestatsbydatefinal 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: nhl-nhl-v3-stats.nhlv3statsplayergamelogsbyseason with: format: tools.format season: tools.season playerid: tools.playerid numberofgames: tools.numberofgames outputParameters: - type: object mapping: $. - name: player-season-stats description: Player Season Stats hints: readOnly: true destructive: false idempotent: true call: nhl-nhl-v3-stats.nhlv3statsplayerseasonstats 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: nhl-nhl-v3-stats.nhlv3statsplayerseasonstatsbyteam with: format: tools.format season: tools.season team: tools.team outputParameters: - type: object mapping: $. - name: team-game-stats-date-final description: Team Game Stats - by Date [Final] hints: readOnly: true destructive: false idempotent: true call: nhl-nhl-v3-stats.nhlv3statsteamgamestatsbydatefinal with: format: tools.format date: tools.date outputParameters: - type: object mapping: $. - name: team-stats-allowed-position description: Team Stats Allowed - by Position hints: readOnly: true destructive: false idempotent: true call: nhl-nhl-v3-stats.nhlv3statsteamstatsallowedbyposition with: format: tools.format season: tools.season outputParameters: - type: object mapping: $.