API Usage Examples¶
Login¶
$ curl -sS -f \
-H 'content-type:application/json' \
-d '{"login": "${WATCHER_LOGIN}", "password": "${WATCHER_PASSWORD}"}' \
${WATCHER_URL}/vsaas/api/v2/auth/login \
| jq -r '.session'
RYABq2AgwlgNXsqSkwSMOcX3InI
User List¶
$ curl -sS -f http://172.17.0.3/vsaas/api/v2/users \
-H 'x-vsaas-session: RYABq2AgwlgNXsqSkwSMOcX3InI'
[
{
"id": 1,
"login": "admin",
"is_admin": true,
"enabled": true,
"organizations": [
1
],
}
]
Create User¶
$ curl -sS -f -X POST http://172.17.0.3/vsaas/api/v2/users \
-H 'x-vsaas-session: RYABq2AgwlgNXsqSkwSMOcX3InI' \
-H 'content-type: application/json' \
-d '{"login": "test-user", "password": "123", "organization_id": 1}'
{
"id": 2,
"login": "test-user",
"is_admin": false,
"enabled": true,
"organizations": [
1
],
...
}
Change User’s attributes¶
$ curl -sS -f -X PUT http://172.17.0.3/vsaas/api/v2/users/2 \
-H 'x-vsaas-session: RYABq2AgwlgNXsqSkwSMOcX3InI' \
-H 'content-type: application/json' \
-d '{"name": "John Smith"}'
{
"is_admin": false,
"login": "test-user",
"name": "John Smith",
"enabled": true,
"id": 2,
"organizations": [
1
],
}
Add a Camera¶
$ curl -sS -f -X POST http://172.17.0.3/vsaas/api/v2/cameras \
-H 'x-vsaas-session: RYABq2AgwlgNXsqSkwSMOcX3InI' \
-H 'content-type: application/json' \
-d '{"title": "First Camera", "stream_url": "fake://clock"}'
{
"name": "first.camera-543bf23382",
"enabled": true,
"title": "First Camera",
"dvr_depth": null,
"organization_id": 1,
"playback_config": {
"token": "2.TfBNgtUkAAEA"
},
"static": true,
"stream_url": "fake://clock",
...
}
Change Camera’s Attributes¶
$ curl -sS -f -X PUT http://172.17.0.3/vsaas/api/v2/cameras/first.camera-543bf23382 \
-H 'x-vsaas-session: RYABq2AgwlgNXsqSkwSMOcX3InI' \
-H 'content-type: application/json' \
-d '{"dvr_depth": 3}'
{
"name": "first.camera-543bf23382",
"enabled": true,
"dvr_depth": 3,
...
}
Camera List¶
curl -sS -f -X GET http://172.17.0.3/vsaas/api/v2/cameras \
-H 'x-vsaas-session: RYABq2AgwlgNXsqSkwSMOcX3InI'
[
{
"name": "first.camera-543bf23382",
"enabled": true,
"title": "First Camera",
"dvr_depth": null,
"organization_id": 1,
"playback_config": {
"token": "2.TfBNgtUkAAEA"
},
"static": true,
"stream_url": "fake://clock",
...
}
]
Get Playback URL for the Camera¶
$ curl -sS -f -X GET http://172.17.0.3/vsaas/api/v2/cameras/first.camera-543bf23382 \
-H 'x-vsaas-session: RYABq2AgwlgNXsqSkwSMOcX3InI' \
| jq '.playback_config.token'
"2.TfBNgtUkAAEA"
Use this value as a token to construct embed links or as a playback url for your player
HTML5 Embed
http://172.17.0.3/vsaas/embed/first.camera-543bf23382?token=2.TfBNgtUkAAEA
MPEG TS
http://172.17.0.3/first.camera-543bf23382/mpegts?token=2.TfBNgtUkAAEA
HLS
http://172.17.0.3/first.camera-543bf23382/index.m3u8?token=2.TfBNgtUkAAEA