Skip to main content
Skip table of contents

Video generation

Video generation

The video recording (archive) will be created immediately and returned in the response. Subsequently, the partial archive will be downloaded asynchronously.

The download link for the archive will be sent via a Websockets push notification with the type archive_generated

The archive will be available for download for 3 hours and will be deleted afterward. To download it again, use the following

POST /api/admin/v1/downloads

Method parameters

string from, starting date for generating the archive

string to, ending date for generating the archive

200 OK

Successful response

    "name": "City, Street 1, file.mp4",
    "type": "mp4",
    "url": "",
    "from": "2019-09-20 16:13:20",
    "to": "2019-09-20 16:22:27",
    "created_at": "2019-09-20T17:00:00.000000Z",
    "updated_at": "2023-02-10T15:09:25.000000Z",
    "is_file_exists": true,
    "stream": {
        "id": 1,
        "type": "high",
        "camera_id": 1,
        "status": null,
        "url": "rtsp://admin:456redko@",
        "bitrate": null,
        "resolution": null,
        "output_rate": null,
        "ip": "",
        "uuid": "fecb93a5-0c0e-4515-9115-633c45994b29",
        "sound": null,
        "streams_count": null,
        "created_at": "2023-02-03T08:29:06.000000Z",
        "updated_at": "2023-02-03T08:29:06.000000Z",
        "is_preview_from_server": true,
        "is_archive_from_server": null,
        "is_enabled": true,
        "is_can_transfer": true,
        "source": "manual",
        "is_sound_enabled": null,
        "reconnect_attempt": null,
        "reconnect_total": null,
        "reconnect_time": null,
        "disconnections_count": 0,
        "camera": {
            "id": 1,
            "group_id": 2,
            "status": "initial",
            "type": "media_server_v2",
            "start_at": null,
            "created_at": "2023-02-03T08:29:06.000000Z",
            "name": "Camera 1",
            "can_edit": true,
            "origin": null,
            "user_type": "individual",
            "shared_from": null,
            "ip": "",
            "lat": null,
            "lng": null,
            "azimuth": null,
            "is_sensitive": 0,
            "is_public": 0,
            "is_ip_reserved": false,
            "count_issues": 0,
            "source": "manual",
            "archive_storage_days": null,
            "is_archive_recording": false,
            "archive_recording_type": "fulltime",
            "is_increased_reconnect": 0,
            "is_sound_enabled": true,
            "is_bridge": false,
            "can_change_archive_timetable": true,
            "is_auto_create_streams": false,
            "is_provisioning_enable": false,
            "is_can_manage_archive_storage_days": true,
            "is_editable": true,
            "status_changed_at": null,
            "is_intercom": false,
            "deleted_at": null
        "is_actual": true,
        "condition": "active",
        "stopped_at": ""

401 Unauthorized

Authorization token is not provided or is invalid. Obtaining a token

402 Payment Required

License error

422 Unprocessable Entity

Returns a JSON object with an error. Validation

    "message": "There will be no informative message here",
    "errors": {
        "any_key": [
            "The reason for the error will be described here"
curl -k --request POST \
	--url 'https://your-domain/api/admin/v1/downloads' \
	--header 'Content-Type: application/json' \
	--header 'Accept: application/json' \
	--data '{
    "from": "string",
    "to": "string"
$data = array (
  'from' => 'string',
  'to' => 'string',
$context = stream_context_create([
	'ssl'=>['verify_peer' => false],
	'http' => [
		'method' => 'POST',
		'header' => "Content-Type: application/json\r
Accept: application/json",
$result = file_get_contents('https://your-domain/api/admin/v1/downloads', false, $context);
JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.