record.timelapse.executing (Get running timelapse task)
record.timelapse.executing: Get running timelapse task
record.timelapse.executing · channel scope · permission RecordReplay
What it does
Queries timelapse tasks currently running on this channel. No input parameters; inputData is {}. Returns task, up to 10 items. Each call runs once. For busy/idle only, use Get timelapse state property (record.timelapse.state); this API returns in-progress task parameters and should not replace state polling.
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 cloud recording view permission. A bound sub-user does not. A sub-account needs RecordReplay. Omitting channelId on channel-scope capabilities returns DV2007. Mixing device and channel properties in one request returns DV2008. A timeout does not mean the invoke failed.
Request parameters
| Name | Type | Required | Description |
|---|---|---|---|
token | String | yes | Access token for an administrator, sub-user, or sub-account |
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 for IPC |
serviceId | String | yes | record.timelapse.executing |
inputData | Object | conditional | No input: send {} |
For common request fields and signing, see Signing conventions 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",
"serviceId": "record.timelapse.executing",
"inputData": {}
}
}
Response data fields
Output is in result.data.outputData.
| Name | Description | Type | Required | Values |
|---|---|---|---|---|
task | Timelapse tasks. Up to 10 items. | array | no | Up to 10 items |
task.item.sceneName | Scene name. | text | no | String |
task.item.beginTime | Capture start time. Format YYYY-MM-DD HH:mm:ss. | text | no | Format YYYY-MM-DD HH:mm:ss |
task.item.endTime | Capture end time. Format YYYY-MM-DD HH:mm:ss. | text | no | Format YYYY-MM-DD HH:mm:ss |
task.item.schedule | Daily capture time window. | text | no | String |
task.item.interval | Capture interval. Range 0–99999, step 1, unit s. | int | no | 0–99999, step 1, unit s |
task.item.name | Resolution name. | text | no | String |
task.item.imageSize | Resolution (device-side mapping value). Range 0–999999, step 1. | int | no | 0–999999, step 1 |
task.item.stream | Stream. 0 main stream, 1 sub stream. | enum | no | 0 main stream; 1 sub stream |
task.item.width | Width (width ratio). Range 0–999999, step 1. | int | no | 0–999999, step 1 |
task.item.high | Height (height ratio). Range 0–9999, step 1. | int | no | 0–9999, step 1 |
task.item.type | Type. 0 video, 1 image. | enum | no | 0 video; 1 image |
task.item.fileSize | Generated file size. Range 0–999999, step 1, unit byte. | int | no | 0–999999, step 1, unit byte |
task.item.duration | File duration. Range 0–999999, step 1, unit s. | int | no | 0–999999, step 1, unit s |
task.item.path | Timelapse task storage path. | text | no | String |
task.item.id | Timelapse task ID. | text | no | String |
Response example
{
"id": "d5c287b4-5b2f-4f03-baf5-8032c5c354af",
"result": {
"code": "0",
"msg": "Operation is successful",
"data": {
"outputData": {
"task": [
{
"sceneName": "Entrance",
"beginTime": "2026-09-19 08:00:00",
"endTime": "2026-09-19 18:00:00",
"schedule": "08:00-18:00",
"interval": 60,
"name": "1080P",
"imageSize": 0,
"stream": "0",
"width": 1920,
"high": 1080,
"type": "0",
"fileSize": 1024,
"duration": 60,
"path": "/mnt/sd/tl",
"id": "task-1"
}
]
}
}
}
}
Error codes
| Code | Meaning | Next step |
|---|---|---|
SN1001 | Signature error | Check sign per Development specification |
TK1002 | Token invalid or expired | Refresh accessToken |
OP1002 | Missing required parameter | Add required fields |
OP1003 | Invalid parameter | Match this page’s parameter table |
OP1009 | Permission denied | Check token and device bind/share grants |
OP1013 | Total call limit exceeded | Reduce call rate |
OP1014 | Daily per-interface limit exceeded | See Interface call limits |
DV1007 | Device offline | Wait until the device is online |
See Return codes · OP/SN/TK for the full catalog.
| Code | Meaning | Next step |
|---|---|---|
DV2003 | Capability not on device | Use device.capability.list |
DV2007 | channelId vs scope mismatch | Required for channel scope; omit for device scope |
DV2008 | Mixed device and channel in one call | Split the request |
DV2009 | productId mismatch | Omit or set actual model id |
DV2011 | No capability permission | See Permission codes |
See Capability errors.
