Watcher Client API (24.11-347)

Download OpenAPI specification:Download

This is a client API for Watcher VMS.

This API is designed for accessing content including cameras, mosaics, episodes, reports, etc. The access is subject to user permissions so you will need login and password in order to execute the requests. Use Watcher Admin API for managing users, permissions, and other infrastructure.

You can use this API to develop your own UI for your subscribers who use Watcher or for integration with an external system that needs the access to the content.

agent

Create activation token

This method creates activation token for agent. This token used by mobile app in qr-code for wifi camera with agent for adding camera with agent in watcher.

Authorizations:
basicAuthbearerAuth
Request Body schema: application/json

The fields with which the camera will be created

title
required
string

Human readable title of the camera as displayed in the UI.

organization_id
integer

The identifier of the Organization to which the camera belongs. The user activating the camera must have the right to control the cameras in this organization. If user belongs to only one organization, camera will be automatically added to this organization. If user belongs to multiple organizations, this parameter is required.

preset_id
integer

The identifier of the preset assigned to the camera. If this parameter is not specified, the camera will be added with default preset.

folder_id
integer

The identifier of a folder to which the camera is added.

enabled
boolean

Shows if the camera enabled or not. If the camera is enabled (the parameter is true), video from it is captured by the streamer.

static
boolean

If true, the video is captured continuously; if false, the camera is in "On-demand" mode.

dvr_depth
integer >= 0

The archive depth for the camera (the number of days).

dvr_space
integer >= 0

The maximum storage space for the camera's archive, in Gigabytes.

comment
string

Any text note about the camera.

object

The camera geographic coordinates: latitude and longitude.

postal_address
string

The postal address of the camera.

Responses

Request samples

Content type
application/json
{
  • "title": "string",
  • "organization_id": 0,
  • "preset_id": 0,
  • "folder_id": 0,
  • "enabled": true,
  • "static": true,
  • "dvr_depth": 0,
  • "dvr_space": 0,
  • "comment": "string",
  • "coordinates": {
    },
  • "postal_address": "string"
}

Response samples

Content type
application/json
{
  • "token": "string",
  • "stream_name": "string"
}

Check activation token provisioned to watcher

This method allows you to check that camera with agent was provisioned to watcher. If you got 404 on this method you - token not existing and you must create a new one to add camera with agent. If no camera_name field in response - camera not provisioned yet to watcher. If camera_name field in response - camera provisioned to watcher.

Authorizations:
basicAuthbearerAuth
path Parameters
token
required
string

Token for agent activation

Responses

Response samples

Content type
application/json
{
  • "token": "string",
  • "stream_name": "string"
}

stream

List streams

This API method is one of the most important in whole API, because it gives the list of all streams.

streams_list in Watcher Admin API:

  • can list all streams within the Watcher.
  • admin is not allowed to watch content from any cameras for security reasons.

streams_list in Watcher Client API:

  • return streams from organizations where you're member
  • prodives a playback token that allows play video from the camera.
Authorizations:
basicAuthbearerAuth
query Parameters
select
string
Example: select=episode_id,media,close_reason

Comma-separated list of fields (including nested) that will be returned.

sort
string
Example: sort=-stats.bitrate,name,position

Composite sort direction. Default sort order is named_by (config,user,remote), position, name.

limit
integer
Example: limit=100

Limit select count in collection to N elements.

cursor
string
Example: cursor=JTI0cG9zaXRpb25fZ3Q9MQ==

Properly encoded analog of offset, allowing to read next bunch of items. We do not offer common offset fields, use please cursor for predictable fetching of quickly changing list of items. Learn more in Flussonic API design principles.

q
string
Example: q=somepattern

Search pattern for different fields like name, title, urls, etc.

Responses

Response samples

Content type
application/json
{
  • "estimated_count": 5,
  • "next": "JTI0cG9zaXRpb25fZ3Q9MA==",
  • "prev": "JTI0cG9zaXRpb25fbHQ9MSYlMjRyZXZlcnNlZD10cnVl",
  • "timing": { },
  • "streams": [
    ]
}

Get one stream

This method allows to fetch a single stream. Refer to the streams_list operation to find out what data will be returned in this method.

Authorizations:
basicAuthbearerAuth
path Parameters
name
required
string
Example: abc

Stream name.

Responses

Response samples

Content type
application/json
{
  • "name": "string",
  • "comment": "This is a test stream",
  • "title": "Hockey channel",
  • "static": true,
  • "disabled": false,
  • "stats": {
    },
  • "inputs": [
    ],
  • "dvr": {
    },
  • "vision": {
    },
  • "organization_id": 9,
  • "is_favourite": true,
  • "notifications_enabled": true,
  • "coordinates": {
    },
  • "postal_address": "string",
  • "map_coordinates": {
    },
  • "onvif": {
    },
  • "preset_id": 0,
  • "folder_id": 0,
  • "audio": {
    },
  • "path": [
    ],
  • "firmware_update_duration": 0,
  • "last_episode_at": 1000000000000,
  • "last_change": {
    }
}

Save stream

Create or update a stream by its name. If the stream doesn't exists in the disk config, it will be created.

If you try to update a stream that is started from a template by a user request having named_by=user, a new stream will be created in the disk config.

If you pass only a partial stream configuration, this field will be updated, not the whole stream.

To create a new stream the property name is required.

Pass the "$reset": true option to replace the stream configuration with the provided one.

Authorizations:
basicAuthbearerAuth
path Parameters
name
required
string
Example: abc

stream name

query Parameters
part
string
Default: "config_on_disk"
Enum: "config_override" "config_on_disk"

The stream is configured by several origins of configuration. It may be config_on_disk or temporary runtime config_override that can be provided via on_play or on_publish backend, or edited via this API call if you pass config_override to this parameter.

Request Body schema: application/json

Partial stream configuration

comment
string

Human-readable description of the stream.

title
string

Human-readable title of the stream. Provided for SDT MPEG-TS table or SDP RTSP title parameter.

static
boolean
Default: true

Whether a stream is static or not. If set to True the server will try to keep this stream running even if there are no viewers or errors encountered.

Streamer restarts all static streams even if any internal errors occur and the static streams crash.

disabled
boolean

Whether a stream is disabled. Disabled streams are inactive and do not run. Displayed only with the API calls.

Array of Demo source (object) or File (object) or H323 (object) or HLS (object) or RTMP (object) or RTSP (object) or SRT (object) or TSHTTP (object) or Mixer (object) or Mosaic (object) or M4F (object) or M4S (object) or RTP (object) or SHOUTcast (object) or Timeshift (object) or Playlist (object) or Copy source (object) or SPTS (object) or MPTS (object) or Publish (object) or V4L (object) or Decklink SDI (object) or DekTec SDI (object) or NDI (object) or SMPTE 2110 (object) or FRIP (object)

List of stream inputs. Important: A stream without any inputs can receive video frames only if backup file is specified.

object (stream_dvr_spec)

DVR configuraton.

object

Video analytics parameters.

organization_id
integer

ID of the organization the stream belongs to. Only organization owner or domain administrator could change it.

is_favourite
boolean

The stream is added to favorites list.

notifications_enabled
boolean

Notifications are enabled for the camera.

object

Camera coordinates on a map or a floor plan.

postal_address
string

Camera adress on a map.

object
Deprecated Delete at: 24.12

Camera coordinates on a map or a floor plan. Deprecated. Use coordinates instead.

object

Onvif configuration

preset_id
integer

Preset identificator.

folder_id
integer

Folder identificator.

object

Audio settings for the stream.

Responses

Request samples

Content type
application/json
{
  • "comment": "This is a test stream",
  • "title": "Hockey channel",
  • "static": true,
  • "disabled": false,
  • "inputs": [
    ],
  • "dvr": {
    },
  • "vision": {
    },
  • "organization_id": 9,
  • "is_favourite": true,
  • "notifications_enabled": true,
  • "coordinates": {
    },
  • "postal_address": "string",
  • "map_coordinates": {
    },
  • "onvif": {
    },
  • "preset_id": 0,
  • "folder_id": 0,
  • "audio": {
    }
}

Response samples

Content type
application/json
{
  • "name": "string",
  • "comment": "This is a test stream",
  • "title": "Hockey channel",
  • "static": true,
  • "disabled": false,
  • "stats": {
    },
  • "inputs": [
    ],
  • "dvr": {
    },
  • "vision": {
    },
  • "organization_id": 9,
  • "is_favourite": true,
  • "notifications_enabled": true,
  • "coordinates": {
    },
  • "postal_address": "string",
  • "map_coordinates": {
    },
  • "onvif": {
    },
  • "preset_id": 0,
  • "folder_id": 0,
  • "audio": {
    },
  • "path": [
    ],
  • "firmware_update_duration": 0,
  • "last_episode_at": 1000000000000,
  • "last_change": {
    }
}

Delete the stream

This method allows to delete a single stream. You can delete config_override by this API call if you want to remove all runtime overrides.

If you do not specify any part parameter, this stream will be deleted from config_on_disk and if it was named_by: config, then it will immediately stop.

Authorizations:
basicAuthbearerAuth
path Parameters
name
required
string
Example: abc

stream name

query Parameters
part
string
Default: "config_on_disk"
Enum: "config_override" "config_on_disk"

part of config to delete

Responses

Import of streams

This method allows you to easily add or update camera configurations. If a camera with the specified name exists, its settings will be updated; otherwise, a new camera will be created. This is useful for making simultaneous changes to multiple cameras, such as integrating billing or setting up different user configurations.

New cameras will be added or existing ones updated without affecting others.

Requests can be sent in CSV format.

Ensure the user has permission to edit cameras in the relevant organizations before submitting.

If errors occur, no changes will be made, preserving the original configuration.

Authorizations:
basicAuthbearerAuth
Request Body schema: text/csv

Streams configurations

string

Responses

Request samples

Content type
text/csv
name,title,comment,static,disabled,inputs_0_url,inputs_1_url,dvr_expiration,dvr_episodes_expiration,dvr_storage_limit,dvr_redundancy_factor,vision_alg,vision_areas,organization_id,coordinates_latitude,coordinates_longitude,is_test,onvif_ptz
cam-e7fee73458,Primary camera title,,true,false,rtsp://127.0.0.1/stream/main,rtsp://127.0.0.1/stream/sub,86400,259200,32212254720,3,faces,x1 y1,1,55.71182944518981,37.7775426954031,false,false
,Secondary camera title,Camera comment,true,false,rtsp://127.0.0.1/stream2/main,rtsp://127.0.0.1/stream2/sub,172800,432000,,0,plates,x2 y2,1,51.711667039488155,35.77733281254769,true,true

Response samples

Content type
application/json
{
  • "created": 0,
  • "updated": 0
}

Get one stream camera config

This method allows to fetch a single stream camera config info.

Authorizations:
basicAuthbearerAuth
path Parameters
name
required
string
Example: abc

Stream name.

Responses

Response samples

Content type
application/json
{
  • "sensor": {
    },
  • "camera_info": {
    },
  • "media_quality": "low"
}

Save stream camera config

Create or update a stream config by its name.

Authorizations:
basicAuthbearerAuth
path Parameters
name
required
string
Example: abc

stream name

Request Body schema: application/json

Partial stream config configuration

sensor (object) or error_response (object)

Describes sensor configuration.

(media_quality (Low"low" (any) or Medium"medium" (any) or High"high" (any))) or error_response (object)

These parameters allow optimizing media quality and performance based on device capabilities and network conditions.

Responses

Request samples

Content type
application/json
{
  • "sensor": {
    },
  • "camera_info": {
    },
  • "media_quality": "low"
}

Response samples

Content type
application/json
{
  • "sensor": {
    },
  • "camera_info": {
    },
  • "media_quality": "low"
}

Save auth for camera

Create or update a auth for camera by its name.

Authorizations:
basicAuthbearerAuth
path Parameters
name
required
string
Example: abc

Stream name.

Responses

Response samples

Content type
application/json
{
  • "login": "string",
  • "password": "string",
  • "port": 0
}

Get auth for camera

Create or update a auth for camera by its name.

Authorizations:
basicAuthbearerAuth
path Parameters
name
required
string
Example: abc

Stream name.

Responses

Response samples

Content type
application/json
{
  • "login": "string",
  • "password": "string",
  • "port": 0
}

Reboot camera

Reboot camera

Authorizations:
basicAuthbearerAuth
path Parameters
name
required
string
Example: abc

Stream name.

Responses

Update camera firmware

This method allows you to update camera firmware

Authorizations:
basicAuthbearerAuth
path Parameters
name
required
string
Example: abc

Stream name.

Request Body schema: application/json

Protocol data and firmware for update camera

image
required
any <binary>

Image for updating camera. Documentation for updating cameras: https://flussonic.com/doc/flussonic-home-v1/#upgrade.

Iris"iris" (string) or ISAPI/PSIA"isapi" (string) or Xm"xm" (string) or MSTAR/Sputnik"sputnik" (string)
Default: "iris"

Protocol for connecting to camera.

Responses

Request samples

Content type
application/json
{
  • "image": "b'DL\u0003\u0004\u0014\u0000'",
  • "proto": "iris"
}

auth

Get an auth token

The method creates a new temporary auth-token (JWT). The JTW token used as Bearer token in requests other than /login.

Authorizations:
basicAuthbearerAuth

Responses

Response samples

Content type
application/json
{
  • "access_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c",
  • "refresh_token": "3637e790-5530-11ed-bdc3-0242ac120002"
}

Send password recovery email

Send user email with password recovery instructions. This method will return success regardless of whether there is a user with the specified email address or not

Authorizations:
basicAuthbearerAuth
Request Body schema: application/json
email
string <email>

Email address to which instructions will be sent

Responses

Request samples

Content type
application/json
{
  • "email": "user@example.com"
}

Response samples

Content type
application/json
{
  • "errors": [
    ]
}

Reset password

Changes user password

Authorizations:
basicAuthbearerAuth
header Parameters
Email-Token
required
string

Token that is generated in the backend and inserted to links in email. The purpose is to allow client to reset password without entering code, just by following a link with this secret token provided. Takes precedence over common authentication.

Request Body schema: application/json
password
string [ 5 .. 128 ] characters

New password

Responses

Request samples

Content type
application/json
{
  • "password": "string"
}

Response samples

Content type
application/json
{
  • "errors": [
    ]
}

episode

List episodes

This method allows you to fetch registered episodes

Authorizations:
basicAuthbearerAuth
query Parameters
select
string
Example: select=episode_id,media,close_reason

Comma-separated list of fields (including nested) that will be returned.

limit
integer
Example: limit=100

Limit select count in collection to N elements.

cursor
string
Example: cursor=JTI0cG9zaXRpb25fZ3Q9MQ==

Properly encoded analog of offset, allowing to read next bunch of items. We do not offer common offset fields, use please cursor for predictable fetching of quickly changing list of items. Learn more in Flussonic API design principles.

group_view
boolean

Show only last episodes by person or vehicle.

is_unknown
boolean

Show episodes with unknown persons and vehicles

episode_type
string
Example: episode_type=generic

Episode type

media
string
Example: media=cam-045

Filter the collection by media name on which the episode is registered

updated_at_gt
integer <utc_ms> [ 1000000000000 .. 10000000000000 ]
Example: updated_at_gt=1637094994000

Filter the collection by episode update time. This field is rather specific because it allows to have an update stream with new/updated episodes

poll_timeout
integer <seconds>
Example: poll_timeout=30

Client may ask to delay a response if there are no episodes to fetch. This should be used as a long-poll mechanism for lightweight fetching episodes from origin.

person_id
integer <snowflake_id>

Filter by Person's identifier

q
string
Example: q=yellow car

Request for the search across the streams being processed by the inference server. Query is a free-formed text that describes an object to search for and its attributes. Query may include color properties ("yellow"), appearance attributes ("beard"). Results may be inaccurate and should be reviewed by inspecting corresponding video fragments. In order to use "context search" feature packages flussonic-vision and vision-context-search must be installed at the inference server to make digital fingerprints of streams. In case you use the "q" parameter to get a list of episodes, the following collection filters are only supported: "media", "opened_at_gte", "opened_at_lte".

Responses

Response samples

Content type
{
  • "estimated_count": 5,
  • "next": "JTI0cG9zaXRpb25fZ3Q9MA==",
  • "prev": "JTI0cG9zaXRpb25fbHQ9MSYlMjRyZXZlcnNlZD10cnVl",
  • "timing": { },
  • "episodes": [
    ]
}

profile

Get profile info

Get profile info.

Authorizations:
basicAuthbearerAuth

Responses

Response samples

Content type
application/json
{
  • "name": "string",
  • "fullname": "string",
  • "email": "user@example.com",
  • "phone": "+78007778413",
  • "locale": "en",
  • "note": "string",
  • "max_sessions": 0,
  • "is_admin": true,
  • "is_domain_admin": true,
  • "is_readonly": true,
  • "apikey": "string"
}

Update profile info

Update profile info.

Authorizations:
basicAuthbearerAuth
Request Body schema: application/json

Profile params.

name
string

User name (login)

fullname
string

The user's full name.

password
string

The specified password will be saved as a hash, used only for writing

email
string <email>

User's email. Required for password recovery.

phone
string <phone-number>

User's phone number

locale
string <ISO 639-1>

The language, selected by user.

note
string

Additional information or notes about the user.

max_sessions
integer

The maximum number of sessions the user can have simultaneously.

apikey
string

Apikey for users access via API.

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "fullname": "string",
  • "password": "string",
  • "email": "user@example.com",
  • "phone": "+78007778413",
  • "locale": "en",
  • "note": "string",
  • "max_sessions": 0,
  • "apikey": "string"
}

Response samples

Content type
application/json
{
  • "name": "string",
  • "fullname": "string",
  • "email": "user@example.com",
  • "phone": "+78007778413",
  • "locale": "en",
  • "note": "string",
  • "max_sessions": 0,
  • "is_admin": true,
  • "is_domain_admin": true,
  • "is_readonly": true,
  • "apikey": "string"
}

Save a new device token

Save a new device token in Watcher. You can read how to create it here: https://firebase.google.com/docs/cloud-messaging/android/client?hl=en#sample-register You must save and refresh token if you want to receive notifications about camera events.

Authorizations:
basicAuthbearerAuth
path Parameters
token
required
string

Device token received from Firebase

Request Body schema: application/json

Device token received from Firebase

object (device_info)

Device info

Responses

Request samples

Content type
application/json
{
  • "device": {
    }
}

Response samples

Content type
application/json
{
  • "token": "string",
  • "device": {
    }
}

Delete device token

Delete device token. Mobile application have to delete all expired device tokens, received from Firebase.

Authorizations:
basicAuthbearerAuth
path Parameters
token
required
string

Device token received from Firebase

Responses

Get device token

Returns a device token info

Authorizations:
basicAuthbearerAuth
path Parameters
token
required
string

Device token received from Firebase

Responses

Response samples

Content type
application/json
{
  • "token": "string",
  • "device": {
    }
}

Confirm notification received by device

Should be called by a device when notification received

Authorizations:
basicAuthbearerAuth
path Parameters
token
required
string

Device token received from Firebase

Responses

Response samples

Content type
application/json
{
  • "token": "string",
  • "device": {
    }
}

Create a new event subscription on specific stream

Create a new event subscription

Authorizations:
basicAuthbearerAuth
Request Body schema: application/json
stream_name
required
string (stream_name)

stream identificator

required
object

Choosing which type of events to subscribe to

notification_type
required
string (notification_type)
Value: "push"

Type of notification

Responses

Request samples

Content type
application/json
{
  • "stream_name": "string",
  • "event_types": {
    },
  • "notification_type": "push"
}

Response samples

Content type
application/json
{
  • "stream_name": "string",
  • "event_types": {
    },
  • "notification_type": "push",
  • "notification_frequency": 0
}

Unsubscribe from events on specific stream

Delete subscription on events

Authorizations:
basicAuthbearerAuth
query Parameters
stream_name
required
string

Stream identifier

Responses

Get users apikey

Get users apikey

Authorizations:
basicAuthbearerAuth

Responses

Response samples

Content type
application/json
{
  • "apikey": "string"
}

Create new apikey for user

Create apikey for user

Authorizations:
basicAuthbearerAuth

Responses

Response samples

Content type
application/json
{
  • "apikey": "string"
}

Delete apikey for user

Delete apikey for user

Authorizations:
basicAuthbearerAuth

Responses

config

Get UI settings

The method allows you to fetch UI settings including branding colors, logos, etc. It can work without authorization for the login page to be loaded.

Authorizations:
basicAuthbearerAuth

Responses

Response samples

Content type
application/json
{
  • "title": "string",
  • "brand": "string",
  • "product": "string",
  • "fonts": {
    },
  • "favicons": {
    },
  • "colors": {
    },
  • "locales": [
    ],
  • "default_locale": "en",
  • "company_info": {
    },
  • "map": {
    }
}

web_push

Subscription existence

Checks for subscription on the backend

Authorizations:
basicAuthbearerAuth
query Parameters
endpoint
required
string

Subscription endpoint

Responses

Response samples

Content type
application/json
{
  • "errors": [
    ]
}

Create subscription

Subscribes the client to Push Messages

Authorizations:
basicAuthbearerAuth
Request Body schema: application/json

Result of PushManager: subscribe() without expirationTime

endpoint
required
string <uri>

Endpoint on which Billing will send Push Messages

required
object

Keys that are used to encrypt the payload

Responses

Request samples

Content type
application/json
{}

Delete subscription

Deletes the subscription, so the client will no longer receive Push Messages on it

Authorizations:
basicAuthbearerAuth
Request Body schema: application/json
endpoint
required
string <uri>

Endpoint on which Billing will send Push Messages

Responses

Request samples

Content type
application/json

Response samples

Content type
application/json
{
  • "errors": [
    ]
}

persons

List Persons

The list of registered videoanalytics persons

Authorizations:
basicAuthbearerAuth
query Parameters
select
string
Example: select=episode_id,media,close_reason

Comma-separated list of fields (including nested) that will be returned.

limit
integer
Example: limit=100

Limit select count in collection to N elements.

cursor
string
Example: cursor=JTI0cG9zaXRpb25fZ3Q9MQ==

Properly encoded analog of offset, allowing to read next bunch of items. We do not offer common offset fields, use please cursor for predictable fetching of quickly changing list of items. Learn more in Flussonic API design principles.

Responses

Response samples

Content type
application/json
{
  • "estimated_count": 5,
  • "next": "JTI0cG9zaXRpb25fZ3Q9MA==",
  • "prev": "JTI0cG9zaXRpb25fbHQ9MSYlMjRyZXZlcnNlZD10cnVl",
  • "timing": { },
  • "persons": [
    ]
}

Get the Person

This method allows you to fetch the person by its identifier

Authorizations:
basicAuthbearerAuth
path Parameters
person_id
required
integer <snowflake_id>

Person's identifier

Responses

Response samples

Content type
application/json
{
  • "person_id": 0,
  • "name": "string",
  • "external_id": "string",
  • "originator": "api",
  • "updated_at": 1637034282845,
  • "deleted_at": 1637095014573,
  • "photos": [
    ],
  • "organization": {
    },
  • "person_list": {
    },
  • "first_seen_at": 1637034282845,
  • "last_seen_at": 1637095014573
}

Delete person

Delete person by its id.

Authorizations:
basicAuthbearerAuth
path Parameters
person_id
required
integer <snowflake_id>

Person's identifier

header Parameters
X-Force
boolean
Example: true

This flag allows you to delete all child objects in person, ignoring the warning signs. Be careful with this flag, it will delete all faces for which this person is the only one and the rest of the child objects

Responses

Response samples

Content type
application/json
{
  • "errors": [
    ]
}

person_lists

Lists Person

This method allows you to fetch the person lists

Authorizations:
basicAuthbearerAuth
query Parameters
select
string
Example: select=episode_id,media,close_reason

Comma-separated list of fields (including nested) that will be returned.

limit
integer
Example: limit=100

Limit select count in collection to N elements.

cursor
string
Example: cursor=JTI0cG9zaXRpb25fZ3Q9MQ==

Properly encoded analog of offset, allowing to read next bunch of items. We do not offer common offset fields, use please cursor for predictable fetching of quickly changing list of items. Learn more in Flussonic API design principles.

Responses

Response samples

Content type
application/json
{
  • "estimated_count": 5,
  • "next": "JTI0cG9zaXRpb25fZ3Q9MA==",
  • "prev": "JTI0cG9zaXRpb25fbHQ9MSYlMjRyZXZlcnNlZD10cnVl",
  • "timing": { },
  • "person_lists": [
    ]
}

organization

List organizations

Organizations of which the user is member

Authorizations:
basicAuthbearerAuth
query Parameters
select
string
Example: select=episode_id,media,close_reason

Comma-separated list of fields (including nested) that will be returned.

limit
integer
Example: limit=100

Limit select count in collection to N elements.

cursor
string
Example: cursor=JTI0cG9zaXRpb25fZ3Q9MQ==

Properly encoded analog of offset, allowing to read next bunch of items. We do not offer common offset fields, use please cursor for predictable fetching of quickly changing list of items. Learn more in Flussonic API design principles.

Responses

Response samples

Content type
application/json
{
  • "estimated_count": 5,
  • "next": "JTI0cG9zaXRpb25fZ3Q9MA==",
  • "prev": "JTI0cG9zaXRpb25fbHQ9MSYlMjRyZXZlcnNlZD10cnVl",
  • "timing": { },
  • "organizations": [
    ]
}

Create organization

Create new organization

Authorizations:
basicAuthbearerAuth
Request Body schema: application/json

Organization body

title
required
string

Human-readable name of the organization.

object

Limits for properties in organization.

object

Owner properties.

Responses

Request samples

Content type
application/json
{
  • "title": "Example LLC",
  • "limits": {
    },
  • "owner": {
    }
}

Response samples

Content type
application/json
{
  • "id": 7,
  • "title": "Example LLC",
  • "stats": {
    },
  • "limits": {
    },
  • "is_default": true,
  • "owner": {
    },
  • "user_permissions": {
    }
}

Get single organization info

This method allows to fetch a single organization info. Refer to the organizations_list operation to find out what data will be returned in this method.

Authorizations:
basicAuthbearerAuth
path Parameters
organization_id
required
integer

Organization identifier

Responses

Response samples

Content type
application/json
{
  • "id": 7,
  • "title": "Example LLC",
  • "stats": {
    },
  • "limits": {
    },
  • "is_default": true,
  • "owner": {
    },
  • "user_permissions": {
    }
}

Update organization

Update organization by its id.

Authorizations:
basicAuthbearerAuth
path Parameters
organization_id
required
integer

Organization identifier

Request Body schema: application/json

Organization info

title
required
string

Human-readable name of the organization.

object

Limits for properties in organization.

object

Owner properties.

Responses

Request samples

Content type
application/json
{
  • "title": "Example LLC",
  • "limits": {
    },
  • "owner": {
    }
}

Response samples

Content type
application/json
{
  • "id": 7,
  • "title": "Example LLC",
  • "stats": {
    },
  • "limits": {
    },
  • "is_default": true,
  • "owner": {
    },
  • "user_permissions": {
    }
}

Delete organization

Delete organization by its id.

Authorizations:
basicAuthbearerAuth
path Parameters
organization_id
required
integer

Organization identifier

header Parameters
X-Force
boolean
Example: true

This flag allows you to delete all child objects in organizations, ignoring the warning signs. Be careful with this flag, it will delete all threads, users for which this organization is the only one and the rest of the child objects

Responses

Response samples

Content type
application/json
{
  • "errors": [
    ]
}

List users in organization

Users who are members of the organization

Authorizations:
basicAuthbearerAuth
path Parameters
organization_id
required
integer

Organization identifier

query Parameters
select
string
Example: select=episode_id,media,close_reason

Comma-separated list of fields (including nested) that will be returned.

limit
integer
Example: limit=100

Limit select count in collection to N elements.

cursor
string
Example: cursor=JTI0cG9zaXRpb25fZ3Q9MQ==

Properly encoded analog of offset, allowing to read next bunch of items. We do not offer common offset fields, use please cursor for predictable fetching of quickly changing list of items. Learn more in Flussonic API design principles.

Responses

Response samples

Content type
application/json
{
  • "estimated_count": 5,
  • "next": "JTI0cG9zaXRpb25fZ3Q9MA==",
  • "prev": "JTI0cG9zaXRpb25fbHQ9MSYlMjRyZXZlcnNlZD10cnVl",
  • "timing": { },
  • "users": [
    ]
}

Get single organization user info

This method allows to fetch a single organizations user info.

Authorizations:
basicAuthbearerAuth
path Parameters
organization_id
required
integer

Organization identifier

user_id
required
integer

User identifier

Responses

Response samples

Content type
application/json
{
  • "id": 7,
  • "name": "Example LLC",
  • "email": "user@example.com",
  • "permissions": {
    }
}

Update organizations user

Update organization user by its id or adds new user to organization.

Authorizations:
basicAuthbearerAuth
path Parameters
organization_id
required
integer

Organization identifier

user_id
required
integer

User identifier

Request Body schema: application/json

Organization user info

can_view_stats
boolean

An indicator of whether the user can view statistics of organization.

can_edit_streams
boolean

An indicator of whether the user has control over the streams.

can_edit_users
boolean

An indicator of whether the user has control over the users.

can_view_persons_lists
boolean

An indicator of whether the user can view persons list in organization.

can_edit_persons_lists
boolean

An indicator of whether the user has control over the persons list in organization.

Responses

Request samples

Content type
application/json
{
  • "can_view_stats": true,
  • "can_edit_streams": true,
  • "can_edit_users": true,
  • "can_view_persons_lists": true,
  • "can_edit_persons_lists": true
}

Response samples

Content type
application/json
{
  • "id": 7,
  • "name": "Example LLC",
  • "email": "user@example.com",
  • "permissions": {
    }
}

Delete user from organization

Delete user from organization by its id.

Authorizations:
basicAuthbearerAuth
path Parameters
organization_id
required
integer

Organization identifier

user_id
required
integer

User identifier

Responses

Update organizations preset

Save organization preset by its id or adds new preset to organization.

Authorizations:
basicAuthbearerAuth
path Parameters
organization_id
required
integer

Organization identifier

Request Body schema: application/json

Organization preset info

preset_id
integer

Preset identifier

Responses

Request samples

Content type
application/json
{
  • "preset_id": 7
}

Response samples

Content type
application/json
{
  • "id": 7,
  • "title": "Example preset name",
  • "is_adjustable": true,
  • "dvr": {
    },
  • "vision": {
    },
  • "is_default": true
}

Delete preset from organization

This method allows to remove a specific preset from organization.

Authorizations:
basicAuthbearerAuth
path Parameters
organization_id
required
integer

Organization identifier

preset_id
required
integer

Preset identifier

Responses

Response samples

Content type
application/json
{
  • "errors": [
    ]
}

preset

List presets

The presets in Watcher is a set of DVR and analytics parameters that you can use as a template when creating and configuring cameras. When you select a preset in the camera settings, the parameters from the preset are populated to the camera settings. A set of presets on the camera is defined by the set of presets selected for the camera's Organization. https://flussonic.com/doc/manage-presets-in-watcher-ui/

This method is used to get info about presets. If the organization_id is transferred this method will return presets only allowed in organization with that Id.

Authorizations:
basicAuthbearerAuth
query Parameters
select
string
Example: select=episode_id,media,close_reason

Comma-separated list of fields (including nested) that will be returned.

limit
integer
Example: limit=100

Limit select count in collection to N elements.

cursor
string
Example: cursor=JTI0cG9zaXRpb25fZ3Q9MQ==

Properly encoded analog of offset, allowing to read next bunch of items. We do not offer common offset fields, use please cursor for predictable fetching of quickly changing list of items. Learn more in Flussonic API design principles.

organization_id
integer

Organization identifier to select presets only available for this organization. If the organization_id is not transferred, all available presets will be returned.

Responses

Response samples

Content type
application/json
{
  • "estimated_count": 5,
  • "next": "JTI0cG9zaXRpb25fZ3Q9MA==",
  • "prev": "JTI0cG9zaXRpb25fbHQ9MSYlMjRyZXZlcnNlZD10cnVl",
  • "timing": { },
  • "presets": [
    ]
}

Get one preset

This method is used to get info about preset by its id.

Authorizations:
basicAuthbearerAuth
path Parameters
id
required
integer <snowflake_id>

Preset's identifier

Responses

Response samples

Content type
application/json
{
  • "id": 7,
  • "title": "Example preset name",
  • "is_adjustable": true,
  • "dvr": {
    },
  • "vision": {
    },
  • "is_default": true
}

notifications

Send an arbitrary push notification

Send an arbitrary push notification. This method sends test push notification to user.

Authorizations:
basicAuthbearerAuth
Request Body schema: application/json
title
required
string

Title of notification

body
required
string

Body of notification

Responses

Request samples

Content type
application/json
{
  • "title": "string",
  • "body": "string"
}

mosaics

List mosaics

Returns the list of all mosaics. Mosaics allow you to combine multiple cameras to display on a single screen.

Authorizations:
basicAuthbearerAuth
query Parameters
select
string
Example: select=episode_id,media,close_reason

Comma-separated list of fields (including nested) that will be returned.

limit
integer
Example: limit=100

Limit select count in collection to N elements.

cursor
string
Example: cursor=JTI0cG9zaXRpb25fZ3Q9MQ==

Properly encoded analog of offset, allowing to read next bunch of items. We do not offer common offset fields, use please cursor for predictable fetching of quickly changing list of items. Learn more in Flussonic API design principles.

Responses

Response samples

Content type
application/json
{
  • "estimated_count": 5,
  • "next": "JTI0cG9zaXRpb25fZ3Q9MA==",
  • "prev": "JTI0cG9zaXRpb25fbHQ9MSYlMjRyZXZlcnNlZD10cnVl",
  • "timing": { },
  • "mosaics": [
    ]
}

Create mosaic

This method allows you to create a mosaic

Authorizations:
basicAuthbearerAuth
header Parameters
Idempotency-Key
required
string <uuid>
Example: 8e03978e-40d5-43e8-bc93-6894a57f9324

The idempotency token guarantees that the same operation will not be executed twice. It is especially important in a cloud platform to make sure that credits are not deducted from the account several times for the same action.

Request Body schema: application/json

Mosaic data

title
string

Human-readable mosaic name.

1x7"1x7" (string) or 2x2"2x2" (string) or 3x3"3x3" (string) or 4x4"4x4" (string) or 5x5"5x5" (string) or 6x6"6x6" (string) or 7x7"7x7" (string) or 8x8"8x8" (string)

Use this parameter to specify mosaic display mode and size.

organization_id
integer

The identifier of organization that the mosaic is linked to.

Array of objects

The list of streams from which the mosaic is formed. The array is contiguously filled in the order of the streams' arrangement on the mosaic. An empty element corresponds to a cell without a stream.

Responses

Request samples

Content type
application/json
{
  • "title": "string",
  • "type": "2x2",
  • "organization_id": 9,
  • "streams": [
    ]
}

Response samples

Content type
application/json
{
  • "title": "string",
  • "type": "2x2",
  • "organization_id": 9,
  • "id": 7,
  • "streams": [
    ]
}

Get mosaic detail

This method is used to get info about mosaic by its id.

Authorizations:
basicAuthbearerAuth
path Parameters
mosaic_id
required
integer
Example: 15

Mosaic identifier

Responses

Response samples

Content type
application/json
{
  • "title": "string",
  • "type": "2x2",
  • "organization_id": 9,
  • "id": 7,
  • "streams": [
    ]
}

Delete a mosaic

This method allows you to delete a mosaic

Authorizations:
basicAuthbearerAuth
path Parameters
mosaic_id
required
integer
Example: 15

Mosaic identifier

Responses

Save mosaic

This method allows you to update mosaic data

Authorizations:
basicAuthbearerAuth
path Parameters
mosaic_id
required
integer
Example: 15

Mosaic identifier

Request Body schema: application/json

Mosaic data

title
string

Human-readable mosaic name.

1x7"1x7" (string) or 2x2"2x2" (string) or 3x3"3x3" (string) or 4x4"4x4" (string) or 5x5"5x5" (string) or 6x6"6x6" (string) or 7x7"7x7" (string) or 8x8"8x8" (string)

Use this parameter to specify mosaic display mode and size.

organization_id
integer

The identifier of organization that the mosaic is linked to.

Array of objects

The list of streams from which the mosaic is formed. The array is contiguously filled in the order of the streams' arrangement on the mosaic. An empty element corresponds to a cell without a stream.

Responses

Request samples

Content type
application/json
{
  • "title": "string",
  • "type": "2x2",
  • "organization_id": 9,
  • "streams": [
    ]
}

Response samples

Content type
application/json
{
  • "title": "string",
  • "type": "2x2",
  • "organization_id": 9,
  • "id": 7,
  • "streams": [
    ]
}

ptz

Execute a PTZ command

Execute a PTZ command

Authorizations:
basicAuthbearerAuth
path Parameters
name
required
string
Example: 1

stream name

Request Body schema: application/json

PTZ command

command
string

start PTZ continuous move

up
integer [ 0 .. 100 ]

Speed to move the camera up. Percentage of the maximum pan speed.

down
integer [ 0 .. 100 ]

Speed to move the camera down. Percentage of the maximum pan speed.

left
integer [ 0 .. 100 ]

Speed to move the camera left. Percentage of the maximum tilt speed.

right
integer [ 0 .. 100 ]

Speed to move the camera right. Percentage of the maximum tilt speed.

in
integer [ 0 .. 100 ]

Speed to zoom in the camera. Percentage of the maximum zoom speed.

out
integer [ 0 .. 100 ]

Speed to zoom out the camera. Percentage of the maximum zoom speed.

Responses

Request samples

Content type
application/json
{
  • "command": "move_continuous",
  • "up": 0,
  • "down": 50,
  • "left": 50,
  • "right": 0,
  • "in": 20,
  • "out": 0
}

Response samples

Content type
application/json
{
  • "errors": [
    ]
}

user

List of users

List of available users

Authorizations:
basicAuthbearerAuth
query Parameters
select
string
Example: select=episode_id,media,close_reason

Comma-separated list of fields (including nested) that will be returned.

limit
integer
Example: limit=100

Limit select count in collection to N elements.

cursor
string
Example: cursor=JTI0cG9zaXRpb25fZ3Q9MQ==

Properly encoded analog of offset, allowing to read next bunch of items. We do not offer common offset fields, use please cursor for predictable fetching of quickly changing list of items. Learn more in Flussonic API design principles.

organization_id
integer

Organization identifier to select users only available for this organization. If the organization_id is not transferred, all available users will be returned.

Responses

Response samples

Content type
application/json
{
  • "estimated_count": 5,
  • "next": "JTI0cG9zaXRpb25fZ3Q9MA==",
  • "prev": "JTI0cG9zaXRpb25fbHQ9MSYlMjRyZXZlcnNlZD10cnVl",
  • "timing": { },
  • "users_list": [
    ]
}

Create user

This method allows you to create a user

Authorizations:
basicAuthbearerAuth
header Parameters
Idempotency-Key
required
string <uuid>
Example: 8e03978e-40d5-43e8-bc93-6894a57f9324

The idempotency token guarantees that the same operation will not be executed twice. It is especially important in a cloud platform to make sure that credits are not deducted from the account several times for the same action.

Request Body schema: application/json

User data

name
string

User name (login)

fullname
string

The user's full name.

password
string

The specified password will be saved as a hash, used only for writing

email
string <email>

User's email. Required for password recovery.

phone
string <phone-number>

User's phone number

locale
string <ISO 639-1>

The language, selected by user.

note
string

Additional information or notes about the user.

max_sessions
integer

The maximum number of sessions the user can have simultaneously.

disabled
boolean
Default: false

A parameter that allows you to enable/disable the user

readonly
boolean

A flag indicating that the user has read-only access and cannot modify their own data.

"generic" (string) or "admin" (string)
Default: "generic"

The parameter regulates the rights for the user

organization_id
integer

The identifier of the Organization to which the user should be added. If no organization_id - first organization where user has permissions for managing users.

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "fullname": "string",
  • "password": "string",
  • "email": "user@example.com",
  • "phone": "+78007778413",
  • "locale": "en",
  • "note": "string",
  • "max_sessions": 0,
  • "disabled": false,
  • "readonly": false,
  • "access_level": "generic",
  • "organization_id": 12
}

Response samples

Content type
application/json
{
  • "name": "string",
  • "fullname": "string",
  • "email": "user@example.com",
  • "phone": "+78007778413",
  • "locale": "en",
  • "note": "string",
  • "max_sessions": 0,
  • "id": 1,
  • "disabled": false,
  • "readonly": false,
  • "organizations": [
    ],
  • "access_level": "generic"
}

Get a user

This method allows you to fetch the user by its identifier

Authorizations:
basicAuthbearerAuth
path Parameters
user_id
required
integer <snowflake_id>

User's identifier

Responses

Response samples

Content type
application/json
{
  • "name": "string",
  • "fullname": "string",
  • "email": "user@example.com",
  • "phone": "+78007778413",
  • "locale": "en",
  • "note": "string",
  • "max_sessions": 0,
  • "id": 1,
  • "disabled": false,
  • "readonly": false,
  • "organizations": [
    ],
  • "access_level": "generic"
}

Save user

This method allows you to update user data

Authorizations:
basicAuthbearerAuth
path Parameters
user_id
required
integer <snowflake_id>

User's identifier

Request Body schema: application/json

User data

name
string

User name (login)

fullname
string

The user's full name.

password
string

The specified password will be saved as a hash, used only for writing

email
string <email>

User's email. Required for password recovery.

phone
string <phone-number>

User's phone number

locale
string <ISO 639-1>

The language, selected by user.

note
string

Additional information or notes about the user.

max_sessions
integer

The maximum number of sessions the user can have simultaneously.

disabled
boolean
Default: false

A parameter that allows you to enable/disable the user

readonly
boolean

A flag indicating that the user has read-only access and cannot modify their own data.

"generic" (string) or "admin" (string)
Default: "generic"

The parameter regulates the rights for the user

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "fullname": "string",
  • "password": "string",
  • "email": "user@example.com",
  • "phone": "+78007778413",
  • "locale": "en",
  • "note": "string",
  • "max_sessions": 0,
  • "disabled": false,
  • "readonly": false,
  • "access_level": "generic"
}

Response samples

Content type
application/json
{
  • "name": "string",
  • "fullname": "string",
  • "email": "user@example.com",
  • "phone": "+78007778413",
  • "locale": "en",
  • "note": "string",
  • "max_sessions": 0,
  • "id": 1,
  • "disabled": false,
  • "readonly": false,
  • "organizations": [
    ],
  • "access_level": "generic"
}

Delete a user

This method allows you to delete a user

Authorizations:
basicAuthbearerAuth
path Parameters
user_id
required
integer <snowflake_id>

User's identifier

Responses

Get user's API key

The API key is used for authentication in API requests, allowing access to protected resources without using a password.

Authorizations:
basicAuthbearerAuth
path Parameters
user_id
required
integer

User identifier

Responses

Response samples

Content type
application/json
{
  • "apikey": "string"
}

Create new API key for user

The API key is used for authentication in API requests, allowing access to protected resources without using a password.

Authorizations:
basicAuthbearerAuth
path Parameters
user_id
required
integer

User identifier

Responses

Response samples

Content type
application/json
{
  • "apikey": "string"
}

Get user's folders in organization

Get list of folders available for user in specific organization

Authorizations:
basicAuthbearerAuth
path Parameters
user_id
required
integer

User identifier

organization_id
required
integer

Organization identifier

Responses

Response samples

Content type
application/json
{
  • "estimated_count": 5,
  • "next": "JTI0cG9zaXRpb25fZ3Q9MA==",
  • "prev": "JTI0cG9zaXRpb25fbHQ9MSYlMjRyZXZlcnNlZD10cnVl",
  • "timing": { },
  • "folders": [
    ]
}

Get user's organizations

Get list of organizations available for user

Authorizations:
basicAuthbearerAuth
path Parameters
user_id
required
integer

User identifier

query Parameters
can_edit
boolean

A parameter to filter organizations based on their edit availability for the current user

Responses

Response samples

Content type
application/json
{
  • "estimated_count": 5,
  • "next": "JTI0cG9zaXRpb25fZ3Q9MA==",
  • "prev": "JTI0cG9zaXRpb25fbHQ9MSYlMjRyZXZlcnNlZD10cnVl",
  • "timing": { },
  • "organizations": [
    ]
}

folder

Get list of folders

This method allows to fetch a list of folders info.

Authorizations:
basicAuthbearerAuth
path Parameters
organization_id
required
integer

Organization identifier

Responses

Response samples

Content type
application/json
{
  • "estimated_count": 5,
  • "next": "JTI0cG9zaXRpb25fZ3Q9MA==",
  • "prev": "JTI0cG9zaXRpb25fbHQ9MSYlMjRyZXZlcnNlZD10cnVl",
  • "timing": { },
  • "folders": [
    ]
}

Create folder

Create folder.

Authorizations:
basicAuthbearerAuth
path Parameters
organization_id
required
integer

Organization identifier

Request Body schema: application/json

Folder info

object

The folder may have a floor plan attached to it to be shown on the map. This parameter sets the image center coordinates: latitude and longitude.

object

Object of map parameters

object

Hierarchy object.

parent_id
integer (parent_id)

The identifier of the parent folder.

title
string

The folder name.

Responses

Request samples

Content type
application/json
{
  • "coordinates": {
    },
  • "floor_plan": {
    },
  • "hierarchy": {
    },
  • "parent_id": 0,
  • "title": "string"
}

Response samples

Content type
application/json
{
  • "id": 0,
  • "streams_count": 0,
  • "coordinates": {
    },
  • "floor_plan": {
    },
  • "hierarchy": {
    },
  • "organization_id": 0,
  • "parent_id": 0,
  • "title": "string"
}

Get folder info

This method allows to fetch folder info.

Authorizations:
basicAuthbearerAuth
path Parameters
organization_id
required
integer

Organization identifier

folder_id
required
integer

Folder identifier

Responses

Response samples

Content type
application/json
{
  • "id": 0,
  • "streams_count": 0,
  • "coordinates": {
    },
  • "floor_plan": {
    },
  • "hierarchy": {
    },
  • "organization_id": 0,
  • "parent_id": 0,
  • "title": "string"
}

Save folder

Save folder.

Authorizations:
basicAuthbearerAuth
path Parameters
organization_id
required
integer

Organization identifier

folder_id
required
integer

Folder identifier

Request Body schema: application/json

Folder info

object

The folder may have a floor plan attached to it to be shown on the map. This parameter sets the image center coordinates: latitude and longitude.

object

Object of map parameters

object

Hierarchy object.

parent_id
integer (parent_id)

The identifier of the parent folder.

title
string

The folder name.

Responses

Request samples

Content type
application/json
{
  • "coordinates": {
    },
  • "floor_plan": {
    },
  • "hierarchy": {
    },
  • "parent_id": 0,
  • "title": "string"
}

Response samples

Content type
application/json
{
  • "id": 0,
  • "streams_count": 0,
  • "coordinates": {
    },
  • "floor_plan": {
    },
  • "hierarchy": {
    },
  • "organization_id": 0,
  • "parent_id": 0,
  • "title": "string"
}

Delete folder

This method allows to delete a folder.

Authorizations:
basicAuthbearerAuth
path Parameters
organization_id
required
integer

Organization identifier

folder_id
required
integer

Folder identifier

Responses

Get a list of users in a folder

This method allows to fetch a list of users in a folder.

Authorizations:
basicAuthbearerAuth
path Parameters
organization_id
required
integer

Organization identifier

folder_id
required
integer

Folder identifier

Responses

Response samples

Content type
application/json
{
  • "estimated_count": 5,
  • "next": "JTI0cG9zaXRpb25fZ3Q9MA==",
  • "prev": "JTI0cG9zaXRpb25fbHQ9MSYlMjRyZXZlcnNlZD10cnVl",
  • "timing": { },
  • "users": [
    ]
}

Get user in a folder

This method allows to fetch user in a folder.

Authorizations:
basicAuthbearerAuth
path Parameters
organization_id
required
integer

Organization identifier

folder_id
required
integer

Folder identifier

user_id
required
integer

User identifier

Responses

Response samples

Content type
application/json
{
  • "can_view": false,
  • "can_view_dvr": false,
  • "dvr_depth_limit": 3600,
  • "can_use_ptz": false,
  • "can_use_actions": false
}

Save user in a folder

Save user info in a folder.

Authorizations:
basicAuthbearerAuth
path Parameters
organization_id
required
integer

Organization identifier

folder_id
required
integer

Folder identifier

user_id
required
integer

User identifier

Request Body schema: application/json

Folder user

can_view
boolean
Default: false

The flag showing if the user can view only live on the streams in the folder and the list of streams.

can_view_dvr
boolean
Default: false

The flag showing if the user can view archive on the streams in the folder.

dvr_depth_limit
integer <seconds> >= 0

The dvr depth limit allows to: Set the maximum recording depth, which determines how far back recorded materials can be viewed. Manage access to archived data, ensuring security and control over who can access records. if set to 0, the user has unlimited access to the archive.

can_use_ptz
boolean
Default: false

The flag if the user can use PTZ controls.

can_use_actions
boolean
Default: false

The flag showing if the user can manage and execute actions on the streams in the folder.

Responses

Request samples

Content type
application/json
{
  • "can_view": false,
  • "can_view_dvr": false,
  • "dvr_depth_limit": 3600,
  • "can_use_ptz": false,
  • "can_use_actions": false
}

Response samples

Content type
application/json
{
  • "can_view": false,
  • "can_view_dvr": false,
  • "dvr_depth_limit": 3600,
  • "can_use_ptz": false,
  • "can_use_actions": false
}

Delete user in a folder

This method allows to delete user info in a folder.

Authorizations:
basicAuthbearerAuth
path Parameters
organization_id
required
integer

Organization identifier

folder_id
required
integer

Folder identifier

user_id
required
integer

User identifier

Responses

messages

List of messages

List of messages

Authorizations:
basicAuthbearerAuth
query Parameters
limit
integer
Example: limit=100

Limit select count in collection to N elements.

cursor
string
Example: cursor=JTI0cG9zaXRpb25fZ3Q9MQ==

Properly encoded analog of offset, allowing to read next bunch of items. We do not offer common offset fields, use please cursor for predictable fetching of quickly changing list of items. Learn more in Flussonic API design principles.

Responses

Response samples

Content type
application/json
{
  • "estimated_count": 5,
  • "next": "JTI0cG9zaXRpb25fZ3Q9MA==",
  • "prev": "JTI0cG9zaXRpb25fbHQ9MSYlMjRyZXZlcnNlZD10cnVl",
  • "timing": { },
  • "messages": [
    ]
}

Send a message

This method allows you to send a message to a user

Authorizations:
basicAuthbearerAuth
Request Body schema: application/json

Message data

title
string

Message title.

body
required
string

Message text with Markdown.

"info" (string) or "warning" (string) or "danger" (string)

The type of a message.

is_push
boolean
Default: false

Whether to send a push notification to mobile devices or not

is_dashboard
boolean
Default: false

Whether to display the notification on the information panel or not

user_id
required
integer

Identifier of the user to whom the message will be sent.

Responses

Request samples

Content type
application/json
{
  • "title": "Attention! Maintenance work is in progress.\n",
  • "body": "**Maintenance work is in progress.**\n",
  • "type": "warning",
  • "is_push": false,
  • "is_dashboard": false,
  • "user_id": 1
}

Response samples

Content type
application/json
{
  • "title": "Attention! Maintenance work is in progress.\n",
  • "body": "**Maintenance work is in progress.**\n",
  • "type": "warning",
  • "is_push": false,
  • "is_dashboard": false,
  • "id": 1,
  • "is_deleted": false,
  • "sender": {
    },
  • "user": {
    },
  • "was_read": false,
  • "devices": 3
}

Get a message

This method allows you to fetch the message by its identifier

Authorizations:
basicAuthbearerAuth
path Parameters
message_id
required
integer <snowflake_id>

Message identifier

Responses

Response samples

Content type
application/json
{
  • "title": "Attention! Maintenance work is in progress.\n",
  • "body": "**Maintenance work is in progress.**\n",
  • "type": "warning",
  • "is_push": false,
  • "is_dashboard": false,
  • "id": 1,
  • "is_deleted": false,
  • "sender": {
    },
  • "user": {
    },
  • "was_read": false
}

Delete a message

This method allows you to delete a message

Authorizations:
basicAuthbearerAuth
path Parameters
message_id
required
integer <snowflake_id>

Message identifier

Responses

Response samples

Content type
application/json
{
  • "errors": [
    ]
}