> ## Documentation Index
> Fetch the complete documentation index at: https://docs.whop.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Livestream

A Livestream represents a live video broadcast in an experience. After a recorded livestream ends, members can watch the replay, and moderators can pin the best recordings to feature them.

Use the Livestreams API to [list an experience's livestreams](/api-reference/beta/livestreams/list-livestreams), [retrieve one](/api-reference/beta/livestreams/retrieve-livestream) with its recording, and [pin](/api-reference/beta/livestreams/pin-livestream) or [unpin](/api-reference/beta/livestreams/unpin-livestream) recordings.

## Endpoints

| Endpoint | Request |
| - | - |
| [List Livestreams](/api-reference/beta/livestreams/list-livestreams) | GET `/livestreams` |
| [Retrieve Livestream](/api-reference/beta/livestreams/retrieve-livestream) | GET `/livestreams/{id}` |
| [Pin Livestream](/api-reference/beta/livestreams/pin-livestream) | POST `/livestreams/{id}/pin` |
| [Unpin Livestream](/api-reference/beta/livestreams/unpin-livestream) | POST `/livestreams/{id}/unpin` |

## Attributes

**id** `string` *required*

Livestream ID, prefixed `lfeed_`.

**created\_at** `string` *required*

When the livestream was created, as an ISO 8601 timestamp.

**ended\_at** `string | null` *required*

When the livestream ended, as an ISO 8601 timestamp. `null` while it is live
or before it starts.

**pinned\_at** `string | null` *required*

When a moderator pinned this livestream's recording, as an ISO 8601 timestamp.
`null` when it is not pinned.

**recording\_started\_at** `string | null` *required*

When the recording's first frame was captured, as an ISO 8601 timestamp.
Offsets into the recording count from here, not from `started_at`. `null`
until recording starts.

**recording\_status** `string | null` *required*

State of the recording. `null` when the livestream was not recorded.

Available options: `recording`, `processing`, `completed`, `failed`

**recording\_url** `string | null` *required*

A temporary link to the recording's video file. Retrieve the livestream again
for a fresh link. `null` until the recording is ready, or when it was deleted.

**started\_at** `string | null` *required*

When the livestream went live, as an ISO 8601 timestamp. `null` before it
starts.

**thumbnail\_url** `string | null` *required*

A temporary link to a still frame from the livestream. `null` when none was
captured.

**title** `string` *required*

Display title of the livestream. `Untitled Livestream` when the host did not
set one.

```json Livestream theme={null}
{
	"id": "lfeed_xxxxxxxxxxxxxxxxxxxxxx",
	"title": "Live edit: blue hour",
	"started_at": "2026-09-26T19:00:00.000Z",
	"ended_at": "2026-09-26T20:45:48.000Z",
	"recording_status": "completed",
	"recording_started_at": "2026-09-26T19:00:07.000Z",
	"pinned_at": "2026-09-27T09:00:00.000Z",
	"thumbnail_url": "https://img.whop.com/livestreams/lfeed_xxxxxxxxxxxxxxxxxxxxxx.jpg",
	"recording_url": "https://whop-livestreams-example.s3.amazonaws.com/room/lfeed_xxxxxxxxxxxxxxxxxxxxxx.mp4",
	"created_at": "2026-09-26T18:59:41.000Z"
}
```


## Related topics

- [Retrieve Livestream](/api-reference/beta/livestreams/retrieve-livestream.md)
- [Unpin Livestream](/api-reference/beta/livestreams/unpin-livestream.md)
- [List Livestreams](/api-reference/beta/livestreams/list-livestreams.md)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.