API Overview API is organized around REST. The API accepts form-encoded and JSON-encoded request bodies, returns JSON-encoded responses, and uses standard HTTP response codes, authentication, and verbs. It also provides MQTT notifications with data changes for more convenient handling of creation, update and deletion of videos.



All requests to API should be authorized, to do so you should use standard authorization HTTP header. There are 2 different level of authorization and each of them has slightly different format of authorization header value:

Example of application level of authorization request:

curl --request GET \
  --url \
  --header 'accept: application/json; charset=utf-8' \
  --header 'authorization: App token=YOUR_SECRET_TOKEN'
var request = require('request');

var options = {
  method: 'GET',
  url: '',
  headers: {
    accept: 'application/json; charset=utf-8',
    authorization: 'App token=YOUR_SECRET_TOKEN'

request(options, function (error, response, body) {
  if (error) throw new Error(error);

require 'uri'
require 'net/http'
require 'openssl'

url = URI("")

http =, url.port)
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_NONE

request =
request["accept"] = 'application/json; charset=utf-8'
request["authorization"] = 'App token=YOUR_SECRET_TOKEN'
response = http.request(request)
puts response.read_body
import requests

url = ""

headers = {
  'accept': 'application/json; charset=utf-8',
  'authorization': 'App token=YOUR_SECRET_TOKEN'
response = requests.request("GET", url, headers=headers)



If for some reason your request cannot be fulfilled, the server with send you response with HTTP status code:

and error message in the following format:

  "error": "ERROR_MESSAGE"