Skip to content

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. Currently always null; the source feeds do not provide it.


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. Currently always null; the source feeds do not provide it.


challenge_wall_clock ​

Type: string

UTC timestamp for the challenge. Currently always null; the source feeds do not provide it.


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 overturned
  • upheld - The challenge was unsuccessful