Overview
The Broadcasts API allows you to create and manage live streams, IP cameras, stream sources, and playlists. All endpoints are prefixed with/v2/broadcasts.
Create Broadcast
Create a new broadcast, IP camera, or stream source.POST /v2/broadcasts/create
Custom stream ID. If empty, auto-generated. Must be unique and valid.
Display name for the broadcast
Description of the broadcast
Broadcast type:
liveStream- Regular live stream (RTMP/WebRTC ingested)ipCamera- IP Camera stream (pulled by server)streamSource- Stream source (pulled by server)VoD- Video on Demandplaylist- Playlist
IP address (for IP cameras)
Stream URL (for stream sources)
Username for IP camera authentication
Password for IP camera authentication
Subfolder for storing recordings
Automatically start pulling stream (only for IP cameras and stream sources)
ID of the created broadcast
RTMP URL for publishing
Broadcast status:
created, broadcasting, finishedType of broadcast
Broadcast name
Get Broadcast
Retrieve a broadcast object by ID.GET /v2/broadcasts/{id}
Broadcast ID
Update Broadcast
Update broadcast properties.PUT /v2/broadcasts/{id}
Broadcast ID to update
New broadcast name
New description
New stream URL (for stream sources)
New IP address (for IP cameras)
New username
New password
Whether update was successful
Delete Broadcast
Delete a broadcast and stop if it’s currently broadcasting.DELETE /v2/broadcasts/{id}
Broadcast ID to delete
Also delete subtracks (conference participants)
true if deleted successfullyDelete Multiple Broadcasts
Delete multiple broadcasts in bulk.DELETE
Comma-separated stream IDs to delete
List Broadcasts
Get paginated list of broadcasts with optional filtering and sorting.GET /v2/broadcasts/list/{offset}/{size}
Pagination offset (starting point)
Number of items to fetch (max: 50)
Filter by type:
liveStream, ipCamera, streamSource, VoDSort field:
name, date, statusSort order:
asc or descSearch string to filter results
Get Broadcast Count
Get total number of broadcasts.GET /v2/broadcasts/count
Total number of broadcasts
Get Active Live Stream Count
Get count of currently active live streams.GET /v2/broadcasts/active-live-stream-count
Number of active live streams
Stream Control
Start Stream Source
Start pulling a stream source, IP camera, or playlist.POST /v2/broadcasts/{id}/start
Broadcast ID to start
Stop Streaming
Stop an active broadcast.POST /v2/broadcasts/{id}/stop
Broadcast ID to stop
Also stop subtracks (conference participants)
Recording Control
Enable/Disable Recording
Control recording for a specific stream.PUT /v2/broadcasts/{id}/recording/{recording-status}
Stream ID
true to start recording, false to stopRecord format:
mp4 or webmResolution height to record (for adaptive streaming)
Custom base filename (without extension)
RTMP/SRT Endpoints
Add Endpoint
Add an RTMP or SRT re-streaming endpoint.POST /v2/broadcasts/{id}/endpoint
Broadcast ID
RTMP or SRT URL for re-streaming
Specific resolution to send to endpoint
Whether endpoint was added
Generated endpoint service ID
Remove Endpoint
Remove an RTMP or SRT endpoint.DELETE /v2/broadcasts/{id}/endpoint
Broadcast ID
Endpoint service ID to remove
Resolution height if endpoint was added with specific resolution
Statistics
Get Broadcast Statistics
Get viewer statistics for a specific stream.GET /v2/broadcasts/{id}/broadcast-statistics
Stream ID
Number of RTMP viewers
Number of HLS viewers
Number of WebRTC viewers
Number of DASH viewers
Get Total Statistics
Get total viewer statistics across all streams.GET /v2/broadcasts/total-broadcast-statistics
Total HLS viewers
Total WebRTC viewers
Total DASH viewers
Number of active broadcasts
Stream Information
Get Stream Info
Get technical stream information (resolution, bitrates, codec).GET /v2/broadcasts/{id}/stream-info
Stream ID
videoHeight- Video resolution heightvideoWidth- Video resolution widthvideoBitrate- Video bitrateaudioBitrate- Audio bitratevideoCodec- Video codec name
Get Stream Duration
Get duration of a stream URL in milliseconds.GET /v2/broadcasts/duration
URL of the stream to check duration
Whether duration was retrieved
Duration in milliseconds (as string)
Error code if failed:
-1: Duration not available-2: URL cannot be opened-3: Cannot get stream info
Playlist Operations
Play Next Item
Skip to next or specific item in a playlist.POST /v2/broadcasts/playlists/{id}/next
Playlist ID
Index of item to play.
-1 or omit to play next item. First item is index 0.Seek Time
Seek to specific time in a playing stream source, VoD, or playlist.PUT /v2/broadcasts/{id}/seek-time/{seekTimeMs}
Broadcast ID
Seek position in milliseconds
IP Camera Operations
Search ONVIF Devices
Discover ONVIF IP cameras on the local network.GET /v2/broadcasts/onvif-devices
Get Camera Profiles
Get available profiles for an ONVIF IP camera.GET /v2/broadcasts/{id}/ip-camera/device-profiles
IP Camera broadcast ID
Move IP Camera
Control PTZ (Pan-Tilt-Zoom) movements.POST /v2/broadcasts/{id}/ip-camera/move
IP Camera ID
Movement in X direction (-1.0 to 1.0)
Movement in Y direction (-1.0 to 1.0)
Zoom value:
- Absolute: 0.0 to 1.0
- Relative/Continuous: -1.0 to 1.0
Movement type:
relative, absolute, or continuousStop Camera Movement
Stop ongoing PTZ movement.POST /v2/broadcasts/{id}/ip-camera/stop-move
IP Camera ID
Get Camera Error
Check for errors after IP camera connection failure.GET /v2/broadcasts/{streamId}/ip-camera-error
IP Camera stream ID
Whether error info was retrieved
Error message if any
