Skip to content

Ubios-udapi-server

Ubios-udapi-server

Most users never SSH into their UDM-Pro. That’s fine. But if any of the following describe you, learning the ubios-udapi-server will change your workflow:

The legacy approach involved Python libraries like pyunifi that required hardcoded session IDs. The ubios-udapi-server offers native API key support, making it inherently more secure and compatible with modern automation tools.

# Get device info (needs session cookie)
curl -k -X GET 'https://localhost/proxy/network/api/s/default/stat/device' \
  -H 'Cookie: TOKEN=<your_session_token>'

At its core, the ubios-udapi-server (UniFi OS Universal Data API Server) is a middleware daemon running on Ubiquiti’s UniFi OS consoles (like the Dream Machine Pro, Cloud Key Gen2+, or Network Video Recorders). Its primary function is to translate high-level API requests into low-level device commands. ubios-udapi-server

While Ubiquiti provides a public, cloud-mediated API (UniFi API), the ubios-udapi-server works locally. It listens for RESTful calls on the local loopback or LAN interface of the UniFi OS device, allowing native applications and scripts to interact with the hardware without round-tripping through Ubiquiti’s cloud.

ubios-udapi-server is a core background service (daemon) running on Ubiquiti’s UniFi Dream Machine (UDM), UniFi Dream Machine Pro (UDM-Pro), and UniFi Dream Router (UDR) product lines. It serves as the local API gateway and interaction layer between the UniFi OS (the operating system managing the device) and the UniFi Network Application (the controller software). Most users never SSH into their UDM-Pro

In the transition from the older, cloud-key based architecture (where the controller was software separate from the gateway) to the "all-in-one" Dream Machine architecture, Ubiquiti needed a way for the controller software to communicate with the underlying system services (firewall, DHCP, DNS, etc.). ubios-udapi-server fulfills this role.

Once authenticated, here are the most valuable endpoints for network engineers. The legacy approach involved Python libraries like pyunifi

Home Assistant has a native UniFi integration, but advanced users call the API directly. Query the ubios-udapi-server every 30 seconds to get the list of connected clients. Use that data to trigger automations (e.g., "If John's iPhone leaves, arm the alarm").