{
"swagger": "2.0",
"info": {
"title": "NHL v3 Play-by-Play",
"version": "1.0",
"description": "NHL play-by-play API."
},
"host": "api.sportsdata.io",
"basePath": "/v3/nhl/pbp",
"schemes": [
"http",
"https"
],
"securityDefinitions": {
"apiKeyHeader": {
"type": "apiKey",
"name": "Ocp-Apim-Subscription-Key",
"in": "header"
},
"apiKeyQuery": {
"type": "apiKey",
"name": "key",
"in": "query"
}
},
"security": [
{
"apiKeyHeader": []
},
{
"apiKeyQuery": []
}
],
"paths": {
"/{format}/PlayByPlay/{gameid}": {
"get": {
"operationId": "PlayByPlay",
"summary": "Play By Play",
"parameters": [
{
"name": "format",
"in": "path",
"description": "Desired response format. Valid entries are XML
or JSON
.",
"required": true,
"type": "string",
"default": "XML",
"enum": [
"XML",
"JSON"
]
},
{
"name": "gameid",
"in": "path",
"description": "The GameID of an NHL game. GameIDs can be found in the Games API. Valid entries are 14620
or 16905
",
"required": true,
"type": "string"
}
],
"responses": {
"200": {
"description": "",
"schema": {
"$ref": "#/definitions/PlayByPlay"
}
}
},
"produces": [
"application/json"
]
}
},
"/{format}/PlayByPlayDelta/{date}/{minutes}": {
"get": {
"operationId": "PlayByPlayDelta",
"summary": "Play By Play Delta",
"parameters": [
{
"name": "format",
"in": "path",
"description": "Desired response format. Valid entries are XML
or JSON
.",
"required": true,
"type": "string",
"default": "XML",
"enum": [
"XML",
"JSON"
]
},
{
"name": "date",
"in": "path",
"description": "The date of the game(s).\n
Examples: 2018-JAN-31
, 2017-OCT-01
.",
"required": true,
"type": "string"
},
{
"name": "minutes",
"in": "path",
"description": "Only returns plays that have changed in the last X minutes. You specify how many minutes in time to go back. Valid entries are:\n1
, 2
... all
.",
"required": true,
"type": "string"
}
],
"responses": {
"200": {
"description": "",
"schema": {
"type": "array",
"items": {
"$ref": "#/definitions/PlayByPlay"
}
}
}
},
"produces": [
"application/json"
]
}
}
},
"tags": [],
"definitions": {
"PlayByPlay": {
"properties": {
"Game": {
"$ref": "#/definitions/Game"
},
"Plays": {
"type": "array",
"items": {
"$ref": "#/definitions/Play"
}
}
}
},
"Game": {
"properties": {
"GameID": {
"type": "integer",
"x-nullable": false
},
"Season": {
"type": "integer",
"x-nullable": false
},
"SeasonType": {
"type": "integer",
"x-nullable": false
},
"Status": {
"type": "string",
"x-nullable": true
},
"Day": {
"type": "string",
"x-nullable": true
},
"DateTime": {
"type": "string",
"x-nullable": true
},
"Updated": {
"type": "string",
"x-nullable": true
},
"IsClosed": {
"type": "boolean",
"x-nullable": true
},
"AwayTeam": {
"type": "string",
"x-nullable": true
},
"HomeTeam": {
"type": "string",
"x-nullable": true
},
"AwayTeamID": {
"type": "integer",
"x-nullable": false
},
"HomeTeamID": {
"type": "integer",
"x-nullable": false
},
"StadiumID": {
"type": "integer",
"x-nullable": true
},
"Channel": {
"type": "string",
"x-nullable": true
},
"Attendance": {
"type": "integer",
"x-nullable": true
},
"AwayTeamScore": {
"type": "integer",
"x-nullable": true
},
"HomeTeamScore": {
"type": "integer",
"x-nullable": true
},
"Period": {
"type": "string",
"x-nullable": true
},
"TimeRemainingMinutes": {
"type": "integer",
"x-nullable": true
},
"TimeRemainingSeconds": {
"type": "integer",
"x-nullable": true
},
"AwayTeamMoneyLine": {
"type": "integer",
"x-nullable": true
},
"HomeTeamMoneyLine": {
"type": "integer",
"x-nullable": true
},
"PointSpread": {
"type": "number",
"x-nullable": true
},
"OverUnder": {
"type": "number",
"x-nullable": true
},
"GlobalGameID": {
"type": "integer",
"x-nullable": false
},
"GlobalAwayTeamID": {
"type": "integer",
"x-nullable": false
},
"GlobalHomeTeamID": {
"type": "integer",
"x-nullable": false
},
"PointSpreadAwayTeamMoneyLine": {
"type": "integer",
"x-nullable": true
},
"PointSpreadHomeTeamMoneyLine": {
"type": "integer",
"x-nullable": true
},
"LastPlay": {
"type": "string",
"x-nullable": true
},
"Periods": {
"type": "array",
"items": {
"$ref": "#/definitions/Period"
}
},
"GameEndDateTime": {
"type": "string",
"x-nullable": true
},
"HomeRotationNumber": {
"type": "integer",
"x-nullable": true
},
"AwayRotationNumber": {
"type": "integer",
"x-nullable": true
},
"NeutralVenue": {
"type": "boolean",
"x-nullable": true
},
"OverPayout": {
"type": "integer",
"x-nullable": true
},
"UnderPayout": {
"type": "integer",
"x-nullable": true
},
"DateTimeUTC": {
"type": "string",
"x-nullable": true
},
"SeriesInfo": {
"$ref": "#/definitions/Series"
}
}
},
"Period": {
"properties": {
"PeriodID": {
"type": "integer",
"x-nullable": false
},
"GameID": {
"type": "integer",
"x-nullable": false
},
"Name": {
"type": "string",
"x-nullable": true
},
"AwayScore": {
"type": "integer",
"x-nullable": true
},
"HomeScore": {
"type": "integer",
"x-nullable": true
},
"ScoringPlays": {
"type": "array",
"items": {
"$ref": "#/definitions/ScoringPlay"
}
},
"Penalties": {
"type": "array",
"items": {
"$ref": "#/definitions/Penalty"
}
}
}
},
"ScoringPlay": {
"properties": {
"ScoringPlayID": {
"type": "integer",
"x-nullable": false
},
"PeriodID": {
"type": "integer",
"x-nullable": false
},
"Sequence": {
"type": "integer",
"x-nullable": true
},
"TimeRemainingMinutes": {
"type": "integer",
"x-nullable": true
},
"TimeRemainingSeconds": {
"type": "integer",
"x-nullable": true
},
"ScoredByTeamID": {
"type": "integer",
"x-nullable": true
},
"AllowedByTeamID": {
"type": "integer",
"x-nullable": true
},
"ScoredByPlayerID": {
"type": "integer",
"x-nullable": true
},
"AssistedByPlayerID1": {
"type": "integer",
"x-nullable": true
},
"AssistedByPlayerID2": {
"type": "integer",
"x-nullable": true
},
"PowerPlay": {
"type": "boolean",
"x-nullable": true
},
"ShortHanded": {
"type": "boolean",
"x-nullable": true
},
"EmptyNet": {
"type": "boolean",
"x-nullable": true
},
"AwayTeamScore": {
"type": "integer",
"x-nullable": true
},
"HomeTeamScore": {
"type": "integer",
"x-nullable": true
}
}
},
"Penalty": {
"properties": {
"PenaltyID": {
"type": "integer",
"x-nullable": false
},
"PeriodID": {
"type": "integer",
"x-nullable": false
},
"Sequence": {
"type": "integer",
"x-nullable": true
},
"TimeRemainingMinutes": {
"type": "integer",
"x-nullable": true
},
"TimeRemainingSeconds": {
"type": "integer",
"x-nullable": true
},
"Description": {
"type": "string",
"x-nullable": true
},
"PenaltyMinutes": {
"type": "integer",
"x-nullable": true
},
"PenalizedTeamID": {
"type": "integer",
"x-nullable": true
},
"PenalizedPlayerID": {
"type": "integer",
"x-nullable": true
},
"DrawnByTeamID": {
"type": "integer",
"x-nullable": true
},
"DrawnByPlayerID": {
"type": "integer",
"x-nullable": true
},
"IsBenchPenalty": {
"type": "boolean",
"x-nullable": true
},
"BenchPenaltyServedByPlayerID": {
"type": "integer",
"x-nullable": true
}
}
},
"Series": {
"properties": {
"HomeTeamWins": {
"type": "integer",
"x-nullable": false
},
"AwayTeamWins": {
"type": "integer",
"x-nullable": false
},
"GameNumber": {
"type": "integer",
"x-nullable": false
},
"MaxLength": {
"type": "integer",
"x-nullable": false
}
}
},
"Play": {
"properties": {
"PlayID": {
"type": "integer",
"x-nullable": false
},
"PeriodID": {
"type": "integer",
"x-nullable": false
},
"PeriodName": {
"type": "string",
"x-nullable": true
},
"Sequence": {
"type": "integer",
"x-nullable": false
},
"ClockMinutes": {
"type": "integer",
"x-nullable": true
},
"ClockSeconds": {
"type": "integer",
"x-nullable": true
},
"AwayTeamScore": {
"type": "integer",
"x-nullable": true
},
"HomeTeamScore": {
"type": "integer",
"x-nullable": true
},
"TeamID": {
"type": "integer",
"x-nullable": true
},
"Team": {
"type": "string",
"x-nullable": true
},
"OpponentID": {
"type": "integer",
"x-nullable": true
},
"Opponent": {
"type": "string",
"x-nullable": true
},
"Category": {
"type": "string",
"x-nullable": true
},
"Type": {
"type": "string",
"x-nullable": true
},
"Description": {
"type": "string",
"x-nullable": true
},
"PlayerID": {
"type": "integer",
"x-nullable": true
},
"Updated": {
"type": "string",
"x-nullable": true
},
"Created": {
"type": "string",
"x-nullable": true
},
"FirstAssistedByPlayerID": {
"type": "integer",
"x-nullable": true
},
"SecondAssistedByPlayerID": {
"type": "integer",
"x-nullable": true
},
"PowerPlayTeamID": {
"type": "integer",
"x-nullable": true
},
"PowerPlayTeam": {
"type": "string",
"x-nullable": true
},
"OpposingPlayerID": {
"type": "integer",
"x-nullable": true
}
}
}
}
}