Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

The rules of volleyball can be found here: http://www.fivb.org/en/volleyball/Forms.asp  

Example Ably LiveAccess URL: https://platform.matchstate.api.geniussports.com/api/v1/sources/GeniusSportsItaly/sports/91189/fixtures/10431860/liveaccess
This document describes the V2 V1 Volleyball match state contract.

Match

...

Details Message

...

The Summary message summarises the major match events into a single, easily digested messageDetails message provides details of every action that has taken place in a match.

Code Block
{
"FixtureId":"3421547",
"CustomerId":6444,
"StartedAtUtc":"2015-10-01T15:15:44.95Z",
"FinishedAtUtc":
null
"2015-10-01T16:25:34.05Z",
"TeamA":{},
"TeamB":{},
"CurrentServer":"TeamA",
"
MatchScore
Match":{},
"MatchStatus":"BetweenPoints",
"SanctionStatus":"Safe",
"IsReliable":true,
"MessageTimestampUtc":"2015-10-01T15:15:44.9551641Z",
"IsCoverageCancelled":true,
"CoverageCancelledAtUtc":"2015-10-01T15:15:42.9551641Z"
} 

Element

Type

Description

FixtureId

Integer

An immutable identifier for the event

CustomerId

Integer

An immutable identifier for the customer

StartedAtUtc

DateTime, optional

The time that the match started if the match has started, Null otherwise

FinishedAtUtc

DateTime, optional

The time that the match finished

,

if the match has finished, Null otherwise

TeamA

Team

An object describing TeamA

TeamB

Team

An object describing TeamB

CurrentServer

TeamIdentifier, optional

An enum that describes the team that is currently serving. Possible values are:
TeamA
TeamB

MatchScore

Match

MatchScore

Match

An object that describes events within the

current

match

score

MatchStatus

MatchStatus

An enum that describes the current state of the match.

Possible values are:NotStarted
WalkoverTeamA
WalkoverTeamB
OnCourt
WarmingUp
BetweenPoints
BetweenSets
TimeOut
PointInProgress
Challenge
PlaySuspended
ShortDelay
MedicalTimeoutTeamA
MedicalTimeoutTeamB
WinnerTeamAByRetirementOrDefault
WinnerTeamBByRetirementOrDefault
WinnerTeamA
WinnerTeamB
MatchAbandoned

SanctionStatus

SanctionStatus

An enum describing the current sanction status.

Possible values:

Safe

MatchScore

An object that describes the current match score.

...

Code Block
{
"ScoreInSets":{},
"ScoreInPoints":{}
} 

...

Element

...

Type

...

Description

...

ScoreInSets

...

Score

...

An object that describes the current score in sets

...

ScoreInPoints

...

Score

...

An object that describes the score of the current set in points

Score

An object that describes a score.

...

Code Block
{
"TeamA":6,
"TeamB":3
} 

...

Element

...

Type

...

Description

...

TeamA

...

Integer

...

TeamA's score

...

TeamB

...

Integer

...

TeamA's score

Match Details Message

...

The Details message provides details of every action that has taken place in a match.

Code Block
{
"FixtureId":"3421547",
"CustomerId":6444,
"StartedAtUtc":"2015-10-01T15:15:44.95Z",
"FinishedAtUtc":"2015-10-01T16:25:34.05Z",
"TeamA":{},
"TeamB":{},
"CurrentServer":"TeamA",
"Match":{},
"MatchStatus":"BetweenPoints",
"SanctionStatus":"Safe",
"IsReliable":true,
"MessageTimestampUtc":"2015-10-01T15:15:44.9551641Z",
"IsCoverageCancelled":true,
"CoverageCancelledAtUtc":"2015-10-01T15:15:42.9551641Z"
} 

Element

Type

Description

FixtureId

Integer

An immutable identifier for the event

CustomerId

Integer

An immutable identifier for the customer

StartedAtUtc

DateTime, optional

The time that the match started if the match has started, Null otherwise

FinishedAtUtc

DateTime, optional

The time that the match finished if the match has finished, Null otherwise

TeamA

Team

An object describing TeamA

TeamB

Team

An object describing TeamB

CurrentServer

TeamIdentifier, optional

An enum that describes the team that is currently serving. Possible values are:
TeamA
TeamB

Match

Match

An object that describes events within the match

MatchStatus

MatchStatus

An enum that describes the current state of the match.

SanctionStatus

SanctionStatus

An enum describing the current sanction status.

IsReliable

Boolean

True if the data values are

IsReliable

TeamAPenaltyCommitted
TeamBPenaltyCommitted
TeamAExpulsion
TeamBExpulsion
PossibleDisqualification
TeamADisqualification
TeamBDisqualification

IsReliable

Boolean

True if the data values are reliable, False otherwise

MessageTimestampUtc

DateTime

The time that the message was generated

Team

An object that describes a team. The Id and Name will match the information provided in Fixture; Jersey is provided only here.

...

Code Block
{
"Id":"184374",
"Name":"Windsor Wildcats",
"Jersey":{}
} 

...

Element

...

Type

...

Description

...

Id

...

String

...

The team's identifier

...

Name

...

String

...

The name of the team

...

Jersey

...

Jersey

...

An object that describes the team's jersey

Jersey

An object that describes a team's jersey.

...

Code Block
{
"Color1":{},
"Color2":{},
"PantsColor":{},
"SocksColor":{},
"JerseyDesign":{},
} 

...

Element

...

Type

...

Description

...

Color1

...

Color

...

An object describing the primary colour of the team's jersey

...

Color2

...

Color

...

An object describing the secondary colour of the team's jersey

...

PantsColor

...

Color

...

An object describing the colour of the team's pants

...

SocksColor

...

Color

...

An object describing the colour of the team's socks

...

JerseyDesign

...

JerseyDesign

...

An enum describing the design of the team's jersey. Possible values include:
Unknown
Plain
StripedHorizontal
StripedVertical
BarHorizontal
BarVertical

Boolean

True if the data values are reliable, False otherwise

MessageTimestampUtc

DateTime

The time in UTC at which the message was generated

IsCoverageCancelled

Boolean

True if coverage has been cancelled, false otherwise

CoverageCancelledAtUtc

DateTime, optional

The datetime at which coverage was cancelled.

Match

The Match object describes the current score and provides a complete match history.

Code Block
{
"Sets":{},
"ScoreInSets":{},
"Kills":{},
"Blocks":{},
"Outs":{},
"Aces":{},
"Errors":{},
"ServiceErrors":{},
"Penalties":{},
"Expulsions":{},
"Disqualifications":{},
"MatchWinner":"TeamA",
"StartedAtUtc":"2015-10-01T15:15:44.95Z",
"FinishedAtUtc":"2015-10-01T16:25:34.05Z",
"IsConfirmedComplete":true
} 

Element

Type

Description

Sets

Set

An array of Set objects

ScoreInSets

Score

The current score in sets

Kills

Score

The number of kills by each team

Blocks

Score

The number of blocks by each team

Outs

Score

The number of outs by each team

Aces

Score

The number of aces by each team

Errors

Score

The number of errors by each team

ServiceErrors

Score

The number of points won due to opponent's service errors for each team

Penalties

Score

The number of penalties by each team

Explusions

Explusion

An array of objects describing explusions

Disqualifications

Disqualification

An object that describes disqualification events

MatchWinner

TeamIdentifier, optional

The team that won the match if the match has ended

StartedAtUtc

DateTime, optional

The time that the match started if the match has started, Null otherwise

FinishedAtUtc

DateTime, optional

The time that the match finished if the match has finished, Null otherwise

IsConfirmedComplete

Boolean

True if match is complete, False otherwise

Set

A collection of objects detailing actions in a set.

Code Block
{
"SetNumber":1,
"Points":{},
"ScoreInPoints":{},
"RequestedTimeOuts":{},
"SetWinner":"TeamA",
"IsGoldenSet":False
"StartedAtUtc":"2015-10-01T15:15:44.95Z",
"FinishedAtUtc":"2015-10-01T16:25:34.05Z",
"IsConfirmedComplete":True
} 

Element

Type

Description

SetNumber

Integer

The set described this this Set object

Points

Point

An array of point objects detailing the points played so far in this set

ScoreInPoints

Score

An object that describes the score of the current set in points

RequestedTimeOuts

Score

An object that describes the number of timeouts requested by each team

SetWinner

TeamIdentifier, optional

Indicates which team won the set if the set is complete, Null otherwise

IsGoldenSet

Boolean

True if this set is a golden set, False otherwise (Not currently covered, always sent false)

StartedAtUtc

DateTime, optional

The time that the match started if the match has started, Null otherwise

FinishedAtUtc

DateTime, optional

The time that the match finished if the match has finished, Null otherwise

IsConfirmedComplete

Boolean

Indicates which team served the first point

Point

A collection of objects describing a point.

Code Block
{
"PointNumber":1,
"
PointType
Server":
Ace
"
IsInSequence
TeamOne"
:true
,
"
IsConfirmedComplete":true, "Server
Winner":"TeamOne",
"
StartedAtUtc
startedAt": "
2015-10-01T15:14:44.9551641Z
00:00:00",
"
Winner
wonAt": "
TeamOne
00:00:21",
"
WonAtUtc
StartedAtUtc":"2015-10-01T15:14:
46
44.
3875293Z
9551641Z",
"ScoreWhenPointStarted":{}
}

Element

Type

Description

PointNumber

Integer

The number of the point being described

IsInSequence

Boolean

True if the point is in sequence, false otherwise

PointType

PointType

An enum that describes the point type. Possible values are:
Unknown
Block
Kill
Out
BlockOut
Ace
Error
ServeError
Penalty

IsConfirmedComplete

Boolean

True if the point has been confirmed, false otherwise
,
"IsConfirmedComplete":true,
"PointType":Ace
} 

Element

Type

Description

PointNumber

Integer

The number of the point being described

Server

TeamIdentifier

The team that is currently serving

StartedAtUtc

Winner

DateTime

TeamIdentifier, optional

The

time at which

team that won the point

started. Null if this information is not available.

Winner

TeamIdentifier, optional

The team that won the point

if the point is complete, Null otherwise

StartedAt

DateTime, optional

Timer at which the point was started if the point is complete and the information is available, Null otherwise

WonAtUtc

WonAt

DateTime, optional

The time at which the point was won if the point is complete and the information is available, Null otherwise

ScoreWhenPointStarted

MatchScore

The match score at the time that the point began

StartedAtUtc

DateTime, optional

The time at which the point started. Null if this information is not available.

IsConfirmedComplete

Boolean

True if the point has been confirmed, false otherwise

PointType

PointType

An enum that describes the point type. Possible values are:
Unknown
Block
Kill
Out
BlockOut
Ace
Error
ServeError
Penalty

Expulsion

An object that describes an expulsion within a Volleyball match.

Code Block
{
"SetNumber":1,
"OccurredAt":"":"00:06:00"",
"Team":"TeamA"
} 

Element

Type

Description

SetNumber

Integer

The set within which the expulsion occurred.

OccurredAt

TimeSpan

The match time at which the expulsion occurred.

Team

TeamIdentifier, optional

The team for which the expulsion was given.

Disqualification

An object that describes a disqualification within a Volleyball match.

Code Block
{
"SetNumber":1,
"OccurredAt":"00:10:00",
"Team":"TeamA"
} 

Element

Type

Description

SetNumber

Integer

The set within which the disqualification occurred.

OccurredAt

TimeSpan

The match time at which the disqualification occurred.

Team

TeamIdentifier, optional

The team that was disqualified.

Swagger integration
{
  "openapi": "3.0.1",
  "info": {
    "title": "MatchState API for Volleyball",
    "version": "1.0"
  },
  "paths": {},
  "components": {
    "schemas": {
      "Betgenius.Sports.Volleyball.Contracts.Color": {
        "type": "object",
        "properties": {
          "r": {
            "type": "integer",
            "format": "int32"
          },
          "g": {
            "type": "integer",
            "format": "int32"
          },
          "b": {
            "type": "integer",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "Betgenius.Sports.Volleyball.Contracts.Disqualification": {
        "type": "object",
        "properties": {
          "setNumber": {
            "type": "integer",
            "format": "int32"
          },
          "occurredAt": {
            "type": "string",
            "format": "date-span"
          },
          "team": {
            "$ref": "#/components/schemas/Betgenius.Sports.Volleyball.Contracts.TeamIdentifier"
          }
        },
        "additionalProperties": false
      },
      "Betgenius.Sports.Volleyball.Contracts.Expulsion": {
        "type": "object",
        "properties": {
          "setNumber": {
            "type": "integer",
            "format": "int32"
          },
          "occurredAt": {
            "type": "string",
            "format": "date-span"
          },
          "team": {
            "$ref": "#/components/schemas/Betgenius.Sports.Volleyball.Contracts.TeamIdentifier"
          }
        },
        "additionalProperties": false
      },
      "Betgenius.Sports.Volleyball.Contracts.Granularity.MatchGranularity": {
        "type": "object",
        "properties": {
          "scoreInSets": {
            "type": "boolean"
          },
          "kills": {
            "type": "boolean"
          },
          "blocks": {
            "type": "boolean"
          },
          "outs": {
            "type": "boolean"
          },
          "aces": {
            "type": "boolean"
          },
          "errors": {
            "type": "boolean"
          },
          "serviceErrors": {
            "type": "boolean"
          },
          "penalties": {
            "type": "boolean"
          },
          "blockOuts": {
            "type": "boolean"
          },
          "expulsions": {
            "type": "boolean"
          },
          "disqualifications": {
            "type": "boolean"
          },
          "matchWinner": {
            "type": "boolean"
          },
          "startedAtUtc": {
            "type": "boolean"
          },
          "finishedAtUtc": {
            "type": "boolean"
          },
          "setsGranularity": {
            "$ref": "#/components/schemas/Betgenius.Sports.Volleyball.Contracts.Granularity.SetsGranularity"
          }
        },
        "additionalProperties": false
      },
      "Betgenius.Sports.Volleyball.Contracts.Granularity.PointsGranularity": {
        "type": "object",
        "properties": {
          "server": {
            "type": "boolean"
          },
          "winner": {
            "type": "boolean"
          },
          "startedAt": {
            "type": "boolean"
          },
          "wonAt": {
            "type": "boolean"
          },
          "scoreWhenPointStarted": {
            "type": "boolean"
          },
          "startedAtUtc": {
            "type": "boolean"
          },
          "finishedAtUtc": {
            "type": "boolean"
          },
          "isConfirmedComplete": {
            "type": "boolean"
          },
          "pointType": {
            "type": "boolean"
          }
        },
        "additionalProperties": false
      },
      "Betgenius.Sports.Volleyball.Contracts.Granularity.SetsGranularity": {
        "type": "object",
        "properties": {
          "pointsGranularity": {
            "$ref": "#/components/schemas/Betgenius.Sports.Volleyball.Contracts.Granularity.PointsGranularity"
          },
          "scoreInPoints": {
            "type": "boolean"
          },
          "requestedTimeOuts": {
            "type": "boolean"
          },
          "setWinner": {
            "type": "boolean"
          },
          "isGoldenSet": {
            "type": "boolean"
          },
          "startedAtUtc": {
            "type": "boolean"
          },
          "finishedAtUtc": {
            "type": "boolean"
          }
        },
        "additionalProperties": false
      },
      "Betgenius.Sports.Volleyball.Contracts.Granularity.VolleyballMatchStateGranularity": {
        "type": "object",
        "properties": {
          "sourceId": {
            "type": "string",
            "nullable": true
          },
          "fixtureId": {
            "type": "string",
            "nullable": true
          },
          "currentServer": {
            "type": "boolean"
          },
          "matchStatus": {
            "type": "boolean"
          },
          "sanctionStatus": {
            "type": "boolean"
          },
          "matchGranularity": {
            "$ref": "#/components/schemas/Betgenius.Sports.Volleyball.Contracts.Granularity.MatchGranularity"
          }
        },
        "additionalProperties": false
      },
      "Betgenius.Sports.Volleyball.Contracts.Jersey": {
        "type": "object",
        "properties": {
          "color1": {
            "$ref": "#/components/schemas/Betgenius.Sports.Volleyball.Contracts.Color"
          },
          "color2": {
            "$ref": "#/components/schemas/Betgenius.Sports.Volleyball.Contracts.Color"
          },
          "pantsColor": {
            "$ref": "#/components/schemas/Betgenius.Sports.Volleyball.Contracts.Color"
          },
          "socksColor": {
            "$ref": "#/components/schemas/Betgenius.Sports.Volleyball.Contracts.Color"
          },
          "jerseyDesign": {
            "$ref": "#/components/schemas/Betgenius.Sports.Volleyball.Contracts.JerseyDesign"
          }
        },
        "additionalProperties": false
      },
      "Betgenius.Sports.Volleyball.Contracts.JerseyDesign": {
        "enum": [
          "Unknown",
          "Plain",
          "StripedHorizontal",
          "StripedVertical",
          "BarHorizontal",
          "BarVertical"
        ],
        "type": "string"
      },
      "Betgenius.Sports.Volleyball.Contracts.Match": {
        "type": "object",
        "properties": {
          "sets": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Betgenius.Sports.Volleyball.Contracts.Set"
            },
            "nullable": true
          },
          "scoreInSets": {
            "$ref": "#/components/schemas/Betgenius.Sports.Volleyball.Contracts.Score"
          },
          "kills": {
            "$ref": "#/components/schemas/Betgenius.Sports.Volleyball.Contracts.Score"
          },
          "blocks": {
            "$ref": "#/components/schemas/Betgenius.Sports.Volleyball.Contracts.Score"
          },
          "outs": {
            "$ref": "#/components/schemas/Betgenius.Sports.Volleyball.Contracts.Score"
          },
          "aces": {
            "$ref": "#/components/schemas/Betgenius.Sports.Volleyball.Contracts.Score"
          },
          "errors": {
            "$ref": "#/components/schemas/Betgenius.Sports.Volleyball.Contracts.Score"
          },
          "serviceErrors": {
            "$ref": "#/components/schemas/Betgenius.Sports.Volleyball.Contracts.Score"
          },
          "penalties": {
            "$ref": "#/components/schemas/Betgenius.Sports.Volleyball.Contracts.Score"
          },
          "blockOuts": {
            "$ref": "#/components/schemas/Betgenius.Sports.Volleyball.Contracts.Score"
          },
          "expulsions": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Betgenius.Sports.Volleyball.Contracts.Expulsion"
            },
            "nullable": true
          },
          "disqualifications": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Betgenius.Sports.Volleyball.Contracts.Disqualification"
            },
            "nullable": true
          },
          "matchWinner": {
            "$ref": "#/components/schemas/Betgenius.Sports.Volleyball.Contracts.TeamIdentifier"
          },
          "startedAtUtc": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "finishedAtUtc": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "isConfirmedComplete": {
            "type": "boolean"
          }
        },
        "additionalProperties": false
      },
      "Betgenius.Sports.Volleyball.Contracts.MatchScore": {
        "type": "object",
        "properties": {
          "scoreInSets": {
            "$ref": "#/components/schemas/Betgenius.Sports.Volleyball.Contracts.Score"
          },
          "scoreInPoints": {
            "$ref": "#/components/schemas/Betgenius.Sports.Volleyball.Contracts.Score"
          }
        },
        "additionalProperties": false
      },
      "Betgenius.Sports.Volleyball.Contracts.MatchStatus": {
        "enum": [
          "PreMatch",
          "WarmUp",
          "PointInProgress",
          "TimeOut",
          "BetweenSets",
          "BetweenPoints",
          "PlaySuspended",
          "PointUnderInvestigation",
          "MatchComplete",
          "MatchAbandoned"
        ],
        "type": "string"
      },
      "Betgenius.Sports.Volleyball.Contracts.Point": {
        "type": "object",
        "properties": {
          "pointNumber": {
            "type": "integer",
            "format": "int32"
          },
          "server": {
            "$ref": "#/components/schemas/Betgenius.Sports.Volleyball.Contracts.TeamIdentifier"
          },
          "winner": {
            "$ref": "#/components/schemas/Betgenius.Sports.Volleyball.Contracts.TeamIdentifier"
          },
          "startedAt": {
            "type": "string",
            "format": "date-span",
            "nullable": true
          },
          "wonAt": {
            "type": "string",
            "format": "date-span",
            "nullable": true
          },
          "scoreWhenPointStarted": {
            "$ref": "#/components/schemas/Betgenius.Sports.Volleyball.Contracts.MatchScore"
          },
          "startedAtUtc": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "finishedAtUtc": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "isConfirmedComplete": {
            "type": "boolean"
          },
          "pointType": {
            "$ref": "#/components/schemas/Betgenius.Sports.Volleyball.Contracts.PointType"
          }
        },
        "additionalProperties": false
      },
      "Betgenius.Sports.Volleyball.Contracts.PointType": {
        "enum": [
          "Unknown",
          "Block",
          "Kill",
          "Out",
          "BlockOut",
          "Ace",
          "Error",
          "ServeError",
          "Penalty"
        ],
        "type": "string"
      },
      "Betgenius.Sports.Volleyball.Contracts.SanctionStatus": {
        "enum": [
          "Safe",
          "TeamAPenaltyCommitted",
          "TeamBPenaltyCommitted",
          "TeamAExpulsion",
          "TeamBExpulsion",
          "PossibleDisqualification",
          "TeamADisqualification",
          "TeamBDisqualification"
        ],
        "type": "string"
      },
      "Betgenius.Sports.Volleyball.Contracts.Score": {
        "type": "object",
        "properties": {
          "teamA": {
            "type": "integer",
            "format": "int32"
          },
          "teamB": {
            "type": "integer",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "Betgenius.Sports.Volleyball.Contracts.Set": {
        "type": "object",
        "properties": {
          "setNumber": {
            "type": "integer",
            "format": "int32"
          },
          "points": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Betgenius.Sports.Volleyball.Contracts.Point"
            },
            "nullable": true
          },
          "scoreInPoints": {
            "$ref": "#/components/schemas/Betgenius.Sports.Volleyball.Contracts.Score"
          },
          "requestedTimeOuts": {
            "$ref": "#/components/schemas/Betgenius.Sports.Volleyball.Contracts.Score"
          },
          "setWinner": {
            "$ref": "#/components/schemas/Betgenius.Sports.Volleyball.Contracts.TeamIdentifier"
          },
          "isGoldenSet": {
            "type": "boolean"
          },
          "startedAtUtc": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "finishedAtUtc": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "isConfirmedComplete": {
            "type": "boolean"
          }
        },
        "additionalProperties": false
      },
      "Betgenius.Sports.Volleyball.Contracts.Team": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "nullable": true
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "jersey": {
            "$ref": "#/components/schemas/Betgenius.Sports.Volleyball.Contracts.Jersey"
          }
        },
        "additionalProperties": false
      },
      "Betgenius.Sports.Volleyball.Contracts.TeamIdentifier": {
        "enum": [
          "TeamA",
          "TeamB"
        ],
        "type": "string"
      },
      "Betgenius.Sports.Volleyball.Contracts.VolleyballMatchState": {
        "type": "object",
        "properties": {
          "bookmakerId": {
            "type": "integer",
            "format": "int32"
          },
          "teamA": {
            "$ref": "#/components/schemas/Betgenius.Sports.Volleyball.Contracts.Team"
          },
          "teamB": {
            "$ref": "#/components/schemas/Betgenius.Sports.Volleyball.Contracts.Team"
          },
          "currentServer": {
            "$ref": "#/components/schemas/Betgenius.Sports.Volleyball.Contracts.TeamIdentifier"
          },
          "match": {
            "$ref": "#/components/schemas/Betgenius.Sports.Volleyball.Contracts.Match"
          },
          "matchStatus": {
            "$ref": "#/components/schemas/Betgenius.Sports.Volleyball.Contracts.MatchStatus"
          },
          "sanctionStatus": {
            "$ref": "#/components/schemas/Betgenius.Sports.Volleyball.Contracts.SanctionStatus"
          },
          "coverageCancelledAt": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "source": {
            "type": "string",
            "nullable": true
          },
          "fixtureId": {
            "type": "string",
            "nullable": true
          },
          "sequence": {
            "type": "integer",
            "format": "int32"
          },
          "messageTimestampUtc": {
            "type": "string",
            "format": "date-time"
          },
          "isReliable": {
            "type": "boolean"
          },
          "isCoverageCancelled": {
            "type": "boolean"
          },
          "reliabilityReasons": {
            "type": "object",
            "properties": {
              "Heartbeat": {
                "type": "string"
              },
              "FeedReliability": {
                "type": "string"
              },
              "Coverage": {
                "type": "string"
              }
            },
            "additionalProperties": false,
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "GeniusSports.MatchState.Platform.DataContracts.Volleyball.ActionCancel": {
        "required": [
          "isConfirmed",
          "utcTimestamp"
        ],
        "type": "object",
        "properties": {
          "sequence": {
            "type": "integer",
            "format": "int32"
          },
          "isConfirmed": {
            "type": "boolean"
          },
          "utcTimestamp": {
            "type": "string",
            "format": "date-time"
          }
        },
        "additionalProperties": false
      },
      "GeniusSports.MatchState.Platform.DataContracts.Volleyball.ActionGranularity": {
        "type": "object",
        "properties": {
          "isCollected": {
            "type": "boolean"
          }
        },
        "additionalProperties": false
      },
      "GeniusSports.MatchState.Platform.DataContracts.Volleyball.ChallengeAction": {
        "required": [
          "isConfirmed",
          "setNumber",
          "utcTimestamp"
        ],
        "type": "object",
        "properties": {
          "requestor": {
            "$ref": "#/components/schemas/Sports.Volleyball.Contracts.Common.Requestor"
          },
          "reason": {
            "type": "string",
            "nullable": true
          },
          "outcome": {
            "$ref": "#/components/schemas/Sports.Volleyball.Contracts.Common.ChallengeOutcome"
          },
          "pointOutcome": {
            "$ref": "#/components/schemas/Sports.Volleyball.Contracts.Common.ChallengePointOutcome"
          },
          "setNumber": {
            "type": "integer",
            "format": "int32"
          },
          "sequence": {
            "type": "integer",
            "format": "int32"
          },
          "isConfirmed": {
            "type": "boolean"
          },
          "utcTimestamp": {
            "type": "string",
            "format": "date-time"
          }
        },
        "additionalProperties": false
      },
      "GeniusSports.MatchState.Platform.DataContracts.Volleyball.CoinTossAction": {
        "required": [
          "isConfirmed",
          "setNumber",
          "utcTimestamp"
        ],
        "type": "object",
        "properties": {
          "winnerTeam": {
            "$ref": "#/components/schemas/Sports.Volleyball.Contracts.Common.Team"
          },
          "winnerChoice": {
            "$ref": "#/components/schemas/Sports.Volleyball.Contracts.Common.CoinTossChoice"
          },
          "loserChoice": {
            "$ref": "#/components/schemas/Sports.Volleyball.Contracts.Common.CoinTossChoice"
          },
          "setNumber": {
            "type": "integer",
            "format": "int32"
          },
          "sequence": {
            "type": "integer",
            "format": "int32"
          },
          "isConfirmed": {
            "type": "boolean"
          },
          "utcTimestamp": {
            "type": "string",
            "format": "date-time"
          }
        },
        "additionalProperties": false
      },
      "GeniusSports.MatchState.Platform.DataContracts.Volleyball.CourtStateAction": {
        "required": [
          "isConfirmed",
          "setNumber",
          "utcTimestamp"
        ],
        "type": "object",
        "properties": {
          "servingTeam": {
            "$ref": "#/components/schemas/Sports.Volleyball.Contracts.Common.Team"
          },
          "servingPlayerId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "teamOnLeft": {
            "$ref": "#/components/schemas/Sports.Volleyball.Contracts.Common.Team"
          },
          "setNumber": {
            "type": "integer",
            "format": "int32"
          },
          "sequence": {
            "type": "integer",
            "format": "int32"
          },
          "isConfirmed": {
            "type": "boolean"
          },
          "utcTimestamp": {
            "type": "string",
            "format": "date-time"
          }
        },
        "additionalProperties": false
      },
      "GeniusSports.MatchState.Platform.DataContracts.Volleyball.InjuryAction": {
        "required": [
          "isConfirmed",
          "setNumber",
          "utcTimestamp"
        ],
        "type": "object",
        "properties": {
          "team": {
            "$ref": "#/components/schemas/Sports.Volleyball.Contracts.Common.Team"
          },
          "playerId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "setNumber": {
            "type": "integer",
            "format": "int32"
          },
          "sequence": {
            "type": "integer",
            "format": "int32"
          },
          "isConfirmed": {
            "type": "boolean"
          },
          "utcTimestamp": {
            "type": "string",
            "format": "date-time"
          }
        },
        "additionalProperties": false
      },
      "GeniusSports.MatchState.Platform.DataContracts.Volleyball.LiberoAction": {
        "required": [
          "isConfirmed",
          "setNumber",
          "utcTimestamp"
        ],
        "type": "object",
        "properties": {
          "team": {
            "$ref": "#/components/schemas/Sports.Volleyball.Contracts.Common.Team"
          },
          "playerId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "type": {
            "$ref": "#/components/schemas/Sports.Volleyball.Contracts.Common.LiberoActionType"
          },
          "setNumber": {
            "type": "integer",
            "format": "int32"
          },
          "sequence": {
            "type": "integer",
            "format": "int32"
          },
          "isConfirmed": {
            "type": "boolean"
          },
          "utcTimestamp": {
            "type": "string",
            "format": "date-time"
          }
        },
        "additionalProperties": false
      },
      "GeniusSports.MatchState.Platform.DataContracts.Volleyball.LineUpAction": {
        "required": [
          "isConfirmed",
          "setNumber",
          "utcTimestamp"
        ],
        "type": "object",
        "properties": {
          "homePlayers": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Sports.Volleyball.Contracts.Common.Player"
            },
            "nullable": true
          },
          "awayPlayers": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Sports.Volleyball.Contracts.Common.Player"
            },
            "nullable": true
          },
          "setNumber": {
            "type": "integer",
            "format": "int32"
          },
          "sequence": {
            "type": "integer",
            "format": "int32"
          },
          "isConfirmed": {
            "type": "boolean"
          },
          "utcTimestamp": {
            "type": "string",
            "format": "date-time"
          }
        },
        "additionalProperties": false
      },
      "GeniusSports.MatchState.Platform.DataContracts.Volleyball.MatchEndAction": {
        "required": [
          "isConfirmed",
          "setNumber",
          "utcTimestamp"
        ],
        "type": "object",
        "properties": {
          "endTime": {
            "type": "string",
            "format": "date-time"
          },
          "endOutcome": {
            "$ref": "#/components/schemas/Sports.Volleyball.Contracts.Common.MatchEndOutcome"
          },
          "setNumber": {
            "type": "integer",
            "format": "int32"
          },
          "sequence": {
            "type": "integer",
            "format": "int32"
          },
          "isConfirmed": {
            "type": "boolean"
          },
          "utcTimestamp": {
            "type": "string",
            "format": "date-time"
          }
        },
        "additionalProperties": false
      },
      "GeniusSports.MatchState.Platform.DataContracts.Volleyball.MatchScoreAction": {
        "required": [
          "isConfirmed",
          "setNumber",
          "utcTimestamp"
        ],
        "type": "object",
        "properties": {
          "scoreInSets": {
            "$ref": "#/components/schemas/Sports.Volleyball.Contracts.Common.Score"
          },
          "setNumber": {
            "type": "integer",
            "format": "int32"
          },
          "sequence": {
            "type": "integer",
            "format": "int32"
          },
          "isConfirmed": {
            "type": "boolean"
          },
          "utcTimestamp": {
            "type": "string",
            "format": "date-time"
          }
        },
        "additionalProperties": false
      },
      "GeniusSports.MatchState.Platform.DataContracts.Volleyball.MatchStartAction": {
        "required": [
          "isConfirmed",
          "setNumber",
          "utcTimestamp"
        ],
        "type": "object",
        "properties": {
          "startTime": {
            "type": "string",
            "format": "date-time"
          },
          "setNumber": {
            "type": "integer",
            "format": "int32"
          },
          "sequence": {
            "type": "integer",
            "format": "int32"
          },
          "isConfirmed": {
            "type": "boolean"
          },
          "utcTimestamp": {
            "type": "string",
            "format": "date-time"
          }
        },
        "additionalProperties": false
      },
      "GeniusSports.MatchState.Platform.DataContracts.Volleyball.PointAction": {
        "required": [
          "isConfirmed",
          "setNumber",
          "utcTimestamp"
        ],
        "type": "object",
        "properties": {
          "linkedActionId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "winnerTeam": {
            "$ref": "#/components/schemas/Sports.Volleyball.Contracts.Common.Team"
          },
          "type": {
            "$ref": "#/components/schemas/Sports.Volleyball.Contracts.Common.PointType"
          },
          "reason": {
            "$ref": "#/components/schemas/Sports.Volleyball.Contracts.Common.PointReason"
          },
          "setNumber": {
            "type": "integer",
            "format": "int32"
          },
          "sequence": {
            "type": "integer",
            "format": "int32"
          },
          "isConfirmed": {
            "type": "boolean"
          },
          "utcTimestamp": {
            "type": "string",
            "format": "date-time"
          }
        },
        "additionalProperties": false
      },
      "GeniusSports.MatchState.Platform.DataContracts.Volleyball.ProtestAction": {
        "required": [
          "isConfirmed",
          "setNumber",
          "utcTimestamp"
        ],
        "type": "object",
        "properties": {
          "team": {
            "$ref": "#/components/schemas/Sports.Volleyball.Contracts.Common.Team"
          },
          "pointOutcome": {
            "$ref": "#/components/schemas/Sports.Volleyball.Contracts.Common.ProtestPointOutcome"
          },
          "setNumber": {
            "type": "integer",
            "format": "int32"
          },
          "sequence": {
            "type": "integer",
            "format": "int32"
          },
          "isConfirmed": {
            "type": "boolean"
          },
          "utcTimestamp": {
            "type": "string",
            "format": "date-time"
          }
        },
        "additionalProperties": false
      },
      "GeniusSports.MatchState.Platform.DataContracts.Volleyball.RecoveryAction": {
        "required": [
          "isConfirmed",
          "setNumber",
          "utcTimestamp"
        ],
        "type": "object",
        "properties": {
          "team": {
            "$ref": "#/components/schemas/Sports.Volleyball.Contracts.Common.Team"
          },
          "playerId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "injuryActionId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "setNumber": {
            "type": "integer",
            "format": "int32"
          },
          "sequence": {
            "type": "integer",
            "format": "int32"
          },
          "isConfirmed": {
            "type": "boolean"
          },
          "utcTimestamp": {
            "type": "string",
            "format": "date-time"
          }
        },
        "additionalProperties": false
      },
      "GeniusSports.MatchState.Platform.DataContracts.Volleyball.RefereeMindChangeAction": {
        "required": [
          "isConfirmed",
          "setNumber",
          "utcTimestamp"
        ],
        "type": "object",
        "properties": {
          "pointOutcome": {
            "$ref": "#/components/schemas/Sports.Volleyball.Contracts.Common.RefereeMindChangePointOutcome"
          },
          "setNumber": {
            "type": "integer",
            "format": "int32"
          },
          "sequence": {
            "type": "integer",
            "format": "int32"
          },
          "isConfirmed": {
            "type": "boolean"
          },
          "utcTimestamp": {
            "type": "string",
            "format": "date-time"
          }
        },
        "additionalProperties": false
      },
      "GeniusSports.MatchState.Platform.DataContracts.Volleyball.ReplayAction": {
        "required": [
          "isConfirmed",
          "setNumber",
          "utcTimestamp"
        ],
        "type": "object",
        "properties": {
          "pointOutcome": {
            "$ref": "#/components/schemas/Sports.Volleyball.Contracts.Common.ReplayPointOutcome"
          },
          "setNumber": {
            "type": "integer",
            "format": "int32"
          },
          "sequence": {
            "type": "integer",
            "format": "int32"
          },
          "isConfirmed": {
            "type": "boolean"
          },
          "utcTimestamp": {
            "type": "string",
            "format": "date-time"
          }
        },
        "additionalProperties": false
      },
      "GeniusSports.MatchState.Platform.DataContracts.Volleyball.ResetAction": {
        "required": [
          "isConfirmed",
          "utcTimestamp"
        ],
        "type": "object",
        "properties": {
          "sequence": {
            "type": "integer",
            "format": "int32"
          },
          "isConfirmed": {
            "type": "boolean"
          },
          "utcTimestamp": {
            "type": "string",
            "format": "date-time"
          }
        },
        "additionalProperties": false
      },
      "GeniusSports.MatchState.Platform.DataContracts.Volleyball.SanctionAction": {
        "required": [
          "isConfirmed",
          "setNumber",
          "utcTimestamp"
        ],
        "type": "object",
        "properties": {
          "team": {
            "$ref": "#/components/schemas/Sports.Volleyball.Contracts.Common.Team"
          },
          "playerId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "type": {
            "$ref": "#/components/schemas/Sports.Volleyball.Contracts.Common.SanctionType"
          },
          "setNumber": {
            "type": "integer",
            "format": "int32"
          },
          "sequence": {
            "type": "integer",
            "format": "int32"
          },
          "isConfirmed": {
            "type": "boolean"
          },
          "utcTimestamp": {
            "type": "string",
            "format": "date-time"
          }
        },
        "additionalProperties": false
      },
      "GeniusSports.MatchState.Platform.DataContracts.Volleyball.ServeAction": {
        "required": [
          "isConfirmed",
          "setNumber",
          "utcTimestamp"
        ],
        "type": "object",
        "properties": {
          "team": {
            "$ref": "#/components/schemas/Sports.Volleyball.Contracts.Common.Team"
          },
          "playerId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "setNumber": {
            "type": "integer",
            "format": "int32"
          },
          "sequence": {
            "type": "integer",
            "format": "int32"
          },
          "isConfirmed": {
            "type": "boolean"
          },
          "utcTimestamp": {
            "type": "string",
            "format": "date-time"
          }
        },
        "additionalProperties": false
      },
      "GeniusSports.MatchState.Platform.DataContracts.Volleyball.SetEndAction": {
        "required": [
          "isConfirmed",
          "setNumber",
          "utcTimestamp"
        ],
        "type": "object",
        "properties": {
          "endType": {
            "$ref": "#/components/schemas/Sports.Volleyball.Contracts.Common.SetEndType"
          },
          "endTime": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "setEndConfirmed": {
            "type": "boolean"
          },
          "setNumber": {
            "type": "integer",
            "format": "int32"
          },
          "sequence": {
            "type": "integer",
            "format": "int32"
          },
          "isConfirmed": {
            "type": "boolean"
          },
          "utcTimestamp": {
            "type": "string",
            "format": "date-time"
          }
        },
        "additionalProperties": false
      },
      "GeniusSports.MatchState.Platform.DataContracts.Volleyball.SetScoreAction": {
        "required": [
          "isConfirmed",
          "setNumber",
          "utcTimestamp"
        ],
        "type": "object",
        "properties": {
          "scoreInPoints": {
            "$ref": "#/components/schemas/Sports.Volleyball.Contracts.Common.Score"
          },
          "setNumber": {
            "type": "integer",
            "format": "int32"
          },
          "sequence": {
            "type": "integer",
            "format": "int32"
          },
          "isConfirmed": {
            "type": "boolean"
          },
          "utcTimestamp": {
            "type": "string",
            "format": "date-time"
          }
        },
        "additionalProperties": false
      },
      "GeniusSports.MatchState.Platform.DataContracts.Volleyball.SetStartAction": {
        "required": [
          "isConfirmed",
          "setNumber",
          "utcTimestamp"
        ],
        "type": "object",
        "properties": {
          "startTime": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "isGoldenSet": {
            "type": "boolean"
          },
          "setNumber": {
            "type": "integer",
            "format": "int32"
          },
          "sequence": {
            "type": "integer",
            "format": "int32"
          },
          "isConfirmed": {
            "type": "boolean"
          },
          "utcTimestamp": {
            "type": "string",
            "format": "date-time"
          }
        },
        "additionalProperties": false
      },
      "GeniusSports.MatchState.Platform.DataContracts.Volleyball.SubstitutionAction": {
        "required": [
          "isConfirmed",
          "setNumber",
          "utcTimestamp"
        ],
        "type": "object",
        "properties": {
          "linkedActionId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "team": {
            "$ref": "#/components/schemas/Sports.Volleyball.Contracts.Common.Team"
          },
          "playerOutId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "playerInId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "type": {
            "$ref": "#/components/schemas/Sports.Volleyball.Contracts.Common.SubstitutionType"
          },
          "setNumber": {
            "type": "integer",
            "format": "int32"
          },
          "sequence": {
            "type": "integer",
            "format": "int32"
          },
          "isConfirmed": {
            "type": "boolean"
          },
          "utcTimestamp": {
            "type": "string",
            "format": "date-time"
          }
        },
        "additionalProperties": false
      },
      "GeniusSports.MatchState.Platform.DataContracts.Volleyball.TimeOutAction": {
        "required": [
          "isConfirmed",
          "setNumber",
          "utcTimestamp"
        ],
        "type": "object",
        "properties": {
          "team": {
            "$ref": "#/components/schemas/Sports.Volleyball.Contracts.Common.Team"
          },
          "startTime": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "endTime": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "type": {
            "$ref": "#/components/schemas/Sports.Volleyball.Contracts.Common.TimeOutType"
          },
          "setNumber": {
            "type": "integer",
            "format": "int32"
          },
          "sequence": {
            "type": "integer",
            "format": "int32"
          },
          "isConfirmed": {
            "type": "boolean"
          },
          "utcTimestamp": {
            "type": "string",
            "format": "date-time"
          }
        },
        "additionalProperties": false
      },
      "GeniusSports.MatchState.Platform.DataContracts.Volleyball.VolleyballActionsGranularity": {
        "type": "object",
        "properties": {
          "challengeAction": {
            "$ref": "#/components/schemas/GeniusSports.MatchState.Platform.DataContracts.Volleyball.ActionGranularity"
          },
          "coinTossAction": {
            "$ref": "#/components/schemas/GeniusSports.MatchState.Platform.DataContracts.Volleyball.ActionGranularity"
          },
          "courtStateAction": {
            "$ref": "#/components/schemas/GeniusSports.MatchState.Platform.DataContracts.Volleyball.ActionGranularity"
          },
          "injuryAction": {
            "$ref": "#/components/schemas/GeniusSports.MatchState.Platform.DataContracts.Volleyball.ActionGranularity"
          },
          "liberoAction": {
            "$ref": "#/components/schemas/GeniusSports.MatchState.Platform.DataContracts.Volleyball.ActionGranularity"
          },
          "lineUpAction": {
            "$ref": "#/components/schemas/GeniusSports.MatchState.Platform.DataContracts.Volleyball.ActionGranularity"
          },
          "matchEndAction": {
            "$ref": "#/components/schemas/GeniusSports.MatchState.Platform.DataContracts.Volleyball.ActionGranularity"
          },
          "matchScoreAction": {
            "$ref": "#/components/schemas/GeniusSports.MatchState.Platform.DataContracts.Volleyball.ActionGranularity"
          },
          "matchStartAction": {
            "$ref": "#/components/schemas/GeniusSports.MatchState.Platform.DataContracts.Volleyball.ActionGranularity"
          },
          "pointAction": {
            "$ref": "#/components/schemas/GeniusSports.MatchState.Platform.DataContracts.Volleyball.ActionGranularity"
          },
          "protestAction": {
            "$ref": "#/components/schemas/GeniusSports.MatchState.Platform.DataContracts.Volleyball.ActionGranularity"
          },
          "recoveryAction": {
            "$ref": "#/components/schemas/GeniusSports.MatchState.Platform.DataContracts.Volleyball.ActionGranularity"
          },
          "refereeMindChangeAction": {
            "$ref": "#/components/schemas/GeniusSports.MatchState.Platform.DataContracts.Volleyball.ActionGranularity"
          },
          "replayAction": {
            "$ref": "#/components/schemas/GeniusSports.MatchState.Platform.DataContracts.Volleyball.ActionGranularity"
          },
          "sanctionAction": {
            "$ref": "#/components/schemas/GeniusSports.MatchState.Platform.DataContracts.Volleyball.ActionGranularity"
          },
          "serveAction": {
            "$ref": "#/components/schemas/GeniusSports.MatchState.Platform.DataContracts.Volleyball.ActionGranularity"
          },
          "setEndAction": {
            "$ref": "#/components/schemas/GeniusSports.MatchState.Platform.DataContracts.Volleyball.ActionGranularity"
          },
          "setScoreAction": {
            "$ref": "#/components/schemas/GeniusSports.MatchState.Platform.DataContracts.Volleyball.ActionGranularity"
          },
          "setStartAction": {
            "$ref": "#/components/schemas/GeniusSports.MatchState.Platform.DataContracts.Volleyball.ActionGranularity"
          },
          "substitutionAction": {
            "$ref": "#/components/schemas/GeniusSports.MatchState.Platform.DataContracts.Volleyball.ActionGranularity"
          },
          "timeOutAction": {
            "$ref": "#/components/schemas/GeniusSports.MatchState.Platform.DataContracts.Volleyball.ActionGranularity"
          },
          "competitionId": {
            "type": "string",
            "nullable": true
          },
          "seasonId": {
            "type": "string",
            "nullable": true
          },
          "roundId": {
            "type": "string",
            "nullable": true
          },
          "fixtureId": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "GeniusSports.MatchStateFramework.MatchState.Platform.DataContracts.Common.ReliabilityAction": {
        "type": "object",
        "properties": {
          "isReliable": {
            "type": "boolean"
          },
          "isConfirmed": {
            "type": "boolean"
          },
          "reason": {
            "maxLength": 200,
            "minLength": 0,
            "type": "string",
            "nullable": true
          },
          "utcTimestamp": {
            "type": "string",
            "format": "date-time"
          }
        },
        "additionalProperties": false
      },
      "Sports.Volleyball.Contracts.Common.ChallengeOutcome": {
        "enum": [
          "Successful",
          "Unsuccessful",
          "PictureUnavailable"
        ],
        "type": "string"
      },
      "Sports.Volleyball.Contracts.Common.ChallengePointOutcome": {
        "enum": [
          "ReversDecision",
          "Resume",
          "ReplayRally",
          "PointHome",
          "PointAway"
        ],
        "type": "string"
      },
      "Sports.Volleyball.Contracts.Common.CoinTossChoice": {
        "enum": [
          "Serve",
          "Receive",
          "LeftSide",
          "RightSide"
        ],
        "type": "string"
      },
      "Sports.Volleyball.Contracts.Common.CourtPosition": {
        "enum": [
          "Zone1",
          "Zone2",
          "Zone3",
          "Zone4",
          "Zone5",
          "Zone6"
        ],
        "type": "string"
      },
      "Sports.Volleyball.Contracts.Common.LiberoActionType": {
        "enum": [
          "UnableToPlay",
          "ReDesignate"
        ],
        "type": "string"
      },
      "Sports.Volleyball.Contracts.Common.MatchEndOutcome": {
        "enum": [
          "WinnerHomeByRetirementOrDefault",
          "WinnerAwayByRetirementOrDefault",
          "NoWinnerDueToRetirementOrDefault",
          "WinnerHome",
          "WinnerAway",
          "Abandoned",
          "Cancelled",
          "Postponed"
        ],
        "type": "string"
      },
      "Sports.Volleyball.Contracts.Common.Player": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int32"
          },
          "roles": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Sports.Volleyball.Contracts.Common.PlayerRole"
            },
            "nullable": true
          },
          "courtPosition": {
            "$ref": "#/components/schemas/Sports.Volleyball.Contracts.Common.CourtPosition"
          }
        },
        "additionalProperties": false
      },
      "Sports.Volleyball.Contracts.Common.PlayerRole": {
        "enum": [
          "Captain",
          "Libero"
        ],
        "type": "string"
      },
      "Sports.Volleyball.Contracts.Common.PointReason": {
        "enum": [
          "Rally",
          "Sanction",
          "Challenge",
          "MindChange",
          "Replay",
          "Protest"
        ],
        "type": "string"
      },
      "Sports.Volleyball.Contracts.Common.PointType": {
        "enum": [
          "Block",
          "Kill",
          "Out",
          "BlockOut",
          "Ace",
          "Error",
          "ServeError",
          "Penalty"
        ],
        "type": "string"
      },
      "Sports.Volleyball.Contracts.Common.ProtestPointOutcome": {
        "enum": [
          "ReversDecision",
          "Resume",
          "ReplayRally"
        ],
        "type": "string"
      },
      "Sports.Volleyball.Contracts.Common.RefereeMindChangePointOutcome": {
        "enum": [
          "ReversDecision",
          "Resume",
          "ReplayRally"
        ],
        "type": "string"
      },
      "Sports.Volleyball.Contracts.Common.ReplayPointOutcome": {
        "enum": [
          "Resume",
          "ReplayRally"
        ],
        "type": "string"
      },
      "Sports.Volleyball.Contracts.Common.Requestor": {
        "enum": [
          "Referee",
          "Home",
          "Away"
        ],
        "type": "string"
      },
      "Sports.Volleyball.Contracts.Common.SanctionType": {
        "enum": [
          "ImproperRequest",
          "DelayWarning",
          "DelaySanction",
          "Warning",
          "Penalty",
          "Expulsion",
          "Disqualification"
        ],
        "type": "string"
      },
      "Sports.Volleyball.Contracts.Common.Score": {
        "type": "object",
        "properties": {
          "home": {
            "type": "integer",
            "format": "int32"
          },
          "away": {
            "type": "integer",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "Sports.Volleyball.Contracts.Common.SetEndType": {
        "enum": [
          "WinnerHome",
          "WinnerHomeByRetirementOrDefault",
          "WinnerAway",
          "WinnerAwayByRetirementOrDefault",
          "Draw"
        ],
        "type": "string"
      },
      "Sports.Volleyball.Contracts.Common.SubstitutionType": {
        "enum": [
          "Regular",
          "Exceptional",
          "Libero"
        ],
        "type": "string"
      },
      "Sports.Volleyball.Contracts.Common.Team": {
        "enum": [
          "Home",
          "Away"
        ],
        "type": "string"
      },
      "Sports.Volleyball.Contracts.Common.TimeOutType": {
        "enum": [
          "Facultative",
          "Technical",
          "Medical"
        ],
        "type": "string"
      }
    },
    "securitySchemes": {
      "OAuth2": {
        "type": "oauth2",
        "flows": {
          "clientCredentials": {
            "tokenUrl": "https://auth.api.geniussports.com/oauth2/token",
            "scopes": {
              "matchstateapi/matchstate:read": "Allows access to GET MatchState and GET MatchStateGranularity endpoint",
              "matchstateapi/actions:write": "Allows access to all POST and PUT (ANY) Actions endpoints",
              "matchstateapi/reliability:write": "Allows access to POST Reliability endpoint",
              "matchstateapi/matchstatus:write": "Allows access to POST MatchStatus endpoint",
              "matchstateapi/reset:write": "Allows access to POST Reset endpoint",
              "matchstateapi/granularity:write": "Allows access to POST Granularity endpoint"
            }
          }
        }
      },
      "ApiKey": {
        "type": "apiKey",
        "name": "X-Api-Key",
        "in": "header"
      }
    }
  },
  "security": [
    {
      "OAuth2": [
        "matchstateapi/matchstate:read",
        "matchstateapi/actions:write",
        "matchstateapi/reliability:write",
        "matchstateapi/matchstatus:write",
        "matchstateapi/reset:write",
        "matchstateapi/granularity:write"
      ],
      "ApiKey": [ ]
    }
  ]
}