Skip to content

place.stream.livestream

Lexicon Version: 1

Type: record

Record announcing a livestream is happening

Record Key: tid

Record Properties:

NameTypeReq’dDescriptionConstraints
titlestringThe title of the livestream, as it will be announced to followers.Max Length: 1400
Max Graphemes: 140
urlstringThe URL where this stream can be found. This is primarily a hint for other Streamplace nodes to locate and replicate the stream.Format: uri
createdAtstringClient-declared timestamp when this livestream started.Format: datetime
postcom.atproto.repo.strongRefThe post that announced this livestream. Used for chat replies.

Type: object

Properties:

NameTypeReq’dDescriptionConstraints
uristringFormat: at-uri
cidstringFormat: cid
authorapp.bsky.actor.defs#profileViewBasic
recordunknown
indexedAtstringFormat: datetime
viewerCountplace.stream.livestream#viewerCountThe number of viewers watching this livestream. Use when you can’t reasonably use #viewerCount directly.

Type: object

Properties:

NameTypeReq’dDescriptionConstraints
countinteger

Type: object

Properties:

NameTypeReq’dDescriptionConstraints
livestreamUnion of:
  #livestreamView
  #viewerCount
  place.stream.defs#blockView
  place.stream.defs#renditions
  place.stream.defs#rendition
  place.stream.chat.defs#messageView

{
"lexicon": 1,
"id": "place.stream.livestream",
"defs": {
"main": {
"type": "record",
"description": "Record announcing a livestream is happening",
"key": "tid",
"record": {
"type": "object",
"required": ["title", "createdAt"],
"properties": {
"title": {
"type": "string",
"maxLength": 1400,
"maxGraphemes": 140,
"description": "The title of the livestream, as it will be announced to followers."
},
"url": {
"type": "string",
"format": "uri",
"description": "The URL where this stream can be found. This is primarily a hint for other Streamplace nodes to locate and replicate the stream."
},
"createdAt": {
"type": "string",
"format": "datetime",
"description": "Client-declared timestamp when this livestream started."
},
"post": {
"type": "ref",
"ref": "com.atproto.repo.strongRef",
"description": "The post that announced this livestream. Used for chat replies."
}
}
}
},
"livestreamView": {
"type": "object",
"required": ["uri", "cid", "author", "record", "indexedAt"],
"properties": {
"uri": {
"type": "string",
"format": "at-uri"
},
"cid": {
"type": "string",
"format": "cid"
},
"author": {
"type": "ref",
"ref": "app.bsky.actor.defs#profileViewBasic"
},
"record": {
"type": "unknown"
},
"indexedAt": {
"type": "string",
"format": "datetime"
},
"viewerCount": {
"type": "ref",
"description": "The number of viewers watching this livestream. Use when you can't reasonably use #viewerCount directly.",
"ref": "place.stream.livestream#viewerCount"
}
}
},
"viewerCount": {
"type": "object",
"required": ["count"],
"properties": {
"count": {
"type": "integer"
}
}
},
"streamplaceAnything": {
"type": "object",
"required": ["livestream"],
"properties": {
"livestream": {
"type": "union",
"refs": [
"#livestreamView",
"#viewerCount",
"place.stream.defs#blockView",
"place.stream.defs#renditions",
"place.stream.defs#rendition",
"place.stream.chat.defs#messageView"
]
}
}
}
}
}