# place.stream.playback.getLivePlaylist

> Get an HLS CMAF playlist for a live stream. Returns a master playlist when `track` is omitted, or a single-track media playlist when `track` is supplied. The playlist references each segment + per-track init segment via getLiveSegment. Segments come from an in-memory sliding window fed as the stream is ingested (or replicated to this node), so a playlist is only available while the stream is live here.

- Kind: query
- Authority: playback.stream.place
- Lexicon: 1
- Published by [stream.place](https://lexicon.garden/identity/did:plc:rbvrr34edl5ddpuwcubjiost), not the NSID's authority

## Links

- [Documentation](https://lexicon.garden/lexicon/did:plc:rbvrr34edl5ddpuwcubjiost/place.stream.playback.getLivePlaylist)
- [Schema JSON](https://lexicon.garden/lexicon/did:plc:rbvrr34edl5ddpuwcubjiost/place.stream.playback.getLivePlaylist/schema.json)
- [Analytics](https://lexicon.garden/lexicon/did:plc:rbvrr34edl5ddpuwcubjiost/place.stream.playback.getLivePlaylist/analytics)

## Query (`place.stream.playback.getLivePlaylist`)

Type: query · GET

### Parameters (query string)

- `sid` (string): Opaque playback session identifier. Omit on the master playlist request; the server generates one and threads it through the sub-playlist + segment URLs it returns, for view-count correlation.
- `streamer` (string, required): The streamer to play back: a DID (did:plc/did:web/did:key) or a Bluesky handle, which is resolved to its DID.
- `track` (string): Track ID (stringified u32 matching the MUXL container) for a single-track media playlist. Omit for the master playlist.

### Output (*/*)


### Errors

- `StreamNotLive`: No live segments are currently windowed for this streamer on this node.
- `TrackNotFound`: The requested track ID is not present in the live stream.
- `StreamUnavailable`: The streamer's account is unavailable (e.g. banned).

## Schema

```json
{
  "$type": "com.atproto.lexicon.schema",
  "defs": {
    "main": {
      "description": "Get an HLS CMAF playlist for a live stream. Returns a master playlist when `track` is omitted, or a single-track media playlist when `track` is supplied. The playlist references each segment + per-track init segment via getLiveSegment. Segments come from an in-memory sliding window fed as the stream is ingested (or replicated to this node), so a playlist is only available while the stream is live here.",
      "errors": [
        {
          "description": "No live segments are currently windowed for this streamer on this node.",
          "name": "StreamNotLive"
        },
        {
          "description": "The requested track ID is not present in the live stream.",
          "name": "TrackNotFound"
        },
        {
          "description": "The streamer's account is unavailable (e.g. banned).",
          "name": "StreamUnavailable"
        }
      ],
      "output": {
        "encoding": "*/*"
      },
      "parameters": {
        "properties": {
          "sid": {
            "description": "Opaque playback session identifier. Omit on the master playlist request; the server generates one and threads it through the sub-playlist + segment URLs it returns, for view-count correlation.",
            "type": "string"
          },
          "streamer": {
            "description": "The streamer to play back: a DID (did:plc/did:web/did:key) or a Bluesky handle, which is resolved to its DID.",
            "type": "string"
          },
          "track": {
            "description": "Track ID (stringified u32 matching the MUXL container) for a single-track media playlist. Omit for the master playlist.",
            "type": "string"
          }
        },
        "required": [
          "streamer"
        ],
        "type": "params"
      },
      "type": "query"
    }
  },
  "id": "place.stream.playback.getLivePlaylist",
  "lexicon": 1
}
```
