subAccountDeviceList (SubAccountDeviceList - Authorized Device Details by Page - Imou Open Platform)
subAccountDeviceList: SubAccountDeviceList - Authorized Device Details by Page - Imou Open Platform
Note: Call with a sub-account token to page authorized devices. For general paged device detail, see Paged device detail (
device.detail.page).
Function details
Get the detailed information of authorized devices under the sub-account by page, only the sub-account token can be called
Request address
https://openapi-[DataCenter].easy4ip.com/openapi/subAccountDeviceList
Request format
HTTP POST. JSON body layout: Request conventions. Sign with Signature.
Incoming parameter description
| Field | Type | Description |
|---|---|---|
| token | String | Sub-account accessToken |
| page | Integer | Page number (starts from 1) |
| pageSize | Integer | Page size |
Sample input
{
"system": {
"ver": "1.0",
"appId": "lcdxxxxxxxxx",
"sign": "xjhCQBoJ9hRDsCjyDcHjtDNzRZ3ZJezcawsfWeiaoxU=",
"time": 1623987465,
"nonce": "39ed36aa-1fac-4e80-83c9-3b457db70ecd"
},
"id": "733b6b5c-05ce-4734-b407-e30dac44e637",
"params": {
"pageSize": 1,
"page": 2,
"token": "St_0000dc28d3ac63bf4cb5ad0e7e2ba731"
}
}
Return data field description
deviceList[] may also include optional sdCardStatus (String): local storage card status when the platform returns it.
| Field | Type | Description |
|---|---|---|
| count | Integer | Total amount of equipment |
| deviceList.deviceId | String | Device serial number |
| deviceList.status | String | Device status, online: online, offline: offline, sleep: hibernation, upgrading |
| deviceList.deviceModel | String | Device model |
| deviceList.catalog | String | Equipment category [NVR/DVR/HCVR/IPC/SD/IHG/ARC] |
| deviceList.channels.resolutions.aplist.name | String | Device name |
| deviceList.channels.resolutions.aplist.permission | String | Device permissions, if only channel-level permissions are authorized, this field does not return content |
| deviceList.channels.aplist.ability | String | Equipment capability items, separated by commas, see device capability set for details |
| deviceList.channels.aplist.accessType | String | Device access type: (empty) Open Platform program access; Lechange Imou/easy4ip conventional devices; Easy4IP Easy4IP program devices; P2P P2P program devices |
| deviceList.channels.aplist.encryptMode | String | Encryption mode, 0: default encryption mode, 1: user-defined encryption mode |
| deviceList.channels.aplist.channelNum | String | The number of channels that the device can access |
| deviceList.channels.channelId | String | Channel number |
| deviceList.channels.channelName | String | Channel name |
| deviceList.channels.ability | String | Channel capability set, such as AlarmMD, AudioTalk, separated by commas |
| deviceList.channels.status | String | Remote channel status, online: online, offline: offline, close: not configured, sleep: hibernation, upgrading in progress |
| deviceList.channels.permission | String | Channel authority, if only the device level authority is authorized, fill in according to the device level authority |
| deviceList.channels.picUrl | String | Thumbnail URL |
| deviceList.resolutions.channels.name | String | the name of the resolution displayed on the client interface |
| deviceList.resolutions.channels.imageSize | Integer | resolution enumeration |
| deviceList.resolutions.channels.streamType | Integer | stream type, 0: HD main stream, 1: SD secondary stream |
| deviceList.aplist.apId | String | Accessory id |
| deviceList.aplist.apName | String | Accessory name |
| deviceList.aplist.apType | String | Accessories type |
| deviceList.aplist.apModel | String | Model of the accessory |
| deviceList.aplist.ioType | String | The io type of the accessory, in: input, out: output |
| deviceList.aplist.apVersion | String | The version number of the accessory |
| deviceList.aplist.apStatus | String | Online status of accessories, online: online, offline: offline |
| deviceList.aplist.apEnable | String | Enable the accessory, on: enable to open, off: enable to close |
| deviceList.aplist.apCapacity | String | Accessory capability items, separated by commas, such as AudioTalk, PT |
Sample output
{
"result": {
"msg": "The operation was successful.",
"code": "0",
"data": {
"count": 2,
"deviceList": [{
"accessType": "",
"catalog": "NVR",
"encryptMode": "0",
"name": "NVR-4993",
"channelNum": "64",
"deviceModel": "DH-NVR5232-I",
"permission": "",
"ability": "Auth,DHP2P,CloudStorage,LocalStorage,PlaybackByFilename",
"deviceId": "TESTQWERXXXX",
"version": "2.145.1000.0.R.20181112",
"status": "offline",
"channels": [{
"picUrl": "",
"channelName": "NVR-4993-4",
"permission": "Alarm,Talk,Ptz,Config,Upgrade",
"ability": "PTZ,MDW,MDS,ChnLocalStorage",
"channelId": "3",
"status": "offline",
"resolutions":[{
"name": "1080P",
"imageSize": 18,
"streamType": 0
}]
}],
"aplist":[{
"apId":"APXXXXXXXXXXX",
"apName":"cname",
"apType":"ability",
"apModel":"wbs",
"ioType":"auto",
"apVersion":"V1.2.3",
"apStatus":"online",
"apEnable":"on",
"apCapacity":"AudioTalk,PT"
}]
}]
}
},
"id": "733b6b5c-05ce-4734-b407-e30dac44e637"
}
Error codes
This method may return the codes below. See Return codes and Capability errors for the full catalog.
Gateway and auth (SN / TK / OP)
| Code | Meaning | Next step |
|---|---|---|
SN1001 | Signature error | Check sign per Development specification |
TK1002 | Token invalid or expired | Refresh accessToken |
OP1002 | Missing required parameter | Add required fields |
OP1003 | Invalid parameter | Match this page’s parameter table |
OP1009 | Permission denied | Check token and device bind/share grants |
OP1013 | Total call limit exceeded | Reduce call rate |
OP1014 | Daily per-interface limit exceeded | See Interface call limits |
DV1007 | Device offline | Wait until the device is online |
See Return codes · OP/SN/TK for the full catalog.
Sub-accounts (SUB)
| Code | Meaning | Next step |
|---|---|---|
SUB1001–SUB1002 | Sub-account lacks API permission | Update policy via addPolicy |
SUB1005 | Sub-account token expired | Refresh subAccountToken |
SUB1006 | No device grant for sub-account | Check Resource and device serial |
SUB1008 | Sub-account not bound to app | Create and bind the sub-account first |
See Return codes · SUB.
Device access and channels (DV10xx)
| Code | Meaning | Next step |
|---|---|---|
DV1007 | Device offline or timeout | Wait for the device to come online |
DV1009 | Device busy | Retry later |
DV1012 | Insufficient share/grant permission | Check sub-account Permission / Resource |
DV1019 | Capability not supported | Confirm model and capability list |
DV1020 | Channel offline | Check channel status |
DV1026 | Function not supported | Use another API or upgrade firmware |
DV1028 | Not bound or channel missing | Verify deviceId / channelId |
See Return codes · DV.
