List Hosts
GET
/ea/hosts

Description

Retrieve a list of all hosts associated with the UI account making the API call.
Note: The structure of userData and reportedState may vary depending on the UniFi OS or Network Server version. The example provided is based on UniFi OS 4.0.6.

Parameters

X-API-KEY
string
Required
header
API key
Example
curl -X GET 'https://api.ui.com/ea/hosts' \
  -H 'Accept: application/json' \
  -H 'X-API-KEY: dnF8hQgEXlkG5ipcb3pbWwTNV9MZk0Nx'

Responses

200
ok
code
Optional
data
array
Optional
hardwareId
string
Optional
id
string
Optional
ipAddress
string
Optional
isBlocked
boolean
Optional
lastConnectionStateChange
string
Optional
date-time
latestBackupTime
string
Optional
date-time
owner
boolean
Optional
registrationTime
string
Optional
date-time
reportedState
Optional
type
string
Optional
userData
Optional
httpStatusCode
integer
Optional
message
string
Optional
traceId
string
Optional
Example Response
{
  "data": [
    {
      "hardwareId": "eae0f123-0000-5111-b111-f833f56eade5",
      "id": "900A6F00301100000000074A6BA90000000007A3387E0000000063EC9853:123456789",
      "ipAddress": "192.168.220.114",
      "isBlocked": false,
      "lastConnectionStateChange": "2024-06-23T03:59:52Z",
      "latestBackupTime": "2024-06-22T11:55:10Z",
      "owner": true,
      "registrationTime": "2024-04-17T07:27:14Z",
      "reportedState": {
        "anonid": "c2705509-58a5-40c9-8b2e-d29c8574ff08",
        "apps": [
          {
            "controllerStatus": "READY",
            "name": "users",
            "port": 9080,
            "swaiVersion": 2,
            "type": "app",
            "version": "1.8.42+3695"
          }
        ],
        "availableChannels": [
          "release",
          "beta",
          "release-candidate"
        ],
        "consolesOnSameLocalNetwork": [],
        "controller_uuid": "900A6F00301100000000074A6BA90000000007A3387E0000000063EC9853:123456789",
        "controllers": [
          {
            "abridged": true,
            "controllerStatus": "READY",
            "initialDeviceListSynced": true,
            "installState": "installed",
            "isConfigured": true,
            "isInstalled": true,
            "isRunning": true,
            "name": "network",
            "port": 8081,
            "releaseChannel": "beta",
            "required": true,
            "state": "active",
            "status": "ok",
            "statusMessage": "",
            "swaiVersion": 3,
            "type": "controller",
            "uiVersion": "8.4.20.0",
            "unadoptedDevices": [],
            "updatable": true,
            "updateAvailable": null,
            "version": "8.4.20"
          },
          {
            "abridged": true,
            "controllerStatus": "READY",
            "features": {
              "stackable": false
            },
            "initialDeviceListSynced": true,
            "installState": "installed",
            "installable": true,
            "isConfigured": true,
            "isGeofencingEnabled": false,
            "isInstalled": true,
            "isRunning": true,
            "name": "protect",
            "port": 7080,
            "releaseChannel": "beta",
            "restorePercentage": 100,
            "state": "active",
            "status": "ok",
            "statusMessage": "",
            "swaiVersion": 5,
            "type": "controller",
            "uiVersion": "3.1.22",
            "unadoptedDevices": [],
            "updatable": true,
            "updateAvailable": null,
            "version": "4.0.33"
          },
          {
            "installState": "uninstalled",
            "installable": false,
            "isConfigured": false,
            "isInstalled": false,
            "isRunning": false,
            "name": "access",
            "port": 12080,
            "releaseChannel": "beta",
            "state": "inactive",
            "status": "offline",
            "statusMessage": "",
            "type": "controller",
            "unadoptedDevices": [],
            "updatable": true,
            "version": null
          },
          {
            "installState": "uninstalled",
            "installable": false,
            "isConfigured": false,
            "isInstalled": false,
            "isRunning": false,
            "name": "talk",
            "port": 30080,
            "releaseChannel": "beta",
            "state": "inactive",
            "status": "offline",
            "statusMessage": "",
            "type": "controller",
            "unadoptedDevices": [],
            "updatable": true,
            "version": null
          },
          {
            "installState": "uninstalled",
            "installable": false,
            "isConfigured": false,
            "isInstalled": false,
            "isRunning": false,
            "name": "connect",
            "port": 54480,
            "releaseChannel": "beta",
            "state": "inactive",
            "status": "offline",
            "statusMessage": "",
            "type": "controller",
            "unadoptedDevices": [],
            "updatable": true,
            "version": null
          },
          {
            "installState": "uninstalled",
            "installable": false,
            "isConfigured": false,
            "isInstalled": false,
            "isRunning": false,
            "name": "innerspace",
            "port": 17080,
            "releaseChannel": "beta",
            "state": "inactive",
            "status": "offline",
            "statusMessage": "",
            "type": "controller",
            "unadoptedDevices": [],
            "updatable": true,
            "version": null
          }
        ],
        "country": 840,
        "deviceErrorCode": null,
        "deviceState": "setup",
        "deviceStateLastChanged": 1718804749,
        "directConnectDomain": "f4e2c6c23f1307bc5608082112aa0651cbf10.id.ui.direct",
        "features": {
          "cloud": {
            "applicationEvents": true,
            "applicationEventsHttp": true
          },
          "cloudBackup": true,
          "deviceList": {
            "autolinkDevices": true,
            "partialUpdates": true,
            "ucp4Events": true
          },
          "directRemoteConnection": true,
          "hasGateway": true,
          "hasLCM": true,
          "hasLED": false,
          "infoApis": {
            "firmwareUpdate": true
          },
          "isAutomaticFailoverAvailable": false,
          "mfa": true,
          "notifications": true,
          "sharedTokens": true,
          "supportForm": true,
          "teleport": false,
          "teleportState": "DISABLED",
          "uidService": true
        },
        "firmwareUpdate": {
          "latestAvailableVersion": null
        },
        "hardware": {
          "bom": "113-00917-42",
          "cpu.id": "411fd073-00000000",
          "debianCodename": "bullseye",
          "firmwareVersion": "4.0.6",
          "hwrev": 234794,
          "mac": "F4E2C6C23F13",
          "name": "UniFi Dream Machine SE",
          "qrid": "QwWvUy",
          "reboot": "30",
          "serialno": "f4e2c6c23f13",
          "shortname": "UDMPROSE",
          "subtype": "",
          "sysid": 59948,
          "upgrade": "310",
          "uuid": "eae0f123-0000-5111-b111-f833f56eade5"
        },
        "host_type": 59948,
        "hostname": "unifi.yourdomain.com",
        "internetIssues5min": {
          "periods": [
            {
              "index": 5731574
            }
          ]
        },
        "ip": "192.168.1.226",
        "ipAddrs": [
          "fe80::f6e2:c6ff:fec2:3f15",
          "fe80::f6e2:c6ff:fec2:3f17",
          "192.168.1.226",
          "fe80::f6e2:c6ff:fec2:3f1b",
          "192.168.0.1",
          "fe80::f4e2:c6ff:fec2:3f14"
        ],
        "isStacked": false,
        "location": {
          "lat": 56.9496,
          "long": 24.0978,
          "radius": 200,
          "text": "-----------"
        },
        "mac": "F4E1C6C11F00",
        "mgmt_port": 443,
        "name": "unifi.yourdomain.com",
        "releaseChannel": "beta",
        "state": "connected",
        "timezone": "Europe/Riga",
        "uidb": {
          "guid": "0fd8c390-a0e8-4cb2-b93a-7b3051c83c46",
          "id": "e85485da-54c3-4906-8f19-3cef4116ff02",
          "images": {
            "default": "3008400039c483c496f4ad820242c447",
            "nopadding": "67b553529d0e523ca9dd4826076c5f3f",
            "topology": "8371ecdda1f00f1636a2eefadf0d7d47"
          }
        },
        "unadoptedUnifiOSDevices": [],
        "version": "4.0.180"
      },
      "type": "console",
      "userData": {
        "apps": [
          "users"
        ],
        "consoleGroupMembers": [
          {
            "mac": "F4E2C6C23F13",
            "role": "UNADOPTED",
            "roleAttributes": {
              "applications": {
                "access": {
                  "owned": false,
                  "required": false,
                  "supported": true
                },
                "connect": {
                  "owned": false,
                  "required": false,
                  "supported": true
                },
                "innerspace": {
                  "owned": false,
                  "required": false,
                  "supported": true
                },
                "network": {
                  "owned": false,
                  "required": true,
                  "supported": true
                },
                "protect": {
                  "owned": false,
                  "required": false,
                  "supported": true
                },
                "talk": {
                  "owned": false,
                  "required": false,
                  "supported": true
                }
              },
              "candidateRoles": [
                "PRIMARY"
              ],
              "connectedState": "CONNECTED",
              "connectedStateLastChanged": "2024-04-17T13:27:12.380Z"
            },
            "sysId": 59948
          }
        ],
        "controllers": [
          "network",
          "protect",
          "access",
          "talk",
          "connect",
          "innerspace"
        ],
        "email": "unifi@test-ui.com",
        "features": {
          "deviceGroups": true,
          "floorplan": {
            "canEdit": true,
            "canView": true
          },
          "manageApplications": true,
          "notifications": true,
          "pion": true,
          "webrtc": {
            "iceRestart": true,
            "mediaStreams": true,
            "twoWayAudio": true
          }
        },
        "fullName": "UniFi User",
        "localId": "f537f425-945d-49bf-8b88-e7ed6469b2bb",
        "permissions": {
          "network.management": [
            "admin"
          ],
          "protect.management": [
            "admin"
          ],
          "system.management.location": [
            "admin"
          ],
          "system.management.user": [
            "admin"
          ]
        },
        "role": "owner",
        "roleId": "eb0ac6f9-21d7-4121-98e5-078ae8bacd96",
        "status": "ACTIVE"
      }
    }
  ],
  "httpStatusCode": 200,
  "traceId": "a7dc15e0eb4527142d7823515b15f87d"
}

Responses

401
unauthorized
code
Optional
data
Optional
httpStatusCode
integer
Optional
message
string
Optional
traceId
string
Optional
Example Response
{
  "code": "unauthorized",
  "httpStatusCode": 401,
  "message": "unauthorized",
  "traceId": "a7dc15e0eb4527142d7823515b15f87d"
}

Responses

429
rate limit
code
Optional
data
Optional
httpStatusCode
integer
Optional
message
string
Optional
traceId
string
Optional

Headers

Retry-After
string
example: 5
Example Response
{
  "code": "rate_limit",
  "httpStatusCode": 429,
  "message": "rate limit exceeded, retry after 5.372786998s",
  "traceId": "a7dc15e0eb4527142d7823515b15f87d"
}

Responses

500
failed to list hosts
code
Optional
data
Optional
httpStatusCode
integer
Optional
message
string
Optional
traceId
string
Optional
Example Response
{
  "code": "server_error",
  "httpStatusCode": 500,
  "message": "failed to list hosts",
  "traceId": "a7dc15e0eb4527142d7823515b15f87d"
}

Responses

502
bad gateway
code
Optional
data
Optional
httpStatusCode
integer
Optional
message
string
Optional
traceId
string
Optional
Example Response
{
  "code": "bad_gateway",
  "httpStatusCode": 502,
  "message": "bad gateway",
  "traceId": "a7dc15e0eb4527142d7823515b15f87d"
}