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, androomName. 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 }