BI / Data Warehouse Export (Power BI)
Use the RMM API to collect device data for reporting, analytics, or long-term storage in a data warehouse.
The fleet-wide endpoints provide the information needed to build dashboards in tools such as Power BI, as well as your own reporting and analytics solutions.
Device health and performance
| Endpoint | What it returns |
|---|---|
| GET /api/v1/computers/stat/summary/latest (fleet-wide, paged) | Returns health and performance information for every managed device, including CPU, memory, disk usage, antivirus status, operating system update status, and alerts. |
Device inventory
| Endpoint | What it returns |
|---|---|
| GET /api/v1/computers/stat/host/latest (fleet-wide, paged) | Returns device information such as the operating system, manufacturer, model, serial number, and other identifying details. |
Software inventory
| Endpoint | What it returns |
|---|---|
| GET /api/v1/computers/stat/software/latest (fleet-wide, paged) | Returns installed software for every managed device. The availableVersion field can be used to identify applications with available updates. |
Disk health
| Endpoint | What it returns |
|---|---|
| GET /api/v1/computers/stat/hddsmart/latest (fleet-wide, paged) | Returns SMART status information for storage devices, which can be used to identify potential hardware failures. |
The Summary endpoint reports only operating system update status.
To include updates for third-party applications (Winget or Homebrew), also collect data from the Software Inventory endpoint and monitor the availableVersion field.
Recommended approach
- Periodically retrieve data from the required fleet-wide endpoints.
- Store the API responses in your database or data warehouse.
- 4.Use the device hid as the unique identifier when combining data from multiple endpoints. Build reports and dashboards in your preferred BI tool, such as Power BI.
Recommended polling interval: Poll these endpoints every 60 minutes. Since the underlying data is refreshed hourly, more frequent polling will not return newer information.
A common approach is to perform a full synchronization periodically (for example, once per day) and retrieve updated data every 60 minutes between full synchronizations.