Breadcrumbs

Crеate а camera (v1-legacy)

The method and parameters

POST  /api/v1/billing/cameras

With the release of the new version (v2) of this request, v2 is now the current and recommended version. Support for v1 will continue for six months following the release of v2. After this period, v1 will be deprecated and no longer supported.

To indicate where to create a camera in the tree, you can send both the ID from our database and the key that is specified when creating the tree element.

If you need to place the camera in a private folder, you can send both the ID from our database and the key that was specified when creating the folder. This folder must be created in the same tree element in which the camera is created.

JSON
{
    "name": "Camera 1",
    "mac": "11:11:11:11:11:11",
    "serial_number": "12345678",
    "intercom_id": 5,
    "group_type": "private",
    "group_id": 16,
    "group_external_id": 16,
    "folder_key": 123,
    "folder_id": 3,
    "is_user_owner": false,
    "latitude": -28.776933731993793,
    "longitude": 76.65771489519997,
    "archive_storage_days": 5,
    "service": "8MP",
    "external_id": "unique_id",
    "onvif_credentials": {
        "login": "login",
        "password": "password",
        "port": 80
    },
    "is_can_manage_archive_storage_days": true,
    "is_archive_enabled": true,
    "log_extra": {
        "some": "information"
    }
}

The parameters

string name – a camera name.


string mac – a MAC address of a camera. Optional if intercom_id is provided.


string serial_number – a camera serial number.


int intercom_id – the ID of the intercom for which the camera is being created.


string group_type – a camera group type.


int group_id – the ID of the tree element in which to create the camera.


string|int group_external_id – the key of the tree element in which to create the camera.


int folder_id – the ID of the private folder where the camera should be placed.


string|int folder_key – the key of the private folder in which the camera should be placed.


bool is_user_owner – the flag that determines whether the camera belongs to the user.


double latitude – the geographical latitude of the camera's location.


double longitude – the geographical longitude of the camera's location.


int archive_storage_days – a number of days the archive is stored on the camera. Applies to the high stream and is required if the is_archive_enabled parameter is enabled.


string service – a camera profile, used for applying templates.


string external_id – a unique camera identifier that can be used for further access to this camera.


array onvif_credentials – the credentials for accessing the camera via ONVIF.


bool is_archive_enabled – the flag that determines whether to enable or disable archive recording on the camera for the high stream.


string|array log_extra – additional information received from an external system.

201  Created

Successful response

JSON
{
    "id": 26,
    "status": "empty",
    "name": "Camera 1",
    "is_archive_recording": true,
    "archive_storage_days": 5,
    "group_type": "private",
    "is_user_owner": false,
    "is_need_replace": false,
    "latitude": -28.776933731993793,
    "longitude": 76.65771489519997,
    "network_device": {
        "mac": "11:11:11:11:11:11",
        "serial_number": "12345678"
    },
    "folder": {
        "id": 3,
        "key": "123"
    }
}

422  Unprocessable Entity

Returns a JSON object with an error. For details, see General information/External system validation.

JSON
{
    "message": "No error message here",
    "errors": {
        "any_key": [
            "Error details"
        ]
    }
}
cURL
Bash
curl -k --request POST \
	--url 'https://your-domain/api/v1/billing/cameras' \
	--header 'Content-Type: application/json' \
	--header 'Accept: application/json' \
	--data '{
    "name": "string",
    "mac": "string",
    "serial_number": "string",
    "intercom_id": 0,
    "group_type": "string",
    "group_id": 0,
    "group_external_id": "string|int",
    "folder_id": 0,
    "folder_key": "string|int",
    "is_user_owner": true,
    "latitude": 0,
    "longitude": 0,
    "archive_storage_days": 0,
    "service": "string",
    "external_id": "string",
    "onvif_credentials": [],
    "is_archive_enabled": true,
    "log_extra": "string|array"
}'
PHP
PHP
$data = array (
  'name' => 'string',
  'mac' => 'string',
  'serial_number' => 'string',
  'intercom_id' => 0,
  'group_type' => 'string',
  'group_id' => 0,
  'group_external_id' => 'string|int',
  'folder_id' => 0,
  'folder_key' => 'string|int',
  'is_user_owner' => true,
  'latitude' => 0.0,
  'longitude' => 0.0,
  'archive_storage_days' => 0,
  'service' => 'string',
  'external_id' => 'string',
  'onvif_credentials' => 
  array (
  ),
  'is_archive_enabled' => true,
  'log_extra' => 'string|array',
);
$context = stream_context_create([
	'ssl'=>['verify_peer' => false],
	'http' => [
		'method' => 'POST',
		'header' => "Content-Type: application/json\r
Accept: application/json",
		'content'=>json_encode($data)
	]
]);
$result = file_get_contents('https://your-domain/api/v1/billing/cameras', false, $context);