Get started
  • English
  • 简体中文
Official Site
Get started
  • English
  • 简体中文
Official Site
  • Get started
  • Concepts
  • Guides
  • Device capabilities & events
    • Browse by device type
    • Device capabilities
      • Common methods
        • Using capabilities
        • device.capability.list (List capabilities)
        • device.property.get (Read properties)
        • device.property.set (Write properties)
        • Invoke a service
      • Detection and alarms
      • Image
      • PTZ
      • Light
      • Recording
      • Audio
      • Media
      • Network
      • Power
      • Privacy
      • Call
      • Storage
      • System
      • Algorithm
      • Maintenance
      • Control
    • Events overview
    • Permission codes
    • Capability error codes
    • Alarm and capability messages
    • Capability FAQ
    • Legacy ability and push types
  • API reference
  • SDK and tools
  • Solutions
  • Platform and support
On this page
What it does
Request URL
Minimum permission
Request parameters
Request example
Response data fields
Response example
Error codes

device.property.get (Read properties)

device.property.get: Read properties

What it does

Reads the current values of multiple configuration or state properties in one call. The request must target one bound device. Use the full propertyId for each item. Do not mix device-level and channel-level properties in a single request.

Request URL

POST https://openapi-[DataCenter].easy4ip.com/openapi/v2/device.property.get

Minimum permission

An administrator needs no extra permission on a device they bound. A bound sub-user needs none. For shared devices and sub-accounts, required permission follows each property page’s Minimum permission and Permission codes; the gateway checks internal capability codes—device.capability.list does not return shareAuthCode/subAccountAuthCode. If a property page is stricter, that page wins. Same rules as device.property.get. The device must be bound (DV2013).

Request parameters

NameTypeRequiredDefaultAllowed valuesDescription
tokenStringyesAdministrator, sub-user, or sub-account accessToken
deviceIdStringyesDevice serial number
productIdStringnoOptional. If sent and it does not match the device model → DV2009
channelIdStringconditionalChannel index; IPCs often "0". Do not pass -1. Single-channel IPCs still use "0"Required for channel-level reads; omit for device-level. Mixing levels in one request returns DV2008
propertiesArrayyespropertyId stringsProperties to read, e.g. ["storage.local.capacity"]

Common request fields and signing: Signing and Common request payload.

Request example

{
 "id": "d5c287b4-5b2f-4f03-baf5-8032c5c354af",
 "system": {
 "ver": "1.0",
 "appId": "lcdxxxxxxxxx",
 "sign": "xjhCQBoJ9hRDsCjyDcHjtDNzRZ3ZJezcawsfWeiaoxU=",
 "time": 1706511734,
 "nonce": "f5a1ae2d-c09c-4d39-a744-83a5c2c653c2"
 },
 "params": {
 "token": "<yourAccessToken>",
 "deviceId": "TESTIPC000012345",
 "channelId": "0",
 "properties": ["detection.motion.enabled", "image.night.mode"]
 }
}

Response data fields

NameTypeDescription
propertiesObjectKeys match the requested propertyId values
properties.{key}per item typeCurrent value. Switches use 0/1; enums use the configured value

The response includes one entry per item in the request properties array. The contract does not define partial success—do not parse the payload as partially successful.

Response example

{
 "id": "d5c287b4-5b2f-4f03-baf5-8032c5c354af",
 "result": {
 "code": "0",
 "msg": "Operation is successful",
 "data": {
 "properties": {
 "detection.motion.enabled": 1,
 "image.night.mode": 0
 }
 }
 }
}

Error codes

This API may return the codes below.

Gateway and device codes: Global return codes.

device.capability.list (List capabilities)
device.property.set (Write properties)