# Índice API UNMS (UISP) — NMS v2.1

> **Generado automáticamente** desde `unms-swagger.json`
> Ejecutar `php .agent/scripts/gen_index_unms_swagger.php` para regenerar.

**Host:** ``  **Base Path:** `/nms/api/v2.1`
**Versión API:** 1.5.0

---

## Resumen de Grupos

- **Authorization** (33 endpoints) — Login and user authorization.
- **Backups** (13 endpoints) — UISP manual and automatic backups.
- **CRM** (5 endpoints) — Customer relationship management.
- **Data Links** (7 endpoints) — Data Links between devices.
- **Devices** (326 endpoints) — Configuration and monitoring for all devices.
- **Discovery** (6 endpoints) — Scan for devices and connect them to UISP.
- **Export** (1 endpoints) — Client data export.
- **Firmware** (5 endpoints) — Manage firmware files in UISP.
- **Gateways** (6 endpoints) — Setup network device gateways.
- **Logs** (2 endpoints) — View devices log lines.
- **Outages** (1 endpoints) — View devices outages.
- **Server** (56 endpoints) — UISP settings with SMTP configuration, SSL and backups configuration.
- **Sites** (39 endpoints) — Manage sites and clients (former endpoints), their pictures and network structure.
- **Speed Test** (6 endpoints) — Speedtest between device to device or device to internet.
- **Tasks** (8 endpoints) — View, start or cancel UISP background tasks, for example firmware upgrade.
- **Token** (4 endpoints) — Manage access tokens.
- **Traffic** (12 endpoints) — Devices and clients traffic statistics generated thanks to NetFlow.
- **Users** (21 endpoints) — Manage UISP users and their profiles.
- **Vault** (9 endpoints) — Device credentials vault.

**Total: 560 endpoints en 19 grupos**

---

## Authorization — _Login and user authorization._

  - GET      `/nms/account/login/ubiquiti` [code?, state?, error?, error_description?, deviceUrl?, deviceName?, token?] — SSO authentication response endpoint. → 200/302/400/401/403/404/500
  - GET      `/user` — Get the authenticated user. → 200/401/403/500
  - PUT      `/user` — Updates authenticated user. → 200/400/401/403/500
  - GET      `/access-groups/sites` [groupId?, withInternal?, withOverview?] — Return site access groups. → 200/401/403/500
  - POST     `/access-groups/sites` — Create new site access group. → 200/400/401/403/404/500
  - GET      `/user/totpauth` — Gets new information for two factor authentication. → 200/401/403/500
  - PUT      `/user/totpauth` — Sets two factor authentication for user. → 200/400/401/403/500
  - GET      `/access-groups/sites/{groupId}` [groupId] — Get site access group. → 200/400/401/403/404/500
  - PUT      `/access-groups/sites/{groupId}` [groupId] — Update site access group. → 200/400/401/403/404/409/500
  - DELETE   `/access-groups/sites/{groupId}` [groupId] — Delete site access group. → 200/400/401/403/404/409/500
  - GET      `/user/offline-passwords/requested` — Show status if offline passwords request is present for user. → 200/401/403/404/500
  - POST     `/user/check-credentials` — Check user credentials. → 200/400/401/403/500
  - POST     `/user/check-session` — Check that the session token and cookie are valid. → 200/401/403/500
  - POST     `/user/last-release-notes-seen` — Updates authenticated last release notes seen version. → 200/400/401/403/500
  - POST     `/user/login` — Login. → 200/201/400/401/500
  - POST     `/user/logout` — Logout. → 200/401/403/500
  - POST     `/user/offline-passwords` — Generates random offline passwords for user. → 200/401/403/500
  - POST     `/nms/info/login` — Authenticate client and return device access token → 200/400/403/405/500
  - POST     `/token/ubiquiti/exchange` — Exchange of SSO token to x-auth-token. → 200/400/401/403/500
  - POST     `/user/login/totpauth` — Two Factor Authentication login step 2. → 200/400/500
  - POST     `/user/login/ubiquiti` — Login using Ubiquiti SSO. → 200/400/401/500
  - POST     `/user/offline-passwords/confirm` — Confirms request to generate random offline passwords for authenticated user. → 200/401/403/404/500
  - POST     `/user/password/requestreset` — Request password reset. → 200/400/403/500
  - POST     `/user/password/reset` — Reset user password. → 200/400/401/500
  - POST     `/user/password/strength` — Check password strength. → 200/400/500
  - POST     `/user/sso/verify` — Verify SSO login result. → 200/400/401/403/500
  - POST     `/user/login/invite/local` — Finish user invitation using local password. → 200/400/401/500
  - POST     `/user/login/invite/ubiquiti` — Finish user invitation using Ubiquiti SSO. → 200/400/401/500
  - PUT      `/user/disabledtotpauth` — Disable two factor authorization for user. → 200/400/401/403/500
  - PUT      `/user/preferences` — Updates authenticated user's preferences. → 200/400/401/403/500
  - PUT      `/user/sso/enable` — Enable Ubiquiti SSO for current user. → 200/400/401/403/500
  - PUT      `/access-groups/sites/{groupId}/{siteId}` [groupId, siteId] — Add or change access to single site. → 200/400/401/403/404/409/500
  - DELETE   `/access-groups/sites/{groupId}/{siteId}` [groupId, siteId] — Remove access to single site. → 200/400/401/403/404/409/500

## Backups — _UISP manual and automatic backups._

  - GET      `/nms/backups` — Get UISP backups. → 200/400/401/403/500
  - GET      `/nms/backups/{backupId}` [backupId] — Get UISP backup file. → 400/401/403/404/500
  - DELETE   `/nms/backups/{backupId}` [backupId] — Delete UISP backup. → 200/400/401/403/404/500
  - GET      `/nms/downloads/{token}` — Download UISP backups. → 400/404/500
  - GET      `/nms/backups/{backupId}/download-token` [backupId] — Get temporary download token for this backup. → 400/401/403/404/500
  - GET      `/devices/uisprs/{id}/tools/unms-controller/backups` [id] — Returns list of backups on the microSD and sync status. → 200/400/401/404/409/500
  - GET      `/devices/uisprs/{id}/tools/unms-controller/backup-storage` [id] — Get details about the storage. → 200/400/401/404/500
  - GET      `/devices/uisprs/{id}/tools/unms-controller/backup-storage/format` [id] — Get status of microSD card format. → 200/400/401/404/500
  - POST     `/devices/uisprs/{id}/tools/unms-controller/backup-storage/format` [id] — Format the microSD card. → 200/400/401/404/409/500
  - POST     `/nms/backups/create` — Create UISP backup. → 200/400/401/403/404/500
  - POST     `/nms/backups/restore/set-user-password` — Restore UISP backup. → 200/400/401/403/404/500
  - POST     `/nms/backups/{backupId}/restore` [backupId] — Restore UISP backup. → 200/400/401/403/404/500
  - POST     `/devices/uisprs/{id}/tools/unms-controller/backup-storage/detach` [id] — Unmount the microSD card. → 200/400/401/404/409/500

## CRM — _Customer relationship management._

  - GET      `/crm/roles` — Get CRM admin users. → 200/401/403/500/503
  - GET      `/crm/service-plans` — Get CRM service plans. → 200/401/403/500/503
  - GET      `/crm/{ucrmClientId}/tickets` [ucrmClientId, limit?, offset?, order?, direction?] — List of CRM tickets belonging to the subscriber (CRM client). → 200/401/403/409/500/503
  - POST     `/crm/clients` — Create CRM client. → 200/401/403/409/500/503
  - PATCH    `/crm/service-change-requests/{requestId}/accept` [requestId] — Accept service change request in CRM. → 200/401/403/409/500/503

## Data Links — _Data Links between devices._

  - GET      `/data-links` [siteLinksOnly?] — List of all data links. → 200/400/401/403/500
  - POST     `/data-links` — Create data link. → 200/401/403/409/500
  - GET      `/data-links/{id}` [id] — Get data link based on its ID. → 200/400/401/403/404/500
  - PUT      `/data-links/{id}` [id] — Update data link. → 200/400/401/403/409/500
  - DELETE   `/data-links/{id}` [id] — Delete data link based on its ID. → 200/400/401/403/404/500
  - GET      `/data-links/device/{id}` [id] — Get data link based on device ID. → 200/400/401/403/404/500
  - GET      `/data-links/sites/{siteId}` [siteId] — List of data links based siteId → 200/400/401/403/404/500

## Devices — _Configuration and monitoring for all devices._

  - GET      `/devices` [siteId?, withInterfaces?, authorized?, type?, role?] — List of all devices in UISP. → 200/400/401/403/500
  - GET      `/devices/discovered` — List of discovered devices. → 200/400/401/403/500
  - GET      `/devices/images` — Returns list of all devices model image. → 200/401/403/404/500
  - GET      `/devices/ips` [suspended?, management?, siteId?, ucrmId?, includeObsolete?] — Return a list of devices IPs which are in UISP monitored IP ranges. → 200/400/401/403/500
  - GET      `/devices/login` [mac?, ip?] — Create device ticket to login via controller → 200/400/401/403/500
  - GET      `/devices/macs` — Return a list of all devices MAC address (except for ONUs). → 200/400/401/403/500
  - GET      `/devices/onus` [parentId?] — List of ONU in UISP. → 200/400/401/403/404/500
  - GET      `/devices/ssids` — Get devices wireless configuration → 200/401/403/500
  - GET      `/devices/unknown` [minTraffic?] — Get unknown client devices (based on detected network traffic) ordered by total traffic. → 200/400/401/403/500
  - GET      `/devices/{id}` [id] — Device status overview. → 200/400/401/403/500
  - DELETE   `/devices/{id}` [id] — Delete device. → 200/400/401/403/500
  - GET      `/airlink/proxy/airlink-be` [lat1, lon1, lat2, lon2, samples?] — Get elevation data between two points. → 200/400/401/403/500/502
  - GET      `/airlink/proxy/countries-map.geo.json` [version?] — Get countries map data file. → 400/401/403/500/502
  - GET      `/airlink/proxy/elevation` [file, version?] — Get elevation data file. → 400/401/403/500/502
  - GET      `/airlink/proxy/lidar-boundaries.geojson` [version?] — Get lidar boundaries data file. → 400/401/403/500/502
  - GET      `/airlink/proxy/rainfall-average.map` [version?] — Get average rainfall map data file. → 400/401/403/500/502
  - GET      `/airlink/proxy/rainfall-r001.map` [version?] — Get rainfall map data file. → 400/401/403/500/502
  - GET      `/devices/aircubes/{id}` [id, withStations?] — Return AirCube detail. → 200/400/401/403/404/500
  - GET      `/devices/airfibers/{id}` [id, withStations?] — Return AirFiber detail. → 200/400/401/403/404/500
  - GET      `/devices/airmaxes/{id}` [id, withStations?] — Return AirMax detail. → 200/400/401/403/404/500
  - GET      `/devices/aps/profiles` — List of all access points and their connection profiles. → 200/400/401/403/500
  - GET      `/devices/blackboxes/{id}` [id] — Return Blackbox device. → 200/400/401/403/404/500
  - GET      `/devices/discovered/head` — First of discovered devices without BlackBox and Express. → 200/400/401/403/500
  - GET      `/devices/epowers/{id}` [id] — Get epower device. → default
  - GET      `/devices/erouters/{id}` [id] — Return EdgeRouter detail. [Deprecated in favor of route GET /nms/api/v2.1/devices/{id}/detail] → 200/400/401/403/404/500
  - GET      `/devices/eswitches/{id}` [id] — Return EdgeSwitch detail. → 200/400/401/403/404/500
  - GET      `/devices/import/status` — Status of devices import process. → 200/401/403/500
  - GET      `/devices/mac/{mac}` [mac] — Get info on device by mac address. → 200/400/401/403/404/500
  - GET      `/devices/olts/{id}` [id] — Return OLT detail. → 200/400/401/403/404/500
  - GET      `/devices/onus/{id}` [id] — Return ONU detail. → 200/400/401/403/500
  - GET      `/devices/remoteuiproxy/sessions` — Get valid remote-ui-proxy session tokens. → 200/401/403/404/500
  - GET      `/devices/solarbeams/{id}` [id] — Return SolarBeam detail. → 200/400/401/403/404/500
  - GET      `/devices/top/active` [count?] — Get most active devices → 200/400/401/403/404/500
  - GET      `/devices/toughswitches/{id}` [id] — Return ToughSwitch detail. → 200/400/401/403/404/500
  - GET      `/devices/uisprlxcs/{id}` [id] — Return UISPRLXC detail. [Deprecated in favor of route GET /nms/api/v2.1/devices/{id}/detail] → 200/400/401/403/404/500
  - GET      `/devices/uisprs/{id}` [id] — Return UISPR detail. [Deprecated in favor of route GET /nms/api/v2.1/devices/{id}/detail] → 200/400/401/403/404/500
  - GET      `/devices/uispss/{id}` [id] — Return UISP Switch detail. → 200/400/401/403/404/500
  - GET      `/devices/waves/{id}` [id, withStations?] — Return Wave detail. → 200/400/401/403/404/500
  - GET      `/devices/{deviceId}/interfaces` [deviceId] — Return list of device interfaces. → 200/400/401/403/404/500
  - GET      `/devices/{deviceType}/configuration-history` [deviceType] — Get all saved history of configurations by device type. → 200/400/401/403/404/500
  - GET      `/devices/{id}/operators` [id] — Return list of available operators [UISP-LTE] → 200/400/401/403/404/500
  - GET      `/devices/{deviceId}/mac-table-refresh` [deviceId] — Fetch mac table from device and save to UISP. [EdgeSwitch, EdgeRouter, AirMax, UISPRouter, UISPSwitch, AirFiber, AirCube] → 200/400/401/403/404/500
  - GET      `/devices/{id}/capabilities` [id] — Device supported features lists. → 200/400/401/403/404/500
  - GET      `/devices/{id}/system` [id] — Device system configuration. → 200/400/401/403/404/500
  - PUT      `/devices/{id}/system` [id, isComposeRequest?] — Update a device's system settings. → 200/400/401/403/404/500
  - GET      `/devices/{id}/statistics` [id, interval, start, period] — Return device statistics. → 200/400/401/403/404/500
  - GET      `/devices/{id}/detail` [id, withStations?] — Get device detail with interfaces and/or stations. → 200/400/401/403/404/500
  - GET      `/devices/{id}/supportfile` [id] — Get device's support file. → 401/403/404/500
  - GET      `/devices/{id}/configuration` [id] — Get device system and services configuration. → 200/400/401/403/404/500
  - PUT      `/devices/{id}/configuration` [id, isComposeRequest?] — Update device system and services configuration. → 200/400/401/403/404/500
  - GET      `/devices/{id}/services` [id, payload?] — Device services. → 200/400/401/403/404/500
  - PUT      `/devices/{id}/services` [id] — Update device services. → 200/400/401/403/404/500
  - GET      `/devices/{deviceId}/location` [deviceId] — Return location of the device. → 200/400/401/403/404/500
  - PUT      `/devices/{deviceId}/location` [deviceId] — Update location of the device. → 200/400/401/403/404/500
  - GET      `/devices/{deviceId}/mac-table` [deviceId, sortBy?, sortDesc?, count?, page?, search?] — Return mac table of device. [EdgeSwitch, EdgeRouter, AirMax, UISPRouter, UISPSwitch, AirFiber, AirCube] → 200/400/401/403/404/500
  - GET      `/devices/{id}/vlans` [id] — Get device's VLANs. → 200/400/401/403/500
  - POST     `/devices/{id}/vlans` [id, isComposeRequest?] — Update device's VLANs. → 200/400/401/403/500
  - GET      `/devices/{id}/netflow` [id, interfaceId?] — Get information on device's flow-accounting status. → 200/400/401/404
  - GET      `/devices/{id}/clients` [id] — Return a devices' connected devices [UISP-LTE] → 200/400/401/403/404/500
  - GET      `/devices/{id}/perform-default-login` [id] — Try connecting device using factory default credentials. → 200/400/401/403/500
  - GET      `/devices/{id}/remoteuiproxy` [id] — Get initial remote UI. → 401/403/404/500
  - GET      `/devices/{deviceId}/backups` [deviceId] — Return list of device backups. → 200/400/401/403/404/500
  - POST     `/devices/{deviceId}/backups` [deviceId] — Create new device backup. → 200/400/401/403/404/500
  - PUT      `/devices/{deviceId}/backups` [deviceId] — Upload device backup. → 200/400/401/403/404/500
  - GET      `/devices/aircubes/{id}/network` [id] — Get AirCube network configuration. → 200/400/401/403/404/500
  - PUT      `/devices/aircubes/{id}/network` [id] — Update AirCube network configuration. → 200/400/401/403/404/500
  - GET      `/devices/aircubes/{id}/frequency-lists` [id] — Return AirCube frequency lists. → 200/400/401/403/404/500
  - GET      `/devices/aircubes/{id}/stations` [id] — Return AirCube station list. → 200/400/401/403/404/500
  - GET      `/devices/aircubes/{id}/tx-power-lists` [id] — Return AirCube tx power lists. → 200/400/401/403/404/500
  - GET      `/devices/aircubes/{id}/wireless` [id] — Get AirCube wireless config → 200/400/401/403/404/500
  - PUT      `/devices/aircubes/{id}/wireless` [id] — Update AirCube wireless configuration. → 200/400/401/403/404/500
  - GET      `/devices/aircubes/{id}/system` [id] — Get AirCube system configuration. → 200/400/401/403/404/500
  - PUT      `/devices/aircubes/{id}/system` [id] — Update AirCube system configuration. → 200/400/401/403/404/500
  - GET      `/devices/airfibers/{id}/stations` [id] — Return AirFiber station list. → 200/400/401/403/404/500
  - GET      `/devices/airmaxes/{id}/system` [id] — Get AirMax system config. [Deprecated in favor of route GET /nms/api/v2.1/devices/{id}/system] → 200/400/401/403/404/500
  - GET      `/devices/airmaxes/{id}/stations` [id] — Return AirMax station list. → 200/400/401/403/404/500
  - GET      `/devices/airmaxes/{id}/site-survey` [id] — Scan sites. → 200/400/401/403/404/500
  - GET      `/devices/airmaxes/{id}/frequency-bands` [id] — Get AirMax stations frequency bands. → 200/400/401/403/404/500
  - GET      `/devices/airos/{id}/regdomain` [id, countryCode?] — Get device regulatory domain information for configured or provided via query parameter country). → 200/400/401/403/404/500
  - GET      `/devices/airos/{id}/configuration` [id] — Get airOS device configuration. → 200/400/401/403/404/500
  - PUT      `/devices/airos/{id}/configuration` [id, isComposeRequest?, isLinkConfiguration?] — Update airOs device configuration. → 200/400/401/403/404/500
  - GET      `/devices/airos/{id}/countries` [id] — Get list of available countries on device. → 200/400/401/403/404/500
  - GET      `/devices/blackboxes/{id}/config` [id] — Return BlackBox device config. → 200/400/401/403/404/500
  - PUT      `/devices/blackboxes/{id}/config` [id] — Update BlackBox device config. → 200/400/401/403/404/409/500
  - GET      `/devices/erouters/{id}/netflow` [id, interfaceId?] — Get information on device's flow-accounting status. [Deprecated in favor of route GET /nms/api/v2.1/devices/{id}/netflow] → 200/400/401/404/500
  - GET      `/devices/eswitches/{id}/system` [id] — Get EdgeSwitch system configuration. [Deprecated in favor of route GET /nms/api/v2.1/devices/{id}/system] → 200/400/401/403/404/500
  - GET      `/devices/express/{id}/refresh` [id] — Refresh Express data → 200/400/401/403/404/500
  - GET      `/devices/onus/{id}/network` [id] — Get an Onu's network settings. [Deprecated in favor of route "/nms/api/v2.1/devices/get-configuration"] → 200/400/401/403/404/500
  - PUT      `/devices/onus/{id}/network` [id] — Update an Onu's network settings. [Deprecated in favor of route "/nms/api/v2.1/devices/update-configuration"] → 200/400/401/403/404/500
  - GET      `/devices/onus/{id}/services` [id] — Get an Onu's services. [Deprecated in favor of route POST "/nms/api/v2.1/devices/get-configuration"] → 200/400/401/403/404/500
  - GET      `/devices/onus/{id}/clients` [id] — Get an Onu's connected devices MAC addressees. → 200/400/401/403/500
  - GET      `/devices/onus/{id}/wireless` [id] — Get an Onu's wireless settings. [Deprecated in favor of route "/nms/api/v2.1/devices/get-configuration"] → 200/400/401/403/404/500/501
  - PUT      `/devices/onus/{id}/wireless` [id] — Update an Onu's wireless settings. [Deprecated in favor of route "/nms/api/v2.1/devices/update-configuration"] → 200/400/401/403/404/500
  - GET      `/devices/onus/{id}/vlans` [id] — Deprecated. Get list of OLT's VLANs. → 200/400/401/403/404/500/501
  - GET      `/devices/toughswitches/{id}/system` [id] — Get ToughSwitch system configuration. [Deprecated in favor of route GET /nms/api/v2.1/devices/{id}/system] → 200/400/401/403/404/500
  - GET      `/devices/uisprlxcs/{id}/netflow` [id, interfaceId?] — Get information on device's flow-accounting status. [Deprecated in favor of route GET /nms/api/v2.1/devices/{id}/netflow] → 200/400/401/404/500
  - GET      `/devices/uisprs/{id}/netflow` [id, interfaceId?] — Get information on device's flow-accounting status. [Deprecated in favor of route GET /nms/api/v2.1/devices/{id}/netflow] → 200/400/401/404/500
  - GET      `/devices/uispss/{id}/system` [id] — Get UISP Switch system configuration. [Deprecated in favor of route GET /nms/api/v2.1/devices/{id}/system] → 200/400/401/403/404/500
  - GET      `/devices/waves/{id}/stations` [id] — Return Wave station list. → 200/400/401/403/404/500
  - GET      `/devices/wifi-router/{id}/configuration` [id] — Returns configuration of wifiRouter → 200/400/401/403/404/500
  - PUT      `/devices/wifi-router/{id}/configuration` [id] — Update configuration of wifiRouter → 200/400/401/403/404/500
  - GET      `/devices/{deviceId}/speed-tests/{testId}` [deviceId, testId] — Return detail about running speedtest. → 200/401/403/422/500
  - DELETE   `/devices/{deviceId}/speed-tests/{testId}` [deviceId, testId] — Stop speed test. → 200/400/401/403/404/422/500
  - GET      `/devices/{deviceId}/interfaces/{interfaceName}` [deviceId, interfaceName] — Get interface configuration. → 200/400/401/403/404/500
  - PUT      `/devices/{deviceId}/interfaces/{interfaceName}` [deviceId, interfaceName, isComposeRequest?] — Update interface configuration. → 200/400/401/403/404/500
  - DELETE   `/devices/{deviceId}/interfaces/{interfaceName}` [deviceId, interfaceName] — Delete interface. → 200/400/401/403/404/500
  - GET      `/devices/{deviceId}/backups/{backupId}` [deviceId, backupId, replaceUnmsKey?] — Return device configuration backup file. → 400/401/403/404/500
  - PUT      `/devices/{deviceId}/backups/{backupId}` [deviceId, backupId] — Update backup. → 400/401/403/404/500
  - DELETE   `/devices/{deviceId}/backups/{backupId}` [deviceId, backupId] — Delete backup. → 200/400/401/403/404/500
  - GET      `/devices/{id}/dhcp-details/{interface}` [id, interface] — Returns details of DHCP IP address - gateway and DNS servers. → 200/400/401/403/500
  - GET      `/devices/{id}/router/routes` [id] — Get all routes. → 200/400/401/403/404/500
  - POST     `/devices/{id}/router/routes` [id] — Create new static route. → 200/400/401/403/404/500
  - PUT      `/devices/{id}/router/routes` [id] — Edit static route. → 200/400/401/403/404/500
  - GET      `/devices/{id}/system/unms` [id] — Device specific UISP settings. → 200/400/401/403/404/500
  - PUT      `/devices/{id}/system/unms` [id] — Update device specific UISP settings. → 200/400/401/403/404/500
  - GET      `/devices/{id}/router/ospf` [id] — Get OSPF configuration. → 200/400/401/403/404/500
  - PUT      `/devices/{id}/router/ospf` [id] — Update OSPF configuration. → 200/400/401/403/404/500
  - GET      `/devices/{id}/remoteuiproxy/init` [id] — Get device remote ui proxy token. → 401/403/404/500
  - GET      `/devices/aircubes/{id}/config/system` [id] — Get AirCube system config. This API endpoint is DEPRECATED.
      Please refer to '/nms/api/v2.1/devices/aircubes/{id}/system' instead. → 200/400/401/403/404/500
  - PUT      `/devices/aircubes/{id}/config/system` [id] — Update AirCube system settings. This API endpoint is DEPRECATED.
      Please refer to '/nms/api/v2.1/devices/aircubes/{id}/system' instead. → 200/400/401/403/404/500
  - GET      `/devices/aircubes/{id}/config/wireless` [id] — Get AirCube wireless config. This API endpoint is DEPRECATED.
        Please refer to '/nms/api/v2.1/devices/aircubes/{id}/wireless' instead. → 200/400/401/403/404/500
  - PUT      `/devices/aircubes/{id}/config/wireless` [id] — Update AirCube wireless config. This API endpoint is DEPRECATED.
      Please refer to '/nms/api/v2.1/devices/aircubes/{id}/wireless' instead. → 200/400/401/403/404/500
  - GET      `/devices/aircubes/{id}/config/network` [id] — Get AirCube network config. This API endpoint is DEPRECATED.
      Please refer to '/nms/api/v2.1/devices/aircubes/{id}/network' instead. → 200/400/401/403/404/500
  - PUT      `/devices/aircubes/{id}/config/network` [id] — Update AirCube network config. This API endpoint is DEPRECATED.
      Please refer to '/nms/api/v2.1/devices/aircubes/{id}/network' instead. → 200/400/401/403/404/500
  - GET      `/devices/airmaxes/{id}/config/wireless` [id] — Get AirMax wireless config. → 200/400/401/403/404/500
  - PUT      `/devices/airmaxes/{id}/config/wireless` [id] — Update AirMax wireless config. → 200/400/401/403/404/500
  - GET      `/devices/epowers/{id}/configuration/power` [id] — Get epower configuration: [Deprecated in favor of route GET /nms/api/v2.1/devices/{id}/system/configuration/power] → default
  - GET      `/devices/erouters/{id}/dhcp/leases` [id] — DHCP IP address leases. → 200/400/401/403/404/500
  - POST     `/devices/erouters/{id}/dhcp/leases` [id] — Create DHCP IP address lease. → 200/400/401/403/404/500
  - GET      `/devices/erouters/{id}/dhcp/servers` [id] — Device DHCP servers. → 200/400/401/403/404/500
  - POST     `/devices/erouters/{id}/dhcp/servers` [id] — Create new DHCP server. → 200/400/401/403/404/500
  - GET      `/devices/erouters/{id}/router/routes` [id] — Get all routes. [Deprecated in favor of route GET /nms/api/v2.1/devices/{id}/router/routes] → 200/400/401/403/404/500
  - POST     `/devices/erouters/{id}/router/routes` [id] — Create new static route. [Deprecated in favor of route POST /nms/api/v2.1/devices/{id}/router/routes] → 200/400/401/403/404/500
  - PUT      `/devices/erouters/{id}/router/routes` [id] — Edit static route. [Deprecated in favor of route PUT /nms/api/v2.1/devices/{id}/router/routes] → 200/400/401/403/404/500
  - GET      `/devices/solarbeams/{id}/config/system` [id] — Get SolarBeam system configuration. → 200/400/401/403/404/500
  - PUT      `/devices/solarbeams/{id}/config/system` [id] — Update SolarBeam system settings. → 200/400/401/403/404/500
  - GET      `/devices/uisprlxcs/{id}/firewall/sets` [id] — Get information on device's firewall sets. → 200/400/401/404/500
  - GET      `/devices/uisprlxcs/{id}/firewall/mangles` [id] — Get information on device's firewall mangles chains. → 200/400/401/404/500
  - GET      `/devices/uisprlxcs/{id}/router/routes` [id] — Get all routes. [Deprecated in favor of route GET /nms/api/v2.1/devices/{id}/router/routes] → 200/400/401/403/404/500
  - POST     `/devices/uisprlxcs/{id}/router/routes` [id] — Create new static route. [Deprecated in favor of route POST /nms/api/v2.1/devices/{id}/router/routes] → 200/400/401/403/404/500
  - PUT      `/devices/uisprlxcs/{id}/router/routes` [id] — Edit static route. [Deprecated in favor of route PUT /nms/api/v2.1/devices/{id}/router/routes] → 200/400/401/403/404/500
  - GET      `/devices/uisprlxcs/{id}/dhcp/servers` [id] — Device DHCP servers. → 200/400/401/403/404/500
  - POST     `/devices/uisprlxcs/{id}/dhcp/servers` [id] — Create new DHCP server. → 200/400/401/403/404/500
  - GET      `/devices/uisprlxcs/{id}/dhcp/leases` [id] — DHCP IP address leases. → 200/400/401/403/404/500
  - POST     `/devices/uisprlxcs/{id}/dhcp/leases` [id] — Create DHCP IP address lease. → 200/400/401/403/404/500
  - GET      `/devices/uisprlxcs/{id}/firewall/filters` [id] — Get information on device's firewall filter chains. → 200/400/401/404/500
  - GET      `/devices/uisprlxcs/{id}/firewall/nats` [id] — Get information on device's firewall NATs. → 200/400/401/404/500
  - GET      `/devices/uisprlxcs/{id}/firewall/settings` [id] — Get information on device's firewall settings. → 200/400/401/404/500
  - PUT      `/devices/uisprlxcs/{id}/firewall/settings` [id] — Set firewall settings on the device. → 200/400/401/404/500
  - GET      `/devices/uisprs/{id}/firewall/sets` [id] — Get information on device's firewall sets. → 200/400/401/404/500
  - GET      `/devices/uisprs/{id}/firewall/mangles` [id] — Get information on device's firewall mangles chains. → 200/400/401/404/500
  - GET      `/devices/uisprs/{id}/router/routes` [id] — Get all routes. [Deprecated in favor of route GET /nms/api/v2.1/devices/{id}/router/routes] → 200/400/401/403/404/500
  - POST     `/devices/uisprs/{id}/router/routes` [id] — Create new static route. [Deprecated in favor of route POST /nms/api/v2.1/devices/{id}/router/routes] → 200/400/401/403/404/500
  - PUT      `/devices/uisprs/{id}/router/routes` [id] — Edit static route. [Deprecated in favor of route PUT /nms/api/v2.1/devices/{id}/router/routes] → 200/400/401/403/404/500
  - GET      `/devices/uisprs/{id}/dhcp/servers` [id] — Device DHCP servers. → 200/400/401/403/404/500
  - POST     `/devices/uisprs/{id}/dhcp/servers` [id] — Create new DHCP server. [Deprecated in favor of route PUT /nms/api/v2.1/devices/{id}/configuration] → 200/400/401/403/404/500
  - GET      `/devices/uisprs/{id}/dhcp/leases` [id] — DHCP IP address leases. [Deprecated in favor of route GET /nms/api/v2.1/devices/{id}/configuration] → 200/400/401/403/404/500
  - POST     `/devices/uisprs/{id}/dhcp/leases` [id] — Create DHCP IP address lease. [Deprecated in favor of route PUT /nms/api/v2.1/devices/{id}/configuration] → 200/400/401/403/404/500
  - GET      `/devices/uisprs/{id}/firewall/filters` [id] — Get information on device's firewall filter chains. → 200/400/401/404/500
  - GET      `/devices/uisprs/{id}/firewall/nats` [id] — Get information on device's firewall NATs. → 200/400/401/404/500
  - GET      `/devices/uisprs/{id}/firewall/settings` [id] — Get information on device's firewall settings. → 200/400/401/404/500
  - PUT      `/devices/uisprs/{id}/firewall/settings` [id] — Set firewall settings on the device. → 200/400/401/404/500
  - GET      `/devices/{id}/remoteuiproxy/resources/{path*}` [id, path?] — Load local UI resources → 401/403/404/500
  - POST     `/devices/{id}/remoteuiproxy/resources/{path*}` [id, path?] — Update local UI → 401/403/404/500
  - PUT      `/devices/{id}/remoteuiproxy/resources/{path*}` [id, path?] — Update local UI → 401/403/404/500
  - DELETE   `/devices/{id}/remoteuiproxy/resources/{path*}` [id, path?] — Update local UI → 401/403/404/500
  - PATCH    `/devices/{id}/remoteuiproxy/resources/{path*}` [id, path?] — Update local UI → 401/403/404/500
  - GET      `/devices/{id}/system/configuration/power` [id] — Get configuration - power. → 200/400/401/403/404/500
  - PUT      `/devices/{id}/system/configuration/power` [id] — Set configuration - power. → 200/400/401/403/404/500
  - GET      `/devices/{id}/router/ospf/areas` [id] — All OSPF areas. → 200/400/401/403/404/500
  - POST     `/devices/{id}/router/ospf/areas` [id] — Create new OSPF area. → 200/400/401/403/404/500
  - GET      `/devices/{deviceId}/udapi/{version}/{udapiUrl*}` [deviceId, version, udapiUrl] — Udapi device request. → 200/400/401/403/404/500/501
  - POST     `/devices/{deviceId}/udapi/{version}/{udapiUrl*}` [deviceId, version, udapiUrl] — Udapi device request. → 200/400/401/403/404/500/501
  - PUT      `/devices/{deviceId}/udapi/{version}/{udapiUrl*}` [deviceId, version, udapiUrl] — Udapi device request. → 200/400/401/403/404/500/501
  - PATCH    `/devices/{deviceId}/udapi/{version}/{udapiUrl*}` [deviceId, version, udapiUrl] — Udapi device request. → 200/400/401/403/404/500/501
  - DELETE   `/devices/{deviceId}/udapi/{version}/{udapiUrl*}` [deviceId, version, udapiUrl] — Udapi device request. → 200/400/401/403/404/500/501
  - GET      `/devices/{deviceId}/interfaces/data-link/available` [deviceId, dataLinkId?] — Return list of interfaces available to create data link. → 200/400/401/403/404/500
  - GET      `/devices/erouters/{id}/router/ospf/areas` [id] — All OSPF areas. [Deprecated in favor of route GET /nms/api/v2.1/devices/{id}/router/ospf/areas] → 200/400/401/403/404/500
  - POST     `/devices/erouters/{id}/router/ospf/areas` [id] — Create new OSPF area. [Deprecated in favor of route POST /nms/api/v2.1/devices/{id}/router/ospf/areas] → 200/400/401/403/404/500
  - GET      `/devices/erouters/{id}/dhcp/servers/{serverName}` [id, serverName] — Get DHCP server configuration. → 200/400/401/403/404/500
  - PUT      `/devices/erouters/{id}/dhcp/servers/{serverName}` [id, serverName] — Update DHCP server configuration. → 200/400/401/403/404/500
  - DELETE   `/devices/erouters/{id}/dhcp/servers/{serverName}` [id, serverName] — Delete DHCP server. → 200/400/401/403/404/500
  - GET      `/devices/uisprlxcs/{id}/dhcp/servers/{serverName}` [id, serverName] — Get DHCP server configuration. → 200/400/401/403/404/500
  - PUT      `/devices/uisprlxcs/{id}/dhcp/servers/{serverName}` [id, serverName] — Update DHCP server configuration. → 200/400/401/403/404/500
  - DELETE   `/devices/uisprlxcs/{id}/dhcp/servers/{serverName}` [id, serverName] — Delete DHCP server. → 200/400/401/403/404/500
  - GET      `/devices/uisprlxcs/{id}/router/ospf/areas` [id] — All OSPF areas. [Deprecated in favor of route GET /nms/api/v2.1/devices/{id}/router/ospf/areas] → 200/400/401/403/404/500
  - POST     `/devices/uisprlxcs/{id}/router/ospf/areas` [id] — Create new OSPF area. [Deprecated in favor of route POST /nms/api/v2.1/devices/{id}/router/ospf/areas] → 200/400/401/403/404/500
  - GET      `/devices/uisprlxcs/{id}/router/ospf/interfaces` [id] — All OSPF Interface. [Deprecated in favor of route GET /nms/api/v2.1/devices/{deviceId}/interfaces] → 200/400/401/403/404/500
  - GET      `/devices/uisprs/{id}/dhcp/servers/{serverName}` [id, serverName] — Get DHCP server configuration. [Deprecated in favor of route GET /nms/api/v2.1/devices/{id}/configuration] → 200/400/401/403/404/500
  - PUT      `/devices/uisprs/{id}/dhcp/servers/{serverName}` [id, serverName] — Update DHCP server configuration. [Deprecated in favor of route PUT /nms/api/v2.1/devices/{id}/configuration] → 200/400/401/403/404/500
  - DELETE   `/devices/uisprs/{id}/dhcp/servers/{serverName}` [id, serverName] — Delete DHCP server. [Deprecated in favor of route PUT /nms/api/v2.1/devices/{id}/configuration] → 200/400/401/403/404/500
  - GET      `/devices/uisprs/{id}/router/ospf/areas` [id] — All OSPF areas. [Deprecated in favor of route GET /nms/api/v2.1/devices/{id}/router/ospf/areas] → 200/400/401/403/404/500
  - POST     `/devices/uisprs/{id}/router/ospf/areas` [id] — Create new OSPF area. [Deprecated in favor of route POST /nms/api/v2.1/devices/{id}/router/ospf/areas] → 200/400/401/403/404/500
  - GET      `/devices/uisprs/{id}/router/ospf/interfaces` [id] — All OSPF Interface. [Deprecated in favor of route GET /nms/api/v2.1/devices/{deviceId}/interfaces] → 200/400/401/403/404/500
  - POST     `/devices/authorize` — Authorize single or multiple devices. → 200/400/401/403/500
  - POST     `/devices/backups` — Create and download a new multi device backup. → 400/401/403/500
  - POST     `/devices/bulkdelete` — Delete devices. → 200/400/401/403/500
  - POST     `/devices/bulkrestart` — Restart devices, devices action reboot. → 200/400/401/403/500
  - POST     `/devices/endpoints-for-parallel-firmware-upgrade` — Returns endpoint devices for parallel firmware upgrade in groups. → 200/400/401/403/500
  - POST     `/devices/get-configuration` — Get multiple devices configuration. → 200/400/401/403/404/500
  - POST     `/devices/import` — 
      Complex devices import which internally use discovery and creates blackboxes for unreachable and non-UBNT devices.
       → 200/400/401/403/404/500
  - POST     `/devices/merge` — Merge two devices. → 200/400/401/403/500
  - POST     `/devices/preregistration` — Create a preregistered device, sort of a "placeholder" for a device to be adopted in the future → 200/400/401/403/500
  - POST     `/devices/refresh` — Reset devices specific AES keys to universal AES keys. → 200/400/401/403/500
  - POST     `/devices/update-configuration` — Update multiple devices and/or onus configuration. → 200/400/401/403/404/500
  - POST     `/devices/airmaxes/stations` — Returns AirMax stations for AirMax access points. → 200/400/401/403/500
  - POST     `/devices/blackboxes/config` — Create new BlackBox device config. → 201/400/401/403/404/409/500
  - POST     `/devices/configuration-history/delete` — Delete saved history of configurations by configuration IDs. → 200/400/401/403/404/500
  - POST     `/devices/connect/other` — Find and connect other device using IP address → 200/400/401/404/500
  - POST     `/devices/connect/ubnt` — Find and connect UBNT device using IP and provided credentials. → 200/400/401/500
  - POST     `/devices/maintenance/disable` — Disable maintenance mode on one or more devices. → 200/401/404/500
  - POST     `/devices/maintenance/enable` — Enable maintenance mode on one or more devices. → 200/401/404/500
  - POST     `/devices/{deviceId}/switch-static-to-dhcp-ip` [deviceId] — Switch static IP address to DHCP - gateway (route), DNS servers (system) and interface. → 200/400/401/403/500
  - POST     `/devices/{id}/unassign` [id] — Unassign device. → 200/400/401/403/404/500
  - POST     `/devices/{id}/refresh` [id] — Reset device specific AES key to universal AES key. → 200/400/401/403/500
  - POST     `/devices/{id}/debug` [id] — Enable debug logging. → 200/400/401/403/500
  - POST     `/devices/{id}/authorize` [id] — Authorize device. [Deprecated in favor of route POST /nms/api/v2.1/devices/authorize] → 200/400/401/403/500
  - POST     `/devices/{id}/restart` [id] — Restart device, device action reboot. → 200/400/401/403/500
  - POST     `/devices/{id}/upgrade-to-latest` [id] — 
      Upgrade device FW to the latest FW version in UISP. It's possible to track upgrade process via /tasks API.
       → 200/400/401/403/404/422/500
  - POST     `/devices/{id}/update` [id] — Set update of device to realtime profile. → 200/400/401/403/404/500
  - POST     `/devices/{id}/reset-link-score` [id] — Reset link score. → 200/400/401/403/500
  - POST     `/devices/{id}/switch-dhcp-to-static-ip` [id] — Switch DHCP to static IP address - gateway (route), DNS servers (system) and interface. → 200/400/401/403/500
  - POST     `/devices/onus/{id}/update` [id] — Set update of ONU to realtime detail. → 200/400/401/403/404/500
  - POST     `/devices/system/unms/hostname` — Update devices UISP Key hostname and port. → 200/400/401/403/404/422/500
  - POST     `/devices/system/unms/key` — Update devices UISP Key. → 200/400/401/403/404/422/500
  - POST     `/devices/{deviceId}/speed-tests/start` [deviceId] — Execute speed test on device [device to internet, device to device]. → 200/400/401/403/422/500
  - POST     `/devices/{deviceId}/interfaces/lag` [deviceId] — Create new Lag interface. → 200/400/401/403/404/500
  - POST     `/devices/{deviceId}/interfaces/vlan` [deviceId] — Create new VLAN interface. → 200/400/401/403/404/500
  - POST     `/devices/{deviceId}/interfaces/delete-with-ip-transfer` [deviceId] — Delete interface and transfer its IP configuration to another interface. → 200/400/401/403/404/500
  - POST     `/devices/{id}/system/reset-total-power` [id] — Reset total power consumption. → 200/400/401/403/404/500
  - POST     `/devices/{id}/system/power-cycle` [id] — Turns off selected output for a short time. → 200/400/401/403/404/500
  - POST     `/devices/{deviceId}/interfaces/disablelag` [deviceId] — Disable link aggregation. → 200/400/401/403/404/500/501
  - POST     `/devices/{id}/locate/stop` [id] — Stop locating indication on device. → 200/400/401/403/404/500
  - POST     `/devices/{id}/iplink/redirect` [id] — Perform device authorization before opening a devices UI. → 200/400/401/403/500
  - POST     `/devices/{id}/locate/start` [id] — Start locating indication on device. → 200/400/401/403/404/500
  - POST     `/devices/{deviceId}/interfaces/enablelag` [deviceId] — Enable link aggregation. → 200/400/401/403/404/500/501
  - POST     `/devices/{id}/system/reset-battery-status` [id] — Reset battery status. → 200/400/401/403/404/500
  - POST     `/devices/{deviceId}/interfaces/bridge` [deviceId] — Create new Bridge interface. → 200/400/401/403/404/500
  - POST     `/devices/{deviceId}/interfaces/pppoe` [deviceId] — Create new PPPoE interface. → 200/400/401/403/404/500
  - POST     `/devices/{deviceId}/interfaces/{interfaceName}/reset` [deviceId, interfaceName] — Reset port. → 200/400/401/403/404/500
  - POST     `/devices/{deviceId}/interfaces/{interfaceName}/unblock` [deviceId, interfaceName] — Unblock interface. → 200/400/401/403/404/500
  - POST     `/devices/{id}/router/routes/unblock` [id] — Unblock static route. → 200/400/401/403/404/500
  - POST     `/devices/{id}/router/routes/delete` [id] — Delete route. → 200/400/401/403/404/500
  - POST     `/devices/{deviceId}/interfaces/{interfaceId}/resetstats` [deviceId, interfaceId] — Reset interface statistics. → 200/400/401/403/500
  - POST     `/devices/{id}/router/routes/block` [id] — Block static route. → 200/400/401/403/404/500
  - POST     `/devices/{id}/tools/sms/send` [id] — Sends SMS. → 200/400/401/403/404/500
  - POST     `/devices/{deviceId}/backups/{backupId}/apply` [deviceId, backupId] — Restore the device configuration from a backup file (followed by a device restart if necessary). → 200/400/401/403/404/500
  - POST     `/devices/{deviceId}/interfaces/{interfaceName}/block` [deviceId, interfaceName] — Block interface. → 200/400/401/403/404/500
  - POST     `/devices/{deviceId}/interfaces/{interfaceName}/cable-test` [deviceId, interfaceName] — Cable test port. → 200/400/401/403/404/500
  - POST     `/devices/erouters/{id}/router/routes/block` [id] — Block static route. [Deprecated in favor of route POST /nms/api/v2.1/devices/{id}/router/routes/block] → 200/400/401/403/404/500
  - POST     `/devices/erouters/{id}/router/routes/delete` [id] — Delete route. [Deprecated in favor of route POST /nms/api/v2.1/devices/{id}/router/routes/delete] → 200/400/401/403/404/500
  - POST     `/devices/erouters/{id}/router/routes/unblock` [id] — Unblock static route. [Deprecated in favor of route POST /nms/api/v2.1/devices/{id}/router/routes/unblock] → 200/400/401/403/404/500
  - POST     `/devices/uisprlxcs/{id}/firewall/sets/set` [id] — Create firewall set. → 200/400/401/404/500
  - PUT      `/devices/uisprlxcs/{id}/firewall/sets/set` [id, isComposeRequest?] — Updates firewall set. → 200/400/401/404/500
  - DELETE   `/devices/uisprlxcs/{id}/firewall/sets/set` [id, name, type] — Deletes firewall set. → 200/400/401/404/500
  - POST     `/devices/uisprlxcs/{id}/router/routes/unblock` [id] — Unblock static route. [Deprecated in favor of route POST /nms/api/v2.1/devices/{id}/router/routes/unblock] → 200/400/401/403/404/500
  - POST     `/devices/uisprlxcs/{id}/router/routes/delete` [id] — Delete route. [Deprecated in favor of route POST /nms/api/v2.1/devices/{id}/router/routes/delete] → 200/400/401/403/404/500
  - POST     `/devices/uisprlxcs/{id}/router/routes/block` [id] — Block static route. [Deprecated in favor of route POST /nms/api/v2.1/devices/{id}/router/routes/block] → 200/400/401/403/404/500
  - POST     `/devices/uisprlxcs/{id}/router/ospf/interface` [id] — Create new OSPF Interface. [Deprecated in favor of route PUT /nms/api/v2.1/devices/{deviceId}/interfaces/{interfaceName}/ospf] → 200/400/401/403/404/500
  - PUT      `/devices/uisprlxcs/{id}/router/ospf/interface` [id] — Update OSPF Interface. [Deprecated in favor of route PUT /nms/api/v2.1/devices/{deviceId}/interfaces/{interfaceName}/ospf] → 200/400/401/403/404/500
  - POST     `/devices/uisprlxcs/{id}/firewall/nats/rule` [id] — Create firewall NAT rule. → 200/400/401/404/500
  - PUT      `/devices/uisprlxcs/{id}/firewall/nats/rule` [id] — Updates firewall NAT rule. → 200/400/401/404/500
  - POST     `/devices/uisprs/{id}/firewall/sets/set` [id] — Create firewall set. → 200/400/401/404/500
  - PUT      `/devices/uisprs/{id}/firewall/sets/set` [id, isComposeRequest?] — Updates firewall set. → 200/400/401/404/500
  - DELETE   `/devices/uisprs/{id}/firewall/sets/set` [id, name, type, isComposeRequest?] — Deletes firewall set. → 200/400/401/404/500
  - POST     `/devices/uisprs/{id}/router/routes/unblock` [id] — Unblock static route. [Deprecated in favor of route POST /nms/api/v2.1/devices/{id}/router/routes/unblock] → 200/400/401/403/404/500
  - POST     `/devices/uisprs/{id}/router/routes/delete` [id] — Delete route. [Deprecated in favor of route POST /nms/api/v2.1/devices/{id}/router/routes/delete] → 200/400/401/403/404/500
  - POST     `/devices/uisprs/{id}/router/routes/block` [id] — Block static route. [Deprecated in favor of route POST /nms/api/v2.1/devices/{id}/router/routes/block] → 200/400/401/403/404/500
  - POST     `/devices/uisprs/{id}/router/ospf/interface` [id] — Create new OSPF Interface. [Deprecated in favor of route PUT /nms/api/v2.1/devices/{deviceId}/interfaces/{interfaceName}/ospf] → 200/400/401/403/404/500
  - PUT      `/devices/uisprs/{id}/router/ospf/interface` [id] — Update OSPF Interface. [Deprecated in favor of route PUT /nms/api/v2.1/devices/{deviceId}/interfaces/{interfaceName}/ospf] → 200/400/401/403/404/500
  - POST     `/devices/uisprs/{id}/firewall/nats/rule` [id, isComposeRequest?] — Create firewall NAT rule. → 200/400/401/404/500
  - PUT      `/devices/uisprs/{id}/firewall/nats/rule` [id, isComposeRequest?] — Updates firewall NAT rule. → 200/400/401/404/500
  - POST     `/devices/{id}/system/unms/key/reachable` [id] — Checks if the UISP Key is reachable from the device. → 200/400/401/403/404/500
  - POST     `/devices/{id}/system/unms/hostname/reachable` [id] — Checks if the hostname and port is reachable from the device. → 200/400/401/403/404/500
  - POST     `/devices/erouters/{id}/dhcp/servers/{serverName}/block` [id, serverName] — Block DHCP server. → 200/400/401/403/404/500
  - POST     `/devices/erouters/{id}/dhcp/servers/{serverName}/unblock` [id, serverName] — Unblock DHCP server. → 200/400/401/403/404/500
  - POST     `/devices/uisprlxcs/{id}/firewall/mangles/{mangleName}/rule` [id, mangleName] — Create firewall mangles rule. → 200/400/401/404/500
  - PUT      `/devices/uisprlxcs/{id}/firewall/mangles/{mangleName}/rule` [id, mangleName] — Updates firewall mangle rule. → 200/400/401/404/500
  - POST     `/devices/uisprlxcs/{id}/dhcp/servers/{serverName}/block` [id, serverName] — Block DHCP server. → 200/400/401/403/404/500
  - POST     `/devices/uisprlxcs/{id}/dhcp/servers/{serverName}/unblock` [id, serverName] — Unblock DHCP server. → 200/400/401/403/404/500
  - POST     `/devices/uisprlxcs/{id}/firewall/filters/{filterName}/rule` [id, filterName, isComposeRequest?] — Create firewall filter rule. → 200/400/401/404/500
  - PUT      `/devices/uisprlxcs/{id}/firewall/filters/{filterName}/rule` [id, filterName, isComposeRequest?] — Updates firewall filter rule. → 200/400/401/404/500
  - POST     `/devices/uisprs/{id}/firewall/mangles/{mangleName}/rule` [id, mangleName] — Create firewall mangles rule. → 200/400/401/404/500
  - PUT      `/devices/uisprs/{id}/firewall/mangles/{mangleName}/rule` [id, mangleName] — Updates firewall mangle rule. → 200/400/401/404/500
  - POST     `/devices/uisprs/{id}/dhcp/servers/{serverName}/block` [id, serverName] — Block DHCP server. [Deprecated in favor of route PUT /nms/api/v2.1/devices/{id}/configuration] → 200/400/401/403/404/500
  - POST     `/devices/uisprs/{id}/dhcp/servers/{serverName}/unblock` [id, serverName] — Unblock DHCP server. [Deprecated in favor of route PUT /nms/api/v2.1/devices/{id}/configuration] → 200/400/401/403/404/500
  - POST     `/devices/uisprs/{id}/firewall/filters/{filterName}/rule` [id, filterName, isComposeRequest?] — Create firewall filter rule. → 200/400/401/404/500
  - PUT      `/devices/uisprs/{id}/firewall/filters/{filterName}/rule` [id, filterName, isComposeRequest?] — Updates firewall filter rule. → 200/400/401/404/500
  - PUT      `/devices/onus/{id}/system` [id] — Update an Onu's system settings. [Deprecated in favor of route "/nms/api/v2.1/devices/update-configuration"] → 200/400/401/403/404/500
  - PUT      `/devices/{id}/system/users` [id] — Update device system users. → 200/400/401/403/404/500
  - PUT      `/devices/{id}/compose/confirm` [id, composeId] — Confirm compose request → 200/400/401/403/404/500
  - PUT      `/devices/airmaxes/{id}/system/users` [id] — Update AirMax system users. [Deprecated in favor of route PUT /nms/api/v2.1/devices/{id}/system] → 200/400/401/403/404/500
  - PUT      `/devices/eswitches/{id}/system/users` [id] — Update EdgeSwitch system users. [Deprecated in favor of route PUT /nms/api/v2.1/devices/{id}/system] → 200/400/401/403/404/500
  - PUT      `/devices/toughswitches/{id}/system/users` [id] — Update ToughSwitch system users. [Deprecated in favor of route PUT /nms/api/v2.1/devices/{id}/system] → 200/400/401/403/404/500
  - PUT      `/devices/uispss/{id}/system/users` [id] — Update UISP Switch system users. [Deprecated in favor of route PUT /nms/api/v2.1/devices/{id}/system] → 200/400/401/403/404/500
  - PUT      `/devices/{deviceId}/interfaces/{interfaceName}/ospf` [deviceId, interfaceName] — Set interface OSPF config. → 200/400/401/403/404/500
  - DELETE   `/devices/{deviceId}/interfaces/{interfaceName}/ospf` [deviceId, interfaceName] — Unset interface OSPF config. → 200/400/401/403/404/500
  - PUT      `/devices/uisprlxcs/{id}/firewall/filter/chain` [id, isComposeRequest?] — Update firewall filter chain. Useful for changing rules order. → 200/400/401/404/500
  - PUT      `/devices/uisprlxcs/{id}/firewall/nats/rules` [id] — Updates firewall NAT rules. Useful for changing rules order. → 200/400/401/404/500
  - PUT      `/devices/uisprs/{id}/firewall/filter/chain` [id, isComposeRequest?] — Update firewall filter chain. Useful for changing rules order. → 200/400/401/404/500
  - PUT      `/devices/uisprs/{id}/firewall/nats/rules` [id, isComposeRequest?] — Updates firewall NAT rules. Useful for changing rules order. → 200/400/401/404/500
  - PUT      `/devices/{id}/router/ospf/areas/{areaId}` [id, areaId] — Update OSPF area. → 200/400/401/403/404/500
  - DELETE   `/devices/{id}/router/ospf/areas/{areaId}` [id, areaId] — Delete OSPF area. → 200/400/401/403/404/500
  - PUT      `/devices/erouters/{id}/dhcp/leases/{serverName}/{leaseId}` [id, serverName, leaseId] — Update DHCP IP lease. → 200/400/401/403/404/500
  - DELETE   `/devices/erouters/{id}/dhcp/leases/{serverName}/{leaseId}` [id, serverName, leaseId] — Update DHCP IP lease. → 200/400/401/403/404/500
  - PUT      `/devices/erouters/{id}/router/ospf/areas/{areaId}` [id, areaId] — Update OSPF area. [Deprecated in favor of route PUT /nms/api/v2.1/devices/{id}/router/ospf/areas/{areaId}] → 200/400/401/403/404/500
  - DELETE   `/devices/erouters/{id}/router/ospf/areas/{areaId}` [id, areaId] — Delete OSPF area. [Deprecated in favor of route DELETE /nms/api/v2.1/devices/{id}/router/ospf/areas/{areaId}] → 200/400/401/403/404/500
  - PUT      `/devices/uisprlxcs/{id}/router/ospf/areas/{areaId}` [id, areaId] — Update OSPF area. [Deprecated in favor of route PUT /nms/api/v2.1/devices/{id}/router/ospf/areas/{areaId}] → 200/400/401/403/404/500
  - DELETE   `/devices/uisprlxcs/{id}/router/ospf/areas/{areaId}` [id, areaId] — Delete OSPF area. [Deprecated in favor of route DELETE /nms/api/v2.1/devices/{id}/router/ospf/areas/{areaId}] → 200/400/401/403/404/500
  - PUT      `/devices/uisprlxcs/{id}/dhcp/leases/{serverName}/{leaseId}` [id, serverName, leaseId] — Update DHCP IP lease. → 200/400/401/403/404/500
  - DELETE   `/devices/uisprlxcs/{id}/dhcp/leases/{serverName}/{leaseId}` [id, serverName, leaseId] — Delete DHCP IP lease. → 200/400/401/403/404/500
  - PUT      `/devices/uisprs/{id}/router/ospf/areas/{areaId}` [id, areaId] — Update OSPF area. [Deprecated in favor of route PUT /nms/api/v2.1/devices/{id}/router/ospf/areas/{areaId}] → 200/400/401/403/404/500
  - DELETE   `/devices/uisprs/{id}/router/ospf/areas/{areaId}` [id, areaId] — Delete OSPF area. [Deprecated in favor of route DELETE /nms/api/v2.1/devices/{id}/router/ospf/areas/{areaId}] → 200/400/401/403/404/500
  - PUT      `/devices/uisprs/{id}/dhcp/leases/{serverName}/{leaseId}` [id, serverName, leaseId] — Update DHCP IP lease. [Deprecated in favor of route PUT /nms/api/v2.1/devices/{id}/configuration] → 200/400/401/403/404/500
  - DELETE   `/devices/uisprs/{id}/dhcp/leases/{serverName}/{leaseId}` [id, serverName, leaseId] — Delete DHCP IP lease. [Deprecated in favor of route PUT /nms/api/v2.1/devices/{id}/configuration] → 200/400/401/403/404/500
  - DELETE   `/devices/unknown/{ipAddress}` [ipAddress] — Delete unknown client devices (based on detected network traffic). → 200/400/401/403/500
  - DELETE   `/devices/{id}/stations` [id] — Delete station from this device. → 200/400/401/403/404/500
  - DELETE   `/devices/{id}/vlans/{vlanId}` [id, vlanId, isComposeRequest?] — Delete a device's VLAN. → 200/400/401/403/500
  - DELETE   `/devices/uisprlxcs/{id}/firewall/nats/rule/{ruleId}` [id, ruleId] — Deletes firewall NAT rule. → 200/400/401/404/500
  - DELETE   `/devices/uisprlxcs/{id}/router/ospf/interfaces/{interfaceName}` [id, interfaceName] — Delete OSPF Interface. [Deprecated in favor of route DELETE /nms/api/v2.1/devices/{deviceId}/interfaces/{interfaceName}/ospf] → 200/400/401/403/404/500
  - DELETE   `/devices/uisprs/{id}/firewall/nats/rule/{ruleId}` [id, ruleId, isComposeRequest?] — Deletes firewall NAT rule. → 200/400/401/404/500
  - DELETE   `/devices/uisprs/{id}/router/ospf/interfaces/{interfaceName}` [id, interfaceName] — Delete OSPF Interface. [Deprecated in favor of route DELETE /nms/api/v2.1/devices/{deviceId}/interfaces/{interfaceName}/ospf] → 200/400/401/403/404/500
  - DELETE   `/devices/uisprlxcs/{id}/firewall/filters/{filterName}/rule/{ruleId}` [id, filterName, ruleId, isComposeRequest?] — Deletes firewall filter rule. → 200/400/401/404/500
  - DELETE   `/devices/uisprlxcs/{id}/firewall/mangles/{mangleName}/rule/{ruleId}` [id, mangleName, ruleId] — Deletes firewall mangle rule. → 200/400/401/404/500
  - DELETE   `/devices/uisprs/{id}/firewall/filters/{filterName}/rule/{ruleId}` [id, filterName, ruleId, isComposeRequest?] — Deletes firewall filter rule. → 200/400/401/404/500
  - DELETE   `/devices/uisprs/{id}/firewall/mangles/{mangleName}/rule/{ruleId}` [id, mangleName, ruleId] — Deletes firewall mangle rule. → 200/400/401/404/500

## Discovery — _Scan for devices and connect them to UISP._

  - GET      `/discovery/scan-status` — Get current scan status (payload is WIP). → 200/400/401/500
  - GET      `/discovery/status/{deviceId}` — Get device's discovery status. → 200/400/401/404/500
  - POST     `/discovery/import` — Import devices to discovery. → 200/400/401/500
  - POST     `/discovery/rescan` — Restart scanning process. → 200/400/401/500
  - POST     `/discovery/connect/other` — Start connect process for discovered other devices. → 200/400/401/500
  - POST     `/discovery/connect/ubnt` — Start connect process for discovered UBNT devices. → 200/400/401/500

## Export — _Client data export._

  - GET      `/gdpr/clients/{id}` [id] — Download GDPR Client Report. → 400/401/403/404/500

## Firmware — _Manage firmware files in UISP._

  - GET      `/firmwares` — Fetch available firmware. → 200/401/403/500
  - POST     `/firmwares` — Upload new firmware image. → 200/401/403/500
  - GET      `/firmwares-per-devices` — Fetches current firmware statuses and available firmwares for all devices. → 200/401/403/500
  - POST     `/firmwares/delete` — Batch firmware delete. → 200/401/403/500
  - POST     `/firmwares/download` — Batch firmware download. → 200/401/403/500

## Gateways — _Setup network device gateways._

  - GET      `/gateways` — Get all gateways. → 200/401/403/500
  - POST     `/gateways` — Create a new gateway. → 200/400/401/403/500
  - GET      `/gateways/{id}` — Get gateway detail → 200/401/403/404/500
  - PUT      `/gateways/{id}` [id] — Update a gateway. → 200/400/401/403/404/500
  - DELETE   `/gateways/{id}` [id] — Delete a gateway. → 200/401/403/404/500
  - GET      `/gateways/{id}/speed` [id] — Get current and last 24-hour peak of up/down speed of a gateway → 200/401/403/404/500

## Logs — _View devices log lines._

  - GET      `/logs` [count, page, siteId?, deviceId?, start?, level?, tag?, period?, query?] — List of all log items. → 200/400/401/403/500
  - POST     `/logs/end-alerts` [ids?] — End alerts for log items by log ids. → 200/400/401/403/500

## Outages — _View devices outages._

  - GET      `/outages` [count, page, deviceId?, siteId?, start?, period?, query?, type?, inProgress?, haveEnded?, grouped?] — List of all network outages for last month. → 200/400/401/403/404/500

## Server — _UISP settings with SMTP configuration, SSL and backups configuration._

  - GET      `/nms/address` — Get IP address of the UISP server, resolve hostname if necessary. → 200/401/403/500
  - GET      `/nms/changed` [since, ucrm?] — List of items in UISP that changed since given timestamp. → 200/401/403/500
  - GET      `/nms/cloud-config` — Supply UISP instance cloud config, i.e. notifications, current tier and list of tiers. → 200/401/403/406/500
  - GET      `/nms/connection` — Return UISP Key for UISP server. → 200/401/403/500
  - GET      `/nms/enums` — Return UISP enumerations. → 200/401/403/500
  - GET      `/nms/heartbeat` — Liveness check. → 200/500
  - GET      `/nms/info` [ip?] — Return UISP info. → 200/400/403/405/500/503
  - GET      `/nms/log-verbosity` — Get current server log verbosity. → 200/401/403/500
  - POST     `/nms/log-verbosity` — Change current server log verbosity and generate profile. → 200/401/403/500
  - GET      `/nms/mailserver` — Fetch mail server settings. → 200/401/403/500
  - PUT      `/nms/mailserver` — Update mail server settings. → 200/401/403/500
  - GET      `/nms/notifications` — Get UISP instance notifications. → 200/401/403/412/422/500
  - PUT      `/nms/notifications` — Supply UISP instance notifications. → 200/401/403/412/422/500
  - GET      `/nms/search` [query?, count, page] — Search UISP. → 200/401/403/500
  - GET      `/nms/server-config` — Return UISP server configuration. → 200/500
  - GET      `/nms/server-time` — Get server time of the UISP server. → 200/401/403/500
  - GET      `/nms/settings` — Get UISP settings. → 200/401/403/500
  - PUT      `/nms/settings` — Update UISP settings. → 200/401/403/412/422/500
  - GET      `/nms/setup` — Return status of UISP setup. → 200/500
  - POST     `/nms/setup` — Setup UISP instance. → 200/403/500
  - GET      `/nms/statistics` [interval?, start?, period?] — Get UISP Network statistics. → 200/401/403/406/500
  - GET      `/nms/subscriber` — Get subscriber detail with QoS and device list → 200/400/401/403/404/500
  - GET      `/nms/summary` [outagesTimestamp?, logsTimestamp?, logsLevel, firmwaresTimestamp?] — Various badge-count like values, e.g. unread logs count. → 200/401/403/500
  - GET      `/nms/traffic` — Return netflow traffic status. → 200/401/403/500
  - GET      `/nms/update` — Get UISP update status. → 200/401/403/500/503
  - PUT      `/nms/update` — Request UISP update. → 200/401/403/500/503
  - GET      `/nms/version` — Get UISP version. → 200/500
  - GET      `/nms/dashboard/data` — Various data for dashboard. → 200/401/403/500
  - GET      `/nms/maintenance/backup` — Download data backup. → 401/403/500
  - PUT      `/nms/maintenance/backup` — Upload data backup. → 200/401/403/500
  - GET      `/nms/maintenance/supportinfo` [period] — Download UISP support file. → 401/403/500
  - GET      `/nms/questionnaires/active` — Get currently active questionnaire. → 200/400/401/403/500
  - GET      `/nms/speed/report` [siteId?, sortBy?, sortDesc?, count?, page?] — Results of speed report. → 200/405/500
  - POST     `/nms/speed/report` — Endpoint for reporting speed. Mobile application WiFiman can share speed result for example. → 200/400/401/403/404/405/500
  - GET      `/nms/traffic/blacklist` — Get subnets that are ignored by traffic collection. → 200/401/403/500
  - POST     `/nms/traffic/blacklist` — Set subnets that are ignored by traffic collection. → 200/401/403/500
  - GET      `/nms/traffic/subnets` — Get subnets that are relevant for traffic collection. → 200/401/403/500
  - POST     `/nms/traffic/subnets` — Set subnets that are relevant for traffic collection. → 200/401/403/500
  - GET      `/nms/update/log` — Get latest update log. → 200/401/403/500/503
  - GET      `/nms/version/latest` — Get latest UISP version. → 200/403/500
  - GET      `/nms/maintenance/backup/restore` — Restores uploaded UISP backup file. → 200/401/403/500
  - DELETE   `/nms/maintenance/backup/restore` — Clears uploaded UISP backup file. → 200/401/403/500
  - GET      `/nms/statistics/throughput/{type}/{deviceId}` [deviceId?, type, interval?, start?, period?] — Get Gateway(s) and Olt(s) network activity data for dashboard. → 200/401/403/500
  - POST     `/nms/migrate` — Start migration to enable transfer. → 200/401/403/500
  - POST     `/nms/mailserver/test` — Test mail server settings by sending email. → 200/401/403/500
  - POST     `/nms/setup/finish` — Set UISP setup finished. → 200/500
  - POST     `/nms/setup/start` — Set UISP setup started. → 200/500
  - POST     `/nms/setup/survey` — Submit setup survey. → 200/500
  - POST     `/nms/questionnaires/{id}/touch` [id] — Mark the questionnaire as visited. It will pop up later if it is not submitted. → 200/400/401/403/500
  - POST     `/nms/questionnaires/{id}/submit` [id] — Submit answers to questionnaire. → 200/400/401/403/500
  - POST     `/nms/speed/report/bulkdelete` — Bulk delete speed reports. → 200/400/401/500
  - POST     `/nms/subscriber/device/{deviceId}` [deviceId] — Set device information possessed by subscriber → 200/400/401/403/404/500
  - POST     `/nms/subscriber/station/{mac}` [mac] — Set station information possessed by subscriber → 200/400/401/403/404/500
  - PUT      `/nms/refresh-certificate` — Refresh UISP certificate. → 200/401/403/500
  - PUT      `/nms/settings/allow-unms-beta` — Update UISP allowUnmsBetaVersion settings. → 200/401/403/412/422/500
  - DELETE   `/nms/speed/report/{id}` [id] — Delete speed report. → 200/400/401/403/404/500

## Sites — _Manage sites and clients (former endpoints), their pictures and network structure._

  - GET      `/sites` [id?, ip?, deviceId?, type?, ucrm?, ucrmDetails?] — List of sites in UISP. Only some combinations of query parameters are valid. → 200/400/401/403/500
  - POST     `/sites` — Create new site. → 200/400/401/403/500
  - GET      `/sites-status` — List of sites status. → 200/400/401/403/500
  - GET      `/sites/search` [query?, count, page, type?, ucrm?, latitude?, longitude?] — Search sites based on name, address, MAC address or IP address. → 200/400/401/403/404/500
  - GET      `/sites/traffic` [from, to, granularity] — Get traffic from each site between two points in time. → 200/400/401/403/500
  - GET      `/sites/{id}` [id, ucrmDetails?] — Return a site's detail. → 200/400/401/403/404/500
  - PUT      `/sites/{id}` [id] — Update site. → 200/400/401/403/404/500
  - DELETE   `/sites/{id}` [id] — Delete site. It's possible to call only on empty site. → 200/400/401/403/404/500
  - GET      `/sites/nominatim/proxy` [apiurl?] — Search map position nominatim API proxy. → 200/400/401/403/404/500
  - GET      `/sites/subscribers/statistics` — Get all subscribers statistics → 200/400/401/403/404/500
  - GET      `/sites/{siteId}/historicalStatistics` [siteId, interval, start?, period?, tableLimit?, tablePage?, sortBy?, sortOrder?, type?] — Get historical stats for site graphs. → 200/400/401/403/404/500
  - GET      `/sites/{siteId}/statistics` [siteId, interval] — Get upload and download between site and its parent site → 200/400/401/403/404/500
  - GET      `/sites/{siteId}/traffic` [siteId, from, to, granularity] — Get site traffic between two points in time. → 200/400/401/403/500
  - GET      `/sites/{id}/clients` [id, recursive?] — List of all client site ids belonging to the given site or to the given site's subtree. → 200/400/401/403/404/500
  - GET      `/sites/{id}/uplink-devices` [id, withStatistics?, interval] — Return a site's uplink devices with scores. → 200/400/401/403/404/500
  - GET      `/sites/{id}/images` [id] — Return all site images sorted by image order. → 200/400/401/403/500
  - POST     `/sites/{id}/images` [id] — Upload new image and create image thumbnail. → 200/400/401/403/500
  - GET      `/sites/{siteId}/qos` [siteId] — Get client Traffic Shaping. → 200/400/401/403/404/500
  - PUT      `/sites/{siteId}/qos` [siteId] — Update client Traffic Shaping. → 200/400/401/403/404/500
  - GET      `/sites/{siteId}/traffic/summary` [siteId, interval] — Get site total upload and download for specified interval up to now. → 200/400/401/403/500
  - GET      `/sites/{siteId}/images/{imageId}` [siteId, imageId] — Return image file. → 400/401/403/500
  - DELETE   `/sites/{siteId}/images/{imageId}` [siteId, imageId] — Delete image. → 200/400/401/403/500
  - PATCH    `/sites/{siteId}/images/{imageId}` [siteId, imageId] — Update image. → 200/400/401/403/500
  - GET      `/sites/{siteId}/traffic/interval` [siteId, interval, granularity] — Get site traffic for specified interval up to now. → 200/400/401/403/500
  - POST     `/sites/authorize-onu-bulk` — Create subscriber for every ONU and authorize. → 200/400/401/403/500
  - POST     `/sites/bulkdelete` — Delete sites. It's possible to call only on empty sites. → 200/400/401/403/500
  - POST     `/sites/devicesiterelations` [forceCreate?] — Import sites and their devices relations. → 200/400/401/403/500
  - DELETE   `/sites/devicesiterelations` — Import sites/endpoints and their devices relations. → 200/400/401/403/500
  - POST     `/sites/devicesubscriberrelations` [forceCreate?] — Import subscribers and their devices relations. → 200/400/401/403/500
  - POST     `/sites/bulkupdate/notifications` — Update sites notifications. → 200/400/401/403/500
  - POST     `/sites/ucrm/bindings` — Import UISP sites to UCRM services relations description. → 200/400/401/403/500
  - POST     `/sites/{siteId}/unsuspend` [siteId] — Unsuspend client. → 200/400/401/403/404/500
  - POST     `/sites/{subscriberId}/preregister` [subscriberId] — Set subscriber to MAC/IP address pairing for auto-authorize functionality. → 200/400/401/403/500
  - POST     `/sites/{siteId}/suspend` [siteId] — Suspend client. → 200/400/401/403/404/500
  - POST     `/sites/{siteId}/ucrm/unbind` [siteId] — Unbind UCRM services and UISP site. → 200/400/401/403/500
  - POST     `/sites/{siteId}/ucrm/bind` [siteId] — Bind UCRM services and UISP site. → 200/400/401/403/500
  - POST     `/sites/{siteId}/images/{imageId}/reorder` [siteId, imageId] — Change image order. → 200/400/401/403/500
  - POST     `/sites/{siteId}/images/{imageId}/rotateleft` [siteId, imageId] — Rotate the image 90 degrees to left. → 200/400/401/403/500
  - POST     `/sites/{siteId}/images/{imageId}/rotateright` [siteId, imageId] — Rotate the image 90 degrees to right. → 200/400/401/403/500

## Speed Test — _Speedtest between device to device or device to internet._

  - GET      `/speed-tests` — Return detail about running speedtests. → 200/401/403/500
  - GET      `/devices/{deviceId}/speed-tests/{testId}` [deviceId, testId] — Return detail about running speedtest. → 200/401/403/422/500
  - DELETE   `/devices/{deviceId}/speed-tests/{testId}` [deviceId, testId] — Stop speed test. → 200/400/401/403/404/422/500
  - POST     `/speed-tests/start` — Execute speed test between two devices. → 200/400/401/403/500
  - POST     `/devices/{deviceId}/speed-tests/start` [deviceId] — Execute speed test on device [device to internet, device to device]. → 200/400/401/403/422/500
  - DELETE   `/speed-tests/{id}` [id] — Stop speed test between two devices. → 200/400/401/403/404/500

## Tasks — _View, start or cancel UISP background tasks, for example firmware upgrade._

  - GET      `/tasks` [count, page, status?, period?] — List all tasks. → 200/401/403/500
  - POST     `/tasks` — Start FW upgrade task for a group of devices. → 200/400/401/403/404/500
  - GET      `/tasks/device-status-numbers-by-roles` — Return number of devices firmware upgrade status by roles. → 200/401/403/500
  - GET      `/tasks/in-progress` — Return number of tasks in progress state. → 200/401/403/500
  - GET      `/tasks/prepare-auto-updates` — Construct tasks for auto updates. → 200/401/403/500
  - GET      `/tasks/{batchId}` [batchId] — Returns a mass upgrade task inner task items. → 200/400/401/403/404/500
  - POST     `/tasks/cancel-for-device/{deviceId}` [deviceId] — Cancel a task for device. → 200/400/401/403/404/500
  - POST     `/tasks/{batchId}/cancel` [batchId] — Cancel a task. → 200/400/401/403/404/500

## Token — _Manage access tokens._

  - GET      `/token` — Get all API tokens. → 200/401/403/409/500
  - POST     `/token` — Create new API token. → 200/400/401/403/500
  - GET      `/token/{tokenId}` [tokenId] — Get API token by ID. → 200/401/403/404/409/500
  - DELETE   `/token/{tokenId}` [tokenId] — Delete API token. → 200/400/401/403/409/500

## Traffic — _Devices and clients traffic statistics generated thanks to NetFlow._

  - GET      `/devices/unknown` [minTraffic?] — Get unknown client devices (based on detected network traffic) ordered by total traffic. → 200/400/401/403/500
  - GET      `/nms/traffic` — Return netflow traffic status. → 200/401/403/500
  - GET      `/sites/traffic` [from, to, granularity] — Get traffic from each site between two points in time. → 200/400/401/403/500
  - GET      `/nms/traffic/blacklist` — Get subnets that are ignored by traffic collection. → 200/401/403/500
  - POST     `/nms/traffic/blacklist` — Set subnets that are ignored by traffic collection. → 200/401/403/500
  - GET      `/nms/traffic/subnets` — Get subnets that are relevant for traffic collection. → 200/401/403/500
  - POST     `/nms/traffic/subnets` — Set subnets that are relevant for traffic collection. → 200/401/403/500
  - GET      `/sites/{siteId}/traffic` [siteId, from, to, granularity] — Get site traffic between two points in time. → 200/400/401/403/500
  - GET      `/sites/{siteId}/traffic/summary` [siteId, interval] — Get site total upload and download for specified interval up to now. → 200/400/401/403/500
  - GET      `/sites/{siteId}/traffic/interval` [siteId, interval, granularity] — Get site traffic for specified interval up to now. → 200/400/401/403/500
  - POST     `/nms/migrate` — Start migration to enable transfer. → 200/401/403/500
  - DELETE   `/devices/unknown/{ipAddress}` [ipAddress] — Delete unknown client devices (based on detected network traffic). → 200/400/401/403/500

## Users — _Manage UISP users and their profiles._

  - GET      `/user` — Get the authenticated user. → 200/401/403/500
  - PUT      `/user` — Updates authenticated user. → 200/400/401/403/500
  - GET      `/users` — Return list of all users. → 200/401/403/500
  - GET      `/nms/keep-alive` — Extend validity of user token. → 200/500
  - GET      `/user/notifications/push` — Read user push notifications settings route. → 200/401/403/500
  - PATCH    `/user/notifications/push` — Save user push notifications settings route. → 200/400/401/403/500
  - GET      `/user/offline-passwords/requested` — Show status if offline passwords request is present for user. → 200/401/403/404/500
  - GET      `/user/password/is-token-valid` [token] — Checks if token for password reset is valid. → 200/400/403/500
  - POST     `/user/check-credentials` — Check user credentials. → 200/400/401/403/500
  - POST     `/user/check-session` — Check that the session token and cookie are valid. → 200/401/403/500
  - POST     `/user/location` — Updates user's location. → 200/400/401/403/500
  - POST     `/user/offline-passwords` — Generates random offline passwords for user. → 200/401/403/500
  - POST     `/users/invite` — Invite new user. → 200/400/401/403/500
  - POST     `/user/offline-passwords/confirm` — Confirms request to generate random offline passwords for authenticated user. → 200/401/403/404/500
  - POST     `/user/password/requestreset` — Request password reset. → 200/400/403/500
  - POST     `/user/password/reset` — Reset user password. → 200/400/401/500
  - POST     `/users/{id}/reinvite` [id] — Reinvites user by email. → 200/400/401/403/500
  - POST     `/users/{id}/reinvite/link` [id] — Generates new invitation link. → 200/400/401/403/500
  - PUT      `/user/preferences` — Updates authenticated user's preferences. → 200/400/401/403/500
  - PUT      `/users/{id}` [id] — Update user. → 200/400/401/403/500
  - DELETE   `/users/{id}` [id, notifyUser?] — Delete user. → 200/400/401/403/404/500

## Vault — _Device credentials vault._

  - GET      `/vault/credentials` — Get credentials vault status. → 200/401/403/500
  - POST     `/vault/credentials` — Update credentials vault status. → 200/400/401/403/404/500
  - GET      `/vault/{deviceId}/credentials` [deviceId] — Get device credentials. → 200/400/401/403/500
  - POST     `/vault/credentials/bulk-regenerate` — Bulk set new passwords for devices. → 200/400/401/403/404/412/500
  - POST     `/vault/credentials/devices` — Get devices' credentials → 200/400/401/403/500
  - POST     `/vault/credentials/regenerate` — Generate new password for vault. Returns status. → 200/400/401/403/404/412/500
  - POST     `/vault/credentials/unlock` — Unlock private or cloud pgp key. → 200/400/401/403/404/500
  - POST     `/vault/{deviceId}/credentials/change` [deviceId] — Changing vault device password for mobile app. → 200/400/401/403/404/412/500
  - POST     `/vault/{deviceId}/credentials/regenerate` [deviceId] — Generate or set new password for device. → 200/400/401/403/404/412/500
