Get started
  • English
  • 简体中文
Official Site
Get started
  • English
  • 简体中文
Official Site
  • Get started
  • Concepts
    • Sub-accounts and policies
    • OAuth 2.0 authorization
    • Tokens
    • Devices
    • Device capability model
    • Cloud live (HLS) notes
    • Device messages
    • Media security
    • Glossary
    • Cloud live
    • Cloud storage packages
    • Resource pool quota
  • Guides
  • Device capabilities & events
  • API reference
  • SDK and tools
  • Solutions
  • Platform and support
On this page
Capability catalog and identifiers
device.capability.list
Property, service, and event
Legacy HTTP APIs
Overseas does not publish the old things-model OpenAPI
Related

Device capability model

Device capability model

After a device is bound, settings, PTZ, motion detection, and most alarms should use v2 capabilities (device.property.* / device.service.invoke). Device lists, online state, and bind flags live under Device management. Read the call order on Capability usage, then open the leaf you need.

Capability catalog and identifiers

device.capability.list returns groups. Each group has a response-only capabilityId (for example detection.motion). Do not send capabilityId to get/set/invoke or use it to look up alarms. Use the full propertyId / serviceId / eventId from that list.

This book does not document a request field named targetId. Do not add one until a method table lists it.

device.capability.list

POST https://openapi-[DataCenter].easy4ip.com/openapi/v2/device.capability.list

  • Bound device: pass deviceId. Unbound returns DV2013.
  • Before bind, you may pass productId from device details. If both are sent, the device wins; a mismatched model returns DV2009.
  • The list is not trimmed by permission.
  • Only propertyId / serviceId values from this list should be used with v2 get/set/invoke.

Channel-level items need channelId (IPCs often "0"). Omitting it on a channel call returns DV2007. Details: List capabilities.

Property, service, and event

GoalMethodPage
Read propertiesdevice.property.getRead properties
Write propertiesdevice.property.setWrite properties
One-shot actions (PTZ, snapshot)device.service.invokeInvoke a service
Device eventscallback capabilityEventDevice messages

Host for get/set/invoke: POST https://openapi-[DataCenter].easy4ip.com/openapi/v2/{methodName}. Request body: id, system, params. Sign like any other OpenAPI call. Pass deviceId for a bound device; productId is optional (product model—same rules as list: if sent and it does not match the device → DV2009).

Discovery-only leaves have no get/set/invoke examples—do not call them.

Legacy HTTP APIs

Some existing clients still call POST /openapi/{method}. Legacy APIs documents each method: new integrations should prefer v2 device APIs or capability leaves; keep the old call only when that page says so for a client you already ship.

ScenarioNew integrations start here
Lists / detail / online / bind stateV2 queries under Device management
PTZ, record plans, alarm parametersCapability usage or the matching legacy page
Live, cloud record, account, bindCurrent modules in API reference, not the legacy section

Overseas does not publish the old things-model OpenAPI

getProductModel, iotDeviceControl, and similar things-model OpenAPI methods are not published for overseas integrations. Use device.property.* and device.service.invoke. Device hosting is not offered. Source: Device capabilities & events.

Related

  • Core concepts · Glossary
  • Device capability integration
Devices
Cloud live (HLS) notes