A streamer's place.stream.video records (read from their PDS) and this node's uploads for them: everything updateVideo, deleteVideo and publishVideo take. The caller must be the streamer or hold livestream.manage from them.
GET
/xrpc/place.stream.media.listVideos
const url = 'https://example.com/xrpc/place.stream.media.listVideos?repo=example';const options = {method: 'GET'};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request GET \ --url 'https://example.com/xrpc/place.stream.media.listVideos?repo=example'Parameters
Section titled “Parameters”Query Parameters
Section titled “Query Parameters”repo
required
The streamer’s DID.
string format: did
The streamer’s DID.
Responses
Section titled “Responses”Success
Media typeapplication/json
object
repoDID
required
string format: did
videos
required
Array<object>
object
uri
required
string format: uri
cid
required
string format: cid
title
required
string
durationMs
integer
createdAt
string
tracks
required
The track records the video’s source points at.
Array<string>
connections
The livestream records the video is connected to.
Array<string>
thumb
Whether the record carries a thumbnail.
boolean
uploads
required
Array<object>
object
uploadId
required
string
status
required
Processing status: pending, processing, done or error.
string
error
string
backend
required
string
location
For a finalized recording, the livestream record it came from.
string
contentCid
string
durationMs
integer
blobSize
integer
tracks
How many track records the upload has published.
integer
createdAt
string format: date-time
Example generated
{ "repoDID": "example", "videos": [ { "uri": "https://example.com", "cid": "example", "title": "example", "durationMs": 1, "createdAt": "example", "tracks": [ "https://example.com" ], "connections": [ "https://example.com" ], "thumb": true } ], "uploads": [ { "uploadId": "example", "status": "example", "error": "example", "backend": "example", "location": "example", "contentCid": "example", "durationMs": 1, "blobSize": 1, "tracks": 1, "createdAt": "2026-04-15T12:00:00Z" } ]}Bad Request
Media typeapplication/json
object
error
required
One of:
string
message
required
string
Example
{ "error": "NotPermitted"}