API Reference: Firmware 2.25
The REST API as units on firmware 2.25 answer it: one encoder (encoder 0), streams 0 to 4, and one decoder. All endpoints require Bearer token authentication unless otherwise noted. Units on 2.26 or later support more pipelines and add endpoints; see Firmware 2.26.
System
Device information, firmware management, and system control.
Device Info
/api/v1/system/infoGet device info (model, serial, firmware)
Response
{
"settings": {
"Device Model": "Prism-855",
"Serial": "1285500073",
"Firmware Version": "2.25.20260217"
},
"timestamp": 1771463349,
"message": "Statuses received",
"status": "ok"
}Firmware
/api/v1/system/firmware/checkCheck for firmware updates
Response
{
"settings": {
"Latest Firmware": "2.24.20260106"
},
"timestamp": 1771463367,
"message": "Device is up to date",
"status": "ok"
}/api/v1/system/firmware/settingsGet firmware settings. Filter with ?settings=key1,key2
Response
{
"timestamp": 1771463350,
"settings": {
"auto_check": true
},
"status": "ok"
}/api/v1/system/firmware/settings?command=descriptionDescribe firmware settings (types, defaults, allowed values)
Response
{
"timestamp": 1771463350,
"settings": {
"auto_check": {
"type": "boolean",
"description": "Automatically check for firmware updates",
"default": true
}
},
"status": "ok"
}/api/v1/system/firmware/settingsUpdate firmware settings
Request Body
{
"settings": {
"auto_check": false
}
}/api/v1/system/firmware/upgradeStart firmware upgrade
Encoders
Video and audio encoding settings, metadata, recording, and snapshot capture.
Encoder Info
/api/v1/encoders/0/infoGet encoder info
Response
{
"message": "Statuses retrieved",
"timestamp": 1771463351,
"settings": {
"Format": "3840x2160p59",
"Status": "OK",
"Generator": "Off",
"enc-output-resolution": "3840x2160p59",
"Bitrate": 20113797,
"Target Bitrate": 20000000
},
"status": "ok"
}Video Settings
/api/v1/encoders/0/video/settingsGet video settings. Filter with ?settings=key1,key2
Response
{
"message": "Settings retrieved successfully",
"timestamp": 1771463352,
"settings": {
"codec": "h264",
"profile_h264": "AVC_HIGH",
"profile_hevc": "HEVC_MAIN",
"resolution_common": 2160,
"framerate_common": 59.94,
"bitrate_list": 20000,
"control-rate": "CBR",
"gop_length": 30,
"kfi_seconds": 2,
"num_slices": 8,
"bit_depth": 8,
"level": 5.1,
"tier": "MAIN_TIER",
"entropy-mode": "MODE_CABAC",
"interlacer": "progressive",
"...": "additional fields omitted"
},
"status": "ok"
}/api/v1/encoders/0/video/settings?command=descriptionDescribe video settings (types, defaults, allowed values)
Response
{
"message": "Settings retrieved successfully",
"timestamp": 1771463352,
"settings": {
"codec": {
"type": "string",
"default": "h264",
"enum": ["h264", "hevc"]
},
"bitrate_list": {
"type": "integer",
"default": 20000,
"minimum": 100,
"maximum": 80000
},
"...": "additional fields omitted"
},
"status": "ok"
}/api/v1/encoders/0/video/settingsUpdate video settings
Request Body
{
"settings": {
"codec": "hevc",
"bitrate_list": 15000,
"gop_length": 60
}
}Audio Settings
/api/v1/encoders/0/audio/settingsGet audio settings
Response
{
"message": "Settings retrieved successfully",
"timestamp": 1771463353,
"settings": {
"delay": 0,
"bitrate_list": 128000,
"samplerate": "auto",
"default-channel-map": "smpte",
"channel_mode": "Stereo",
"samplerate_list": 48000,
"enable": true,
"codec": "aac"
},
"status": "ok"
}/api/v1/encoders/0/audio/settingsUpdate audio settings
Request Body
{
"settings": {
"bitrate_list": 256000,
"channel_mode": "Stereo",
"codec": "aac"
}
}Metadata
/api/v1/encoders/0/metadata/settingsGet metadata settings
Response
{
"message": "Settings retrieved successfully",
"timestamp": 1771463356,
"settings": {
"break_duration": 30000,
"program_id": 0,
"avail_expect": 0,
"timecode": "sdi-hdmi-timecode",
"pre_roll": 8000,
"network_event": "out-of-network",
"avail_num": 0,
"dpi": false,
"closed-captions": false,
"event_id": "0",
"splice_type": "normal"
},
"status": "ok"
}/api/v1/encoders/0/metadata/settingsUpdate metadata settings
Request Body
{
"settings": {
"closed-captions": true,
"timecode": "sdi-hdmi-timecode",
"dpi": false
}
}/api/v1/encoders/0/metadata/scteInsert SCTE marker
Recording
/api/v1/encoders/0/record/settingsGet recording settings
Response
{
"message": "Settings retrieved successfully",
"timestamp": 1771463355,
"settings": {
"name": "$PN_$DATE_$TIME_$CAM",
"format": "mp4",
"max-files": 144,
"max-size-time": 10,
"bonded_uploads": true,
"cyclic": false,
"file-loop-index": 1,
"camera_type": "canon",
"auto_record": "off",
"drive_id": "sd2",
"fragmented": false,
"timecode": true,
"sidecar": false
},
"status": "ok"
}/api/v1/encoders/0/record/settingsUpdate recording settings
Request Body
{
"settings": {
"format": "mp4",
"max-size-time": 15,
"auto_record": "off",
"cyclic": false
}
}/api/v1/encoders/0/record/infoGet recording status
Response
{
"message": "Statuses retrieved",
"timestamp": 1771463354,
"settings": {
"Size": "13.8G",
"Uptime": "00:00:00",
"State Details": "Recording is Disabled",
"Format": "ext4",
"Available": "12.7G",
"Percent Used": "3%",
"State": "Disabled",
"Used": "381.3M"
},
"status": "ok"
}/api/v1/encoders/0/record/startStart recording
/api/v1/encoders/0/record/stopStop recording
Snapshot
/api/v1/encoders/0/snapshotGet JPEG snapshot
Decoders
Video ingest settings, audio output, metadata, recording, and snapshot capture.
Decoder Info
/api/v1/decoders/0/infoGet decoder info (format, status)
Response
{
"message": "Statuses retrieved",
"timestamp": 1771463351,
"settings": {
"Format": "1920x1080p59",
"Status": "OK"
},
"status": "ok"
}Video Settings
/api/v1/decoders/0/video/modeGet the current video ingest mode
Response
{
"message": "Settings retrieved successfully",
"timestamp": 1771463352,
"settings": {
"mode": "SRT"
},
"status": "ok"
}/api/v1/decoders/0/video/modeSet the video ingest mode
/api/v1/decoders/0/video/settingsGet video settings. Filter with ?settings=key1,key2
Response
{
"message": "Settings retrieved successfully",
"timestamp": 1771463352,
"settings": {
"...": "mode-specific fields"
},
"status": "ok"
}/api/v1/decoders/0/video/settings?command=descriptionDescribe video settings (types, defaults, allowed values)
Response
{
"message": "Settings retrieved successfully",
"timestamp": 1771463352,
"settings": {
"...": "mode-specific setting descriptors"
},
"status": "ok"
}/api/v1/decoders/0/video/settingsUpdate video settings
Audio Settings
/api/v1/decoders/0/audio/settingsGet audio output settings
Response
{
"message": "Settings retrieved successfully",
"timestamp": 1771463353,
"settings": {
"...": "audio output fields"
},
"status": "ok"
}/api/v1/decoders/0/audio/settings?command=descriptionDescribe audio output settings (types, defaults, allowed values)
/api/v1/decoders/0/audio/settingsUpdate audio output settings
/api/v1/decoders/0/audio/{0-15}Get per-channel audio settings
Response
{
"message": "Settings retrieved successfully",
"timestamp": 1771463353,
"settings": {
"...": "channel-specific fields"
},
"status": "ok"
}/api/v1/decoders/0/audio/{0-15}?command=descriptionDescribe per-channel audio settings
/api/v1/decoders/0/audio/{0-15}Update per-channel audio settings
Metadata
/api/v1/decoders/0/metadata/settingsGet metadata settings
Response
{
"message": "Settings retrieved successfully",
"timestamp": 1771463356,
"settings": {
"...": "metadata fields"
},
"status": "ok"
}/api/v1/decoders/0/metadata/settings?command=descriptionDescribe metadata settings (types, defaults, allowed values)
/api/v1/decoders/0/metadata/settingsUpdate metadata settings
Recording
/api/v1/decoders/0/record/settingsGet recording settings
Response
{
"message": "Settings retrieved successfully",
"timestamp": 1771463355,
"settings": {
"name": "$PN_$DATE_$TIME",
"format": "mp4"
},
"status": "ok"
}/api/v1/decoders/0/record/settings?command=descriptionDescribe recording settings (types, defaults, allowed values)
/api/v1/decoders/0/record/settingsUpdate recording settings
/api/v1/decoders/0/record/infoGet recording status
Response
{
"message": "Statuses retrieved",
"timestamp": 1771463354,
"settings": {
"Size": "13.8G",
"State": "Disabled"
},
"status": "ok"
}/api/v1/decoders/0/record/startStart recording
/api/v1/decoders/0/record/stopStop recording
Snapshot
/api/v1/decoders/0/snapshotGet JPEG snapshot
Streams
Stream configuration, control, and status. Stream index ranges from 0 to 4.
Configuration
/api/v1/streams/{0-4}Get stream config
Response
{
"status": "ok",
"endpoints": [
"complete", "endpreview", "info", "preview",
"settings", "start", "start_all", "stop", "stop_all"
],
"timestamp": 1771463360,
"settings": {
"mode-h264": "TS",
"name": "",
"mode-hevc": "Disabled"
},
"message": "Settings retrieved successfully"
}/api/v1/streams/{0-4}Update stream config
Request Body
{
"settings": {
"mode-h264": "TS",
"mode-hevc": "Disabled",
"name": "Main Output"
}
}/api/v1/streams/{0-4}/settingsGet stream settings. Filter with ?settings=key1,key2
Response
{
"message": "Settings retrieved successfully",
"timestamp": 1771463361,
"settings": {
"protocol": "udp",
"udp_host": "172.24.100.249",
"udp_port": 9720,
"udp_rtp": true,
"cbr": false,
"abr": true,
"multicast_host": "",
"multicast_port": 9730,
"server_port": 5000,
"tcp_host": "",
"tcp_port": 9710,
"interface_name": "any",
"...": "additional fields omitted"
},
"status": "ok"
}/api/v1/streams/{0-4}/settings?command=descriptionDescribe stream settings (types, defaults, allowed values)
Response
{
"message": "Settings retrieved successfully",
"timestamp": 1771463361,
"settings": {
"protocol": {
"type": "string",
"default": "udp",
"enum": ["udp", "tcp", "rtmp", "srt", "rist"]
},
"udp_port": {
"type": "integer",
"default": 9720,
"minimum": 1,
"maximum": 65535
},
"...": "additional fields omitted"
},
"status": "ok"
}/api/v1/streams/{0-4}/settingsUpdate stream settings
Request Body
{
"settings": {
"protocol": "srt",
"udp_host": "172.24.100.249",
"udp_port": 9720
}
}Status
/api/v1/streams/{0-4}/infoGet stream status
Response
{
"message": "Statuses retrieved",
"timestamp": 1771463362,
"settings": {
"Protocol": "UDP",
"thisSideStats": {
"Total Network Bytes": 5540878528,
"Run-time": "0 00:36:40",
"Peers": ["172.24.100.249:9720"]
},
"Source Port": 0,
"State": "Running",
"Port": 9720,
"Address": "172.24.100.249",
"State Details": "",
"Stream": "udp://172.24.100.249:9720"
},
"status": "ok"
}Control
/api/v1/streams/{0-4}/startStart stream
/api/v1/streams/{0-4}/stopStop stream
/api/v1/streams/{0-4}/start_allStart all streams
/api/v1/streams/{0-4}/stop_allStop all streams
/api/v1/streams/{0-4}/previewStart preview
/api/v1/streams/{0-4}/endpreviewEnd preview
/api/v1/streams/{0-4}/completeMark stream complete
Network
Wired, WiFi, and modem network configuration.
Wired
/api/v1/network/wired/{0-1}Get wired network config
Response
{
"settings": {
"Custom Labels": { "intf_name": "Wired 1" },
"Detail": "Unable to detect ethernet cable",
"MAC Address": "FC:C2:3D:2F:D1:47",
"Status": "No Cable"
},
"timestamp": 1771463363,
"message": "Statuses received",
"status": "ok"
}WiFi
/api/v1/network/wifiGet WiFi settings. Filter with ?settings=key1,key2
Response
{
"settings": {
"Custom Labels": { "intf_name": "Wi-Fi" },
"Status": "Established Access Point",
"Network": "Prism-855-00073",
"Subnet Mask": "255.255.255.0",
"MAC Address": "64:BC:58:9E:E8:BE",
"IP Address": "172.16.1.1"
},
"timestamp": 1771463364,
"message": "Statuses received",
"status": "ok"
}/api/v1/network/wifi?command=descriptionDescribe WiFi settings (types, defaults, allowed values)
/api/v1/network/wifiUpdate WiFi settings
Request Body
{
"settings": {
"Network": "MyNetwork",
"IP Address": "192.168.1.100"
}
}Modem
/api/v1/network/modem/{0-7}Get modem status
Response
{
"settings": {
"Modem Type": "multislot",
"IMSI": "31188204002110",
"RSSI": -200,
"Modem Report": "EMM attach failed",
"IMEI": "863547050070800",
"Version": "EM120RGLAUR02A07M4G_01.202.01.202",
"Custom Labels": {
"slot": { "2": "Slot 2", "1": "Slot 1" },
"intf_name": "Modem 1"
},
"Status": "No Carrier",
"Model": "Node II-CBRS",
"ICCID": "8901882047100211064F",
"Detail": "Unable to detect carrier"
},
"timestamp": 1771463365,
"message": "Statuses received",
"status": "ok"
}Settings Sync
Import and push device settings across multiple Teradek devices.
Import
/api/v1/settings/sync/importImport settings from remote device
Request Body
{
"type": "encoder",
"settings": {
"host": "192.168.1.50",
"password": "admin"
}
}Push
/api/v1/settings/sync/pushPush settings to target devices (max 10)
Request Body
{
"targets": [
{ "host": "192.168.1.51", "password": "admin" },
{ "host": "192.168.1.52", "password": "admin" }
]
}