Integration GuidesReference Docs
Coverage MatrixDocumentationChange LogLog InContact Us
Integration Guides

Game Status Workflow

Every schedule entry and every game feed carries a status, and it is the field an integration keys on: when to start polling, how fast to poll, and when a result is final. This page maps the full lifecycle and the exceptional paths.



Where Status Lives

The same status value appears wherever a game does: on Schedule and Daily Schedule entries, and on the headers of Game Summary, Game Boxscore, and Game Play-by-Play. Playoff series carry their own, smaller status set (see below).



Coverage Flags

Alongside status, every game carries two flags that state what data depth to expect:

  • coverage: full means live play-by-play for the entire game, with scores, clock, and team and player statistics in near real time; extended_boxscore means scores, time remaining, and team leaders as the game progresses, with full team and player statistics shortly after official results post. Full coverage applies to all regular-season and postseason games; some preseason games may carry extended boxscore coverage. See Coverage Levels on the reference overview.
  • track_on_court: true: live on-court lineup data (the on_court player flags and lineupchange events)

Recent seasons consistently read full and true. Read the flags per game rather than assuming them; Live Game Updates shows where they steer the live workflow.



The Status Lifecycle

Game Status LifecycleFrom scheduled to closed, with the exceptional paths
Pregamescheduledcreatedtime-tbdtime-tbd until tip time is set
In playinprogresshalftimeinprogressdelayeddelayed games resume under the same id
Wrap-upcompleteclosedcomplete: stats validating; closed: validated and final
Exceptionscancelledpostponedpostponed games return under a new game id
Series gamesif-necessaryunnecessarypotential series games that are or are not required
Statuses appear on schedule entries and every game feed; the full definitions are in the G League FAQ.
StatusMeaning
scheduledThe game is scheduled to occur
createdThe game has been created and information logging has begun
inprogressThe game is in progress
halftimeThe game is at halftime
completeThe game is over, but stat validation is not complete
closedThe game is over and the stats have been validated
cancelledThe game has been cancelled, with no makeup game to be played
delayedThe start of the game is delayed, or the game has gone from in progress to delayed
postponedThe game will be made up at another day and time; the makeup game arrives as a new game with a new ID
time-tbdThe game has been scheduled, but a start time has yet to be announced
if-necessaryThe game will be scheduled if it is required
unnecessaryThe series game was scheduled, but will not take place because one team clinched the series early

The full definitions live in the G League FAQ. Only closed, cancelled, and unnecessary are end states; treat everything else as a state to keep watching.



How Statuses Appear in Responses

A completed season shows the terminal states side by side. Two entries from the 2025-26 regular-season Schedule, one played to closed and one postponed:

GET https://api.sportradar.com/nbdl/trial/v8/en/games/2025/REG/schedule.json
x-api-key: YOUR_API_KEY
{
  "league": {
    "id": "ac79301f-9b1a-4e72-a4cb-230d4418ae08",
    "name": "NBA G League",
    "alias": "NBDL"
  },
  "season": {
    "id": "fea41a6e-80d4-4756-bfea-37c7b347a21a",
    "year": 2025,
    "type": "REG"
  },
  "games": [
    {
      "id": "cc32f8b6-904d-4210-9f9b-b7a39c361db4",
      "status": "closed",
      "title": "Showcase Cup Quarterfinal",
      "coverage": "full",
      "scheduled": "2025-12-19T17:00:00+00:00",
      "home_points": 117,
      "away_points": 119,
      "track_on_court": true,
      "reference": "2022500001",
      "time_zones": {
        "venue": "US/Eastern",
        "home": "US/Central",
        "away": "US/Pacific"
      },
      "venue": {
        "id": "db7644f4-45dc-4ee1-a2ab-f4467ffc03c6",
        "name": "Orange County Convention Center",
        "address": "9800 International Drive",
        "city": "Orlando",
        "state": "FL",
        "zip": "32819",
        "country": "USA"
      },
      "broadcasts": [
        {
          "network": "ESPNU",
          "type": "TV",
          "locale": "National",
          "channel": "208"
        }
      ],
      "home": {
        "name": "Austin Spurs",
        "alias": "AUS",
        "id": "0f009580-dda8-4080-aa43-5d58a17028f6",
        "seed": 3,
        "reference": "1612709890"
      },
      "away": {
        "name": "Stockton Kings",
        "alias": "STO",
        "id": "b971b187-c542-4b76-9548-114acc564e05",
        "seed": 6,
        "reference": "1612709914"
      }
    },
    {
      "id": "35062e4c-8fc1-4184-9ca6-b1b70db8ff9c",
      "status": "postponed",
      "coverage": "full",
      "scheduled": "2026-02-20T01:00:00+00:00",
      "track_on_court": true,
      "time_zones": {
        "venue": "US/Central",
        "home": "US/Central",
        "away": "US/Pacific"
      },
      "venue": {
        "id": "0c04b68b-a69e-451e-84a8-e9e60a1f17c3",
        "name": "Landers Center",
        "capacity": 8362,
        "address": "4560 Venture Drive",
        "city": "Southaven",
        "state": "MS",
        "zip": "38671",
        "country": "USA",
        "location": {
          "lat": "34.927201",
          "lng": "-89.996536"
        }
      },
      "home": {
        "name": "Memphis Hustle",
        "alias": "MHU",
        "id": "4e26f748-e98f-412e-9c27-f04b255e7f25",
        "reference": "1612709926"
      },
      "away": {
        "name": "Stockton Kings",
        "alias": "STO",
        "id": "b971b187-c542-4b76-9548-114acc564e05",
        "reference": "1612709914"
      }
    }
  ]
}

The postponed game carries no score: its makeup game was created as a new game with its own ID. In the playoffs, a potential series game that is never required finalizes as unnecessary, still titled as scheduled:

GET https://api.sportradar.com/nbdl/trial/v8/en/games/2025/PST/schedule.json
x-api-key: YOUR_API_KEY
{
  "league": {
    "id": "ac79301f-9b1a-4e72-a4cb-230d4418ae08",
    "name": "NBA G League",
    "alias": "NBDL"
  },
  "season": {
    "id": "d32bbe62-5116-42c5-a96c-95ff0c87de03",
    "year": 2025,
    "type": "PST"
  },
  "games": [
    {
      "id": "5b13f219-10bf-4ff7-b91d-721a9f53600d",
      "title": "Game 2",
      "status": "closed",
      "scheduled": "2026-04-11T02:00:00+00:00",
      "home_points": 104,
      "away_points": 119,
      "home": {
        "id": "b971b187-c542-4b76-9548-114acc564e05",
        "name": "Stockton Kings",
        "alias": "STO"
      },
      "away": {
        "id": "e74de5ce-3e98-4414-afe5-b56a90e527a2",
        "name": "Greensboro Swarm",
        "alias": "GBO"
      }
    },
    {
      "id": "072d9d92-2081-4a4e-be36-7dca20c1d3e1",
      "title": "Game 3 (if necessary)",
      "status": "unnecessary",
      "scheduled": "2026-04-14T00:00:00+00:00",
      "home": {
        "id": "e74de5ce-3e98-4414-afe5-b56a90e527a2",
        "name": "Greensboro Swarm",
        "alias": "GBO"
      },
      "away": {
        "id": "b971b187-c542-4b76-9548-114acc564e05",
        "name": "Stockton Kings",
        "alias": "STO"
      }
    }
  ]
}


Series Statuses

Playoff series move through a status set of their own on Series Schedule entries:

  • scheduled: the series is scheduled to occur
  • inprogress: the series is in progress
  • closed: the series is over

Playoffs and Tournaments covers how series wire into the bracket.



Status-Driven Polling

  • scheduled and time-tbd: track through the Daily Schedule at its normal cadence; watch time-tbd games for a start time
  • About 10 minutes before the scheduled start: begin requesting the game feeds
  • inprogress and halftime: poll the game feeds at your live cadence
  • delayed: keep polling; play has not been abandoned
  • complete: the game is over but stats are still validating; keep polling lightly until closed
  • closed: make one final pull, stop polling, and let the daily change log catch late corrections (Monitoring Data Changes)
  • postponed: stop polling the old game ID and pick up the makeup game from the schedule feeds
  • cancelled: stop polling; no makeup game will be played

Cadences come from Update Frequencies.


Did this page help you?