Get started
  • English
  • 简体中文
Official Site
Get started
  • English
  • 简体中文
Official Site
  • Get started
  • Concepts
  • Guides
  • Device capabilities & events
  • API reference
    • Public conventions
    • Development specification
    • accessToken: Get administrator token
    • API request example
    • Return codes
    • Interface call limits
    • Account docking
    • Device APIs
    • Device live broadcast
    • Push configuration
    • Cloud storage service
    • Resource pool quota
    • Legacy APIs (deprecated)
      • Door lock access (legacy)
      • Device messages (legacy)
      • Device query (deprecated)
        • checkDeviceBindOrNot
        • deviceOnline
        • listDeviceDetailsByIds
        • listDeviceDetailsByPage
        • unBindDeviceInfo
        • upgradeProcessDevice
        • bindDeviceChannelInfo
        • bindDeviceInfo
        • bindDeviceList
        • deviceBaseDetailList
        • deviceBaseList
        • deviceList
        • deviceOpenDetailList
        • deviceOpenList
        • deviceVersionList
        • listDeviceAbility
        • queryBaseDeviceChannelInfo
        • queryOpenDeviceChannelInfo
        • shareDeviceList
      • Device maintenance (legacy)
      • Device operation (legacy)
      • Device ability (legacy)
      • Motion detection config (legacy)
      • Preset collection (legacy)
      • Timed cruise (legacy)
      • Local recording config (legacy)
      • Audio volume (legacy)
      • Storage (legacy)
      • Video and imaging (legacy)
      • Time zone (legacy)
      • Wi-Fi (legacy)
      • Local recording query (legacy)
  • SDK and tools
  • Solutions
  • Platform and support
On this page
Function details
Request address
Request format
Incoming parameter description
Sample input
Return data field description
Sample output
Error codes
Related

bindDeviceInfo (bindDeviceInfo: Get single device details)

bindDeviceInfo: bindDeviceInfo: Get single device details

Legacy HTTP retained: For existing integrations. New integrations should use the Device APIs overview.

Function details

Get detailed information for a single device the developer account is allowed to access.

Note: With an administrator accessToken you can query devices bound through the Imou app.

Request address

https://openapi-[DataCenter].easy4ip.com/openapi/bindDeviceInfo

Request format

HTTP POST. JSON body layout: Request conventions. Sign with Signature.

Incoming parameter description

Parameter nameParameter typeRequired or notDefault valueLegal valueParameter description
tokenStringYesAdministrator accessToken
deviceIdStringYesDevice serial number

Sample input

{
 "system":{
 "ver":"1.0",
 "appId":"lcdxxxxxxxxx",
 "sign": "xjhCQBoJ9hRDsCjyDcHjtDNzRZ3ZJezcawsfWeiaoxU=",
 "time":1599031074,
 "nonce":"559de3ed-aa02-4509-8939-fed2779e44a3"
 },
 "id":"d5c287b4-5b2f-4f03-baf5-8032c5c354af",
 "params":{
 "deviceId":"TESTQWERXXXX",
 "token":"At_00006ac6e32d123141238f60147de7ec"
 }
}

Return data field description

Field nameField typeField description
deviceIdStringDevice serial number
channelNumIntegerNumber of channels
baselineStringDevice baseline type
versionStringDevice firmware version
appIdStringBound developer appId; empty string when bound only via Imou app
deviceCatalogStringDevice category(NVR/DVR/HCVR/IPC/SD/IHG/ARC)
nameStringDevice name
deviceModelStringDevice model
abilityStringDevice capability set
canBeUpgradeBooleanWhether a newer firmware version is available
brandStringBrand: lechange (Imou), general (generic)
platFormIntegerPlatform id: 3 standard access, 4 extended access (use bindDeviceInfo for latest fields when platForm=4)
statusIntegerStatus: 0 offline, 1 online, 3 upgrading
channelschannelNameStringChannel name
channelOnlineBooleanChannel online: true online, false offline
channelAbilityStringChannel capability set; for single-channel devices use device-level capability set
channelIdIntegerChannel number
channelPicUrlStringChannel cover image; may be missing on new devices (upload or refresh cover via current manage APIs)
csStatusIntegerCloud storage: -1 not activated, 0 expired, 1 active
alarmStatusIntegerAlarm arming: 0 disarmed, 1 armed
shareStatusBooleanChannel shared: true shared to others, false not shared

Sample output

{
 "result":{
 "msg":"Operation is successful.",
 "code":"0",
 "data":{
 "channelNum":1,
 "baseline":"ARC",
 "deviceId":"TESTQWERXXXX",
 "version":"2.145.1000.0.R.20181112",
 "channels":[
 {
 "csStatus":-1,
 "alarmStatus":1,
 "channelName":"TP1S-1375",
 "channelOnline":true,
 "channelAbility":"PTZ,MDW,MDS,ChnLocalStorage",
 "channelId":0,
 "channelPicUrl":"",
 "shareStatus":false
 }
 ],
 "appId":"lcdxxxxxxxxx",
 "deviceCatalog":"ARC",
 "name":"TP1S-1375",
 "deviceModel":"TP1S",
 "ability":"WLAN,Auth,BreathingLight,CloudStorage,LocalStorage,PlaybackByFilename,MT,AGW,SLAlarm,CK,RD,LocalRecord,XUpgrade,TimeSync,ModifyPassword,LocalStorageEnable,RemoteControl,PTZ,Panorama,FrameReverse,AudioEncode,AudioEncodeControl,AlarmMD,MDW,MDS,AudioTalk,AlarmSound",
 "canBeUpgrade":false,
 "brand":"lechange",
 "platForm":4,
 "status":1
 }
 },
 "id":"d5c287b4-5b2f-4f03-baf5-8032c5c354af"
}

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)

CodeMeaningNext step
SN1001Signature errorCheck sign per Development specification
TK1002Token invalid or expiredRefresh accessToken
OP1002Missing required parameterAdd required fields
OP1003Invalid parameterMatch this page’s parameter table
OP1009Permission deniedCheck token and device bind/share grants
OP1013Total call limit exceededReduce call rate
OP1014Daily per-interface limit exceededSee Interface call limits
DV1007Device offlineWait until the device is online

See Return codes · OP/SN/TK for the full catalog.

Sub-accounts (SUB)

CodeMeaningNext step
SUB1001–SUB1002Sub-account lacks API permissionUpdate policy via addPolicy
SUB1005Sub-account token expiredRefresh subAccountToken
SUB1006No device grant for sub-accountCheck Resource and device serial
SUB1008Sub-account not bound to appCreate and bind the sub-account first

See Return codes · SUB.

Device binding (DV10xx)

CodeMeaningNext step
DV1001Bound to another accountUnbind or use another device
DV1002Device does not existVerify serial number
DV1003Already bound to current accountNo need to bind again
DV1005Verification code errorCheck device label code
DV1008Bind count limit exceededUnbind extra devices
DV1011Device not boundBind first
DV1029Device already boundDo not bind again

See Return codes · DV.

Related

  • Development specification
  • API conventions
  • Batch detail by device ID
  • Module index
bindDeviceChannelInfo
bindDeviceList