full diff

place.stream.media.getVideo

stream.place +0 −0
From
bafyreicivgnnkdoltsx4nmrsi52lgt3ic5l6gicqtzokdazwkr6jin6mdq indexed 2026-11-04 01:29 UTC View this version
To
bafyreicivgnnkdoltsx4nmrsi52lgt3ic5l6gicqtzokdazwkr6jin6mdq indexed 2026-11-04 01:29 UTC View this version

Compatibility

backward compatible No changes detected.

Changes

11{
22 "$type": "com.atproto.lexicon.schema",
33 "defs": {
44 "main": {
55 "description": "Get a hydrated view of a place.stream.video record — the record itself plus author info plus aggregated view counts summed across every reporting node we've indexed. View counts come from place.stream.media.viewCount records; consumers see one number per metric, with the underlying multi-reporter detail collapsed away.",
66 "errors": [
77 {
88 "description": "No record indexed at the supplied AT-URI.",
99 "name": "VideoNotFound"
1010 }
1111 ],
1212 "output": {
1313 "encoding": "application/json",
1414 "schema": {
1515 "ref": "#videoView",
1616 "type": "ref"
1717 }
1818 },
1919 "parameters": {
2020 "properties": {
2121 "uri": {
2222 "description": "AT-URI of the place.stream.video record.",
2323 "format": "at-uri",
2424 "type": "string"
2525 }
2626 },
2727 "required": [
2828 "uri"
2929 ],
3030 "type": "params"
3131 },
3232 "type": "query"
3333 },
3434 "videoView": {
3535 "properties": {
3636 "author": {
3737 "ref": "app.bsky.actor.defs#profileViewBasic",
3838 "type": "ref"
3939 },
4040 "cid": {
4141 "format": "cid",
4242 "type": "string"
4343 },
4444 "likeCount": {
4545 "description": "Total number of place.stream.like records whose subject is this video. Always present; zero when none, so consumers can render a count unconditionally.",
4646 "minimum": 0,
4747 "type": "integer"
4848 },
4949 "record": {
5050 "type": "unknown"
5151 },
5252 "tracks": {
5353 "items": {
5454 "ref": "place.stream.media.track#trackView",
5555 "type": "ref"
5656 },
5757 "type": "array"
5858 },
5959 "uri": {
6060 "format": "at-uri",
6161 "type": "string"
6262 },
6363 "viewCounts": {
6464 "description": "Aggregated view counts across every indexed reporter. Always present; zero-valued (count=0, reporters=0) when no place.stream.media.viewCount records have been observed yet, so consumers can render a count unconditionally.",
6565 "ref": "#viewCountSummary",
6666 "type": "ref"
6767 }
6868 },
6969 "required": [
7070 "uri",
7171 "cid",
7272 "author",
7373 "record",
7474 "viewCounts",
7575 "likeCount"
7676 ],
7777 "type": "object"
7878 },
7979 "viewCountSummary": {
8080 "description": "Sums across every place.stream.media.viewCount record indexed for this video, regardless of reporter or window. The underlying records are window-bounded; the consumer sees a running total.",
8181 "properties": {
8282 "bytes": {
8383 "description": "Sum of bytes transferred across every track row in every indexed report.",
8484 "minimum": 0,
8585 "type": "integer"
8686 },
8787 "count": {
8888 "description": "Sum of `count` across every indexed report.",
8989 "minimum": 0,
9090 "type": "integer"
9191 },
9292 "durationMs": {
9393 "description": "Sum of playback duration (ms) across every track row in every indexed report.",
9494 "minimum": 0,
9595 "type": "integer"
9696 },
9797 "reporters": {
9898 "description": "Number of distinct streamplace nodes that have contributed at least one viewCount record for this video.",
9999 "minimum": 0,
100100 "type": "integer"
101101 }
102102 },
103103 "required": [
104104 "count",
105105 "bytes",
106106 "durationMs",
107107 "reporters"
108108 ],
109109 "type": "object"
110110 }
111111 },
112112 "id": "place.stream.media.getVideo",
113113 "lexicon": 1
114114}