OpenVibe.Live API

Generated at from openvibe-contracts v0.53.0 and openvibe-sdk v0.11.0.

Server https://openvibe.live. 27 routes performing 6 capabilities. OpenAPI 3.1 document.

GET /api/auth/user/{username}

Read a channel's public profile by username (the /@username page's data): metadata, owner display fields, follower count, live streams with playback endpoints, slots, and its public VODs and clips fro

Capabilities
live.channel.read
Visibility
public
Parameters
  • username (path, required)
Response
application/json live.channel-read-result@1
Errors
errors.problem@1 (application/problem+json)
Description<p><strong>live.channel.read</strong> (public): Read a channel&#39;s public profile by username (the /@username page&#39;s data): metadata, owner display fields, follower count, live streams with playback endpoints, slots, and its public VODs and clips from Media. The owner and staff also see private listings; ingest keys are never returned. Anonymous callers are served (optionalAuth); no grant is checked at Live&#39;s boundary, and /api allows only OpenVibe origins for browsers. There is no public lookup by channel id yet (roadmap §30.2, sdk-live).</p>

GET /api/content/feed

Read Live's discovery surfaces (roadmap §30.2 live.discovery.*): the featured rotation, "watch instead" picks, the star of the day, the digest, home numbers, recently online streamers, recent VODs, an

Capabilities
live.discovery.read
Visibility
public
Response
application/json live.discovery-result@1
Errors
errors.problem@1 (application/problem+json)
Description<p><strong>live.discovery.read</strong> (public): Read Live&#39;s discovery surfaces (roadmap §30.2 live.discovery.*): the featured rotation, &quot;watch instead&quot; picks, the star of the day, the digest, home numbers, recently online streamers, recent VODs, and the content and AI-moments feeds. Public items only. There is no category directory and no channel search route yet; channel search belongs to OpenVibe.Search once Live publishes index documents.</p>

GET /api/content/moments

Read Live's discovery surfaces (roadmap §30.2 live.discovery.*): the featured rotation, "watch instead" picks, the star of the day, the digest, home numbers, recently online streamers, recent VODs, an

Capabilities
live.discovery.read
Visibility
public
Response
application/json live.discovery-result@1
Errors
errors.problem@1 (application/problem+json)
Description<p><strong>live.discovery.read</strong> (public): Read Live&#39;s discovery surfaces (roadmap §30.2 live.discovery.*): the featured rotation, &quot;watch instead&quot; picks, the star of the day, the digest, home numbers, recently online streamers, recent VODs, and the content and AI-moments feeds. Public items only. There is no category directory and no channel search route yet; channel search belongs to OpenVibe.Search once Live publishes index documents.</p>

GET /api/home/digest

Read Live's discovery surfaces (roadmap §30.2 live.discovery.*): the featured rotation, "watch instead" picks, the star of the day, the digest, home numbers, recently online streamers, recent VODs, an

Capabilities
live.discovery.read
Visibility
public
Response
application/json live.discovery-result@1
Errors
errors.problem@1 (application/problem+json)
Description<p><strong>live.discovery.read</strong> (public): Read Live&#39;s discovery surfaces (roadmap §30.2 live.discovery.*): the featured rotation, &quot;watch instead&quot; picks, the star of the day, the digest, home numbers, recently online streamers, recent VODs, and the content and AI-moments feeds. Public items only. There is no category directory and no channel search route yet; channel search belongs to OpenVibe.Search once Live publishes index documents.</p>

GET /api/home/discover

Read Live's discovery surfaces (roadmap §30.2 live.discovery.*): the featured rotation, "watch instead" picks, the star of the day, the digest, home numbers, recently online streamers, recent VODs, an

Capabilities
live.discovery.read
Visibility
public
Response
application/json live.discovery-result@1
Errors
errors.problem@1 (application/problem+json)
Description<p><strong>live.discovery.read</strong> (public): Read Live&#39;s discovery surfaces (roadmap §30.2 live.discovery.*): the featured rotation, &quot;watch instead&quot; picks, the star of the day, the digest, home numbers, recently online streamers, recent VODs, and the content and AI-moments feeds. Public items only. There is no category directory and no channel search route yet; channel search belongs to OpenVibe.Search once Live publishes index documents.</p>

GET /api/home/hero

Read Live's discovery surfaces (roadmap §30.2 live.discovery.*): the featured rotation, "watch instead" picks, the star of the day, the digest, home numbers, recently online streamers, recent VODs, an

Capabilities
live.discovery.read
Visibility
public
Response
application/json live.discovery-result@1
Errors
errors.problem@1 (application/problem+json)
Description<p><strong>live.discovery.read</strong> (public): Read Live&#39;s discovery surfaces (roadmap §30.2 live.discovery.*): the featured rotation, &quot;watch instead&quot; picks, the star of the day, the digest, home numbers, recently online streamers, recent VODs, and the content and AI-moments feeds. Public items only. There is no category directory and no channel search route yet; channel search belongs to OpenVibe.Search once Live publishes index documents.</p>

GET /api/home/pulse

Read Live's discovery surfaces (roadmap §30.2 live.discovery.*): the featured rotation, "watch instead" picks, the star of the day, the digest, home numbers, recently online streamers, recent VODs, an

Capabilities
live.discovery.read
Visibility
public
Response
application/json live.discovery-result@1
Errors
errors.problem@1 (application/problem+json)
Description<p><strong>live.discovery.read</strong> (public): Read Live&#39;s discovery surfaces (roadmap §30.2 live.discovery.*): the featured rotation, &quot;watch instead&quot; picks, the star of the day, the digest, home numbers, recently online streamers, recent VODs, and the content and AI-moments feeds. Public items only. There is no category directory and no channel search route yet; channel search belongs to OpenVibe.Search once Live publishes index documents.</p>

GET /api/home/star

Read Live's discovery surfaces (roadmap §30.2 live.discovery.*): the featured rotation, "watch instead" picks, the star of the day, the digest, home numbers, recently online streamers, recent VODs, an

Capabilities
live.discovery.read
Visibility
public
Response
application/json live.discovery-result@1
Errors
errors.problem@1 (application/problem+json)
Description<p><strong>live.discovery.read</strong> (public): Read Live&#39;s discovery surfaces (roadmap §30.2 live.discovery.*): the featured rotation, &quot;watch instead&quot; picks, the star of the day, the digest, home numbers, recently online streamers, recent VODs, and the content and AI-moments feeds. Public items only. There is no category directory and no channel search route yet; channel search belongs to OpenVibe.Search once Live publishes index documents.</p>

GET /api/home/stats-live

Read Live's discovery surfaces (roadmap §30.2 live.discovery.*): the featured rotation, "watch instead" picks, the star of the day, the digest, home numbers, recently online streamers, recent VODs, an

Capabilities
live.discovery.read
Visibility
public
Response
application/json live.discovery-result@1
Errors
errors.problem@1 (application/problem+json)
Description<p><strong>live.discovery.read</strong> (public): Read Live&#39;s discovery surfaces (roadmap §30.2 live.discovery.*): the featured rotation, &quot;watch instead&quot; picks, the star of the day, the digest, home numbers, recently online streamers, recent VODs, and the content and AI-moments feeds. Public items only. There is no category directory and no channel search route yet; channel search belongs to OpenVibe.Search once Live publishes index documents.</p>

GET /api/home/stats/series/{metric}

Read Live's discovery surfaces (roadmap §30.2 live.discovery.*): the featured rotation, "watch instead" picks, the star of the day, the digest, home numbers, recently online streamers, recent VODs, an

Capabilities
live.discovery.read
Visibility
public
Parameters
  • metric (path, required)
Response
application/json live.discovery-result@1
Errors
errors.problem@1 (application/problem+json)
Description<p><strong>live.discovery.read</strong> (public): Read Live&#39;s discovery surfaces (roadmap §30.2 live.discovery.*): the featured rotation, &quot;watch instead&quot; picks, the star of the day, the digest, home numbers, recently online streamers, recent VODs, and the content and AI-moments feeds. Public items only. There is no category directory and no channel search route yet; channel search belongs to OpenVibe.Search once Live publishes index documents.</p>

GET /api/live-events

Read broadcasts: who is live now with viewer counts, one stream with its endpoint, cameras and controls, recently ended streams with their public VOD, a slot's current session, and the went-live strea

Capabilities
live.stream.read
Visibility
public
Response
application/json live.stream-read-result@1
Errors
errors.problem@1 (application/problem+json)
Description<p><strong>live.stream.read</strong> (public): Read broadcasts: who is live now with viewer counts, one stream with its endpoint, cameras and controls, recently ended streams with their public VOD, a slot&#39;s current session, and the went-live stream (/api/live-events, open CORS). Stream keys and the home ZIP are redacted. Anonymous callers are served; no grant is checked at Live&#39;s boundary (roadmap §30.2, sdk-live).</p>

GET /api/streams

Read broadcasts: who is live now with viewer counts, one stream with its endpoint, cameras and controls, recently ended streams with their public VOD, a slot's current session, and the went-live strea

Capabilities
live.stream.read
Visibility
public
Response
application/json live.stream-read-result@1
Errors
errors.problem@1 (application/problem+json)
Description<p><strong>live.stream.read</strong> (public): Read broadcasts: who is live now with viewer counts, one stream with its endpoint, cameras and controls, recently ended streams with their public VOD, a slot&#39;s current session, and the went-live stream (/api/live-events, open CORS). Stream keys and the home ZIP are redacted. Anonymous callers are served; no grant is checked at Live&#39;s boundary (roadmap §30.2, sdk-live).</p>

GET /api/streams/{id}

Read broadcasts: who is live now with viewer counts, one stream with its endpoint, cameras and controls, recently ended streams with their public VOD, a slot's current session, and the went-live strea

Capabilities
live.stream.read
Visibility
public
Parameters
  • id (path, required)
Response
application/json live.stream-read-result@1
Errors
errors.problem@1 (application/problem+json)
Description<p><strong>live.stream.read</strong> (public): Read broadcasts: who is live now with viewer counts, one stream with its endpoint, cameras and controls, recently ended streams with their public VOD, a slot&#39;s current session, and the went-live stream (/api/live-events, open CORS). Stream keys and the home ZIP are redacted. Anonymous callers are served; no grant is checked at Live&#39;s boundary (roadmap §30.2, sdk-live).</p>

GET /api/streams/channel/{username}

Read a channel's public profile by username (the /@username page's data): metadata, owner display fields, follower count, live streams with playback endpoints, slots, and its public VODs and clips fro

Capabilities
live.channel.read
Visibility
public
Parameters
  • username (path, required)
Response
application/json live.channel-read-result@1
Errors
errors.problem@1 (application/problem+json)
Description<p><strong>live.channel.read</strong> (public): Read a channel&#39;s public profile by username (the /@username page&#39;s data): metadata, owner display fields, follower count, live streams with playback endpoints, slots, and its public VODs and clips from Media. The owner and staff also see private listings; ingest keys are never returned. Anonymous callers are served (optionalAuth); no grant is checked at Live&#39;s boundary, and /api allows only OpenVibe origins for browsers. There is no public lookup by channel id yet (roadmap §30.2, sdk-live).</p>

GET /api/streams/channel/{username}/bio-en

Read a channel's public profile by username (the /@username page's data): metadata, owner display fields, follower count, live streams with playback endpoints, slots, and its public VODs and clips fro

Capabilities
live.channel.read
Visibility
public
Parameters
  • username (path, required)
Response
application/json live.channel-read-result@1
Errors
errors.problem@1 (application/problem+json)
Description<p><strong>live.channel.read</strong> (public): Read a channel&#39;s public profile by username (the /@username page&#39;s data): metadata, owner display fields, follower count, live streams with playback endpoints, slots, and its public VODs and clips from Media. The owner and staff also see private listings; ingest keys are never returned. Anonymous callers are served (optionalAuth); no grant is checked at Live&#39;s boundary, and /api allows only OpenVibe origins for browsers. There is no public lookup by channel id yet (roadmap §30.2, sdk-live).</p>

GET /api/streams/channel/{username}/clips-taken

Read a channel's public profile by username (the /@username page's data): metadata, owner display fields, follower count, live streams with playback endpoints, slots, and its public VODs and clips fro

Capabilities
live.channel.read
Visibility
public
Parameters
  • username (path, required)
Response
application/json live.channel-read-result@1
Errors
errors.problem@1 (application/problem+json)
Description<p><strong>live.channel.read</strong> (public): Read a channel&#39;s public profile by username (the /@username page&#39;s data): metadata, owner display fields, follower count, live streams with playback endpoints, slots, and its public VODs and clips from Media. The owner and staff also see private listings; ingest keys are never returned. Anonymous callers are served (optionalAuth); no grant is checked at Live&#39;s boundary, and /api allows only OpenVibe origins for browsers. There is no public lookup by channel id yet (roadmap §30.2, sdk-live).</p>

GET /api/streams/channel/{username}/live

Read a channel's public profile by username (the /@username page's data): metadata, owner display fields, follower count, live streams with playback endpoints, slots, and its public VODs and clips fro

Capabilities
live.channel.read
Visibility
public
Parameters
  • username (path, required)
Response
application/json live.channel-read-result@1
Errors
errors.problem@1 (application/problem+json)
Description<p><strong>live.channel.read</strong> (public): Read a channel&#39;s public profile by username (the /@username page&#39;s data): metadata, owner display fields, follower count, live streams with playback endpoints, slots, and its public VODs and clips from Media. The owner and staff also see private listings; ingest keys are never returned. Anonymous callers are served (optionalAuth); no grant is checked at Live&#39;s boundary, and /api allows only OpenVibe origins for browsers. There is no public lookup by channel id yet (roadmap §30.2, sdk-live).</p>

GET /api/streams/channel/{username}/resolve/{ref}

Read broadcasts: who is live now with viewer counts, one stream with its endpoint, cameras and controls, recently ended streams with their public VOD, a slot's current session, and the went-live strea

Capabilities
live.stream.read
Visibility
public
Parameters
  • username (path, required)
  • ref (path, required)
Response
application/json live.stream-read-result@1
Errors
errors.problem@1 (application/problem+json)
Description<p><strong>live.stream.read</strong> (public): Read broadcasts: who is live now with viewer counts, one stream with its endpoint, cameras and controls, recently ended streams with their public VOD, a slot&#39;s current session, and the went-live stream (/api/live-events, open CORS). Stream keys and the home ZIP are redacted. Anonymous callers are served; no grant is checked at Live&#39;s boundary (roadmap §30.2, sdk-live).</p>

GET /api/streams/recent

Read broadcasts: who is live now with viewer counts, one stream with its endpoint, cameras and controls, recently ended streams with their public VOD, a slot's current session, and the went-live strea

Capabilities
live.stream.read
Visibility
public
Response
application/json live.stream-read-result@1
Errors
errors.problem@1 (application/problem+json)
Description<p><strong>live.stream.read</strong> (public): Read broadcasts: who is live now with viewer counts, one stream with its endpoint, cameras and controls, recently ended streams with their public VOD, a slot&#39;s current session, and the went-live stream (/api/live-events, open CORS). Stream keys and the home ZIP are redacted. Anonymous callers are served; no grant is checked at Live&#39;s boundary (roadmap §30.2, sdk-live).</p>

GET /api/streams/recent-vods

Read Live's discovery surfaces (roadmap §30.2 live.discovery.*): the featured rotation, "watch instead" picks, the star of the day, the digest, home numbers, recently online streamers, recent VODs, an

Capabilities
live.discovery.read
Visibility
public
Response
application/json live.discovery-result@1
Errors
errors.problem@1 (application/problem+json)
Description<p><strong>live.discovery.read</strong> (public): Read Live&#39;s discovery surfaces (roadmap §30.2 live.discovery.*): the featured rotation, &quot;watch instead&quot; picks, the star of the day, the digest, home numbers, recently online streamers, recent VODs, and the content and AI-moments feeds. Public items only. There is no category directory and no channel search route yet; channel search belongs to OpenVibe.Search once Live publishes index documents.</p>

GET /api/streams/recently-online

Read Live's discovery surfaces (roadmap §30.2 live.discovery.*): the featured rotation, "watch instead" picks, the star of the day, the digest, home numbers, recently online streamers, recent VODs, an

Capabilities
live.discovery.read
Visibility
public
Response
application/json live.discovery-result@1
Errors
errors.problem@1 (application/problem+json)
Description<p><strong>live.discovery.read</strong> (public): Read Live&#39;s discovery surfaces (roadmap §30.2 live.discovery.*): the featured rotation, &quot;watch instead&quot; picks, the star of the day, the digest, home numbers, recently online streamers, recent VODs, and the content and AI-moments feeds. Public items only. There is no category directory and no channel search route yet; channel search belongs to OpenVibe.Search once Live publishes index documents.</p>

GET /internal/followers

Read who follows the channel behind a stream (Network subject or Network user id per follower), for OpenVibe.Network's go-live notifications from live.stream.started.

Capabilities
live.follower.read
Visibility
internal
Response
application/json live.follower-page@1
Errors
errors.problem@1 (application/problem+json)
Description<p><strong>live.follower.read</strong> (internal): Read who follows the channel behind a stream (Network subject or Network user id per follower), for OpenVibe.Network&#39;s go-live notifications from live.stream.started. Loopback only.</p>

GET /internal/lineage/resolve

Resolve the canonical channel and owner behind a slug, nested slug, channel, stream, slot, VOD, clip, Media object, owner subject or legacy id, with the stream/VOD/clip lineage and how it was decided

Capabilities
live.lineage.resolve
Visibility
internal
Parameters
  • slug (query) — Channel slug (Live: the username, as in /@<username>; the @ is optional), or a nested <channel>/<slot> naming a stream slot inside the channel by its slug or id. With parent_slug, a plain slug names the slot inside that parent.
  • parent_slug (query) — The channel slug when slug names a slot inside it ({ parent_slug: 'alice', slug: 'garage' } is 'alice/garage'). Alone, it names the channel.
  • channel_id (query) — The channel's id at its owner (Live: channels.id).
  • stream_id (query) — A broadcast session (Live: streams.id).
  • slot_id (query) — A persistent stream slot (Live: managed_streams.id; OpenRe stream definitions refer to it as live:managed_stream:<id>).
  • vod_id (query) — A VOD (the Media v1 VOD id, the same id Live's VODs had before the Media split).
  • clip_id (query) — A clip (the Media v1 clip id). A clip belongs to the clipped channel, never to the person who clipped it.
  • media_object_id (query) — A Media object: med_<ULID>, or a legacy:<app>:<kind>:<id> reference (the media_id forms of media.media-ref@1).
  • owner_subject (query) — The canonical subject that owns the channel (identity.subject-ref@1 user id).
  • legacy_ids (query) — Pre-subject ids of the channel owner. Resolving through them is confidence legacy_map.
  • display_name (query) — A label the caller holds. Accepted so the answer can say display_name_only; never used to resolve anything, because a display name is not an identity and is never sufficient to establish ownership.
Input
lineage.resolve-request@1
Response
application/json lineage.resolution@1
Errors
errors.problem@1 (application/problem+json)
Description<p><strong>live.lineage.resolve</strong> (internal): Resolve the canonical channel and owner behind a slug, nested slug, channel, stream, slot, VOD, clip, Media object, owner subject or legacy id, with the stream/VOD/clip lineage and how it was decided (roadmap §15.10, D20). A display name alone resolves nothing. Loopback only.</p>

POST /internal/lineage/resolve

Resolve the canonical channel and owner behind a slug, nested slug, channel, stream, slot, VOD, clip, Media object, owner subject or legacy id, with the stream/VOD/clip lineage and how it was decided

Capabilities
live.lineage.resolve
Visibility
internal
Request body
application/json lineage.resolve-request@1
Response
application/json lineage.resolution@1
Errors
errors.problem@1 (application/problem+json)
Description<p><strong>live.lineage.resolve</strong> (internal): Resolve the canonical channel and owner behind a slug, nested slug, channel, stream, slot, VOD, clip, Media object, owner subject or legacy id, with the stream/VOD/clip lineage and how it was decided (roadmap §15.10, D20). A display name alone resolves nothing. Loopback only.</p>

POST /internal/tips/deliveries

OpenVibe.Tips' live-chat adapter: announce a settled tip in the creator's Live chat (donation line, paid message, TTS, media request at no charge).

Capabilities
live.tips_delivery.write
Visibility
internal
Request body
application/json live.tips-delivery-request@1
Response
application/json live.tips-delivery-result@1
Errors
errors.problem@1 (application/problem+json)
Description<p><strong>live.tips_delivery.write</strong> (internal): OpenVibe.Tips&#39; live-chat adapter: announce a settled tip in the creator&#39;s Live chat (donation line, paid message, TTS, media request at no charge). Owned by Live (docs/live-patch.diff adds the route); proposed here for Live&#39;s manifest.</p>