detection.motion.metadata (Read motion alarm metadata)
detection.motion.metadata: Read motion alarm metadata
detection.motion.metadata · Channel scope · Permission Config
What it does
Pull motion metadata for this channel (windows, thresholds) for debugging or to align with motion detection region. Does not replace motion alarm subscription. No inputs (inputData {}); not idempotent. A timeout does not mean the operation failed.
Request URL
POST https://openapi-[DataCenter].easy4ip.com/openapi/v2/device.service.invoke
Minimum permission
The administrator does not need an extra permission on a device they bound. A shared device needs the basic configuration permission. A bound sub-user does not. A sub-account needs Config. Omitting channelId on a channel-scope capability returns DV2007. Mixing device and channel in one request returns DV2008. A timeout does not mean the operation did not run.
Request parameters
| Name | Type | Required | Description |
|---|---|---|---|
token | String | yes | Administrator, sub-user, or sub-account accessToken |
deviceId | String | yes | Device serial number |
productId | String | no | Optional. If sent and it does not match the device model → DV2009 |
channelId | String | yes | Channel ID; "0" is common on IPCs |
serviceId | String | yes | detection.motion.metadata |
inputData | Object | conditional | No inputs: pass {} |
Common request fields and the signature are in Development specification.
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",
"serviceId": "detection.motion.metadata",
"inputData": {}
}
}
Response data fields
Output is in result.data.outputData.
| Name | Description | Type | Required | Values |
|---|---|---|---|---|
info | Motion metadata list, up to 100 entries. | array | no | up to 100 entries |
info[] element fields
| Name | Description | Type | Required | Values |
|---|---|---|---|---|
id | Window index. Range 0–255, step 1. | int | no | 0–255, step 1 |
threshold | Area threshold. Range 0–100, step 1. | int | no | 0–100, step 1 |
name | Region name. | text | no | string |
region | Region coordinates (device/capability model format). | text | no | string |
Response example
{
"id": "d5c287b4-5b2f-4f03-baf5-8032c5c354af",
"result": {
"code": "0",
"msg": "Operation is successful",
"data": {
"outputData": {
"info": [
{
"id": 0,
"threshold": 10,
"name": "region-1",
"region": "[0,0,100,100]"
}
]
}
}
}
}
Error codes
Gateway and device error codes are in Global return codes.
Invoke a service once · device.service.invoke · Motion detection
