Atomically reconcile RTMP push destinations across multiple streams
POST/program/api/v2/streams/rtmp-push-bulk
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
typemust beytkeymust 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 JWTRequest
Responses
- 200
- 400
- 403
- 404
- 409
- 500
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