Skip to content

Devices API Documentation

Overview

The Devices API provides endpoints for retrieving, refreshing, and analyzing Neat device data. This includes fetching device details, status statistics, and room-based aggregations. All requests require specific filtering parameters to function correctly.

Note: All endpoints require the header:
x-api-key: YOUR_API_KEY_HERE

Endpoints

Device Retrieval

POST /neatDevice/all/allDevices

  • Summary: Retrieves all Neat devices.
  • Description: Returns a complete list of Neat devices filtered by locationName, regionName, and roomName. Missing any of these results in a 422 error.
  • Request Body Example:
    {
      "locationName": "all",
      "regionName": "all",
      "roomName": "all"
    }
    
  • Response Example:
    [
      {
        "deviceid": "ND001",
        "devicesn": "ND123",
        "devicemodel": "ModelX",
        "status": { "connected": true, "inCallStatus": "ACTIVE" },
        "deviceconnected": true,
        "details": {
          "room": "Room A",
          "location": "HQ",
          "region": "North"
        }
      },
      {
        "deviceid": "ND002",
        "devicesn": "ND456",
        "devicemodel": "ModelY",
        "status": { "connected": false, "inCallStatus": "NONE" },
        "deviceconnected": false,
        "details": {
          "room": "Room B",
          "location": "Branch",
          "region": "South"
        }
      }
    ]
    

POST /neatDevice/{devicesn}

  • Summary: Retrieves a specific Neat device.
  • Description: Returns details of a single Neat device using its serial number (devicesn). Missing parameter returns 422.
  • Path Parameter:
  • devicesn (string, required): Device serial number.
  • Request Body Example:
    {}
    
  • Response Example:
    {
      "deviceid": "ND001",
      "devicesn": "ND123",
      "devicemodel": "ModelX",
      "status": { "connected": true, "inCallStatus": "ACTIVE" },
      "deviceconnected": true,
      "details": {
        "room": "Room A",
        "location": "HQ",
        "region": "North"
      }
    }
    

POST /neatDevice/refresh/{devicesn}

  • Summary: Refreshes and retrieves device info.
  • Description: Same as above, but also includes refreshed status info.
  • Path Parameter:
  • devicesn (string, required): Device serial number.
  • Request Body Example:
    {}
    
  • Response Example:
    {
      "deviceid": "ND001",
      "devicesn": "ND123",
      "devicemodel": "ModelX",
      "status": { "connected": true, "inCallStatus": "ACTIVE" },
      "refreshInfo": { "lastRefresh": "2025-04-10T10:00:00Z" },
      "deviceconnected": true,
      "details": {
        "room": "Room A",
        "location": "HQ",
        "region": "North"
      }
    }
    

Device Statistics

POST /neatDevice/all/totalDevices

  • Summary: Returns total count of devices.
  • Request Body Example:
    {
      "locationName": "all",
      "regionName": "all",
      "roomName": "all"
    }
    
  • Response Example:
    [7]
    

POST /neatDevice/all/devicesConnected

  • Summary: Returns number of connected devices.
  • Request Body Example:
    {
      "locationName": "all",
      "regionName": "all",
      "roomName": "all"
    }
    
  • Response Example:
    [5]
    

POST /neatDevice/all/numOfDevicesByRoom

  • Summary: Returns number of devices by room.
  • Request Body Example:
    {
      "locationName": "all",
      "regionName": "all",
      "roomName": "all"
    }
    
  • Response Example:
    [
      { "name": "Room A", "deviceCount": 3, "onlineDeviceCount": 2, "offlineDeviceCount": 1 },
      { "name": "Room B", "deviceCount": 4, "onlineDeviceCount": 3, "offlineDeviceCount": 1 }
    ]
    

POST /neatDevice/room/numOfRooms

  • Summary: Returns number of unique rooms with devices.
  • Request Body Example:
    {
      "locationName": "all",
      "regionName": "all",
      "roomName": "all"
    }
    
  • Response Example:
    { "totalRooms": 4 }
    

POST /neatDevice/room/numDevicesConnected

  • Summary: Returns connected device count by room.
  • Request Body Example:
    {
      "locationName": "all",
      "regionName": "all",
      "roomName": "all"
    }
    
  • Response Example:
    {
      "total": 7,
      "online": 5,
      "offline": 2
    }
    

POST /neatDevice/room/roomStatusCount

  • Summary: Returns room status counts.
  • Request Body Example:
    {
      "locationName": "all",
      "regionName": "all",
      "roomName": "all"
    }
    
  • Response Example:
    {
      "TotalRooms": 4,
      "CriticalStatus": 1,
      "MajorStatus": 1,
      "MinorStatus": 0,
      "InfoStatus": 0,
      "OKStatus": 2
    }