Skip to content

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-streamMIB 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.