Data
Get data from data modules.
Authentication
Section titled “Authentication”This endpoint requires authentication via the X-API-Token header or the token header.
Request
Section titled “Request”GET /api/data/{module}X-API-Token: {token}GET /api/data/{module}token: {token}{module} is one of: battery, cpu, disks, discord, displays, gpus, media, memory, networks, processes, sensors, system.
Response
Section titled “Response”The response is the raw data for the requested module. The shape depends on the module. Most modules return a JSON object; displays, gpus, and processes return a JSON array of objects.
The same payloads are pushed over the WebSocket API as DATA_UPDATE messages.
battery
Section titled “battery”| Field | Type | Description |
|---|---|---|
is_charging |
boolean | Whether the battery is charging. |
percentage |
number | Charge level, 0-100. |
time_remaining |
number | Estimated time remaining, in seconds. |
All fields are null when no battery is present.
| Field | Type | Description |
|---|---|---|
count |
number | Number of logical cores. |
frequency |
object | Current, min, and max frequency in MHz (current, min, max). |
load_average |
number | System load average. Unix only; null on Windows. |
per_cpu |
array | Per-core entries with id, frequency, power, times, times_percent, usage, and voltage. |
power |
number | Package power draw, in watts. |
stats |
object | Counters: ctx_switches, interrupts, soft_interrupts, syscalls. |
temperature |
number | CPU temperature, in degrees Celsius. |
times |
object | Cumulative CPU time in seconds (user, system, idle, interrupt, dpc). dpc is Windows only. |
times_percent |
object | The same breakdown as percentages. |
usage |
number | Overall CPU usage percentage. |
voltage |
number | Core voltage. |
| Field | Type | Description |
|---|---|---|
devices |
array | Disks, each with name, partitions, and io_counters. |
io_counters |
object | Aggregate I/O: read_count, write_count, read_bytes, write_bytes, read_time, write_time. |
Each partition has device, mount_point, filesystem_type, options, category (primary, bind, or squashfs), and usage (total, used, free, percent).
discord
Section titled “discord”The state of the local Discord app. This module only exists once Discord is set up, and appears without a restart.
| Field | Type | Description |
|---|---|---|
connected |
boolean | Whether System Bridge is connected to the Discord app. |
authenticated |
boolean | Whether Discord accepted the authorization. |
user |
object | The Discord account: id, username, global_name (display name), and avatar_url. |
call |
object | The voice channel you’re in, or null when you’re not in one. See below. |
mute |
boolean | Whether you are muted. |
deaf |
boolean | Whether you are deafened. |
input |
object | The microphone setup. See below. |
output |
object | The output setup. See below. |
mode |
object | type (VOICE_ACTIVITY or PUSH_TO_TALK), auto_threshold (whether Discord sets the voice activity sensitivity), threshold (voice activity sensitivity in dB, -100 to 0), and delay (push to talk release delay in milliseconds). |
processing |
object | Whether noise_suppression, echo_cancellation, and automatic_gain_control are on. |
qos |
boolean | Whether Discord’s quality of service for voice packets is on. |
silence_warning |
boolean | Whether Discord warns you when your microphone picks up nothing. |
call has:
| Field | Type | Description |
|---|---|---|
channel |
object | The voice channel: id, name, type (GUILD_VOICE, GUILD_STAGE_VOICE, DM or GROUP_DM), bitrate in bits per second, and user_limit (0 for no limit). |
server |
object | The server’s id, name and icon_url, also known as a guild in Discord’s API. null for direct message calls. |
connection |
object | Your voice connection: state (such as VOICE_CONNECTED, CONNECTING or NO_ROUTE), and last_ping and average_ping in milliseconds. null until Discord reports it. |
me |
object | Your state in the call: nick (your name in the call), server_mute and server_deaf (whether a moderator has muted or deafened you), suppress (whether you can’t talk, such as in an AFK channel or as a Stage listener), and speaking. |
input and output each have:
| Field | Type | Description |
|---|---|---|
volume |
number | The volume as Discord’s slider shows it: 0-100 for input, 0-200 for output. |
device_id |
string | The selected device. default follows the system default. |
devices |
array | Devices Discord can use, each with id and name. |
Every field other than connected and authenticated is null until System Bridge is authenticated. Changes are pushed when they happen in Discord.
displays
Section titled “displays”Returns an array of objects, one per display.
| Field | Type | Description |
|---|---|---|
id |
string | Display identifier. |
name |
string | Display name. |
resolution_horizontal |
number | Horizontal resolution in pixels. |
resolution_vertical |
number | Vertical resolution in pixels. |
x |
number | X position in the virtual desktop. |
y |
number | Y position in the virtual desktop. |
width |
number | Physical width in millimetres. Linux only. |
height |
number | Physical height in millimetres. Linux only. |
is_primary |
boolean | Whether this is the primary display. |
pixel_clock |
number | Pixel clock. |
refresh_rate |
number | Refresh rate in Hz. |
Returns an array of objects, one per GPU. Full metrics require an NVIDIA GPU; other GPUs report a subset (typically id, name, and memory).
| Field | Type | Description |
|---|---|---|
id |
string | GPU identifier. |
name |
string | GPU name. |
core_clock |
number | Core clock in MHz. |
core_load |
number | Core load percentage. |
memory_clock |
number | Memory clock in MHz. |
memory_load |
number | Memory load percentage. |
memory_free |
number | Free memory. |
memory_used |
number | Used memory. |
memory_total |
number | Total memory. |
power_usage |
number | Power draw in watts. |
temperature |
number | Temperature in degrees Celsius. |
fan_speed |
number | Fan speed. Not currently reported (null). |
Details of the current media session: title, artist, album_title, album_artist, subtitle, type, and status; playback state position, duration, playback_rate, volume, shuffle, repeat, and track_number; capability flags is_play_enabled, is_pause_enabled, is_stop_enabled, is_next_enabled, is_previous_enabled, is_fast_forward_enabled, and is_rewind_enabled; a thumbnail; and updated_at. Available fields vary by operating system and media player.
memory
Section titled “memory”| Field | Type | Description |
|---|---|---|
virtual |
object | Physical memory: total, available, percent, used, free, active, inactive, buffers, cached, wired, shared. |
swap |
object | Swap: total, used, free, percent, sin, sout. |
networks
Section titled “networks”| Field | Type | Description |
|---|---|---|
networks |
array | Interfaces, each with name, addresses, and stats. |
connections |
array | Active connections with fd, family, type, laddr, raddr, status, and pid. |
io |
object | Aggregate I/O: bytes_sent, bytes_recv, packets_sent, packets_recv, errin, errout, dropin, dropout. |
Each interface address has address, family, netmask, broadcast, and ptp; interface stats has isup, duplex, speed, mtu, and flags.
processes
Section titled “processes”Returns an array of objects, one per process.
| Field | Type | Description |
|---|---|---|
id |
number | Process ID. |
name |
string | Process name. |
cpu_usage |
number | CPU usage percentage. |
memory_usage |
number | Memory usage percentage. |
created |
number | Creation time. |
path |
string | Executable path. |
status |
string | Process status. |
username |
string | Owning user. |
working_directory |
string | Working directory. |
sensors
Section titled “sensors”| Field | Type | Description |
|---|---|---|
temperatures |
array | Temperature readings with key, temperature, high, and critical. |
fans |
array | Fan readings with key, name, label, speed_rpm, speed_min, and speed_max. On Linux this includes hwmon fans and supported Lian Li UNI HID fan controllers when the process can read /dev/hidraw*. |
windows_sensors |
object | Windows-only hardware and NVIDIA sensor tree. |
system
Section titled “system”| Field | Type | Description |
|---|---|---|
hostname |
string | Machine hostname. |
fqdn |
string | Fully qualified domain name. |
platform |
string | Operating system. |
platform_version |
string | OS version. |
kernel_version |
string | Kernel version. |
boot_time |
number | Boot time as a Unix timestamp. |
uptime |
number | Uptime in seconds. |
ip_address_4 |
string | IPv4 address. |
ip_address_6 |
string | IPv6 address. |
mac_address |
string | MAC address. |
uuid |
string | Stable machine identifier. |
users |
array | Logged-in users with name, active, terminal, host, started, and pid. |
version |
string | Installed System Bridge version. |
version_latest |
string | Latest available version. |
version_latest_url |
string | URL for the latest release. |
version_newer_available |
boolean | Whether a newer version is available. |
camera_usage |
array | Apps using the camera. Linux only. |
microphone_usage |
array | Apps using the microphone. Linux only. |
pending_reboot |
boolean | Whether a reboot is pending. Linux only. |
power_usage |
number | System power draw in watts. Linux only. |
run_mode |
string | How the backend is running. |
{ "boot_time": 1651433957.3015134, "fqdn": "Desktop", "hostname": "Desktop", "ip_address_4": "1.1.1.1", "mac_address": "aa:bb:cc:dd:ee:ff", "platform": "Windows", "platform_version": "10.0.22000", "uptime": 7.015625, "uuid": "abcd-efgh-abcd-efgh-abcd", "version": "5.0.2", "version_latest": "5.0.7", "version_newer_available": false}