record.timelapse.create (Create timelapse task)
record.timelapse.create: Create timelapse task
record.timelapse.create · channel scope · permission RecordReplay
What it does
Creates a timelapse task on this channel. Input includes sceneName, beginTime, endTime, schedule, interval, and resolution fields. Each call runs once. On success, outputData.id is used by End timelapse task, Get timelapse task download file list, and Delete timelapse task; use state get for running/idle or current for details.
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.create |
inputData | Object | yes | See section below |
inputData fields
| Name | Description | Type | Required | Values |
|---|---|---|---|---|
sceneName | Scene name. | text | yes | String |
beginTime | Capture start time. Date-time, format YYYY-MM-DD HH:mm:ss | text | yes | Format YYYY-MM-DD HH:mm:ss |
endTime | Capture end time. Date-time, format YYYY-MM-DD HH:mm:ss | text | yes | Format YYYY-MM-DD HH:mm:ss |
schedule | Daily capture time window. | text | yes | String |
interval | Capture interval. Range 0–999999, step 1, unit s. | int | yes | 0–999999, step 1, unit s |
name | Resolution name. | text | yes | String |
imageSize | Resolution (device-side mapping value). Range 0–999999, step 1. | int | yes | 0–999999, step 1 |
stream | Stream. 0 main stream, 1 sub stream. | enum | yes | 0 main stream; 1 sub stream |
width | Width (width ratio). Range 0–999999, step 1. | int | yes | 0–999999, step 1 |
high | Height (height ratio). Range 0–99999, step 1. | int | yes | 0–99999, step 1 |
type | Type. 0 video, 1 image. | enum | yes | 0 video; 1 image |
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.create",
"inputData": {
"sceneName": "scene-1",
"beginTime": "2026-09-19 08:00:00",
"endTime": "2026-09-19 18:00:00",
"schedule": "08:00-18:00",
"interval": 60,
"name": "",
"imageSize": 0,
"stream": "0",
"width": 0,
"high": 0,
"type": "0"
}
}
}
Response data fields
Output is in result.data.outputData.
| Name | Description | Type | Required | Values |
|---|---|---|---|---|
id | Timelapse task ID. | text | no | String |
Response example
{
"id": "d5c287b4-5b2f-4f03-baf5-8032c5c354af",
"result": {
"code": "0",
"msg": "Operation is successful",
"data": {
"outputData": {
"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.
