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
      • OAuth authorization
        • oauthTokenV2: Exchange or refresh OAuth tokens
        • getStreamUrl: Get RTSP stream URL
      • createSubAccount: Create Sub Account
      • getOpenIdByAccount: Get openid based on sub-account
      • deleteSubAccount: Delete subaccount
      • listSubAccount: Get the list of sub-accounts
      • subAccountToken: Get subaccount token
      • addPolicy: Add sub-account permissions
      • clearPolicy: Clear sub-account authorization policy
      • queryDevicePermission: Sub-account device dimension permission
      • deleteDevicePermission: Delete sub-account device permission
      • listSubAccountDevice: Query the list of devices with permissions for the sub-account
    • 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
Function details
Request address
Request format
Incoming parameter description
Sample input
Return data field description
Sample output
Error codes
Related

Create Sub Account API Documentation - Imou Open Platform

createSubAccount: Create a sub-account

Function details

Use your mobile phone number or email address to create a sub-account.

Request address

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

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
accountStringYesMobile phone number or email

Sample input

{
 "system":{
 "ver":"1.0",
 "appId":"lcdxxxxxxxxx",
 "sign": "xjhCQBoJ9hRDsCjyDcHjtDNzRZ3ZJezcawsfWeiaoxU=",
 "time":1603350473,
 "nonce":"a4d59add-0f04-4b7e-9355-d1fb4e9dc22b"
 },
 "id":"d82a7fa7-655f-4bb8-ab75-72bb3dfa3a94",
 "params":{
 "token":"At_12345678901234567890123456789012",
 "account":"12345674567"
 }
}

Return data field description

FieldTypeDescription
openidStringSub-account ID

Sample output

{
 "id": "123456",
 "result": {
 "data": {
 "openid": "5dd2fe5bc11240a9b5d4fd4474c857c5"
 },
 "code": "0",
 "msg": "The operation was successful"
 }
}

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.

Related

  • Development specification
  • API conventions
  • Module index
getStreamUrl: Get RTSP stream URL
getOpenIdByAccount: Get openid based on sub-account