# Quick start

Read a public sample, then a live game's feed.

Source: [Quick start](/quick-start/)

## 1. Read a public sample [#1-read-a-public-sample]

This request needs no key. The fixture is an NBA sample game and `pulse` is its feed key.

```bash
curl --fail-with-body --silent --show-error 'https://api.live.storyos.ai/v1/fixtures/0042500401/feeds/pulse'
```

A `200` response contains `fixtureId`, `feedKey`, `snapshotAt` and `items`. This sample contains 13 Player Performance items at definition version 2. Each item includes its own `id`, `revision`, copy and supporting values.

## 2. Read a live game [#2-read-a-live-game]

Use the same route with a live game's NBA game ID. No key is needed. A live game returns `404` until its first item is published.

Fixture `0012600066` is a published example: its feed returned 52 items on 6 October 2026. The sample index lists only sample fixtures, so use the NBA game ID for other live games.

```bash
# Published live example; replace this with another NBA game ID as needed. No key.
FIXTURE_ID=0012600066
curl --fail-with-body --silent --show-error \
  "https://api.live.storyos.ai/v1/fixtures/$FIXTURE_ID/feeds/pulse"
```

## 3. Consume complete snapshots [#3-consume-complete-snapshots]

Replace your displayed items after each successful `200`, including a response with an empty `items` array. Preserve the last valid snapshot on `304` or a failed request. See [Feed model](/markdown/feed-model.md) and [Polling and caching](/markdown/polling.md).

The examples have been exercised against the public API.
