Get started
  • English
  • 简体中文
Official Site
Get started
  • English
  • 简体中文
Official Site
  • Get started
  • Concepts
  • Guides
  • Device capabilities & events
  • API reference
    • Public conventions
      • Request conventions
      • Signature
      • Version and change notes
    • 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)
  • SDK and tools
  • Solutions
  • Platform and support
On this page
DataCenter host
POST body
Response body
Error codes

Request conventions

Request conventions

Values below are copied from Development specification. This page does not add headers or methods that page does not state.

DataCenter host

Imou Cloud OpenPlatform provides access domain names in multiple regions. Select the host for the data center of the developer account. See the id in Control Board - Basic Information - My Information.

Method pages use:

https://openapi-[DataCenter].easy4ip.com/openapi/{method}

v2 capability methods use /openapi/v2/{methodName}. See Capability usage.

POST body

The open platform HTTP request format convention is as follows:

FieldTypeDescription
system.verStringProtocol version information, currently 1.0
system.signStringSignature value, used by the platform for signature verification. The calculation steps are on Signature
system.appIdStringappId, obtained from Control Board - My App - App Information
system.timeLongThe time stamp of the client that initiated the interface call (UTC timestamp, in seconds), the time is synchronized with the easy4ip open platform (the difference between the two cannot be 5 minutes)
system.nonceStringRandom number (32 bits). The nonce cannot be repeated within 5 minutes, otherwise SN1005 error code will be returned.
paramsMapThe parameter set used by the HTTP interface method, the value is the assembled Map object
idStringRequest a unique identification ID, and pass in a unique non-empty string each time the request is called

Take the accessToken interface for obtaining the administrator account as an example:

{
 "system": {
 "ver": "1.0",
 "appId": "lcdxxxxxxxxx",
 "sign": "xjhCQBoJ9hRDsCjyDcHjtDNzRZ3ZJezcawsfWeiaoxU=",
 "time": 1706511734,
 "nonce": "f5a1ae2d-c09c-4d39-a744-83a5c2c653c2"
 },
 "id": "98a7a257-c4e4-4db3-a2d3-d97a3836b87c",
 "params": {}
}

Do not copy sign from the sample. Compute it per request.

This book does not document extra mandatory HTTP headers beyond the JSON body on that specification page.

Response body

FieldTypeDescription
result.codeStringRequest return code, see Return codes
result.msgStringRequest return code description string
result.dataMapThe specific content information returned by the request interface
idStringThe id passed in by the developer when requesting the interface
{
 "result":{
 "msg":"The operation was successful.",
 "code":"0",
 "data":{
 "expireTime":259176,
 "accessToken":"At_00006ac6e32d123141238f60147de7ec"
 }
 },
 "id":"98a7a257-c4e4-4db3-a2d3-d97a3836b87c"
}

Success is result.code "0".

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 access and channels (DV10xx)

CodeMeaningNext step
DV1007Device offline or timeoutWait for the device to come online
DV1009Device busyRetry later
DV1012Insufficient share/grant permissionCheck sub-account Permission / Resource
DV1019Capability not supportedConfirm model and capability list
DV1020Channel offlineCheck channel status
DV1026Function not supportedUse another API or upgrade firmware
DV1028Not bound or channel missingVerify deviceId / channelId

See Return codes · DV.

Event Message Format Definition for IP Camera App Development - Imou Open Platform
Signature