v2

latestOpenAPI 3.1.02026-08-013435189.7 KB
streams

Update a stream

Update a stream. When retryMirror: true, the resolver also writes a fresh MirrorIntent for the latest desired state of this stream's YouTube schedule mirror — used to recover after reauth / quota reset / channel freeing. retryMirror is a sibling argument rather than a field on UpdateStreamInput because that input type is generated by ent and cannot carry non-column fields. Has no effect when the stream has no existing MirrorIntent (INVALID_ARG is returned in that case).

When input.status is set, the resolver translates the legacy enum value to the equivalent lifecycle command and routes it through streamlifecycle.Transition() instead of writing the column directly. input.status is deprecated; frontends should call the command mutations directly.

Resources are permanently bound to the workspace that created them and cannot be moved between workspaces.

patch/streams/{id}

Path parameters

idstring required

Resource identifier.

Headers

Idempotency-Keystring

Optional client-generated key. A repeated request with the same key replays the original response (within 24h) instead of re-executing — safe retries.

Request body

addPlaylistIDsstring[]
addPreparedPlaylistIDsstring[]
agentModeEnabledboolean nullable

Feature flag: run stream in agent mode (/agent) with replica-based orchestration.

audioUploadObjectIDstring nullable
clearAudioUploadObjectboolean nullable
clearDestinationboolean nullable
clearFramerateboolean nullable
clearNameboolean nullable
clearPlaylistsboolean nullable
clearPreparedPlaylistsboolean nullable
clearQualityboolean nullable
clearScheduleEndAtboolean nullable
clearScheduleStartAtboolean nullable
clearStreamBackendboolean nullable
clearStreamDurationboolean nullable
clearStreamKeyboolean nullable
clearStreamStateboolean nullable
clearVideoUploadObjectboolean nullable
clearYoutubeSettingsboolean nullable
destinationIDstring nullable
framerate'f_24' | 'f_25' | 'f_30' | 'f_60' nullable
namestring nullable
quality'q_720p' | 'q_1080p' | 'q_1440p' | 'q_2160p' nullable
removePlaylistIDsstring[]
removePreparedPlaylistIDsstring[]
runBackupStreamboolean nullable

Stream preference: enable backup destination streaming in agent mode.

scheduleEndAtstring date-time nullable
scheduleStartAtstring date-time nullable
streamBackend'ffmpeg' | 'manifest' nullable

RTMP publisher backend. 'manifest' runs manifest-streamer in-process; 'ffmpeg' or empty uses the legacy subprocess. Editing is gated by the native_backend_streamer PostHog feature flag in the update resolver — the column is nullable so admin tooling can clear it.

streamDestination'youtube' nullable
streamDurationinteger nullable

Stream duration in seconds. 0 = never expires. Copied from user default on creation.

streamKeystring nullable

DEPRECATED: use destination_id. Kept for backward-compat during destination migration.

streamStateIDstring nullable
videoUploadObjectIDstring nullable
youtubeSettingsIDstring nullable

Response

Successful response.

createdAtstring date-time required
framerate'f_24' | 'f_25' | 'f_30' | 'f_60' nullable
idstring required
namestring nullable
quality'q_720p' | 'q_1080p' | 'q_1440p' | 'q_2160p' nullable
state'draft' | 'invalid' | 'scheduled' | 'preparing' | 'activating' | 'active' | 'failing' | 'failed' | 'stopping' | 'stopped' nullable