System
System endpoints cover device health, log retrieval, firmware upgrade, reboot, factory reset, and utility functions such as playlists, SNMP MIB, and configuration backup.
GET /system/alive
Returns basic liveness information. This endpoint does not require authentication and is suitable for use as a health check probe.
Authentication: Not required.
Response:
{
"alive": true,
"system_uptime": 86412,
"xcast_uptime": 86400
}
| Field | Description |
|---|---|
alive |
true when the device is operational |
system_uptime |
Seconds since the OS booted |
xcast_uptime |
Seconds since the streaming service started |
GET /status
Returns comprehensive device status — hardware identity, component versions, resource usage, and current state.
Roles: user, admin
Response:
{
"hostname": "multituner-01",
"health": "ok",
"tuners": 8,
"system_uptime": 86412,
"xcast_uptime": 86400,
"reboot_needed": false,
"monitor_tuner": 0,
"versions": {
"producer": "Stream Labs",
"model_name": "MultiTuner MT-08",
"part_number": "SL-MT08-001",
"serial_number": "SL2025030001",
"package_ver": "1.8.0",
"altera_ver": "2.1.0",
"xcast_ver": "1.1.7",
"kernel_ver": "5.15.92"
},
"resources": {
"load_average_1min": 0.12,
"load_average_5min": 0.09,
"load_average_15min": 0.08,
"memory_total": 512000,
"memory_free": 348000,
"memory_shared": 4096,
"memory_buffer": 16384,
"cpu_load": 4.2
}
}
| Field | Description |
|---|---|
health |
Overall system health indicator |
tuners |
Number of installed tuner channels |
reboot_needed |
true when a pending configuration change requires reboot |
monitor_tuner |
Index of the tuner currently routed to the monitor output |
versions |
Hardware identity and software component versions |
resources |
CPU and memory usage |
GET /system/log
Returns system log entries in chronological order. With no parameters, returns the last 100 entries.
Roles: user, admin
Query parameters:
| Parameter | Type | Description |
|---|---|---|
from_id |
integer | Return entries with ID ≥ this value |
till_id |
integer | Return entries with ID < this value |
limit |
integer | Maximum number of entries to return |
Response: Array of log entry objects.
[
{
"id": 4821,
"ts": "2025-03-14T11:58:02Z",
"pid": "xcastd",
"level": "warning",
"msg": "tuner 3: SNR below threshold (12 dB)"
}
]
| Field | Description |
|---|---|
id |
Sequential log entry ID |
ts |
Timestamp of the log entry |
pid |
Process or component that generated the entry |
level |
Severity: trace, debug, info, warning, error, critical |
msg |
Log message text |
POST /system/reboot
Reboots the device immediately. The device will be unreachable for approximately 60 seconds during restart.
Roles: admin
No request body required.
Warning
The reboot happens immediately upon receiving the request. Ensure all configuration changes have been saved before calling this endpoint.
POST /system/factory_reset
Resets all configuration to factory defaults and immediately reboots the device. All channel settings, thresholds, schedules, network configuration, and passwords will be wiped.
Roles: admin
No request body required.
Danger
This is irreversible. All device configuration will be lost. The device will reboot with IP address 192.168.112.1 and credentials admin / admin.
POST /system/upgrade
Uploads a firmware upgrade package and starts the installation immediately. The package must be a valid .swu bundle signed with the MultiTuner key.
Roles: admin
Request: multipart/form-data
| Field | Type | Description |
|---|---|---|
file |
binary | Signed .swu firmware bundle |
The new software is installed immediately after the upload completes. The device must be rebooted to load the upgraded firmware. The reboot_needed flag in /status will be set after a successful upgrade.
Note
Only firmware packages signed by Stream Labs are accepted. Unsigned or tampered packages will be rejected.
GET /playlist
Returns an XSPF playlist containing stream URLs for all active channels. The playlist can be opened in any XSPF-compatible media player (VLC, Winamp, foobar2000) to access all active streams at once.
Roles: user, admin
Response: application/xspf+xml
GET /mib
Downloads the SNMP MIB file for MultiTuner. Load this file into your SNMP manager to enable monitoring via SNMP.
Roles: user, admin
Response: application/octet-stream — MIB file
GET /valid_bitrates
Returns the list of audio bitrates supported by the streaming codec. Use these values in the bitrate field of stream configuration requests.
Roles: user, admin
Response:
{
"bitrates": [64, 96, 128, 192, 256, 320]
}
GET /conf
Downloads the full device configuration as a JSON file. Use this for backup before firmware upgrades or major configuration changes.
Roles: user, admin
Response: application/json — complete configuration object
POST /conf
Uploads and applies a previously exported configuration file.
Roles: admin
Request body: JSON configuration object previously obtained from GET /conf.
Warning
Uploading a configuration file overwrites all current settings. Network settings in the uploaded file will also be applied, which may change the device's IP address. Ensure the uploaded configuration is intended for this device before proceeding.