---
updatedAt: 2026-09-01T10:47:37.000Z
agentTools:
  siteIndex: https://developer.sportradar.com/llms.txt
  projectIndex: https://developer.sportradar.com/basketball/llms.txt
---

# 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.

<br />

***

## Where Status Lives

The same `status` value appears wherever a game does: on <Anchor label="Schedule" target="_blank" href="ref:g-league-schedule">Schedule</Anchor> and <Anchor label="Daily Schedule" target="_blank" href="ref:g-league-daily-schedule">Daily Schedule</Anchor> entries, and on the headers of <Anchor label="Game Summary" target="_blank" href="ref:g-league-game-summary">Game Summary</Anchor>, <Anchor label="Game Boxscore" target="_blank" href="ref:g-league-game-boxscore">Game Boxscore</Anchor>, and <Anchor label="Game Play-by-Play" target="_blank" href="ref:g-league-play-by-play">Game Play-by-Play</Anchor>. Playoff series carry their own, smaller status set (see below).

<br />

***

## 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](https://developer.sportradar.com/basketball/reference/g-league-overview) 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](https://developer.sportradar.com/basketball/docs/g-league-ig-live-game-retrieval) shows where they steer the live workflow.

<br />

***

## The Status Lifecycle

<div style={{border: "1px solid #C5CAE9", borderRadius: "12px", overflow: "hidden", margin: "4px 0 8px"}}>
  <div style={{background: "linear-gradient(90deg, #1A237E 0%, #283593 60%, #3949AB 100%)", color: "#FFFFFF", padding: "10px 18px", display: "flex", alignItems: "baseline", justifyContent: "space-between", flexWrap: "wrap", gap: "4px 12px"}}>
    <span style={{fontWeight: 700, fontSize: "14px", letterSpacing: "0.02em"}}>Standard Game Flow</span>
    <span style={{fontSize: "12px", opacity: 0.8}}>scheduled to closed, with what each move signals</span>
  </div>
  <div style={{padding: "12px 18px", background: "#FFFFFF", display: "flex", flexDirection: "column", gap: "10px"}}>
    <div style={{display: "flex", flexWrap: "wrap", gap: "8px", alignItems: "center"}}>
      <span style={{minWidth: "96px", fontSize: "12px", color: "#6B7280", fontWeight: 700}}>1. Pregame</span>
      <span style={{display: "inline-block", minWidth: "118px", textAlign: "center", padding: "4px 10px", borderRadius: "999px", border: "1px solid #C5CAE9", background: "#F3F6FA", color: "#1A237E", fontSize: "12.5px", fontWeight: 600, fontFamily: "SFMono-Regular, Menlo, Consolas, monospace", whiteSpace: "nowrap"}}>scheduled</span>
      <span style={{flex: "1 1 260px", fontSize: "12px", color: "#6B7280"}}>The game is scheduled to occur, with a determined date and time.</span>
    </div>
    <div style={{display: "flex", flexWrap: "wrap", gap: "8px", alignItems: "center"}}>
      <span style={{minWidth: "96px", fontSize: "12px", color: "#6B7280", fontWeight: 700}}>2. Preload</span>
      <span style={{display: "inline-block", minWidth: "118px", textAlign: "center", padding: "4px 10px", borderRadius: "999px", border: "1px solid #C5CAE9", background: "#F3F6FA", color: "#1A237E", fontSize: "12.5px", fontWeight: 600, fontFamily: "SFMono-Regular, Menlo, Consolas, monospace", whiteSpace: "nowrap"}}>created</span>
      <span style={{flex: "1 1 260px", fontSize: "12px", color: "#6B7280"}}>The game has been created and information logging has begun.</span>
    </div>
    <div style={{display: "flex", flexWrap: "wrap", gap: "8px", alignItems: "center"}}>
      <span style={{minWidth: "96px", fontSize: "12px", color: "#6B7280", fontWeight: 700}}>3. Tip-off</span>
      <span style={{display: "inline-block", minWidth: "118px", textAlign: "center", padding: "4px 10px", borderRadius: "999px", border: "1px solid #C5CAE9", background: "#F3F6FA", color: "#1A237E", fontSize: "12.5px", fontWeight: 600, fontFamily: "SFMono-Regular, Menlo, Consolas, monospace", whiteSpace: "nowrap"}}>inprogress</span>
      <span style={{flex: "1 1 260px", fontSize: "12px", color: "#6B7280"}}>The game is in progress.</span>
    </div>
    <div style={{display: "flex", flexWrap: "wrap", gap: "8px", alignItems: "center"}}>
      <span style={{minWidth: "96px", fontSize: "12px", color: "#6B7280", fontWeight: 700}}>4. Break</span>
      <span style={{display: "inline-block", minWidth: "118px", textAlign: "center", padding: "4px 10px", borderRadius: "999px", border: "1px solid #C5CAE9", background: "#F3F6FA", color: "#1A237E", fontSize: "12.5px", fontWeight: 600, fontFamily: "SFMono-Regular, Menlo, Consolas, monospace", whiteSpace: "nowrap"}}>halftime</span>
      <span style={{flex: "1 1 260px", fontSize: "12px", color: "#6B7280"}}>The game is at halftime.</span>
    </div>
    <div style={{display: "flex", flexWrap: "wrap", gap: "8px", alignItems: "center"}}>
      <span style={{minWidth: "96px", fontSize: "12px", color: "#6B7280", fontWeight: 700}}>5. Second half</span>
      <span style={{display: "inline-block", minWidth: "118px", textAlign: "center", padding: "4px 10px", borderRadius: "999px", border: "1px solid #C5CAE9", background: "#F3F6FA", color: "#1A237E", fontSize: "12.5px", fontWeight: 600, fontFamily: "SFMono-Regular, Menlo, Consolas, monospace", whiteSpace: "nowrap"}}>inprogress</span>
      <span style={{flex: "1 1 260px", fontSize: "12px", color: "#6B7280"}}>Play resumes for the second half.</span>
    </div>
    <div style={{display: "flex", flexWrap: "wrap", gap: "8px", alignItems: "center"}}>
      <span style={{minWidth: "96px", fontSize: "12px", color: "#6B7280", fontWeight: 700}}>6. Final score</span>
      <span style={{display: "inline-block", minWidth: "118px", textAlign: "center", padding: "4px 10px", borderRadius: "999px", border: "1px solid #C5CAE9", background: "#F3F6FA", color: "#1A237E", fontSize: "12.5px", fontWeight: 600, fontFamily: "SFMono-Regular, Menlo, Consolas, monospace", whiteSpace: "nowrap"}}>complete</span>
      <span style={{flex: "1 1 260px", fontSize: "12px", color: "#6B7280"}}>The game is over, but stat validation is not complete.</span>
    </div>
    <div style={{display: "flex", flexWrap: "wrap", gap: "8px", alignItems: "center"}}>
      <span style={{minWidth: "96px", fontSize: "12px", color: "#6B7280", fontWeight: 700}}>7. Validated</span>
      <span style={{display: "inline-block", minWidth: "118px", textAlign: "center", padding: "4px 10px", borderRadius: "999px", border: "1px solid #070D44", background: "#070D44", color: "#FFFFFF", fontSize: "12.5px", fontWeight: 700, fontFamily: "SFMono-Regular, Menlo, Consolas, monospace", whiteSpace: "nowrap"}}>closed</span>
      <span style={{flex: "1 1 260px", fontSize: "12px", color: "#6B7280"}}>The game is over and the stats have been validated.</span>
    </div>
  </div>
  <div style={{padding: "8px 18px", borderTop: "1px solid #E8EAF6", fontSize: "12px", color: "#6B7280", background: "#FAFAFA"}}>Statuses appear on schedule entries and every game feed; the full definitions are in the G League FAQ.</div>
</div>

<div style={{border: "1px solid #C5CAE9", borderRadius: "12px", overflow: "hidden", margin: "4px 0 8px"}}>
  <div style={{background: "linear-gradient(90deg, #1A237E 0%, #283593 60%, #3949AB 100%)", color: "#FFFFFF", padding: "10px 18px", display: "flex", alignItems: "baseline", justifyContent: "space-between", flexWrap: "wrap", gap: "4px 12px"}}>
    <span style={{fontWeight: 700, fontSize: "14px", letterSpacing: "0.02em"}}>Time TBD</span>
    <span style={{fontSize: "12px", opacity: 0.8}}>a placeholder that resolves to scheduled</span>
  </div>
  <div style={{padding: "12px 18px", background: "#FFFFFF", display: "flex", flexDirection: "column", gap: "10px"}}>
    <div style={{display: "flex", flexWrap: "wrap", gap: "8px", alignItems: "center"}}>
      <span style={{minWidth: "96px", fontSize: "12px", color: "#6B7280", fontWeight: 700}}>No time yet</span>
      <span style={{display: "inline-block", minWidth: "118px", textAlign: "center", padding: "3px 9px", borderRadius: "999px", border: "2px solid #2962FF", background: "#FFFFFF", color: "#1A237E", fontSize: "12.5px", fontWeight: 600, fontFamily: "SFMono-Regular, Menlo, Consolas, monospace", whiteSpace: "nowrap"}}>time-tbd</span>
      <span style={{flex: "1 1 260px", fontSize: "12px", color: "#6B7280"}}>The game has been scheduled, but a start time has yet to be announced.</span>
    </div>
    <div style={{display: "flex", flexWrap: "wrap", gap: "8px", alignItems: "center"}}>
      <span style={{minWidth: "96px", fontSize: "12px", color: "#6B7280", fontWeight: 700}}>Resolved</span>
      <span style={{display: "inline-block", minWidth: "118px", textAlign: "center", padding: "4px 10px", borderRadius: "999px", border: "1px solid #C5CAE9", background: "#F3F6FA", color: "#1A237E", fontSize: "12.5px", fontWeight: 600, fontFamily: "SFMono-Regular, Menlo, Consolas, monospace", whiteSpace: "nowrap"}}>scheduled</span>
      <span style={{flex: "1 1 260px", fontSize: "12px", color: "#6B7280"}}>Once the tip time is set, the game carries its determined date and time.</span>
    </div>
  </div>
  <div style={{padding: "8px 18px", borderTop: "1px solid #E8EAF6", fontSize: "12px", color: "#6B7280", background: "#FAFAFA"}}>Poll the schedule feeds to catch the start time landing.</div>
</div>

<div style={{border: "1px solid #C5CAE9", borderRadius: "12px", overflow: "hidden", margin: "4px 0 8px"}}>
  <div style={{background: "linear-gradient(90deg, #1A237E 0%, #283593 60%, #3949AB 100%)", color: "#FFFFFF", padding: "10px 18px", display: "flex", alignItems: "baseline", justifyContent: "space-between", flexWrap: "wrap", gap: "4px 12px"}}>
    <span style={{fontWeight: 700, fontSize: "14px", letterSpacing: "0.02em"}}>Delayed Game</span>
    <span style={{fontSize: "12px", opacity: 0.8}}>an interruption that resumes under the same game ID</span>
  </div>
  <div style={{padding: "12px 18px", background: "#FFFFFF", display: "flex", flexDirection: "column", gap: "10px"}}>
    <div style={{display: "flex", flexWrap: "wrap", gap: "8px", alignItems: "center"}}>
      <span style={{minWidth: "96px", fontSize: "12px", color: "#6B7280", fontWeight: 700}}>Interruption</span>
      <span style={{display: "inline-block", minWidth: "118px", textAlign: "center", padding: "3px 9px", borderRadius: "999px", border: "2px solid #2962FF", background: "#FFFFFF", color: "#1A237E", fontSize: "12.5px", fontWeight: 600, fontFamily: "SFMono-Regular, Menlo, Consolas, monospace", whiteSpace: "nowrap"}}>delayed</span>
      <span style={{flex: "1 1 260px", fontSize: "12px", color: "#6B7280"}}>The start of the game is delayed, or the game has gone from in progress to delayed.</span>
    </div>
    <div style={{display: "flex", flexWrap: "wrap", gap: "8px", alignItems: "center"}}>
      <span style={{minWidth: "96px", fontSize: "12px", color: "#6B7280", fontWeight: 700}}>Resumption</span>
      <span style={{display: "inline-block", minWidth: "118px", textAlign: "center", padding: "4px 10px", borderRadius: "999px", border: "1px solid #C5CAE9", background: "#F3F6FA", color: "#1A237E", fontSize: "12.5px", fontWeight: 600, fontFamily: "SFMono-Regular, Menlo, Consolas, monospace", whiteSpace: "nowrap"}}>inprogress</span>
      <span style={{flex: "1 1 260px", fontSize: "12px", color: "#6B7280"}}>Delayed games resume under the same game ID.</span>
    </div>
  </div>
  <div style={{padding: "8px 18px", borderTop: "1px solid #E8EAF6", fontSize: "12px", color: "#6B7280", background: "#FAFAFA"}}>Once a delayed game resumes, it follows the Standard Game flow.</div>
</div>

<div style={{border: "1px solid #C5CAE9", borderRadius: "12px", overflow: "hidden", margin: "4px 0 8px"}}>
  <div style={{background: "linear-gradient(90deg, #1A237E 0%, #283593 60%, #3949AB 100%)", color: "#FFFFFF", padding: "10px 18px", display: "flex", alignItems: "baseline", justifyContent: "space-between", flexWrap: "wrap", gap: "4px 12px"}}>
    <span style={{fontWeight: 700, fontSize: "14px", letterSpacing: "0.02em"}}>Postponed Game</span>
    <span style={{fontSize: "12px", opacity: 0.8}}>the makeup arrives as a new game ID</span>
  </div>
  <div style={{padding: "12px 18px", background: "#FFFFFF", display: "flex", flexDirection: "column", gap: "10px"}}>
    <div style={{display: "flex", flexWrap: "wrap", gap: "8px", alignItems: "center"}}>
      <span style={{minWidth: "96px", fontSize: "12px", color: "#6B7280", fontWeight: 700}}>On the books</span>
      <span style={{display: "inline-block", minWidth: "118px", textAlign: "center", padding: "4px 10px", borderRadius: "999px", border: "1px solid #C5CAE9", background: "#F3F6FA", color: "#1A237E", fontSize: "12.5px", fontWeight: 600, fontFamily: "SFMono-Regular, Menlo, Consolas, monospace", whiteSpace: "nowrap"}}>scheduled</span>
      <span style={{flex: "1 1 260px", fontSize: "12px", color: "#6B7280"}}>The game is scheduled to occur, with a determined date and time.</span>
    </div>
    <div style={{display: "flex", flexWrap: "wrap", gap: "8px", alignItems: "center"}}>
      <span style={{minWidth: "96px", fontSize: "12px", color: "#6B7280", fontWeight: 700}}>Pushed</span>
      <span style={{display: "inline-block", minWidth: "118px", textAlign: "center", padding: "4px 10px", borderRadius: "999px", border: "1px solid #B71C1C", background: "#B71C1C", color: "#FFFFFF", fontSize: "12.5px", fontWeight: 700, fontFamily: "SFMono-Regular, Menlo, Consolas, monospace", whiteSpace: "nowrap"}}>postponed</span>
      <span style={{flex: "1 1 260px", fontSize: "12px", color: "#6B7280"}}>The game will be made up at another day and time.</span>
    </div>
    <div style={{display: "flex", flexWrap: "wrap", gap: "8px", alignItems: "center"}}>
      <span style={{minWidth: "96px", fontSize: "12px", color: "#6B7280", fontWeight: 700}}>Rescheduled</span>
      <span style={{display: "inline-block", minWidth: "118px", textAlign: "center", padding: "4px 10px", borderRadius: "999px", border: "1px solid #C5CAE9", background: "#F3F6FA", color: "#1A237E", fontSize: "12.5px", fontWeight: 600, fontFamily: "SFMono-Regular, Menlo, Consolas, monospace", whiteSpace: "nowrap"}}>scheduled</span>
      <span style={{flex: "1 1 260px", fontSize: "12px", color: "#6B7280"}}>The makeup game arrives as a new game with a new ID; the postponed and makeup game IDs are not linked within the API.</span>
    </div>
  </div>
  <div style={{padding: "8px 18px", borderTop: "1px solid #E8EAF6", fontSize: "12px", color: "#6B7280", background: "#FAFAFA"}}>The original entry keeps the postponed status; the makeup game follows the Standard Game flow under its new ID.</div>
</div>

<div style={{border: "1px solid #C5CAE9", borderRadius: "12px", overflow: "hidden", margin: "4px 0 8px"}}>
  <div style={{background: "linear-gradient(90deg, #1A237E 0%, #283593 60%, #3949AB 100%)", color: "#FFFFFF", padding: "10px 18px", display: "flex", alignItems: "baseline", justifyContent: "space-between", flexWrap: "wrap", gap: "4px 12px"}}>
    <span style={{fontWeight: 700, fontSize: "14px", letterSpacing: "0.02em"}}>Cancelled Game</span>
    <span style={{fontSize: "12px", opacity: 0.8}}>a terminal status</span>
  </div>
  <div style={{padding: "12px 18px", background: "#FFFFFF", display: "flex", flexDirection: "column", gap: "10px"}}>
    <div style={{display: "flex", flexWrap: "wrap", gap: "8px", alignItems: "center"}}>
      <span style={{minWidth: "96px", fontSize: "12px", color: "#6B7280", fontWeight: 700}}>On the books</span>
      <span style={{display: "inline-block", minWidth: "118px", textAlign: "center", padding: "4px 10px", borderRadius: "999px", border: "1px solid #C5CAE9", background: "#F3F6FA", color: "#1A237E", fontSize: "12.5px", fontWeight: 600, fontFamily: "SFMono-Regular, Menlo, Consolas, monospace", whiteSpace: "nowrap"}}>scheduled</span>
      <span style={{flex: "1 1 260px", fontSize: "12px", color: "#6B7280"}}>The game is scheduled to occur, with a determined date and time.</span>
    </div>
    <div style={{display: "flex", flexWrap: "wrap", gap: "8px", alignItems: "center"}}>
      <span style={{minWidth: "96px", fontSize: "12px", color: "#6B7280", fontWeight: 700}}>Called off</span>
      <span style={{display: "inline-block", minWidth: "118px", textAlign: "center", padding: "4px 10px", borderRadius: "999px", border: "1px solid #B71C1C", background: "#B71C1C", color: "#FFFFFF", fontSize: "12.5px", fontWeight: 700, fontFamily: "SFMono-Regular, Menlo, Consolas, monospace", whiteSpace: "nowrap"}}>cancelled</span>
      <span style={{flex: "1 1 260px", fontSize: "12px", color: "#6B7280"}}>The game has been cancelled, with no makeup game to be played.</span>
    </div>
  </div>
  <div style={{padding: "8px 18px", borderTop: "1px solid #E8EAF6", fontSize: "12px", color: "#6B7280", background: "#FAFAFA"}}>Cancelled is terminal: the game remains in cancelled status.</div>
</div>

<div style={{border: "1px solid #C5CAE9", borderRadius: "12px", overflow: "hidden", margin: "4px 0 8px"}}>
  <div style={{background: "linear-gradient(90deg, #1A237E 0%, #283593 60%, #3949AB 100%)", color: "#FFFFFF", padding: "10px 18px", display: "flex", alignItems: "baseline", justifyContent: "space-between", flexWrap: "wrap", gap: "4px 12px"}}>
    <span style={{fontWeight: 700, fontSize: "14px", letterSpacing: "0.02em"}}>Series Games</span>
    <span style={{fontSize: "12px", opacity: 0.8}}>potential games that are or are not required</span>
  </div>
  <div style={{padding: "12px 18px", background: "#FFFFFF", display: "flex", flexDirection: "column", gap: "10px"}}>
    <div style={{display: "flex", flexWrap: "wrap", gap: "8px", alignItems: "center"}}>
      <span style={{minWidth: "96px", fontSize: "12px", color: "#6B7280", fontWeight: 700}}>Provisional</span>
      <span style={{display: "inline-block", minWidth: "118px", textAlign: "center", padding: "3px 9px", borderRadius: "999px", border: "2px solid #2962FF", background: "#FFFFFF", color: "#1A237E", fontSize: "12.5px", fontWeight: 600, fontFamily: "SFMono-Regular, Menlo, Consolas, monospace", whiteSpace: "nowrap"}}>if-necessary</span>
      <span style={{flex: "1 1 260px", fontSize: "12px", color: "#6B7280"}}>The game will be scheduled if it is required.</span>
    </div>
    <div style={{display: "flex", flexWrap: "wrap", gap: "8px", alignItems: "center"}}>
      <span style={{minWidth: "96px", fontSize: "12px", color: "#6B7280", fontWeight: 700}}>Not needed</span>
      <span style={{display: "inline-block", minWidth: "118px", textAlign: "center", padding: "3px 9px", borderRadius: "999px", border: "2px solid #2962FF", background: "#FFFFFF", color: "#1A237E", fontSize: "12.5px", fontWeight: 600, fontFamily: "SFMono-Regular, Menlo, Consolas, monospace", whiteSpace: "nowrap"}}>unnecessary</span>
      <span style={{flex: "1 1 260px", fontSize: "12px", color: "#6B7280"}}>The series game was scheduled, but will not take place because one team clinched the series early.</span>
    </div>
  </div>
  <div style={{padding: "8px 18px", borderTop: "1px solid #E8EAF6", fontSize: "12px", color: "#6B7280", background: "#FAFAFA"}}>Series statuses ride playoff and Showcase Cup series games; the Series Statuses section below covers the wiring.</div>
</div>

| Status         | Meaning                                                                                               |
| -------------- | ----------------------------------------------------------------------------------------------------- |
| `scheduled`    | The game is scheduled to occur                                                                        |
| `created`      | The game has been created and information logging has begun                                           |
| `inprogress`   | The game is in progress                                                                               |
| `halftime`     | The game is at halftime                                                                               |
| `complete`     | The game is over, but stat validation is not complete                                                 |
| `closed`       | The game is over and the stats have been validated                                                    |
| `cancelled`    | The game has been cancelled, with no makeup game to be played                                         |
| `delayed`      | The start of the game is delayed, or the game has gone from in progress to delayed                    |
| `postponed`    | The game will be made up at another day and time; the makeup game arrives as a new game with a new ID |
| `time-tbd`     | The game has been scheduled, but a start time has yet to be announced                                 |
| `if-necessary` | The game will be scheduled if it is required                                                          |
| `unnecessary`  | The series game was scheduled, but will not take place because one team clinched the series early     |

The full definitions live in the <Anchor label="G League FAQ" target="_blank" href="https://developer.sportradar.com/basketball/reference/g-league-faq#game-statuses">G League FAQ</Anchor>. Only `closed`, `cancelled`, and `unnecessary` are end states; treat everything else as a state to keep watching.

<br />

***

## 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`:

```http
GET https://api.sportradar.com/nbdl/trial/v8/en/games/2025/REG/schedule.json
x-api-key: YOUR_API_KEY
```
```json Schedule (json)
{
  "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:

```http
GET https://api.sportradar.com/nbdl/trial/v8/en/games/2025/PST/schedule.json
x-api-key: YOUR_API_KEY
```
```json Schedule (PST, json)
{
  "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"
      }
    }
  ]
}
```

<br />

***

## Series Statuses

Playoff series move through a status set of their own on <Anchor label="Series Schedule" target="_blank" href="ref:g-league-series-schedule">Series Schedule</Anchor> entries:

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

[Playoffs and Tournaments](https://developer.sportradar.com/basketball/docs/g-league-ig-playoffs) covers how series wire into the bracket.

<br />

***

## 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](https://developer.sportradar.com/basketball/docs/g-league-ig-daily-change-log))
* `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](https://developer.sportradar.com/basketball/docs/g-league-ig-update-frequencies).