Introduction

This document explains the TV Feed from the LiveStats software. This feed is provided in venue by means of a LAN connection. It provides both individual actions and aggregated data.

The TV feed is a simple TCP socket connectiing to specified port. By default the port number is 7677 on the computer running the LiveStats software, however this can be changed in venue by the statistician. For correct values, you will need to confirm with the statistician in venue.

Character Set

All data provided to these API functions is required to be in UTF-8 format.

All responses will be provided as UTF-8 strings.

Message Format

Messages are sent in JSON structures.

Each message content differs depending on the type of the message, but will contain at least the following keys.

  • type This field indicates the type of message. The valid types are each explained in more detail in this documentation.

    {
        "type": "action",
        ...
        ...
    }

The body of the response is a series of messages (defined below). Each message is delimited by a carriage return/line-feed \r\n series of characters (in hex, 0x0D 0x0A).

From time to time new key values/structures will be added to this protocol. Any client consuming this data should ignore anything they do not understand. New fields/values/structures should not cause a failure or crash in the client system.

Not all keys will exist in all messages for all events. No value present for a key can be sent either as a value of null or the key not being present in the data.

Connection Parameters

On connection you must send a parameters message specifying the data you want to be sent in the stream. If you do not send this message within 5 seconds of connection, the connection will be closed automatically. If you do not want to set a parameter it does not need to be inlcuded in the message. If no parameters need to be set then a blank message with only the type parameter set should be sent.
type enum

The type of the message

parameters
types string(100)

A comma separated value of the message types to be sent through the feed. If not set, then the following value is assumed. se,ac,mi,te,box,pbp

st
status
se
setup
ac
action
mi
match information
te
teams
of
officials
su
summary
box
boxscore - Statistics for teams and players for the match
pbp
playbyplay
sd
standings
sc
schedule
cs
competition statistics
playbyplayOnConnect enum

If this parameter is set to 1, then the playbyplay section will only be sent at the start of the connection not on every action. If the types parameter is used and pbp is not specified then this parameter has no effect as the playbyplay will not be sent at all.

0
No (Default)
1
Yes
fromMessageId integer

When connecting to the service, previous messages occurring in the game will not be sent, only new messages. By specifying a messageId with this paramter, messages with a messageId greater than (or equal to) the number specified here will be resent. 0 is valid and will resend all messages on connection.

Example

{
    "type": "parameters",
    "types": "se,ac,mi,te,sc,box"
}

ping

This message type is always sent regardless of the values of the types URL parameter. If no other message is available, this message type will be sent every 10 seconds to maintain the connection.
type enum

The type of the message

ping
timestamp date

The current date/time

Format is: YYYY-MM-DD HH:MM:SS:CC

Example

{
    "type": "ping",
    "timestamp" : "2017-03-31 16:56:34:01"
}

status

This message type has the current status of the match.
type enum

The type of the message

status
status enum

The status of the match.

READY
WARMUP
PREMATCH
ANTHEM
ONCOURT
COUNTDOWN
INPROGRESS
PERIODBREAK
INTERRUPTED
CANCELLED
FINISHED
PROTESTED
COMPLETE
RESCHEDULED
DELAYED
period object

current integer

The current period number. Overtime periods start at 1.

periodType enum

The type of period

REGULAR
(Default)
OVERTIME
periodStatus enum

The status of the period.

PENDING
STARTED
ENDED
CONFIRMED
clock string

The current time on the clock.

Format is: MM:SS:CC
shotClock string

The current time on the shot clock.

Format is: MM:SS:CC
clockRunning enum

Is the clock running?

0
No
1
Yes
possession integer

The number of the team in the match, 1 or 2 that currently has possession. 0 is valid.

possessionArrow integer

The number of the team in the match, 1 or 2 to which the possession Arrow is currently pointing. 0 is valid.

scores array

An array of team records

teamNumber integer

The number of the team in the match, 1 or 2.

score integer

The total score for that team in the match

timeoutsRemaining integer

The number of timeouts remaining for this team in the current period

fouls integer

The number of fouls for this team in the current period

teamFouls integer

The number of team fouls in the current period (for overtime periods, adds the count of fouls from the last regulation period)

Example

{
    "type": "status",
    "period": {
        "current": 1,
        "periodType": "REGULAR"
    },
    "clock": "01:55:99",
    "clockRunning": 1,
    "shotClock": "00:00:00",
    "status": "INPROGRESS",
    "periodStatus": "STARTED",
    "scores": [{
        "teamNumber": 1,
        "score": 14
    }, {
        "teamNumber": 2,
        "score": 18
    }]
}

setup

This message type has information about the how the match will be run.
type enum

The type of the message

setup
periods object

number integer

The number of periods in a match, not including any over/extra time

length integer

The length of each period (in minutes)

extraTime enum

Whether a match in this competition can play overtime? 1=Yes, 0=No.

1
Yes
0
No
extraTimeLength integer

The length of each overtime period (in minutes)

breakPeriod integer

The length of the break between periods, in minutes.

breakHalfTime integer

The length of the break between halves, in minutes.

shotClock integer

The maximum value of the shot clock, in seconds.

foulsPersonal integer

The number of personal fouls allowed.

foulsTechnical integer

The number of technical fouls allowed.

foulsBeforeBonus integer

The number of fouls allowed before a bonus is given.

maxFoulsPersonal integer

The maximum number of personal fouls allowed

maxFoulsTechnical integer

The maximum number of technical fouls allowed

timeouts object

timeoutsStyle enum

The way of counting timeouts, by period or by half.

HALF
PERIOD
UNLIMITED
timeoutsPeriod1 integer

The number of timeouts allowed in the first period of the game.

timeoutsPeriod2 integer

The number of timeouts allowed in the second period of the game.

timeoutsPeriod3 integer

The number of timeouts allowed in the third period of the game.

timeoutsPeriod4 integer

The number of timeouts allowed in the fourth period of the game.

timeoutsHalf1 integer

The number of timeouts allowed in the first half of the game.

timeoutsHalf2 integer

The number of timeouts allowed in the second half of the game.

timeoutsExtraTime integer

The number of timeouts allowed in extra time.

Example

{
    "type": "setup",
    "timeouts": {
        "extratime": 1,
        "period4": 2,
        "period3": 2,
        "period2": 2,
        "period1": 2,
        "half2": 3,
        "half1": 2,
        "style": "period"
    },
    "periods": {
        "breakPeriod": 2,
        "breakHalftime": 2,
        "length": 10,
        "overtime": 1,
        "number": 4,
        "lengthOvertime": 5
    },
    "maxFoulsTechnical": 5,
    "shotClock": 25,
    "customEfficiencyFormula": "",
    "foulsBeforeBonus": 4,
    "maxFoulsPersonal": 5,
}

matchInformation

This message type has information about the match. It is generally only sent at the start of the connection.
type enum

The type of the message

matchInformation
competition object

competitionName string(100)

The name of the competition

competitionAbbrev string(50)

An abbreviation for this competition

competitionNameInternational string(100)

The name of the competition suitable for international purposes. Latin characters only.

competitionAbbrevInternational string(50)

An abbreviated form of the name of the competition suitable for international purposes. Latin characters only.

standard enum

The level/standard of this competition.

OLYMPICS
Olympics
WORLD_CHAMPIONSHIPS
World Championships
ZONE_CHAMPIONSHIPS
International Zone Championships
NONCONTINENTAL_CHAMPIONSHIPS
Non-continental Championships
FRIENDLIES
International Friendlies
INTERNATIONAL
International
REGION
Regional
ELITE
Professional/elite organisation
TIER2
lesser standard than elite
TIER3
lesser standard than tier 2
GRASS_ROOTS
normal standard (Default)
competitionId integer

Unique identifier for the competition

externalId string(50)

A unique ID for this competition set by the owner of this competition.

twitter string(150)

The public twitter account

gender enum

The gender of the competition.

MALE
Male
FEMALE
Female
MIXED
Both male and female
year integer

The starting year of the competition. 4 digits

ageGroup enum

The rough age group of the competition.

JUNIOR
Child/Teenage (below 18)
SENIOR
Adult; 18+
MASTERS
More senior ages;40+
logo

Only present if this competition has a logo that has been uploaded.

associativearray

An associative array of files, where the key is the 'size name' of the file. See the 'size' parameter for valid options. Not all sizes may be available.

size enum

The name of the size

T1
75x75
S1
200x200
M1
400x400
L1
600x600
bytes integer

The size of the file in bytes

width integer

The width of the file in pixels

height integer

The height of the file in pixels

url url

The url for the image. The URL returned from this call is only valid for 5 hours and may change on subsequent calls.

venue object

  venueName string(100)

The name of the venue

venueCode string(50)

Short Code of the venue

venueNickname string(50)

A non-offical name of the venue

venueId integer

Unique identifier for the venue

isNeutralVenue enum

Is this match played at neutral venue.

0
No (Default)
1
Yes
venueNameInternational string(100)

The name of the venue suitable for international purposes. Latin characters only.

venueCodeInternational string(50)

A short code for this venue suitable for international purposes. Latin characters only.

venueNicknameInternational string(50)

A non-official name of the venue suitable for international purposes. Latin characters only.

externalId string

A unique ID for this venue set by the owner of this league.

countryCode string(2)

The ISO 3166 two letter country code. Defaults to league value if blank

countryCodeIOC string(3)

The IOC three letter country code. Defaults to league value if blank

country string(100)

The country. Defaults to league value if blank

suburb string(200)

The suburb/town

latitude decimal

Latitude of the venue

longitude decimal

Longitude of the venue

surfaceName string(100)

The name of the surface

seatingCapacity integer

Total number of seats available

timezone string

The timezone location as defined by the IANA time zone database. See http://en.wikipedia.org/wiki/List_of_tz_database_time_zones

league object

leagueName string(100)

The name of the league

leagueAbbrev string(50)

An abbreviated form of the name of the league

leagueNameInternational string(100)

The name of the league suitable for international purposes. Latin characters only.

leagueAbbrevInternational string(50)

An abbreviated form of the name of the league suitable for international purposes. Latin characters only.

leagueId integer

Unique identifier for the league

externalId string(50)

A unique ID for this league set by the owner of this league.

countryCode string(2)

The ISO 3166 two letter country code. Defaults to league value if blank

countryCodeIOC string(3)

The IOC three letter country code. Defaults to league value if blank

country string(100)

The country. Defaults to league value if blank

geographicRegion enum

How geographically widespread is this league.

LOCAL
Only relevant to local area
STATE
Relevant to an entire state
NATIONAL
Relevant to an entire country
INTERNATIONAL
Relevant to multiple countries
logo

Only present if this league has a logo that has been uploaded.

associativearray

An associative array of files, where the key is the 'size name' of the file. See the 'size' parameter for valid options. Not all sizes may be available.

size enum

The name of the size

T1
75x75
S1
200x200
M1
400x400
L1
600x600
bytes integer

The size of the file in bytes

width integer

The width of the file in pixels

height integer

The height of the file in pixels

url url

The url for the image. The URL returned from this call is only valid for 5 hours and may change on subsequent calls.

match object

matchTime datetime

The scheduled start date/time of the match in the timezone of the venue.
Time at midnight "00:00:00" means that match time is unknown.

Format is: YYYY-MM-DD HH:MM:SS
matchName string(100)

The name of the match

matchNumber integer

The number of the match in the competition

phaseName string(100)

The name of the phase

poolNumber integer

The identifier of the pool

roundDescription string(30)

A description of the round. eg. Rivalry Round

roundNumber string(30)

The identifier of the round. Usually a number, but will support a string eg. Grand Final. Defaults to 0

matchType enum

What part of the competition is this match part of. If not specified the value of this field for the round will be checked.

PRESEASON
Pre Season
REGULAR
Regular matches (Default)
FINALS
Finals/Playoffs
twitterHashtag string(50)

A twitter hashtag for the match

matchId integer

Unique identifier for the match

externalId string(50)

A unique ID for this match set by the owner of this league.

inConference enum

Is this an in conference match.

0
No (Default)
1
Yes
pool object

  poolName string(100)

The name of the pool

  poolNumber integer

The number of the pool. This number must be unique for the competition.

externalId string(50)

A unique ID for this pool set by the owner of this league.

Example

{
    "match": {
        "matchName": "",
        "matchTime": "2017-02-24 12:00:00",
        "matchNumber": 89,
        "phaseName": "",
        "poolNumber": 0,
        "matchId": 2,
        "externalId": "89",
        "roundDescription": "1",
        "matchType": "REGULAR",
        "twitterHashtag": "",
        "roundNumber": "1"
    },
    "competition": {
        "competitionName": "National Season 2017",
        "competitionNameInternational": "",
        "competitionAbbrev": "",
        "competitionAbbrevInternational": "",
        "standard": "GRASS_ROOTS",
        "competitionId": 9,
        "externalId": "1",
        "twitter": "",
        "gender": "MALE",
        "year": 2017,
        "ageGroup": "SENIOR"
    },
    "league": {
        "leagueName": "API Test League",
        "leagueNameInternational": "",
        "leagueAbbrev": "ATL",
        "leagueAbbrevInternational": "",
        "leagueId": 1,
        "geographicRegion": "NATIONAL",
        "countryCode": "AU",
        "countryCodeIOC": "AUS",
        "country": "AUSTRALIA",
        "externalId": ""
    },
    "venue": {
        "venueName": "Northhaven",
        "venueCode": "",
        "venueNickname": "",
        "venueNameInternational": "",
        "venueCodeInternational": "",
        "venueNicknameInternational": "",
        "venueId": 4,
        "countryCode": "AU",
        "country": "AUSTRALIA",
        "countryCodeIOC": "AUS",
        "seatingCapacity": 0,
        "latitude": 1.1,
        "longitude": 1.1,
        "timezone": "Australia/Melbourne",
        "surfaceName": "",
        "suburb": "",
        "externalId": "21"
    },
    "type": "matchInformation"
}

teams

This message type contains information about the teams and players involved in this game
type enum

The type of the message

teams
messageId integer

Unique identifier of the message being sent

teams array

An array of team records

teamNumber integer

The number of the team in the match, 1 or 2.

detail object

teamName string(100)

The name of the team

teamNameInternational string(100)

The name of the team suitable for international purposes. Latin characters only.

teamId integer

Unique identifier for the team

externalId string

A unique ID for this team set by the owner of this league.

internationalReference string

A unique ID for this team set by the owner of this league.

teamNickname string(50)

A non-offical name of the team

teamCode string(3)

A three letter code for this team

teamCodeLong string(6)

A longer verison of the teamCode up to 6 characters

teamCodeInternational string(3)

A three letter code for this team suitable for international purposes. Latin characters only.

teamCodeLongInternational string(6)

A longer verison of the teamCodeInternational up to 6 characters suitable for international purposes. Latin characters only.

teamNicknameInternational string(50)

A non-official name of the team suitable for international purposes. Latin characters only.

countryCode string(2)

The ISO 3166 two letter country code. Defaults to league value if blank

countryCodeIOC string(3)

The IOC three letter country code. Defaults to league value if blank

country string(100)

The country. Defaults to league value if blank

website string(150)

The website for this team

isHomeCompetitor enum

Is this a 'home' match for this competitor.

0
No
1
Yes
logo

Only present if this team a logo that has been uploaded.

associativearray

An associative array of files, where the key is the 'size name' of the file. See the 'size' parameter for valid options. Not all sizes may be available.

size enum

The name of the size

T1
75x75
S1
200x200
M1
400x400
L1
600x600
bytes integer

The size of the file in bytes

width integer

The width of the file in pixels

height integer

The height of the file in pixels

url url

The url for the image. The URL returned from this call is only valid for 5 hours and may change on subsequent calls.

players object

pno integer

The number of the player in the match. This is a sequence number not a jersey number. This is generally 1 to the number of total players in the team. It is not the personId field.

personId integer

Unique identifier for the person

familyName string(50)

The family name of the person

firstName string(50)

The first name of the person

internationalFamilyName string(50)

The family name of the person suitable for international use. Latin characters only.

internationalFirstName string(50)

The first name of the person suitable for international use. Latin characters only.

scoreboardName string(50)

The name of the person suitable for Scoreboard

TVName string(50)

The name of the person suitable for TV or other media

nickName string(50)

A non-official name of the person

website string(150)

The website for this entity

dob date

Date of birth

Format is: YYYY-MM-DD
height double

The height of the person, in cms

externalId string(50)

A unique ID for this person set by the owner of this league.

internationalReference string(30)

A unique string assigned by the sport's international body for this person.

shirtNumber string

Player's shirt Number for the match.

playingPosition string(30)

Player's playing position for the match.

starter enum

Is the person a starter?

1
Yes
0
No (Default)
captain enum

Is the person the captain?

1
Yes
0
No (Default)
active enum

Is the person currently active/on the field of play?

1
Yes
0
No (Default)
nationalityCode string(2)

The ISO 3166 two letter nationality code

nationalityCodeIOC string(3)

The IOC three letter nationality code

nationality string(100)

The nationality of the person

photo

Only present if this person has a photo that has been uploaded.

associativearray

An associative array of files, where the key is the 'size name' of the file. See the 'size' parameter for valid options. Not all sizes may be available.

size enum

The name of the size

T1
75x75
S1
200x200
M1
400x400
L1
600x600
bytes integer

The size of the file in bytes

width integer

The width of the file in pixels

height integer

The height of the file in pixels

url url

The url for the image. The URL returned from this call is only valid for 5 hours and may change on subsequent calls.

coach object

personId integer

Unique identifier for the person

familyName string(50)

The family name of the person

firstName string(50)

The first name of the person

internationalFamilyName string(50)

The family name of the person suitable for international use. Latin characters only.

internationalFirstName string(50)

The first name of the person suitable for international use. Latin characters only.

scoreboardName string(50)

The name of the person suitable for Scoreboard

TVName string(50)

The name of the person suitable for TV or other media

nickName string(50)

A non-official name of the person

externalId string(50)

A unique ID for this person set by the owner of this league.

nationalityCode string(2)

The ISO 3166 two letter nationality code

nationalityCodeIOC string(3)

The IOC three letter nationality code

nationality string(100)

The nationality of the person

assistcoach1 object

personId integer

Unique identifier for the person

familyName string(50)

The family name of the person

firstName string(50)

The first name of the person

internationalFamilyName string(50)

The family name of the person suitable for international use. Latin characters only.

internationalFirstName string(50)

The first name of the person suitable for international use. Latin characters only.

scoreboardName string(50)

The name of the person suitable for Scoreboard

TVName string(50)

The name of the person suitable for TV or other media

nickName string(50)

A non-official name of the person

externalId string(50)

A unique ID for this person set by the owner of this league.

nationalityCode string(2)

The ISO 3166 two letter nationality code

nationalityCodeIOC string(3)

The IOC three letter nationality code

nationality string(100)

The nationality of the person

assistcoach2 object

personId integer

Unique identifier for the person

familyName string(50)

The family name of the person

firstName string(50)

The first name of the person

internationalFamilyName string(50)

The family name of the person suitable for international use. Latin characters only.

internationalFirstName string(50)

The first name of the person suitable for international use. Latin characters only.

scoreboardName string(50)

The name of the person suitable for Scoreboard

TVName string(50)

The name of the person suitable for TV or other media

nickName string(50)

A non-official name of the person

externalId string(50)

A unique ID for this person set by the owner of this league.

nationalityCode string(2)

The ISO 3166 two letter nationality code

nationalityCodeIOC string(3)

The IOC three letter nationality code

nationality string(100)

The nationality of the person

Example

{
    "messageId": 23,
    "teams": [{
        "players": [{
            "active": 1,
            "pno": 1,
            "firstName": "Natalie",
            "personId": 485217,
            "shirtNumber": "2",
            "playingPosition": "",
            "height": 0,
            "familyName": "Barstow",
            "starter": 1,
            "captain": 0
        }, {
            "active": 1,
            "pno": 13,
            "firstName": "Sarah",
            "personId": 51301,
            "shirtNumber": "4",
            "playingPosition": "",
            "height": 0,
            "familyName": "Lucas",
            "starter": 1,
            "captain": 1,
            "familyNameTV": "",
            "firstNameTV": "",
            "nickName": "",
            "scoreboardName": "",
            "internationalFirstName": "",
            "internationalFamilyName": "",
            "externalId": "83",
            "internationalReference": "",
            "nationalityCodeIOC": "",
            "nationalityCode": "",
            "nationality": "",
            "website": "",
            "dob": null,
            "photo": {
                "S1": {
                    "size": "S1",
                    "height": 200,
                    "width": 200,
                    "bytes": 6482,
                    "url": "http:\/\/img.wh.sportingpulseinternational.com\/e6f242b743acefcfdbeb6cb0a6065362S1.jpg"
                },
                "T1": {
                    "size": "T1",
                    "height": 75,
                    "width": 75,
                    "bytes": 2101,
                    "url": "http:\/\/img.wh.sportingpulseinternational.com\/e6f242b743acefcfdbeb6cb0a6063462T1.jpg"
                }
            }
        }, {
            "active": 0,
            "pno": 2,
            "firstName": "Mary",
            "personId": 459148,
            "shirtNumber": "7",
            "playingPosition": "",
            "height": 0,
            "familyName": "Carson",
            "starter": 0,
            "captain": 0
        }, {
            "active": 1,
            "pno": 3,
            "firstName": "Kirsten",
            "personId": 456849,
            "shirtNumber": "8",
            "playingPosition": "",
            "height": 0,
            "familyName": "Sampson",
            "starter": 1,
            "captain": 0
        }, {
            "active": 0,
            "pno": 4,
            "firstName": "Karen",
            "personId": 485623,
            "shirtNumber": "9",
            "playingPosition": "",
            "height": 0,
            "familyName": "Robertson",
            "starter": 0,
            "captain": 0
        }, {
            "active": 1,
            "pno": 5,
            "firstName": "Sarah",
            "personId": 51323,
            "shirtNumber": "10",
            "playingPosition": "",
            "height": 0,
            "familyName": "Thomas",
            "starter": 1,
            "captain": 0
        }, {
            "active": 0,
            "pno": 6,
            "firstName": "Hannah",
            "personId": 539730,
            "shirtNumber": "11",
            "playingPosition": "",
            "height": 0,
            "familyName": "Mason",
            "starter": 0,
            "captain": 0
        }, {
            "active": 0,
            "pno": 7,
            "firstName": "Rebecca",
            "personId": 459547,
            "shirtNumber": "12",
            "playingPosition": "",
            "height": 0,
            "familyName": "Mitchell",
            "starter": 0,
            "captain": 0
        }, {
            "active": 0,
            "pno": 8,
            "firstName": "Shawna",
            "personId": 485659,
            "shirtNumber": "16",
            "playingPosition": "",
            "height": 0,
            "familyName": "Milleton",
            "starter": 0,
            "captain": 0
        }, {
            "active": 1,
            "pno": 9,
            "firstName": "Trixie",
            "personId": 529759,
            "shirtNumber": "43",
            "playingPosition": "",
            "height": 0,
            "familyName": "Mountford",
            "starter": 1,
            "captain": 0
        }],
        "assistcoach2": {
            "firstName": "",
            "personId": 0,
            "familyName": ""
        },
        "assistcoach1": {
            "firstName": "Joshua",
            "personId": 0,
            "familyName": "Webber"
        },
        "teamNumber": 1,
        "coach": {
            "firstName": "Barry",
            "personId": 0,
            "familyName": "Sanders"
        },
        "detail": {
            "teamName": "Southern Knights",
            "teamCode": "SKN",
            "teamNickname": "Knights",
            "teamId": 36348
        }
    }, {
        "players": [{
            "active": 0,
            "pno": 1,
            "firstName": "Sally",
            "personId": 305610,
            "shirtNumber": "2",
            "playingPosition": "",
            "height": 0,
            "familyName": "Bright",
            "starter": 0,
            "captain": 0
        }, {
            "active": 0,
            "pno": 13,
            "firstName": "Edwina",
            "personId": 557261,
            "shirtNumber": "4",
            "playingPosition": "",
            "height": 0,
            "familyName": "Donaldson",
            "starter": 0,
            "captain": 0
        }, {
            "active": 1,
            "pno": 15,
            "firstName": "Nola",
            "personId": 544313,
            "shirtNumber": "6",
            "playingPosition": "",
            "height": 0,
            "familyName": "Queen",
            "starter": 1,
            "captain": 0
        }, {
            "active": 1,
            "pno": 2,
            "firstName": "Nora",
            "personId": 51028,
            "shirtNumber": "7",
            "playingPosition": "G",
            "height": 0,
            "familyName": "White",
            "starter": 1,
            "captain": 0
        }, {
            "active": 1,
            "pno": 3,
            "firstName": "Riley",
            "personId": 51833,
            "shirtNumber": "8",
            "playingPosition": "G",
            "height": 0,
            "familyName": "Richardson",
            "starter": 1,
            "captain": 0
        }, {
            "active": 0,
            "pno": 4,
            "firstName": "Casey",
            "personId": 459027,
            "shirtNumber": "12",
            "playingPosition": "",
            "height": 0,
            "familyName": "Brown",
            "starter": 0,
            "captain": 0
        }, {
            "active": 0,
            "pno": 5,
            "firstName": "Jacklyn",
            "personId": 53608,
            "shirtNumber": "15",
            "playingPosition": "G",
            "height": 0,
            "familyName": "Trudeau",
            "starter": 0,
            "captain": 0
        }, {
            "active": 0,
            "pno": 6,
            "firstName": "Coral",
            "personId": 450828,
            "shirtNumber": "20",
            "playingPosition": "",
            "height": 0,
            "familyName": "Walker",
            "starter": 0,
            "captain": 0
        }, {
            "active": 1,
            "pno": 7,
            "firstName": "Caroline",
            "personId": 550029,
            "shirtNumber": "21",
            "playingPosition": "",
            "height": 0,
            "familyName": "Brightman",
            "starter": 1,
            "captain": 0
        }, {
            "active": 1,
            "pno": 8,
            "firstName": "Alison",
            "personId": 450829,
            "shirtNumber": "23",
            "playingPosition": "",
            "height": 0,
            "familyName": "Frederickson",
            "starter": 1,
            "captain": 0
        }, {
            "active": 0,
            "pno": 17,
            "firstName": "Elsie",
            "personId": 270906,
            "shirtNumber": "25",
            "playingPosition": "",
            "height": 0,
            "familyName": "Charles",
            "starter": 0,
            "captain": 0
        }],
        "assistcoach2": {
            "firstName": "",
            "personId": 0,
            "familyName": ""
        },
        "assistcoach1": {
            "firstName": "",
            "personId": 0,
            "familyName": ""
        },
        "teamNumber": 2,
        "coach": {
            "firstName": "",
            "personId": 0,
            "familyName": ""
        },
        "detail": {
            "teamName": "Northern Dragons",
            "teamCode": "NOR",
            "teamNickname": "Dragons",
            "teamId": 550
        }
    }],
    "type": "teams"
}

officials

This message type contains information about the match officials assigned to the match
type enum

The type of the message

officials
messageId integer

Unique identifier of the message being sent

commissioner object

personId integer

Unique identifier for the person

familyName string(50)

The family name of the person

firstName string(50)

The first name of the person

TVName string(50)

The name of the person suitable for TV or other media

nickName string(50)

A non-official name of the person

externalId string(50)

A unique ID for this person set by the owner of this league.

nationalityCode string(2)

The ISO 3166 two letter nationality code

nationalityCodeIOC string(3)

The IOC three letter nationality code

nationality string(100)

The nationality of the person

referee1 object

personId integer

Unique identifier for the person

familyName string(50)

The family name of the person

firstName string(50)

The first name of the person

TVName string(50)

The name of the person suitable for TV or other media

nickName string(50)

A non-official name of the person

externalId string(50)

A unique ID for this person set by the owner of this league.

nationalityCode string(2)

The ISO 3166 two letter nationality code

nationalityCodeIOC string(3)

The IOC three letter nationality code

nationality string(100)

The nationality of the person

referee2 object

personId integer

Unique identifier for the person

familyName string(50)

The family name of the person

firstName string(50)

The first name of the person

TVName string(50)

The name of the person suitable for TV or other media

nickName string(50)

A non-official name of the person

externalId string(50)

A unique ID for this person set by the owner of this league.

nationalityCode string(2)

The ISO 3166 two letter nationality code

nationalityCodeIOC string(3)

The IOC three letter nationality code

nationality string(100)

The nationality of the person

referee3 object

personId integer

Unique identifier for the person

familyName string(50)

The family name of the person

firstName string(50)

The first name of the person

TVName string(50)

The name of the person suitable for TV or other media

nickName string(50)

A non-official name of the person

externalId string(50)

A unique ID for this person set by the owner of this league.

nationalityCode string(2)

The ISO 3166 two letter nationality code

nationalityCodeIOC string(3)

The IOC three letter nationality code

nationality string(100)

The nationality of the person

statisticians array

An array of statisticians

firstName string(100)

The first name of the statistician

familyName string(100)

The family name of the statistician

statisticianId integer

The unique id given to this statistician

statisticianType enum

The job the statistician is performing for this match

OPERATOR
The person entering the statistics
CALLER
The person calling the statistics
technicalDelegate object

personId integer

Unique identifier for the person

familyName string(50)

The family name of the person

firstName string(50)

The first name of the person

TVName string(50)

The name of the person suitable for TV or other media

nickName string(50)

A non-official name of the person

externalId string(50)

A unique ID for this person set by the owner of this league.

nationalityCode string(2)

The ISO 3166 two letter nationality code

nationalityCodeIOC string(3)

The IOC three letter nationality code

nationality string(100)

The nationality of the person

boxscore

This message type contains box score information.
type enum

The type of the message

boxscore
teams array

An array of teams

teamNumber integer

The number of the team in the match, 1 or 2.

total object

players array

An array of players' boxscore data

pno integer

The number of the player in the match. This is a sequence number not a jersey number. This is generally 1 to the number of total players in the team. It is not the personId field.

sAssists integer

sBlocks integer

sBlocksReceived integer

sEfficiency decimal

Calculated Field

(sPoints+sAssists+sBlocks+sSteals+sFoulsOn+sReboundsTotal)-(sTurnovers+sBlocksReceived+sFoulsPersonal+sFoulsTechnical+(sTwoPointersAttempted-sTwoPointersMade)+(sThreePointersAttempted-sThreePointersMade)+(sFreeThrowsAttempted-sFreeThrowsMade))
sFastBreakPointsMade integer

sFieldGoalsAttempted integer

sFieldGoalsMade integer

sFieldGoalsPercentage decimal

Calculated Field

sFieldGoalsMade/sFieldGoalsAttempted
sFoulsOn integer

sFoulsPersonal integer

sFoulsTechnical integer

sFreeThrowsAttempted integer

sFreeThrowsMade integer

sFreeThrowsPercentage decimal

Calculated Field

sFreeThrowsMade / sFreeThrowsAttempted
sMinutes decimal

sPlusMinusPoints integer

Calculated Field

sPlus - sMinus
sPoints integer

Calculated Field

(sTwoPointersMade * 2) + (sThreePointersMade * 3) + sFreeThrowsMade
sPointsFastBreak integer

sPointsFromTurnovers integer

sPointsInThePaint integer

sPointsInThePaintMade integer

sPointsSecondChance integer

sReboundsDefensive integer

sReboundsOffensive integer

sReboundsTotal integer

Calculated Field

sReboundsOffensive + sReboundsDefensive
sSecondChancePointsMade integer

sSteals integer

sThreePointersAttempted integer

sThreePointersMade integer

sThreePointersPercentage decimal

Calculated Field

sThreePointersMade / sThreePointersAttempted
sTurnovers integer

sTwoPointersAttempted integer

sTwoPointersMade integer

sTwoPointersPercentage decimal

Calculated Field

sTwoPointersMade / sTwoPointersAttempted
team object

The team's boxscore statistics

sAssists integer

sBenchPoints integer

sBiggestLead integer

sBiggestScoringRun integer

sBlocks integer

sBlocksReceived integer

sEfficiency decimal

Calculated Field

(sPoints+sAssists+sBlocks+sSteals+sFoulsOn+sReboundsTotal)-(sTurnovers+sBlocksReceived+sFoulsPersonal+sFoulsTechnical+(sTwoPointersAttempted-sTwoPointersMade)+(sThreePointersAttempted-sThreePointersMade)+(sFreeThrowsAttempted-sFreeThrowsMade))
sFastBreakPointsMade integer

sPointsFromTurnovers integer

sFieldGoalsAttempted integer

sFieldGoalsMade integer

sFieldGoalsPercentage decimal

Calculated Field

sFieldGoalsMade/sFieldGoalsAttempted
sFoulsOn integer

sFoulsPersonal integer

The sum of the personal fouls of all team members

sFoulsTeam integer

sFoulsTechnical integer

sFoulsTotal integer

Calculated Field

sFoulsPersonal + sFoulsTeam
sFreeThrowsAttempted integer

sFreeThrowsMade integer

sFreeThrowsPercentage decimal

Calculated Field

sFreeThrowsMade / sFreeThrowsAttempted
sLeadChanges integer

sMinutes decimal

sPoints integer

Calculated Field

(sTwoPointersMade * 2) + (sThreePointersMade * 3) + sFreeThrowsMade
sPointsFastBreak integer

sPointsInThePaint integer

sPointsInThePaintMade integer

sPointsSecondChance integer

sReboundsDefensive integer

sReboundsOffensive integer

sReboundsPersonal integer

Calculated Field

sReboundsOffensive + sReboundsDefensive
sReboundsTeam integer

sReboundsTeamOffensive + sReboundsTeamDefensive
sReboundsTeamDefensive integer

sReboundsTeamOffensive integer

sReboundsTotal integer

Calculated Field

sReboundsPersonal + sReboundsTeam
sReboundsTotalDefensive integer

Calculated Field

sReboundsDefensive + sReboundsTeamDefensive
sReboundsTotalOffensive integer

Calculated Field

sReboundsOffensive + sReboundsTeamOffensive
sSecondChancePointsMade integer

sSteals integer

sThreePointersAttempted integer

sThreePointersMade integer

sThreePointersPercentage decimal

Calculated Field

sThreePointersMade / sThreePointersAttempted
sTimeLeading decimal

sTimesScoreLevel integer

sTurnovers integer

sTurnoversTeam integer

sTwoPointersAttempted integer

sTwoPointersMade integer

sTwoPointersPercentage decimal

Calculated Field

sTwoPointersMade / sTwoPointersAttempted
periods array

An array of periods. Optionally depending on types parameter

period integer

What period of the match is this statistic related to. 0 is valid and represents the value for the total match. Overtime periods should start at 1.

periodType enum

The type of period

REGULAR
(Default)
OVERTIME
players array

An array of players' boxscore data

pno integer

The number of the player in the match. This is a sequence number not a jersey number. This is generally 1 to the number of total players in the team. It is not the personId field.

sAssists integer

sBlocks integer

sBlocksReceived integer

sEfficiency decimal

Calculated Field

(sPoints+sAssists+sBlocks+sSteals+sFoulsOn+sReboundsTotal)-(sTurnovers+sBlocksReceived+sFoulsPersonal+sFoulsTechnical+(sTwoPointersAttempted-sTwoPointersMade)+(sThreePointersAttempted-sThreePointersMade)+(sFreeThrowsAttempted-sFreeThrowsMade))
sFastBreakPointsMade integer

sFieldGoalsAttempted integer

sFieldGoalsMade integer

sFieldGoalsPercentage decimal

Calculated Field

sFieldGoalsMade/sFieldGoalsAttempted
sFoulsOn integer

sFoulsPersonal integer

sFoulsTechnical integer

sFreeThrowsAttempted integer

sFreeThrowsMade integer

sFreeThrowsPercentage decimal

Calculated Field

sFreeThrowsMade / sFreeThrowsAttempted
sMinutes decimal

sPlusMinusPoints integer

Calculated Field

sPlus - sMinus
sPoints integer

Calculated Field

(sTwoPointersMade * 2) + (sThreePointersMade * 3) + sFreeThrowsMade
sPointsFastBreak integer

sPointsFromTurnovers integer

sPointsInThePaint integer

sPointsInThePaintMade integer

sPointsSecondChance integer

sReboundsDefensive integer

sReboundsOffensive integer

sReboundsTotal integer

Calculated Field

sReboundsOffensive + sReboundsDefensive
sSecondChancePointsMade integer

sSteals integer

sThreePointersAttempted integer

sThreePointersMade integer

sThreePointersPercentage decimal

Calculated Field

sThreePointersMade / sThreePointersAttempted
sTurnovers integer

sTwoPointersAttempted integer

sTwoPointersMade integer

sTwoPointersPercentage decimal

Calculated Field

sTwoPointersMade / sTwoPointersAttempted
team object

The team's boxscore statistics

sAssists integer

sBenchPoints integer

sBiggestLead integer

sBiggestScoringRun integer

sBlocks integer

sBlocksReceived integer

sEfficiency decimal

Calculated Field

(sPoints+sAssists+sBlocks+sSteals+sFoulsOn+sReboundsTotal)-(sTurnovers+sBlocksReceived+sFoulsPersonal+sFoulsTechnical+(sTwoPointersAttempted-sTwoPointersMade)+(sThreePointersAttempted-sThreePointersMade)+(sFreeThrowsAttempted-sFreeThrowsMade))
sFastBreakPointsMade integer

sPointsFromTurnovers integer

sFieldGoalsAttempted integer

sFieldGoalsMade integer

sFieldGoalsPercentage decimal

Calculated Field

sFieldGoalsMade/sFieldGoalsAttempted
sFoulsOn integer

sFoulsPersonal integer

The sum of the personal fouls of all team members

sFoulsTeam integer

sFoulsTechnical integer

sFoulsTotal integer

Calculated Field

sFoulsPersonal + sFoulsTeam
sFreeThrowsAttempted integer

sFreeThrowsMade integer

sFreeThrowsPercentage decimal

Calculated Field

sFreeThrowsMade / sFreeThrowsAttempted
sLeadChanges integer

sMinutes decimal

sPoints integer

Calculated Field

(sTwoPointersMade * 2) + (sThreePointersMade * 3) + sFreeThrowsMade
sPointsFastBreak integer

sPointsInThePaint integer

sPointsInThePaintMade integer

sPointsSecondChance integer

sReboundsDefensive integer

sReboundsOffensive integer

sReboundsPersonal integer

Calculated Field

sReboundsOffensive + sReboundsDefensive
sReboundsTeam integer

sReboundsTeamOffensive + sReboundsTeamDefensive
sReboundsTeamDefensive integer

sReboundsTeamOffensive integer

sReboundsTotal integer

Calculated Field

sReboundsPersonal + sReboundsTeam
sReboundsTotalDefensive integer

Calculated Field

sReboundsDefensive + sReboundsTeamDefensive
sReboundsTotalOffensive integer

Calculated Field

sReboundsOffensive + sReboundsTeamOffensive
sSecondChancePointsMade integer

sSteals integer

sThreePointersAttempted integer

sThreePointersMade integer

sThreePointersPercentage decimal

Calculated Field

sThreePointersMade / sThreePointersAttempted
sTimeLeading decimal

sTimesScoreLevel integer

sTurnovers integer

sTurnoversTeam integer

sTwoPointersAttempted integer

sTwoPointersMade integer

sTwoPointersPercentage decimal

Calculated Field

sTwoPointersMade / sTwoPointersAttempted

Example

{
    "teams": [{
        "teamNumber": 1,
        "total": {
            "team": {
                "sAssists": 4,
                "sMinutes": 0,
                "sPointsInThePaint": 2,
                "sPointsInThePaintMade": 1,
                "sPointsSecondChance": 4,
                "sReboundsDefensive": 7,
                "sReboundsOffensive": 3,
                "sFreeThrowsMade": 3,
                "sSecondChancePointsMade": 2,
                "sSteals": 0,
                "sThreePointersAttempted": 7,
                "sThreePointersMade": 2,
                "sTurnovers": 4,
                "sTwoPointersAttempted": 8,
                "sFreeThrowsAttempted": 6,
                "sFastBreakPointsMade": 2,
                "sBlocks": 0,
                "sFieldGoalsAttempted": 15,
                "sFieldGoalsMade": 5,
                "sFoulsOn": 3,
                "sFoulsPersonal": 2,
                "sFoulsTechnical": 0,
                "sTwoPointersMade": 3,
                "sThreePointersPercentage": 0.28571428571429,
                "sPoints": 15,
                "sFreeThrowsPercentage": 0.5,
                "sFieldGoalsPercentage": 0.33333333333333,
                "sTwoPointersPercentage": 0.375,
                "sEfficiency": 6,
                "sReboundsTotal": 10
            },
            "players": [{
                "sAssists": 0,
                "sReboundsDefensive": 0,
                "sPoints": 2,
                "sPointsFastBreak": 0,
                "sPointsInThePaint": 0,
                "sPointsInThePaintMade": 0,
                "sPointsSecondChance": 2,
                "sReboundsOffensive": 0,
                "sSteals": 0,
                "sThreePointersAttempted": 2,
                "sThreePointersMade": 0,
                "sTurnovers": 0,
                "sTwoPointersMade": 1,
                "sMinutes": 7.6205,
                "sBlocks": 0,
                "sBlocksReceived": 0,
                "sFastBreakPointsMade": 0,
                "sFieldGoalsAttempted": 4,
                "sFieldGoalsMade": 1,
                "sFoulsOn": 0,
                "sFoulsPersonal": 0,
                "sFoulsTechnical": 0,
                "sFreeThrowsAttempted": 0,
                "sFreeThrowsMade": 0,
                "sTwoPointersAttempted": 2,
                "sReboundsTotal": 0,
                "sTwoPointersPercentage": 0.5,
                "sTurnoversPercentage": 0,
                "sThreePointersPercentage": 0,
                "sPlusMinusPoints": -1,
                "sFreeThrowsPercentage": 0,
                "sFieldGoalsPercentage": 0.25,
                "sEfficiency": -1,
                "pno": 1
            }, {
                "sAssists": 2,
                "sReboundsDefensive": 0,
                "sPoints": 0,
                "sPointsFastBreak": 0,
                "sPointsInThePaintMade": 0,
                "sPointsSecondChance": 0,
                "sReboundsOffensive": 0,
                "sSteals": 0,
                "sThreePointersAttempted": 0,
                "sThreePointersMade": 0,
                "sTurnovers": 0,
                "sTwoPointersMade": 0,
                "sMinutes": 7.9526666666667,
                "sBlocks": 0,
                "sBlocksReceived": 0,
                "sFastBreakPointsMade": 0,
                "sFieldGoalsAttempted": 0,
                "sFieldGoalsMade": 0,
                "sFoulsOn": 0,
                "sFoulsPersonal": 0,
                "sFoulsTechnical": 0,
                "sFreeThrowsAttempted": 0,
                "sFreeThrowsMade": 0,
                "sTwoPointersAttempted": 0,
                "sReboundsTotal": 0,
                "sTwoPointersPercentage": 0,
                "sThreePointersPercentage": 0,
                "sPlusMinusPoints": -4,
                "sFreeThrowsPercentage": 0,
                "sFieldGoalsPercentage": 0,
                "sEfficiency": 2,
                "pno": 13
            }, {
                "sAssists": 0,
                "sReboundsDefensive": 0,
                "sPoints": 0,
                "sPointsFastBreak": 0,
                "sPointsInThePaint": 0,
                "sPointsInThePaintMade": 0,
                "sPointsSecondChance": 0,
                "sReboundsOffensive": 0,
                "sSteals": 0,
                "sThreePointersAttempted": 0,
                "sThreePointersMade": 0,
                "sTurnovers": 0,
                "sTwoPointersMade": 0,
                "sMinutes": 0,
                "sBlocks": 0,
                "sBlocksReceived": 0,
                "sFastBreakPointsMade": 0,
                "sFieldGoalsAttempted": 0,
                "sFieldGoalsMade": 0,
                "sFoulsOn": 0,
                "sFoulsPersonal": 0,
                "sFoulsTechnical": 0,
                "sFreeThrowsAttempted": 0,
                "sFreeThrowsMade": 0,
                "sTwoPointersAttempted": 0,
                "sReboundsTotal": 0,
                "sTwoPointersPercentage": 0,
                "sThreePointersPercentage": 0,
                "sPlusMinusPoints": 0,
                "sFreeThrowsPercentage": 0,
                "sFieldGoalsPercentage": 0,
                "sEfficiency": 0,
                "pno": 2
            }, {
                "sAssists": 2,
                "sReboundsDefensive": 1,
                "sPoints": 0,
                "sPointsFastBreak": 0,
                "sPointsInThePaint": 0,
                "sPointsInThePaintMade": 0,
                "sPointsSecondChance": 0,
                "sReboundsOffensive": 0,
                "sSteals": 0,
                "sThreePointersAttempted": 0,
                "sThreePointersMade": 0,
                "sTurnovers": 1,
                "sTwoPointersMade": 0,
                "sMinutes": 8.2508333333333,
                "sBlocks": 0,
                "sBlocksReceived": 0,
                "sFastBreakPointsMade": 0,
                "sFieldGoalsAttempted": 0,
                "sFieldGoalsMade": 0,
                "sFoulsOn": 0,
                "sFoulsPersonal": 0,
                "sFoulsTechnical": 0,
                "sFreeThrowsAttempted": 0,
                "sFreeThrowsMade": 0,
                "sTwoPointersAttempted": 0,
                "sReboundsTotal": 1,
                "sTwoPointersPercentage": 0,
                "sThreePointersPercentage": 0,
                "sPlusMinusPoints": 2,
                "sFreeThrowsPercentage": 0,
                "sFieldGoalsPercentage": 0,
                "sFieldGoalsEffectivePercentage": 0,
                "sEfficiency": 2,
                "pno": 3
            }, {
                "sAssists": 0,
                "sReboundsDefensive": 2,
                "sPoints": 1,
                "sPointsFastBreak": 0,
                "sPointsInThePaint": 0,
                "sPointsInThePaintMade": 0,
                "sPointsSecondChance": 0,
                "sReboundsOffensive": 1,
                "sSecondChancePointsMade": 0,
                "sSteals": 0,
                "sThreePointersAttempted": 0,
                "sThreePointersMade": 0,
                "sTurnovers": 0,
                "sTwoPointersMade": 0,
                "sMinutes": 4.4268333333333,
                "sBlocks": 0,
                "sBlocksReceived": 0,
                "sFastBreakPointsMade": 0,
                "sFieldGoalsAttempted": 1,
                "sFieldGoalsMade": 0,
                "sMinus": 7,
                "sFoulsOn": 1,
                "sFoulsPersonal": 0,
                "sFoulsTechnical": 0,
                "sFreeThrowsAttempted": 2,
                "sFreeThrowsMade": 1,
                "sTwoPointersAttempted": 1,
                "sReboundsTotal": 3,
                "sTwoPointersPercentage": 0,
                "sThreePointersPercentage": 0,
                "sPlusMinusPoints": -1,
                "sFreeThrowsPercentage": 0.5,
                "sFieldGoalsPercentage": 0,
                "sEfficiency": 3,
                "pno": 4
            }, {
                "sAssists": 0,
                "sPoints": 12,
                "sPointsFastBreak": 2,
                "sPointsInThePaint": 2,
                "sPointsInThePaintMade": 1,
                "sPointsSecondChance": 2,
                "sReboundsOffensive": 1,
                "sSteals": 0,
                "sThreePointersAttempted": 4,
                "sThreePointersMade": 2,
                "sTurnovers": 1,
                "sTwoPointersMade": 2,
                "sMinutes": 10,
                "sBlocks": 0,
                "sBlocksReceived": 0,
                "sFastBreakPointsMade": 2,
                "sFieldGoalsAttempted": 8,
                "sFieldGoalsMade": 4,
                "sFoulsOn": 1,
                "sFoulsPersonal": 0,
                "sFoulsTechnical": 0,
                "sFreeThrowsAttempted": 2,
                "sFreeThrowsMade": 2,
                "sTwoPointersAttempted": 4,
                "sReboundsTotal": 2,
                "sTwoPointersPercentage": 0.5,
                "sThreePointersPercentage": 0.5,
                "sPlusMinusPoints": -3,
                "sFreeThrowsPercentage": 1,
                "sFieldGoalsPercentage": 0.5,
                "sEfficiency": 10,
                "pno": 5
            }, {
                "sAssists": 0,
                "sPoints": 0,
                "sPointsFastBreak": 0,
                "sPointsInThePaint": 0,
                "sPointsInThePaintMade": 0,
                "sPointsSecondChance": 0,
                "sReboundsOffensive": 0,
                "sSecondChancePointsMade": 0,
                "sSteals": 0,
                "sThreePointersAttempted": 0,
                "sThreePointersMade": 0,
                "sTurnovers": 0,
                "sTwoPointersMade": 0,
                "sMinutes": 0,
                "sFoulsCoachDisqualifying": 0,
                "sBlocks": 0,
                "sBlocksReceived": 0,
                "sFastBreakPointsMade": 0,
                "sFieldGoalsAttempted": 0,
                "sFieldGoalsMade": 0,
                "sFoulsOn": 0,
                "sFoulsPersonal": 0,
                "sFoulsTechnical": 0,
                "sFreeThrowsAttempted": 0,
                "sFreeThrowsMade": 0,
                "sTwoPointersAttempted": 0,
                "sReboundsTotal": 0,
                "sTwoPointersPercentage": 0,
                "sThreePointersPercentage": 0,
                "sPlusMinusPoints": 0,
                "sFreeThrowsPercentage": 0,
                "sFieldGoalsPercentage": 0,
                "sEfficiency": 0,
                "pno": 6
            }, {
                "sAssists": 0,
                "sReboundsDefensive": 0,
                "sPoints": 0,
                "sPointsFastBreak": 0,
                "sPointsInThePaint": 0,
                "sPointsInThePaintMade": 0,
                "sPointsSecondChance": 0,
                "sReboundsOffensive": 0,
                "sSecondChancePointsMade": 0,
                "sSteals": 0,
                "sThreePointersAttempted": 1,
                "sThreePointersMade": 0,
                "sTurnovers": 1,
                "sTwoPointersMade": 0,
                "sMinutes": 3.2686666666667,
                "sBlocks": 0,
                "sBlocksReceived": 0,
                "sFastBreakPointsMade": 0,
                "sFieldGoalsAttempted": 2,
                "sFieldGoalsMade": 0,
                "sFoulsOn": 0,
                "sFoulsPersonal": 1,
                "sFoulsTechnical": 0,
                "sFreeThrowsAttempted": 0,
                "sFreeThrowsMade": 0,
                "sTwoPointersAttempted": 1,
                "sReboundsTotal": 0,
                "sTwoPointersPercentage": 0,
                "sThreePointersPercentage": 0,
                "sPlusMinusPoints": -4,
                "sFreeThrowsPercentage": 0,
                "sFieldGoalsPercentage": 0,
                "sEfficiency": -4,
                "pno": 7
            }, {
                "sAssists": 0,
                "sReboundsDefensive": 0,
                "sPoints": 0,
                "sPointsFastBreak": 0,
                "sPointsInThePaint": 0,
                "sPointsInThePaintMade": 0,
                "sPointsSecondChance": 0,
                "sReboundsOffensive": 0,
                "sSecondChancePointsMade": 0,
                "sSteals": 0,
                "sThreePointersAttempted": 0,
                "sThreePointersMade": 0,
                "sTurnovers": 0,
                "sTwoPointersMade": 0,
                "sMinutes": 0,
                "sBlocks": 0,
                "sBlocksReceived": 0,
                "sFastBreakPointsMade": 0,
                "sFieldGoalsAttempted": 0,
                "sFieldGoalsMade": 0,
                "sFoulsOn": 0,
                "sFoulsPersonal": 0,
                "sFoulsTechnical": 0,
                "sFreeThrowsAttempted": 0,
                "sFreeThrowsMade": 0,
                "sTwoPointersAttempted": 0,
                "sReboundsTotal": 0,
                "sTwoPointersPercentage": 0,
                "sThreePointersPercentage": 0,
                "sPlusMinusPoints": 0,
                "sFreeThrowsPercentage": 0,
                "sFieldGoalsPercentage": 0,
                "sEfficiency": 0,
                "pno": 8
            }]
        }
    }, {
        "teamNumber": 2,
        "total": {
            "team": {
                "sAssists": 5,
                "sMinutes": 0,
                "sPointsFastBreak": 2,
                "sPointsFromTurnovers": 3,
                "sPointsInThePaint": 8,
                "sPointsInThePaintMade": 4,
                "sPointsSecondChance": 3,
                "sReboundsDefensive": 9,
                "sReboundsOffensive": 3,
                "sFreeThrowsMade": 3,
                "sSecondChancePointsMade": 2,
                "sSteals": 1,
                "sThreePointersAttempted": 3,
                "sThreePointersMade": 1,
                "sTurnovers": 3,
                "sTwoPointersAttempted": 15,
                "sFreeThrowsAttempted": 4,
                "sFastBreakPointsMade": 1,
                "sBlocks": 0,
                "sBlocksReceived": 0,
                "sFieldGoalsAttempted": 18,
                "sFieldGoalsMade": 7,
                "sFoulsOn": 2,
                "sFoulsOffensive": 0,
                "sFoulsPersonal": 3,
                "sFoulsTechnical": 0,
                "sTwoPointersMade": 6,
                "sThreePointersPercentage": 0.33333333333333,
                "sPoints": 18,
                "sFreeThrowsPercentage": 0.75,
                "sFieldGoalsPercentage": 0.38888888888889,
                "sTwoPointersPercentage": 0.4,
                "sEfficiency": 9,
                "sReboundsTotal": 12
            },
            "players": [{
                "sAssists": 0,
                "sReboundsDefensive": 0,
                "sPoints": 0,
                "sPointsFastBreak": 0,
                "sPointsInThePaint": 0,
                "sPointsInThePaintMade": 0,
                "sPointsSecondChance": 0,
                "sReboundsOffensive": 0,
                "sSecondChancePointsAttempted": 0,
                "sSecondChancePointsMade": 0,
                "sSteals": 0,
                "sThreePointersAttempted": 0,
                "sThreePointersMade": 0,
                "sTurnovers": 0,
                "sTwoPointersMade": 0,
                "sMinutes": 0,
                "sBlocks": 0,
                "sBlocksReceived": 0,
                "sFastBreakPointsMade": 0,
                "sFieldGoalsAttempted": 0,
                "sFieldGoalsMade": 0,
                "sFoulsOn": 0,
                "sFoulsPersonal": 0,
                "sFoulsTechnical": 0,
                "sFreeThrowsAttempted": 0,
                "sFreeThrowsMade": 0,
                "sTwoPointersAttempted": 0,
                "sReboundsTotal": 0,
                "sTwoPointersPercentage": 0,
                "sThreePointersPercentage": 0,
                "sPlusMinusPoints": 0,
                "sFreeThrowsPercentage": 0,
                "sFieldGoalsPercentage": 0,
                "sEfficiency": 0,
                "pno": 1
            }, {
                "sAssists": 0,
                "sReboundsDefensive": 0,
                "sPoints": 0,
                "sPointsFastBreak": 0,
                "sPointsInThePaint": 0,
                "sPointsInThePaintMade": 0,
                "sPointsSecondChance": 0,
                "sReboundsOffensive": 0,
                "sSecondChancePointsMade": 0,
                "sSteals": 0,
                "sThreePointersAttempted": 0,
                "sThreePointersMade": 0,
                "sTurnovers": 0,
                "sTwoPointersMade": 0,
                "sMinutes": 0,
                "sBlocks": 0,
                "sBlocksReceived": 0,
                "sFastBreakPointsMade": 0,
                "sFieldGoalsAttempted": 0,
                "sFieldGoalsMade": 0,
                "sFoulsOn": 0,
                "sFoulsPersonal": 0,
                "sFoulsTechnical": 0,
                "sFreeThrowsAttempted": 0,
                "sFreeThrowsMade": 0,
                "sTwoPointersAttempted": 0,
                "sReboundsTotal": 0,
                "sTwoPointersPercentage": 0,
                "sThreePointersPercentage": 0,
                "sPlusMinusPoints": 0,
                "sFreeThrowsPercentage": 0,
                "sFieldGoalsPercentage": 0,
                "sEfficiency": 0,
                "pno": 13
            }]
        }
    }],
    "type": "boxscore"
}

action

This message type contains an individual game action.

Actions come in two types, adminstrative or sport. A sport type action is related to the sport aspect of the match, eg substitution or foul. An administrative type action is related to the process or publishing the game eg. period confirmed. Only sport type actions are given an actionNumber. The action number is a sequential integer that should uniquely refer to that action. The actionNumber is repeated to indicate an edit or delete on the original action.

type enum

The type of the message

action
messageId integer

Unique identifier of the message being sent

  actionNumber integer

Unique sequence number for this action

teamNumber integer

The number of the team in the match, 1 or 2.

pno integer

The number of the player in the match. This is a sequence number not a jersey number. This is generally 1 to the number of total players in the team. It is not the personId field.

  clock string

The time on the clock when this action occurred.

Format is: MM:SS:CC
shotClock string

The time on the shot clock when this action occurred.

Format is: MM:SS:CC
timeActual datetime

The date/time when this action occurred in UTC.

Format is: YYYY-MM-DD HH:MM:SS
period integer

What period of the match is this statistic related to. 0 is valid and represents the value for the total match. Overtime periods should start at 1.

periodType enum

The type of period

REGULAR
(Default)
OVERTIME
  actionType string(20)

A code representating the action type. See Action Types for the list of options.

  success enum

Was this action completed successfully? Generally all actions except scoring actions are successful.

1
Yes
0
No
subType string(20)

The subordinate type of the action. Used to further define the action. See Action Types for the list of options.

qualifiers array

An array of qualifiers to the action. See Action Types for the list of options.

value string(1000)

A text field. Some action types require a value. This is where that value will be placed. See Action Types for the list of actions that require this field.

previousAction integer

The actionNumber of the base/primary action if this action relates to another action. eg. For a freethrow/freekick, this may be the actionNumber of the original foul.

officialId integer

The unique identifier for the official calling the action

x float

X coordinate on the playing surface where the action occurred. Defined in Playing Surface Definition.

y float

Y coordinate on the playing surface where the action occurred. Defined in Playing Surface Definition.

area string

The area of the playing surface where the action occurred. Defined in Playing Surface Definition.

  side enum

Indicates which side of the playing surface the player's/team's goal is.

(blank)
left
Team's goal is to the left
right
Team's goal is to the right
  score1 string

The score of team 1 after this action is complete

  score2 string

The score of team 2 after this action is complete

edited datetime

If the action has been edited (after being initially sent) this field contains the last time it was edited (in UTC). If the action has not been edited, then this field is not present.

Format is: YYYY-MM-DD HH:MM:SS
inserted datetime

If the action has been inserted (added out of sequence) this field contains the time it was inserted (in UTC). If the action has not been inserted, then this field is not present.

Format is: YYYY-MM-DD HH:MM:SS
deleted datetime

If the action has been deleted (after being initially sent) this field contains the time it was deleted (in UTC). If the action has not been deleted, then this field is not present.

Format is: YYYY-MM-DD HH:MM:SS
origMessageId integer

If this action is a delete/update then this field contains the messageId of the original message.

Example

{
    "pno": 15,
    "period": 1,
    "actionNumber": 16,
    "success": 1,
    "previousAction": 0,
    "messageId": 34,
    "periodType": "REGULAR",
    "score2": 2,
    "score1": 0,
    "y": 42.857,
    "x": 81.239,
    "subType": "layup",
    "qualifiers": ["pointsinthepaint"],
    "timeActual": "2017-03-05 13:01:30",
    "shotClock": "00:00:00",
    "edited": "2017-03-05 13:01:34",
    "teamNumber": 2,
    "side": "right",
    "clock": "09:43:25",
    "area": "inthepaint",
    "actionType": "2pt",
    "system": 1,
    "type": "action"
}

playbyplay

This message type contains an array of 'sport' actions. This list of actions is the current state of the game and is the result of any inserts,edits,deletes. It does not contain any 'administrative' type actions.
type enum

The type of the message

playbyplay
actions array

Array of play by play actions, sorted ascending

  actionNumber integer

Unique sequence number for this action

teamNumber integer

The number of the team in the match, 1 or 2.

pno integer

The number of the player in the match. This is a sequence number not a jersey number. This is generally 1 to the number of total players in the team. It is not the personId field.

  clock string

The time on the clock when this action occurred.

Format is: MM:SS:CC
shotClock string

The time on the shot clock when this action occurred.

Format is: MM:SS:CC
timeActual datetime

The date/time when this action occurred in UTC.

Format is: YYYY-MM-DD HH:MM:SS
period integer

What period of the match is this statistic related to. 0 is valid and represents the value for the total match. Overtime periods should start at 1.

periodType enum

The type of period

REGULAR
(Default)
OVERTIME
  actionType string(20)

A code representating the action type. See Action Types for the list of options.

  success enum

Was this action completed successfully? Generally all actions except scoring actions are successful.

1
Yes
0
No
subType string(20)

The subordinate type of the action. Used to further define the action. See Action Types for the list of options.

qualifiers array

An array of qualifiers to the action. See Action Types for the list of options.

value string(1000)

A text field. Some action types require a value. This is where that value will be placed. See Action Types for the list of actions that require this field.

officialId integer

The unique identifier for the official calling the action

x float

X coordinate on the playing surface where the action occurred. Defined in Playing Surface Definition.

y float

Y coordinate on the playing surface where the action occurred. Defined in Playing Surface Definition.

area string

The area of the playing surface where the action occurred. Defined in Playing Surface Definition.

  side enum

Indicates which side of the playing surface the player's/team's goal is.

(blank)
left
Team's goal is to the left
right
Team's goal is to the right
  score1 string

The score of team 1 after this action is complete

  score2 string

The score of team 2 after this action is complete

Example

{
    "type": "playbyplay",
    "actions": [{
        "pno": 1,
        "period": 1,
        "actionNumber": 1,
        "success": 1,
        "previousAction": 0,
        "periodType": "REGULAR",
        "score2": 0,
        "score1": 0,
        "subType": "in",
        "timeActual": "2017-03-05 12:50:03",
        "shotClock": "00:00:00",
        "teamNumber": 1,
        "clock": "10:00:00",
        "actionType": "substitution"
    }, {
        "pno": 13,
        "period": 1,
        "actionNumber": 2,
        "success": 1,
        "previousAction": 0,
        "periodType": "REGULAR",
        "score2": 0,
        "score1": 0,
        "subType": "in",
        "timeActual": "2017-03-05 12:50:07",
        "shotClock": "00:00:00",
        "teamNumber": 1,
        "clock": "10:00:00",
        "actionType": "substitution"
    }, {
        "pno": 3,
        "period": 1,
        "actionNumber": 3,
        "success": 1,
        "previousAction": 0,
        "periodType": "REGULAR",
        "score2": 0,
        "score1": 0,
        "subType": "in",
        "timeActual": "2017-03-05 12:50:08",
        "shotClock": "00:00:00",
        "teamNumber": 1,
        "clock": "10:00:00",
        "actionType": "substitution"
    }, {
        "pno": 5,
        "period": 1,
        "actionNumber": 4,
        "success": 1,
        "previousAction": 0,
        "periodType": "REGULAR",
        "score2": 0,
        "score1": 0,
        "subType": "in",
        "timeActual": "2017-03-05 12:50:12",
        "shotClock": "00:00:00",
        "teamNumber": 1,
        "clock": "10:00:00",
        "actionType": "substitution"
    }, {
        "pno": 9,
        "period": 1,
        "actionNumber": 5,
        "success": 1,
        "previousAction": 0,
        "periodType": "REGULAR",
        "score2": 0,
        "score1": 0,
        "subType": "in",
        "timeActual": "2017-03-05 12:50:13",
        "shotClock": "00:00:00",
        "teamNumber": 1,
        "clock": "10:00:00",
        "actionType": "substitution"
    }, {
        "pno": 15,
        "period": 1,
        "actionNumber": 6,
        "success": 1,
        "previousAction": 0,
        "periodType": "REGULAR",
        "score2": 0,
        "score1": 0,
        "subType": "in",
        "timeActual": "2017-03-05 12:50:16",
        "shotClock": "00:00:00",
        "teamNumber": 2,
        "clock": "10:00:00",
        "actionType": "substitution"
    }, {
        "pno": 2,
        "period": 1,
        "actionNumber": 7,
        "success": 1,
        "previousAction": 0,
        "periodType": "REGULAR",
        "score2": 0,
        "score1": 0,
        "subType": "in",
        "timeActual": "2017-03-05 12:50:17",
        "shotClock": "00:00:00",
        "teamNumber": 2,
        "clock": "10:00:00",
        "actionType": "substitution"
    }, {
        "pno": 3,
        "period": 1,
        "actionNumber": 8,
        "success": 1,
        "previousAction": 0,
        "periodType": "REGULAR",
        "score2": 0,
        "score1": 0,
        "subType": "in",
        "timeActual": "2017-03-05 12:50:18",
        "shotClock": "00:00:00",
        "teamNumber": 2,
        "clock": "10:00:00",
        "actionType": "substitution"
    }, {
        "pno": 7,
        "period": 1,
        "actionNumber": 9,
        "success": 1,
        "previousAction": 0,
        "periodType": "REGULAR",
        "score2": 0,
        "score1": 0,
        "subType": "in",
        "timeActual": "2017-03-05 12:50:21",
        "shotClock": "00:00:00",
        "teamNumber": 2,
        "clock": "10:00:00",
        "actionType": "substitution"
    }, {
        "pno": 8,
        "period": 1,
        "actionNumber": 10,
        "success": 1,
        "previousAction": 0,
        "periodType": "REGULAR",
        "score2": 0,
        "score1": 0,
        "subType": "in",
        "timeActual": "2017-03-05 12:50:22",
        "shotClock": "00:00:00",
        "teamNumber": 2,
        "clock": "10:00:00",
        "actionType": "substitution"
    }, {
        "pno": 0,
        "period": 1,
        "actionNumber": 11,
        "success": 1,
        "previousAction": 0,
        "periodType": "REGULAR",
        "score2": 0,
        "score1": 0,
        "subType": "start",
        "qualifiers": [],
        "timeActual": "2017-03-05 13:01:00",
        "shotClock": "00:00:00",
        "teamNumber": 0,
        "clock": "10:00:00",
        "actionType": "game"
    }, {
        "pno": 0,
        "period": 1,
        "actionNumber": 12,
        "success": 1,
        "previousAction": 0,
        "periodType": "REGULAR",
        "score2": 0,
        "score1": 0,
        "subType": "start",
        "qualifiers": [],
        "timeActual": "2017-03-05 13:01:00",
        "shotClock": "00:00:00",
        "teamNumber": 0,
        "clock": "10:00:00",
        "actionType": "clock",
        "system": 1
    }, {
        "pno": 0,
        "period": 1,
        "actionNumber": 13,
        "success": 1,
        "previousAction": 0,
        "periodType": "REGULAR",
        "score2": 0,
        "score1": 0,
        "subType": "stop",
        "qualifiers": [],
        "timeActual": "2017-03-05 13:01:00",
        "shotClock": "00:00:00",
        "teamNumber": 0,
        "clock": "09:59:48",
        "actionType": "clock"
    }, {
        "pno": 7,
        "period": 1,
        "actionNumber": 14,
        "success": 1,
        "previousAction": 0,
        "periodType": "REGULAR",
        "score2": 0,
        "score1": 0,
        "subType": "won",
        "timeActual": "2017-03-05 13:01:13",
        "shotClock": "00:00:00",
        "teamNumber": 2,
        "clock": "09:57:45",
        "actionType": "jumpball"
    }, {
        "pno": 9,
        "period": 1,
        "actionNumber": 15,
        "success": 1,
        "previousAction": 14,
        "periodType": "REGULAR",
        "score2": 0,
        "score1": 0,
        "subType": "lost",
        "timeActual": "2017-03-05 13:01:14",
        "shotClock": "00:00:00",
        "teamNumber": 1,
        "clock": "09:56:43",
        "actionType": "jumpball"
    }, {
        "pno": 0,
        "period": 1,
        "actionNumber": 16,
        "success": 1,
        "previousAction": 0,
        "periodType": "REGULAR",
        "score2": 2,
        "score1": 0,
        "y": 42.857,
        "x": 81.239,
        "subType": "jumpshot",
        "qualifiers": ["pointsinthepaint"],
        "timeActual": "2017-03-05 13:01:30",
        "shotClock": "00:00:00",
        "teamNumber": 2,
        "side": "right",
        "clock": "09:43:25",
        "area": "inthepaint",
        "actionType": "2pt"
    }]
}

summary

This message type has information about the how the match was run. Usually it will only be sent once at the end of the match.
type enum

The type of the message

summary
messageId integer

Unique identifier of the message being sent

timeActual datetime

The actual start date/time of the match in the UTC timezone

Format is: YYYY-MM-DD HH:MM:SS
timeEndActual datetime

The actual end date/time of the match in the UTC timezone

Format is: YYYY-MM-DD HH:MM:SS
duration integer

The duration (in minutes) of the match, excluding any pregame activities

durationActual integer

The actual duration of the match (mins) including timeouts, stoppages and period breaks.

temperature integer

The temperature during the match (degrees Celsius)

attendance integer

The number of people who attended the match

Example

{
    "durationActual": 97,
    "timeEndActual": "2017-03-05 14:38:01",
    "messageId": 923,
    "timeActual": "2017-03-05 13:01:11",
    "duration": 40,
    "attendance": 250,
    "temperature": 25,
    "type": "summary"
}

standings

This message type contains the current standings for the competition
type enum

The type of the message

standings
standings array

Array of standings records

teamName string(100)

The name of the team

teamNickname string(50)

A non-offical name of the team

teamCode string(3)

A three letter code for this team

teamNameInternational string(100)

The name of the team suitable for international purposes. Latin characters only.

teamNicknameInternational string(50)

A non-official name of the team suitable for international purposes. Latin characters only.

teamCodeInternational string(3)

A three letter code for this team suitable for international purposes. Latin characters only.

  competitorId integer

The unique identifier for this competitor. teamId if this competition is a Team based competition. personId if the competition is person based.

roundNumber string(30)

The identifier of the round. Usually a number, but will support a string eg. Grand Final. Defaults to 0

matchType enum

What part of the competition is this match part of. If not specified the value of this field for the round will be checked.

PRESEASON
Pre Season
REGULAR
Regular matches (Default)
FINALS
Finals/Playoffs
poolNumber integer

The identifier of the pool

phaseName string(100)

The name of the phase

position integer

The position for the competitor in this table, for the round/pool

played integer

Games played

won integer

Number of games won

lost integer

Number of games lost

drawn integer

Number of games drawn

standingPoints double

Total Standing points.. eg won points + bye points etc.

competitionStatistics

This message type has information about statistics for the competition. These are statistics that are current before the match begun. It is generally only sent at the start of the connection.
type enum

The type of the message

competitionStatistics
messageId integer

Unique identifier of the message being sent

teams array

An array of team records

teamNumber integer

The number of the team in the match, 1 or 2.

  teamName string(100)

The name of the team

teamId integer

Unique identifier for the team

statistics object

sAssists integer

sBlocks integer

sBlocksReceived integer

sReboundsTotal integer

Calculated Field

sReboundsPersonal + sReboundsTeam
sReboundsOffensive integer

sReboundsDefensive integer

sFoulsTotal integer

Calculated Field

sFoulsPersonal + sFoulsCoachDisqualifying + sFoulsCoachTechnical + sFoulsBenchTechnical + sFoulsTechnicalOther
sFoulsPersonal integer

sFoulsOffensive integer

sFoulsOn integer

sGames integer

sSteals integer

sTurnovers integer

sTwoPointersMade integer

sTwoPointersAttempted integer

sThreePointersMade integer

sThreePointersAttempted integer

sPoints integer

Calculated Field

(sTwoPointersMade * 2) + (sThreePointersMade * 3) + sFreeThrowsMade
sMinutes decimal

sFreeThrowsMade integer

sFreeThrowsAttempted integer

sFieldGoalsAttempted integer

sFieldGoalsMade integer

sEfficiency decimal

Calculated Field

(sPoints+sAssists+sBlocks+sSteals+sFoulsOn+sReboundsTotal)-(sTurnovers+sBlocksReceived+sFoulsPersonal+sFoulsTechnical+(sTwoPointersAttempted-sTwoPointersMade)+(sThreePointersAttempted-sThreePointersMade)+(sFreeThrowsAttempted-sFreeThrowsMade))
sFieldGoalsPercentage decimal

Calculated Field

sFieldGoalsMade/sFieldGoalsAttempted
sFreeThrowsPercentage decimal

Calculated Field

sFreeThrowsMade / sFreeThrowsAttempted
sThreePointersPercentage decimal

Calculated Field

sThreePointersMade / sThreePointersAttempted
sTwoPointersPercentage decimal

Calculated Field

sTwoPointersMade / sTwoPointersAttempted
players array

an array of players

pno integer

The number of the player in the match. This is a sequence number not a jersey number. This is generally 1 to the number of total players in the team. It is not the personId field.

personId integer

Unique identifier for the person

  familyName string(50)

The family name of the person

  firstName string(50)

The first name of the person

sAssists integer

sBlocks integer

sBlocksReceived integer

sReboundsTotal integer

Calculated Field

sReboundsOffensive + sReboundsDefensive
sReboundsOffensive integer

sReboundsDefensive integer

sFoulsTotal integer

Calculated Field

sFoulsDisqualifying + sFoulsPersonal + sFoulsTechnical + sFoulsUnsportsmanslike + sFoulsOffensive
sFoulsPersonal integer

sFoulsOffensive integer

sFoulsOn integer

sGames integer

sSteals integer

sTurnovers integer

sTwoPointersMade integer

sTwoPointersAttempted integer

sThreePointersMade integer

sThreePointersAttempted integer

sPoints integer

Calculated Field

(sTwoPointersMade * 2) + (sThreePointersMade * 3) + sFreeThrowsMade
sMinutes decimal

sFreeThrowsMade integer

sFreeThrowsAttempted integer

sFieldGoalsAttempted integer

sFieldGoalsMade integer

sEfficiency decimal

Calculated Field

(sPoints+sAssists+sBlocks+sSteals+sFoulsOn+sReboundsTotal)-(sTurnovers+sBlocksReceived+sFoulsPersonal+sFoulsTechnical+(sTwoPointersAttempted-sTwoPointersMade)+(sThreePointersAttempted-sThreePointersMade)+(sFreeThrowsAttempted-sFreeThrowsMade))
sPlusMinusPoints integer

Calculated Field

sPlus - sMinus
sFieldGoalsPercentage decimal

Calculated Field

sFieldGoalsMade/sFieldGoalsAttempted
sFreeThrowsPercentage decimal

Calculated Field

sFreeThrowsMade / sFreeThrowsAttempted
sThreePointersPercentage decimal

Calculated Field

sThreePointersMade / sThreePointersAttempted
sTwoPointersPercentage decimal

Calculated Field

sTwoPointersMade / sTwoPointersAttempted

schedule

This message type has information about the schedule for the competition. This schedule contains all matches for +/- 24 hours and are current before the match begun. It is generally only sent at the start of the connection.
type enum

The type of the message

schedule
matches array

An array of matches

matchId integer

Unique identifier for the match

  matchNumber integer

The number of the match in the competition

matchType enum

What part of the competition is this match part of. If not specified the value of this field for the round will be checked.

PRESEASON
Pre Season
REGULAR
Regular matches (Default)
FINALS
Finals/Playoffs
matchName string(100)

The name of the match

poolNumber integer

The identifier of the pool

phaseName string(100)

The name of the phase

roundNumber string(30)

The identifier of the round. Usually a number, but will support a string eg. Grand Final. Defaults to 0

roundDescription string(30)

A description of the round. eg. Rivalry Round

venueId integer

Unique identifier for the venue

matchStatus enum

The current status of the match.

DRAFT
The match is in a preliminary state with incomplete data
BYE
The competitors will not be competing in this placeholder match
SCHEDULED
The match is yet to commence (Default)
IN_PROGRESS
The match is currently in progress
FINISHED
The match is finished
COMPLETE
The match is complete and officially finalised
DELAYED
The match has been delayed
POSTPONED
The match has been postponed
CANCELLED
The match has been cancelled
ABANDONED
The match has been abandoned
matchTime datetime

The scheduled start date/time of the match in the timezone of the venue.
Time at midnight "00:00:00" means that match time is unknown.

Format is: YYYY-MM-DD HH:MM:SS
matchTimeUTC datetime

The scheduled start date/time of the match in the UTC timezone. This is automatically calculated based on the matchTime and venue timezone.

Format is: YYYY-MM-DD HH:MM:SS
  venueName string(100)

The name of the venue

competitors array

Sub structure of competitors in the match. Competitors are returned in random order.

  teamId integer

Unique identifier for the team

scoreString string(50)

A string representing the score this competitor achieved in the match

scoreSecondaryString string(50)

A second string representing the score this competitor achieved in the match

isHomeCompetitor enum

Is this a 'home' match for this competitor.

0
No
1
Yes
completionStatus enum

Has this competitor finished this match?

NOT_COMPLETE
Not yet completed
COMPLETE
Completed
FORFEIT
This competitor forfeited
FORFEITAGAINST
This competitor's opposition forfeited
resultPlacing integer

The final placing of the competitor in the match. 1 = Winner

isDrawn enum

Did this competitor draw in this place?

0
No
1
Yes
  teamName string(100)

The name of the team

teamNameInternational string(100)

The name of the team suitable for international purposes. Latin characters only.

teamCode string(3)

A three letter code for this team

teamCodeInternational string(3)

A three letter code for this team suitable for international purposes. Latin characters only.

teamNickname string(50)

A non-offical name of the team

teamNicknameInternational string(50)

A non-official name of the team suitable for international purposes. Latin characters only.

externalId string

A unique ID for this team set by the owner of this league.

Action Types

For a particular action an event can have 1 type, 1 subtype and any number of qualifiers

If qualifiers are able to be used for a particular action/subType, then any number of qualifiers may be applied to the action.

If the subType indicates (blank) this means that the action can be used without a subType.

Sport Action Types

type subType qualifiers  
game      
  start    
  end
  • confirmed
 
period      
  start    
  end
  • confirmed
 
2pt   Applies to all 2pt subTypes:
  • 2ndchance
  • fastbreak
  • fromturnover
  • pointsinthepaint
  • blocked
 
  (blank)    
  dunk    
  layup    
  fadeaway    
  tipin    
  jumpshot    
  alleyoop    
  drivinglayup    
  hookshot    
  floatingjumpshot    
  stepbackjumpshot    
  pullupjumpshot    
  turnaroundjumpshot    
  wrongbasket    
3pt   Applies to all 3pt subTypes:
  • 2ndchance
  • fastbreak
  • fromturnover
  • blocked
 
  (blank)    
  fadeaway    
  jumpshot    
  floatingjumpshot    
  stepbackjumpshot    
  pullupjumpshot    
  turnaroundjumpshot    
  wrongbasket    
freethrow   Applies to all freethrow subTypes:
  • 2ndchance
  • fastbreak
  • fromturnover
 
  1of1    
  1of2    
  1of3    
  2of2    
  2of3    
  3of3    
jumpball      
  (blank)    
  startperiod    
  unclearposs    
  lodgedball    
  heldball    
  blocktieup    
  outofbounds    
  outofboundsrebound    
  doubleviolation    
  won    
  lost    
assist      
block      
rebound   Applies to all sub-types:
  • team
  • deadball
 
  defensive    
  offensive    
foul   Applies to all foul subTypes:
  • 1freethrow
  • 2freethrow
  • 3freethrow
  • oneandone
 
  offensive Applies to offensive subType:
  • block
  • charge
  • double
  • flagrant1
  • flagrant2
 
  personal Applies to all personal foul subType:
  • shooting
  • looseball
  • double
  • flagrant1
  • flagrant2
 
  technical Applies to technical subType:
  • double
  • classa
  • flagrant2
  • contactdeadball
 
  unsportsmanlike    
  disqualifying    
  benchTechnical Applies to benchTechnical subType:
  • double
  • classa
 
  coachTechnical Applies to coachTechnical subType:
  • double
  • classa
  • direct
 
  adminTechnical Applies to adminTechnical subType:
  • administrative
  • classb
  • benchclassb
  • coachclassb
  • coachindirect
adminTechnical subtype stands for technical fouls that are not included in any statistics.
  coachDisqualifying    
foulon      
timeout      
  full    
  short    
  officials Applies to official subType:
  • bloodrule
  • callreview
 
  commercial    
steal      
turnover      
  (blank)    
  offensivegoaltending    
  laneviolation    
  ballhandling    
  dribbling    
  badpass    
  lostball    
  overandback    
  backcourt    
  doubledribble    
  outofbounds    
  travel    
  shotclock    
  offensive    
  3sec    
  5sec Applies to 5sec subType:
  • team
 
  8sec    
  10sec Applies to 10sec subType:
  • team
 
  24sec    
  other Applies to other subType:
  • team
 
substitution      
  in    
  out    

Administrative Action Types

type subType qualifiers  
status     Indicates a change in the status of the match
  delayed
  • prevgame
  • teamlate
  • early
The start time of the match has been changed. The delay in minutes should be passed in the value field. Negative delays are allowed (to indicate early start).
  loaded   The match has been loaded in the software
  ready   The match is ready to proceed in the software and the teams have been loaded
  inprogress   The match is currently in progress
  periodbreak   The match is currently in progress, but in a break between periods
  interrupted
  • equipment
  • venue
  • weather
  • spectator
  • medical
The match has been stopped temporarily and will resume after a delay. The delay in minutes should be passed in the value field. The qualifiers can be used to give a reason for the delay.
  cancelled   The match has been stopped and will not restart
  rescheduled   The match has been stopped (or has not started) and will not start/restart. It will be played again at another time.
  finished   The match has come to the end
  protested   The match has come to the end, but the result has been protested
  complete   The match is complete, all scores have been confirmed and result is official
periodstatus     Indicates a change in the period status
  pending   Indicates the period is about to start
  started   Indicates the period has started
  ended   Indicates the period has ended
  confirmed   Indicates that scores have been confirmed for the period
shotclock      
  adjustment
  • kickedball
  • foul
The number of seconds adjustment should be passed in the value field. Negative values are allowed
possessionchange      
possessionarrowchange      
capturestatus      
  unreliable   Indicates that the state of the game being sent by the software differs significantly from the actual situation.
  reliable   Indicates that the state of the game being sent by the software now matches the actual situation.
clock      
  start    
  stop    
  adjustment
  • second_plus
  • second_minus
  • minute_plus
  • minute_minus
The number of seconds adjustment should be passed in the value field. Negative values are allowed

Playing Surface Definitions

Coordinates

area, x, y and side are defined based upon the diagram below.

x and y are defined as percentage measurments of the total width and height of the basketball court. The origin (0,0) is the bottom left corner of the image meaning the top right point is (100,100).

Example:
A FIBA Standard Basketball Court length is 28m and the 3pt line is at 6.75m
Therefore the x coordinate of the 3pt line = 6.75/28 * 100 = 24.1
and the x coordinate of the other 3pt line = (28-6.75)/28 * 100 = 75.89

Action Areas

area is defined by which of the defined boxes the player was in when the action occurred.

The value of area in reference to the diagram are as follows:

Number on diagram Value
1 underbasket
2 inthepaint
3 insiderightwing
4 insideright
5 insidecenter
6 insideleft
7 insideleftwing
8 outsiderightwing
9 outsideright
10 outsidecenter
11 outsideleft
12 outsideleftwing
13 backcourt

Court Types(svg)

FIBA Court(svg)


NCAA Old Court(svg)

width 15.2m (50 feet)
length 28.7m (94 feet)
3pt line distance 6.32m (20 feet 9 inches)


NCAA New Court(svg)

width 15.2m (50 feet)
length 28.7m (94 feet)
3pt line distance 6.75m (22.15 feet)