---
title: DeviceHub
slug: api-docs/devicehub-reference
description: DeviceHub endpoints for Litmus Edge: device registration, tag CRUD, bulk browse, protocol drivers, and streaming. Reference with live execution on api.litmus.io.
docTags: 
createdAt: 2026-05-11T22:08:53.326Z
---

# DeviceHub (LE)

342 endpoints in 4.0.x. The bulk of Litmus Edge - device configuration, tag creation, browse, asset discovery, plus 292 reference entries (driver examples + register types).

:::BlockQuote
**Run these endpoints:** open the [DeviceHub folder on api.litmus.io](https://api.litmus.io/view/2s9Y5R1RvG#3384d3cf-13e6-402b-8a25-b67be34f585d).
:::

## Sub-modules

| Folder                            | Endpoints | Purpose                                   |
| --------------------------------- | --------- | ----------------------------------------- |
| Devices                           | 10        | Device CRUD + lifecycle (start/stop)      |
| Drivers                           | 4         | List drivers, get driver templates        |
| Tags                              | 12        | Tag CRUD + CSV import/export + validation |
| Browse                            | 14        | Bulk tag discovery from a device          |
| Asset Discovery                   | 9         | Network-level asset scanning              |
| Prometheus Metrics                | 1         | Metrics scrape endpoint                   |
| Create Device - Driver Examples   | 146       | One canonical CreateDevice per driver     |
| Register Types - Driver Reference | 146       | Supported register types per driver       |

## Devices (10)

GraphQL on `/devicehub/v2` unless noted.

| Operation                          | Method | Purpose                              |
| ---------------------------------- | ------ | ------------------------------------ |
| `ListDevices`                      | POST   | List all configured devices          |
| `CreateDevice`                     | POST   | Create a new device                  |
| `UpdateDevice`                     | POST   | Update device properties             |
| Enable/Disable Device Data Storage | PUT    | Toggle persistence per device (REST) |
| `DeleteDevices`                    | POST   | Delete one or more devices (GraphQL) |
| Delete Device REST                 | DELETE | Single-device delete via REST        |
| Device Discovery Tool              | POST   | OPC UA Advanced server discovery     |
| `DeviceConnectionStatus`           | POST   | Live connection state                |
| `StartDevice`                      | POST   | Begin polling                        |
| `StopDevice`                       | POST   | Stop polling                         |

## Drivers (4)

| Operation               | Purpose                                        |
| ----------------------- | ---------------------------------------------- |
| `ListDriverGroups`      | Driver family tree (start here)                |
| `GetDriver` by GroupID  | Group-level template                           |
| `GetDriver` by DriverID | Driver template (config + supported registers) |
| List all driver details | Full dump of all drivers                       |

## Tags (12)

| Operation                   | Purpose                           |
| --------------------------- | --------------------------------- |
| `ListAllRegisters`          | All tags across all devices       |
| `ListRegisters`             | Tags on one device                |
| `CreateRegisters`           | Create one or more tags           |
| `UpdateRegisters`           | Update tag config                 |
| `DeleteRegisters`           | Delete specific tags              |
| Delete all tags of a device | Bulk-delete by device             |
| `BrowseTags`                | Search across configured tags     |
| Upload Tags CSV             | REST file upload                  |
| Download Tags CSV           | REST file download                |
| `RegisterStatus`            | Live tag values + quality         |
| Server Search               | Cross-device tag search           |
| `ValidateUpdateRegisters`   | Dry-run a tag payload (no commit) |

## Browse (14)

Full chain documented in [Browse - Bulk Tag Discovery workflow](#). Key operations:

- `CreateBrowseTask`, `StartBrowseTasks`, `ListBrowseTasks`, `StopBrowseTask`, `DeleteBrowseTask`
- `BrowseTask_GetFoldersForTreeView`, `BrowseTask_GetFolderItems`
- `Cart_AddItems`, `Cart_UpdateProperties`, `Cart_CreateAllRegisters`
- `ListCartItems`, `Cart_GetCartItemsByDevice`
- `BrowseTask_GetTemplate`, `Download Browse Tags` (CSV export)

## Asset Discovery (9)

Network-level scanning per interface. All REST.

| Endpoint                                        | Purpose                       |
| ----------------------------------------------- | ----------------------------- |
| `GET /devicehub/assetdiscovery/interfaces`      | List network interfaces       |
| `GET /devicehub/assetdiscovery/devices`         | Discovered devices on network |
| `GET .../scan/eth0`, `GET .../scan/wlan0`       | Trigger per-interface scan    |
| `PUT .../enable/eth0`, `PUT .../disable/eth0`   | Toggle discovery on eth0      |
| `PUT .../enable/wlan0`, `PUT .../disable/wlan0` | Toggle discovery on wlan0     |
| `GET .../scan/nd`                               | Scan for ND nodes             |

## Create Device - Driver Examples (146)

One canonical `CreateDevice` mutation per supported driver - Allen-Bradley, Siemens, Modbus variants, OPC UA, MQTT, SQL clients, Sparkplug, plus simulators (Generator). Use as a copy-and-adapt reference.

## Register Types - Driver Reference (146)

For each driver, the supported register types (e.g. Modbus TCP: Holding / Input / Coil / Discrete Input). Use to validate that the register type you want is allowed before calling `CreateRegisters`.

## See also

- [DeviceHub Data Model](#)
- [Create Device + Tags workflow](#)
