Appearance
Challenges
The challenges section in the markings response contains official challenge events from the game.
Overview
Challenges are sourced from official instant-replay challenge outcome rows (instantreplay / challenge) in the play-by-play feed. When a challenge has both a timeout and a replay outcome, only the replay outcome row appears. For older feed shapes where a coach's challenge timeout has no paired replay outcome, the timeout row is included as a fallback with a null result. The data set includes the challenging team, the related play-by-play event ID, the game timing context, and whether the challenge was successful when the outcome is available.
Sample Response
json
{
"markings": {
"challenges": [
{
"challenge_he_frame": null,
"challenge_id_ctg": "challenge_cf7409854bcce86b83d80a0e4f34eeb0",
"challenge_result": "upheld",
"challenge_wall_clock": null,
"event_pbp_action_type": "instantreplay",
"event_pbp_description": "Instant Replay4th Period (9:51 PM EST)",
"event_pbp_descriptor": "support",
"event_pbp_qualifiers": "null",
"event_pbp_subtype": "challenge",
"game_clock": 658,
"game_id_nba": "0022500404",
"pbp_event_id": 553,
"period": 4,
"player_id_nba": null,
"possession_team_id_nba": 1610612740,
"shot_clock": 24,
"team_id_nba": 1610612742
}
]
}
}Fields
Identifiers
game_id_nba
Type: string
NBA game ID
challenge_id_ctg
Type: string
CTG-generated unique challenge ID
team_id_nba
Type: integer
NBA team ID associated with the challenge. null if the official play-by-play feed does not provide a team.
player_id_nba
Type: integer
NBA player ID associated with the challenge. null when the challenge is team-level or the official play-by-play feed does not provide a player.
possession_team_id_nba
Type: integer
NBA team ID of the team with possession when the challenge occurred. null if possession is unavailable.
Timing
period
Type: integer
Period when the challenge occurred
game_clock
Type: float
Game clock (seconds remaining) when the challenge occurred. null if the official feed does not provide a clock.
shot_clock
Type: float
Shot clock when the challenge occurred. null if the shot clock is off or unavailable.
challenge_he_frame
Type: integer
Hawk-Eye frame of the challenge. null if there is no corresponding Hawk-Eye frame in the event data.
challenge_wall_clock
Type: string
UTC timestamp for the challenge. null if the official feed does not provide a timestamp.
Play-by-Play Data
pbp_event_id
Type: integer
Play-by-play event ID for the challenge
event_pbp_action_type
Type: string
The action_type field from the official play-by-play feed. Usually instantreplay; may be timeout for older coach's challenge rows that do not have a paired replay outcome.
event_pbp_subtype
Type: string
The sub_type field from the official play-by-play feed. null if not provided.
event_pbp_descriptor
Type: string
The descriptor field from the official play-by-play feed. null if not provided.
event_pbp_qualifiers
Type: string
The qualifiers field from the official play-by-play feed. null if not provided.
event_pbp_description
Type: string
Official play-by-play description for the challenge. null if not provided.
challenge_result
Type: string
Challenge result inferred from the official play-by-play descriptor. null when the replay outcome is unavailable or the descriptor is missing or unrecognized.
Possible values:
overturned- The challenge was successful; the original call was overturnedupheld- The challenge was unsuccessful
