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.
Authorizations
OAuth 2.1 authorization-code flow with PKCE.
Headers
Optional client-generated key. A repeated request with the same key replays the original response (within 24h) instead of re-executing — safe retries.
Path Parameters
Resource identifier.
Body
UpdateStreamInput is used for update Stream object. Input was generated by ent.
Feature flag: run stream in agent mode (/agent) with replica-based orchestration.
f_24, f_25, f_30, f_60 q_720p, q_1080p, q_1440p, q_2160p Stream preference: enable backup destination streaming in agent mode.
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.
ffmpeg, manifest youtube Stream duration in seconds. 0 = never expires. Copied from user default on creation.
DEPRECATED: use destination_id. Kept for backward-compat during destination migration.
Response
Successful response.
f_24, f_25, f_30, f_60 q_720p, q_1080p, q_1440p, q_2160p draft, invalid, scheduled, preparing, activating, active, failing, failed, stopping, stopped