Skip to main content

Atomically reconcile RTMP push destinations across multiple streams

POST 

/program/api/v2/streams/rtmp-push-bulk

warning

This endpoint is available in private cloud only. Use your global host URL if self-hosted.

Reconcile destinations for multiple streams in a single transaction. The request body lists one entry per target stream with that stream's complete desired destination set. The server applies all per-stream reconciles and the cross-stream sibling-collision check ((type, key) uniqueness within a source/derivation family) against the final state of the request. Either all per-stream reconciles commit or none do.

The intended use is the source-vs-overlay flip-flop: clear the previous streamId and set the new one in a single call, with no ordering hazard between two separate PATCHes.

Validations applied per stream entry:

  • Maximum 10 destinations per stream
  • type must be yt
  • key must be non-empty and ≤256 characters
  • Stream must belong to the token's project

The response mirrors the request shape, returning the post-reconcile destination set for each stream.

Idempotent. Replaying the same request body produces the same state.

Generate JWT

Request

Responses

All destinations reconciled

Bad request - validation error on one or more entries (unknown type, empty key, cap exceeded, duplicate streamID in request, empty streams array, etc.)

Forbidden - one of the streams belongs to a different project

One of the streams not found

Conflict - the proposed final state would leave the same (type, key) enabled on multiple streams within a source/ derivation family. Error payload names the conflicting streamIds.

Internal Server Error