event

For: READ, PUBLISH

The event message type is the most common type. It is generated when some kind of event occurs. Whether this is a shot at goal, a referee being assiged or event just the ball moving, these can all generate messages of the 'event' type.

The event messages are broken down by a number of different classifier fields. In increasing levels of granularity they are:

class

This defines the type of events this message is related to. Some examples include: sport; events relating to something that happens as part of the sporting event. EG. A shot at goal or a foul setup; events relating to the setup of the match. EG. Assiging a player to a team/position, assigning a referee

eventType

The type of the event (inside the class). For a sport class message this may be the type of shot being made, or for a setup class message the type of thing being assigned.

subType

Some eventTypes (but not all) also support a 'subType' to further classify the eventType

options

Some eventTypes/subTypes support additional options for more information about the event. These are key/pair values. While some values may be boolean (true/false) others can be integer, strings etc.

While all messages of type 'event' require a class, the other fields may or may not be required depending on the type of event.

        {
            "type": "event",
            "fixtureId": "b25692de-ac17-11e8-98d0-529269fb1459",
            "clientType": "AppName:Version",
            "data": {
                "eventId": "c2404cc0-9f75-11e8-98d0-529269fb1459",
                "entityId": "c24048a6-9f75-11e8-98d0-529269fb1459",
                "personId": "c2405b2a-9f75-11e8-98d0-529269fb1459",
                "class": "sport",
                "eventType": "2pt",
                "eventTime": "2018-08-14T16:45:33.88",
                "subType": "jumpShot",
                "options": {
                    "fastBreak": true,
                    "pointsInThePaint": true,
                    "distance": 2.3,
                },
                "clock": "PT08M23S",
                "shotClock": "PT12.3S",
                "periodId": 2,
                "success": true,
                "x": 56,
                "y": 23,
                "officialId": "c2404ff4-9f75-11e8-98d0-529269fb1459",
                "playId": "d8934b2a-9f75-11e8-98d0-529269fb1459",
                "scores": {
                    "c24048a6-9f75-11e8-98d0-529269fb1459": "56",
                    "b25692de-ac17-11e8-98d0-529269fb1459": "23",
                },
                "status": "updated",
                "timestamp": "2018-08-14T16:45:34.34"
            }
        }
    

For each sport/event/eventType/SubType the required fields and available different combinations are varied. Please see the list below for more information.

class
eventType
subType
options
Required Fields

setup

fixture

post

foulsBeforeBonusinteger maxFoulsPersonalinteger shotClockinteger periodLengthinteger overtimeLengthinteger numberOfPeriodsinteger attendanceinteger Total attendance count sellOutboolean Were all tickets sold out?

class eventType options.numberOfPeriods options.periodLength

person

namestring The person's name positionstring The position this person plays Allowed Values:

  • G

  • GF

  • PG

  • SG

  • F

  • SF

  • PF

  • C

  • CF

  • FC

  • FG

starterboolean Is this person a starter? captainboolean Is this person the captain? unregisteredboolean Is this person unregistered? bibstring The number/position on this person's shirt/bib

class eventType personId entityId options.name

role

entity

namestring numberinteger[1-10] The persons's number, eg 2nd assistant coach bibstring The number/position on this person's shirt/bib positionstring The position/role of this person Allowed Values:

  • COACH

  • COACH_HEAD

  • COACH_HEAD_INTERIM

  • COACH_ASSISTANT

  • COACH_ASSISTANT_HEAD

  • COACH_ASSOCIATE_HEAD

  • COACH_SC

  • COACH_SENIOR

  • COACH_DEVELOPMENT

  • COACH_SPECIALIST

  • COACH_OTHER

  • CAPTAIN

  • CAPTAIN_VICE

  • DOCTOR

  • PHYSIOTHERAPIST

  • MEDICAL_STAFF

  • TRAINER

  • TRAINER_ASSISTANT

  • OTHER

class eventType entityId

fixture

namestring numberinteger[1-10] The persons's number, eg 2nd assistant coach bibstring The number/position on this person's shirt/bib positionstring The official's position Allowed Values:

  • MATCH_OFFICIAL

  • COMMISSIONER

  • STATISTICIAN

  • SCORER

  • SCORER_ASSISTANT

  • SHOT_CLOCK_OPERATOR

  • TIMER

  • GROUNDSKEEPER

  • OTHER

  • REFEREE

  • UMPIRE

  • UMPIRE_1

  • UMPIRE_2

  • REFEREE_ASSISTANT

  • REFEREE_RESERVE

  • REFEREE_ASSISTANT_RESERVE

  • CREW_CHIEF

  • DOCTOR

class eventType personId options.name options.position

sport

2pt

(blank)

blockedboolean defensiveGoalTendingboolean fastBreakboolean fromTurnoverboolean secondChanceboolean pointsInThePaintboolean powerPlayboolean

class eventType entityId periodId success

alleyOop

blockedboolean defensiveGoalTendingboolean fastBreakboolean fromTurnoverboolean secondChanceboolean pointsInThePaintboolean powerPlayboolean

class eventType entityId periodId success

alleyOopDunk

blockedboolean defensiveGoalTendingboolean fastBreakboolean fromTurnoverboolean secondChanceboolean pointsInThePaintboolean powerPlayboolean

class eventType entityId periodId success

awarded

blockedboolean defensiveGoalTendingboolean fastBreakboolean fromTurnoverboolean secondChanceboolean pointsInThePaintboolean powerPlayboolean

class eventType entityId periodId success

drivingLayup

blockedboolean defensiveGoalTendingboolean fastBreakboolean fromTurnoverboolean secondChanceboolean pointsInThePaintboolean powerPlayboolean

class eventType entityId periodId success

dunk

blockedboolean defensiveGoalTendingboolean fastBreakboolean fromTurnoverboolean secondChanceboolean pointsInThePaintboolean powerPlayboolean

class eventType entityId periodId success

euroStep

blockedboolean defensiveGoalTendingboolean fastBreakboolean fromTurnoverboolean secondChanceboolean pointsInThePaintboolean powerPlayboolean

class eventType entityId periodId success

fadeAway

blockedboolean defensiveGoalTendingboolean fastBreakboolean fromTurnoverboolean secondChanceboolean pointsInThePaintboolean powerPlayboolean

class eventType entityId periodId success

floatingJumpShot

blockedboolean defensiveGoalTendingboolean fastBreakboolean fromTurnoverboolean secondChanceboolean pointsInThePaintboolean powerPlayboolean

class eventType entityId periodId success

heldball

blockedboolean defensiveGoalTendingboolean fastBreakboolean fromTurnoverboolean secondChanceboolean pointsInThePaintboolean powerPlayboolean

class eventType entityId periodId success

hookShot

blockedboolean defensiveGoalTendingboolean fastBreakboolean fromTurnoverboolean secondChanceboolean pointsInThePaintboolean powerPlayboolean

class eventType entityId periodId success

jumpShot

blockedboolean defensiveGoalTendingboolean fastBreakboolean fromTurnoverboolean secondChanceboolean pointsInThePaintboolean powerPlayboolean

class eventType entityId periodId success

layup

blockedboolean defensiveGoalTendingboolean fastBreakboolean fromTurnoverboolean secondChanceboolean pointsInThePaintboolean powerPlayboolean

class eventType entityId periodId success

pullUpJumpShot

blockedboolean defensiveGoalTendingboolean fastBreakboolean fromTurnoverboolean secondChanceboolean pointsInThePaintboolean powerPlayboolean

class eventType entityId periodId success

reverseLayup

blockedboolean defensiveGoalTendingboolean fastBreakboolean fromTurnoverboolean secondChanceboolean pointsInThePaintboolean powerPlayboolean

class eventType entityId periodId success

stepBackJumpShot

blockedboolean defensiveGoalTendingboolean fastBreakboolean fromTurnoverboolean secondChanceboolean pointsInThePaintboolean powerPlayboolean

class eventType entityId periodId success

tipIn

blockedboolean defensiveGoalTendingboolean fastBreakboolean fromTurnoverboolean secondChanceboolean pointsInThePaintboolean powerPlayboolean

class eventType entityId periodId success

turnAroundJumpShot

blockedboolean defensiveGoalTendingboolean fastBreakboolean fromTurnoverboolean secondChanceboolean pointsInThePaintboolean powerPlayboolean

class eventType entityId periodId success

3pt

(blank)

blockedboolean defensiveGoalTendingboolean fastBreakboolean fromTurnoverboolean secondChanceboolean powerPlayboolean

class eventType entityId periodId success

awarded

blockedboolean defensiveGoalTendingboolean fastBreakboolean fromTurnoverboolean secondChanceboolean powerPlayboolean

class eventType entityId periodId success

fadeAway

blockedboolean defensiveGoalTendingboolean fastBreakboolean fromTurnoverboolean secondChanceboolean powerPlayboolean

class eventType entityId periodId success

floatingJumpShot

blockedboolean defensiveGoalTendingboolean fastBreakboolean fromTurnoverboolean secondChanceboolean powerPlayboolean

class eventType entityId periodId success

jumpShot

blockedboolean defensiveGoalTendingboolean fastBreakboolean fromTurnoverboolean secondChanceboolean powerPlayboolean

class eventType entityId periodId success

pullUpJumpShot

blockedboolean defensiveGoalTendingboolean fastBreakboolean fromTurnoverboolean secondChanceboolean powerPlayboolean

class eventType entityId periodId success

stepBackJumpShot

blockedboolean defensiveGoalTendingboolean fastBreakboolean fromTurnoverboolean secondChanceboolean powerPlayboolean

class eventType entityId periodId success

turnAroundJumpShot

blockedboolean defensiveGoalTendingboolean fastBreakboolean fromTurnoverboolean secondChanceboolean powerPlayboolean

class eventType entityId periodId success

assist

powerPlayboolean

class eventType entityId periodId

block

powerPlayboolean

class eventType personId entityId periodId

clockAdjustment

class eventType

fixture

abandoned

class eventType subType

cancelled

class eventType subType

confirmed

class eventType periodId

delayed

newTimedate-time The new start time reasonstring The reason for the delay Allowed Values:

  • CROWD

  • EARLY

  • EQUIPMENT

  • LATEFINISH

  • MEDICAL

  • OTHER

  • PREGAME

  • TECHNICAL

  • VENUE

  • WEATHER

class eventType options.newTime options.reason

end

class eventType periodId

interrupted

reasonstring The reason for the interruption Allowed Values:

  • CROWD

  • EQUIPMENT

  • MEDICAL

  • OTHER

  • REVIEW

  • VENUE

  • WEATHER

class eventType options.reason

pending

class eventType periodId

protest

class eventType subType

start

class eventType periodId

warm_up

class eventType subType

foul

benchTechnical

freeThrowsinteger[1-10] How many free throws are awarded? powerPlayboolean

class eventType entityId periodId

coachDisqualifying

freeThrowsinteger[1-10] How many free throws are awarded? powerPlayboolean

class eventType entityId periodId

coachTechnical

freeThrowsinteger[1-10] How many free throws are awarded? powerPlayboolean

class eventType entityId periodId

disqualifying

freeThrowsinteger[1-10] How many free throws are awarded? powerPlayboolean

class eventType entityId periodId

drawn

freeThrowsinteger[1-10] How many free throws are awarded? powerPlayboolean

class eventType entityId periodId

offensive

freeThrowsinteger[1-10] How many free throws are awarded? powerPlayboolean blockboolean chargeboolean flagrantType1boolean flagrantType2boolean

class eventType entityId periodId

personal

freeThrowsinteger[1-10] How many free throws are awarded? powerPlayboolean shootingboolean looseBallboolean flagrantType1boolean flagrantType2boolean

class eventType entityId periodId

technical

freeThrowsinteger[1-10] How many free throws are awarded? powerPlayboolean

class eventType entityId

unsportsmanlike

freeThrowsinteger[1-10] How many free throws are awarded? powerPlayboolean

class eventType entityId periodId

freeThrow

1Of1

fastBreakboolean fromTurnoverboolean secondChanceboolean

class eventType personId entityId periodId

1Of2

fastBreakboolean fromTurnoverboolean secondChanceboolean

class eventType personId entityId periodId

1Of3

fastBreakboolean fromTurnoverboolean secondChanceboolean

class eventType personId entityId periodId

2Of2

fastBreakboolean fromTurnoverboolean secondChanceboolean

class eventType personId entityId periodId

2Of3

fastBreakboolean fromTurnoverboolean secondChanceboolean

class eventType personId entityId periodId

3Of3

fastBreakboolean fromTurnoverboolean secondChanceboolean

class eventType personId entityId periodId

awarded

fastBreakboolean fromTurnoverboolean secondChanceboolean

class eventType personId entityId periodId

jumpBall

lost

startOfPeriodboolean lodgedBallboolean doubleViolationboolean outOfBoundsboolean outOfBoundsReboundboolean blockTieUpboolean unclearPossessionboolean heldBallboolean contestedReboundboolean powerPlayboolean

class eventType entityId periodId subType

recovered

startOfPeriodboolean lodgedBallboolean doubleViolationboolean outOfBoundsboolean outOfBoundsReboundboolean blockTieUpboolean unclearPossessionboolean heldBallboolean contestedReboundboolean powerPlayboolean

class eventType entityId periodId subType

tap

startOfPeriodboolean lodgedBallboolean doubleViolationboolean outOfBoundsboolean outOfBoundsReboundboolean blockTieUpboolean unclearPossessionboolean heldBallboolean contestedReboundboolean powerPlayboolean

class eventType entityId periodId subType

won

startOfPeriodboolean lodgedBallboolean doubleViolationboolean outOfBoundsboolean outOfBoundsReboundboolean blockTieUpboolean unclearPossessionboolean heldBallboolean contestedReboundboolean powerPlayboolean

class eventType entityId periodId subType

period

confirmed

class eventType subType periodId

end

class eventType subType periodId

pending

class eventType subType periodId

start

class eventType subType periodId

possession

powerPlay

class eventType entityId periodId

possessionArrow

class eventType entityId periodId

powerPlay

end

class eventType periodId subType

pending

class eventType periodId subType

start

class eventType periodId subType

rebound

defensive

teamboolean deadBallboolean offensiveDeadBallboolean defensiveDeadBallboolean powerPlayboolean

class eventType entityId periodId subType

offensive

teamboolean deadBallboolean offensiveDeadBallboolean defensiveDeadBallboolean powerPlayboolean

class eventType entityId periodId subType

scoreAdjustment

class eventType periodId

statusAdjustment

class eventType message

steal

powerPlayboolean

class eventType personId entityId periodId

substitution

in

class eventType personId entityId subType

out

class eventType personId entityId subType

targetScore

valueinteger The target score

class eventType options.value

timeOut

commercial

bloodRuleboolean mandatoryboolean

class eventType periodId

full

bloodRuleboolean mandatoryboolean

class eventType periodId

media

bloodRuleboolean mandatoryboolean

class eventType periodId

officials

bloodRuleboolean mandatoryboolean

class eventType periodId

short

bloodRuleboolean mandatoryboolean

class eventType periodId

turnover

10Sec

teamboolean powerPlayboolean

class eventType entityId periodId

3Sec

teamboolean powerPlayboolean

class eventType entityId periodId

5Sec

teamboolean powerPlayboolean

class eventType entityId periodId

8Sec

teamboolean powerPlayboolean

class eventType entityId periodId

backCourt

teamboolean powerPlayboolean

class eventType entityId periodId

badPass

teamboolean powerPlayboolean

class eventType entityId periodId

ballHandling

teamboolean powerPlayboolean

class eventType entityId periodId

carrying

teamboolean powerPlayboolean

class eventType entityId periodId

doubleDribble

teamboolean powerPlayboolean

class eventType entityId periodId

dribbling

teamboolean powerPlayboolean

class eventType entityId periodId

laneViolation

teamboolean powerPlayboolean

class eventType entityId periodId

lostBall

teamboolean powerPlayboolean

class eventType entityId periodId

offensive

teamboolean powerPlayboolean

class eventType entityId periodId

offensiveGoalTending

teamboolean powerPlayboolean

class eventType entityId periodId

other

teamboolean powerPlayboolean

class eventType entityId periodId

outOfBounds

teamboolean powerPlayboolean

class eventType entityId periodId

overAndBack

teamboolean powerPlayboolean

class eventType entityId periodId

shotClock

teamboolean powerPlayboolean

class eventType entityId periodId

technicalFoul

teamboolean powerPlayboolean

class eventType entityId periodId

travel

teamboolean powerPlayboolean

class eventType entityId periodId

videoReview

coachChallenge

statusstring Video review status Allowed Values:

  • PENDING

  • CANCELLED

  • COMPLETE

decisionstring The decision of the video review Allowed Values:

  • UPHELD

  • OVERTURNED

reasonstring Reason for video review request Allowed Values:

  • PERIOD_END

  • CLOCK_CORRECTION

  • SHOT_CLOCK_VIOLATION

  • NON_SHOOTING_FOUL

  • GOALTENDING

  • OUT_OF_BOUNDS

  • FIELD_GOAL_SUCCESS

  • FREE_THROWS_SHOOTING_FOUL

  • FOUL_CHANGE

  • IDENTIFY_FT_SHOOTER

  • VIOLENCE

class eventType periodId subType

instantReplaySystem

statusstring Video review status Allowed Values:

  • PENDING

  • CANCELLED

  • COMPLETE

decisionstring The decision of the video review Allowed Values:

  • UPHELD

  • OVERTURNED

reasonstring Reason for video review request Allowed Values:

  • PERIOD_END

  • CLOCK_CORRECTION

  • SHOT_CLOCK_VIOLATION

  • NON_SHOOTING_FOUL

  • GOALTENDING

  • OUT_OF_BOUNDS

  • FIELD_GOAL_SUCCESS

  • FREE_THROWS_SHOOTING_FOUL

  • FOUL_CHANGE

  • IDENTIFY_FT_SHOOTER

  • VIOLENCE

class eventType periodId subType

clock

main

adjust

valuestring The new value of the clock

class eventType options.value

start

class eventType subType

stop

class eventType subType

shot

adjust

valuestring The new value of the clock

class eventType options.value

start

class eventType subType

stop

class eventType subType

heartbeat

client

class eventType

disconnect

client

class eventType

reset

client

class eventType

clientSessionStart

client

sessionIdstring Id for the client application user session authMethodstring The authentication method used by the client application usernamestring Username of the user in the client application userIdstring User identifier in the client application

class eventType

Bold fields are required. Other fields may be required depending on the eventClass/type etc.

Field
Description

eventId

A unique identifier for an event/action. UUIDv1 format. An edits/deletes of this event will need to use the same identifier.

entityId

A unique identifier for the entity/team that is performing this event/action. UUIDv1 format.

personId

A unique identifier for the person /team that is performing this event/action. UUIDv1 format. If the person is part of an entity/team that id field should also be included.

class

The class of the event - see above

eventType

The eventType of the event - see above

subType

The subType of the event - see above

options

The options for the event - see above

eventTime

An ISO-8601 datetime giving the time this event occurred. If this event is added out of sequence, then this timestamp should reflect when the event 'would' have occurred.

clock

The game clock time when this action occurred. Format ISO-8601 Duration.

shotClock

The game shot clock time when this action occurred. Format ISO-8601 Duration.

periodId

The unique identifier of the period. Overtime periods start at 11. 1 = 1 OT1 = 11

success

Boolean. Did the action complete successfully. It most cases this is true, however goal/shot attempts can be false.

x

The x-coordinate on the playing surface where the action occurred.

y

The y-coordinate on the playing surface where the action occurred.

z

The z-coordinate on the playing surface where the action occurred.

officialId

The unique identifier of the official who made this call.

playId

The unique identifier of the 'play' (a group of events who share this id).

scores

The structure of entityIds and scores giving the current score after the completion of the action.

status

The status of this message. Options are added (Default); updated - meaning the content of this event has been edited; deleted - meaning this event has been deleted; enriched - meaning further information has been added to the event (not changed).

flagged

Boolean. This event has been flagged for further review and may be changed later

highlight

Boolean. This event may be a highlight of the game.

timestamp

An ISO-8601 datetime giving the time this message was sent.

clientType

The type of client that is sending this event. Generally this is given as ApplicationName:ApplicationVersion.

If a field has no value it should not be sent as part of the message. If a field has no value then it should not be sent as part of the message. "" or 0 are valid values and should only be used when the value is known to be these values.

Was this helpful?