yachtaware
GET
/devices
GET
/cameras/
{id}
GET
/cameras/
{id}
/streamsExample 1
GET /devices HTTP/1.1
HTTP/1.1 200 OK
Content-Type: application/json
{
"content": [
{
"id": "",
"name": "",
"description": "",
"device_type": "DOOR"
}
]
}
GET
/cameras/
{id}
/streamsPath variables
id
string
required
Request parameters
stream_type
string
optional
Responses
200
OK
Body
Example 1
GET /cameras/{id}/streams HTTP/1.1
HTTP/1.1 200 OK
Content-Type: application/json
{
"id": "",
"name": "",
"display_name": "",
"reference_id": "",
"URI": "",
"stream_type": "REFERENCE",
"live_mode": "",
"is_recording": true
}
GET
/sites
GET
/sites/
{id}
/zones
POST
/sites/
{id}
/zones
GET
/zones/
{id}
/layouts
GET
/layout/
{id}
/devices
POST
/zones/
{id}
/layoutsExample 1
GET /sites HTTP/1.1
HTTP/1.1 200 OK
Content-Type: application/json
{
"content": [
{
"id": "",
"name": "",
"description": "",
"owner": {
"id": "",
"name": ""
}
}
]
}
Example 1
GET /sites/{id}/zones HTTP/1.1
HTTP/1.1 200 OK
Content-Type: application/json
{
"content": [
{
"id": "",
"name": "",
"description": "",
"layouts": [
{
"id": "",
"name": "",
"description": "",
"image": {
"id": "3617f2c9-9b5f-4661-b23e-d3c8247cd5ad",
"type": "PHOTO",
"width": 3992,
"height": 2992,
"format": "jpg",
"url": "https://res.cloudinary.com/vizulink-tech-lmimited/image/upload/v1/crm/c74cd62c-4b99-4291-b083-d0ad7aa69c7d/mnk48n6y1nk1ojwv3rey.jpg",
"public_id": "crm/c74cd62c-4b99-4291-b083-d0ad7aa69c7d/mnk48n6y1nk1ojwv3rey",
"media": [
{
"id": "",
"width": 50,
"height": 37,
"url": "https://res.cloudinary.com/vizulink-tech-lmimited/image/upload/c_scale,f_auto,q_auto,w_50/v1/crm/c74cd62c-4b99-4291-b083-d0ad7aa69c7d/mnk48n6y1nk1ojwv3rey.jpg"
}
]
},
"image_url": ""
}
]
}
],
"paging": {
"last": true,
"total_elements": 28661,
"total_pages": 2867,
"size": 10,
"number": 11,
"sort": {
"empty": true,
"sorted": true,
"unsorted": true
},
"first": true,
"number_of_elements": 10,
"empty": true
}
}
POST
/sites/
{id}
/zonesPath variables
id
string
required
Request parameters
site_id
string
optional
Responses
200
OK
Body
Array
Object
id
string
Example:
8e8ac680-e284-11ed-9b0a-42010a9a0007
name
string
Example:
Sun Deck
description
string
Example:
Sun Deck
image
Object
id
string
Example:
c2b18d28-871e-40e1-8899-65fdfe8fb03b
image_uri
unknown
nullable
priority
integer
Example 1
GET /sites/{id}/zones HTTP/1.1
HTTP/1.1 200 OK
Content-Type: application/json
{
"content": [
{
"id": "",
"name": "",
"description": "",
"layouts": [
{
"id": "",
"name": "",
"description": "",
"image": {
"id": "3617f2c9-9b5f-4661-b23e-d3c8247cd5ad",
"type": "PHOTO",
"width": 3992,
"height": 2992,
"format": "jpg",
"url": "https://res.cloudinary.com/vizulink-tech-lmimited/image/upload/v1/crm/c74cd62c-4b99-4291-b083-d0ad7aa69c7d/mnk48n6y1nk1ojwv3rey.jpg",
"public_id": "crm/c74cd62c-4b99-4291-b083-d0ad7aa69c7d/mnk48n6y1nk1ojwv3rey",
"media": [
{
"id": "",
"width": 50,
"height": 37,
"url": "https://res.cloudinary.com/vizulink-tech-lmimited/image/upload/c_scale,f_auto,q_auto,w_50/v1/crm/c74cd62c-4b99-4291-b083-d0ad7aa69c7d/mnk48n6y1nk1ojwv3rey.jpg"
}
]
},
"image_url": ""
}
]
}
],
"paging": {
"last": true,
"total_elements": 28661,
"total_pages": 2867,
"size": 10,
"number": 11,
"sort": {
"empty": true,
"sorted": true,
"unsorted": true
},
"first": true,
"number_of_elements": 10,
"empty": true
}
}
GET
/zones/
{id}
/layoutsPath variables
id
string
required
Responses
200
OK
Body
Array
Object
id
string
Example:
b8ec9988-e28f-11ed-9b0a-42010a9a0007
name
string
Example:
Owner Suite
description
string
Example:
Owner Suite Bridge Deck
image
Object
id
string
Example:
ac4ea90b-280d-4318-8e36-141509c44d54
type
string
Example:
BACKGROUND
width
integer
Example:
824
height
integer
Example:
1463
format
string
Example:
svg
url
string
Example:
https://res.cloudinary.com/vizulink-tech-lmimited/image/upload/v1/crm/c74cd62c-4b99-4291-b083-d0ad7aa69c7d/b288ng6llvkrpeyzxssv.svg
thumbnail_url
string
Example:
https://res.cloudinary.com/vizulink-tech-lmimited/image/upload/t_media_lib_thumb/v1/crm/c74cd62c-4b99-4291-b083-d0ad7aa69c7d/b288ng6llvkrpeyzxssv.svg
public_id
string
Example:
crm/c74cd62c-4b99-4291-b083-d0ad7aa69c7d/b288ng6llvkrpeyzxssv
media
Array
of
unknown
created_on
integer
Example:
1682339427000
media_external_id
string
Example:
cbe4627c-e913-474e-80ef-b932589bd5d4
media_group_external_id
string
Example:
cbe4627c-e913-474e-80ef-b932589bd5d4
image_uri
unknown
nullable
Example 1
GET /zones/{id}/layouts HTTP/1.1
HTTP/1.1 200 OK
Content-Type: application/json
[
{
"id": "",
"name": "",
"description": "",
"image": {
"id": "3617f2c9-9b5f-4661-b23e-d3c8247cd5ad",
"type": "PHOTO",
"width": 3992,
"height": 2992,
"format": "jpg",
"url": "https://res.cloudinary.com/vizulink-tech-lmimited/image/upload/v1/crm/c74cd62c-4b99-4291-b083-d0ad7aa69c7d/mnk48n6y1nk1ojwv3rey.jpg",
"public_id": "crm/c74cd62c-4b99-4291-b083-d0ad7aa69c7d/mnk48n6y1nk1ojwv3rey",
"media": [
{
"id": "",
"width": 50,
"height": 37,
"url": "https://res.cloudinary.com/vizulink-tech-lmimited/image/upload/c_scale,f_auto,q_auto,w_50/v1/crm/c74cd62c-4b99-4291-b083-d0ad7aa69c7d/mnk48n6y1nk1ojwv3rey.jpg",
"technology": ""
}
]
},
"image_url": ""
}
]
GET
/layout/
{id}
/devicesPath variables
id
string
required
Responses
200
OK
Body
Array
Object
Example 1
GET /layout/{id}/devices HTTP/1.1
HTTP/1.1 200 OK
Content-Type: application/json
[
{
"id": "",
"position": {
"x": "",
"y": "",
"z": ""
},
"icon": "",
"device": {
"id": "",
"name": "",
"description": "",
"device_type": "CAMERA360"
}
}
]
POST
/zones/
{id}
/layoutsPath variables
id
string
required
Responses
200
OK
Body
Array
Object
id
string
name
string
description
string
image
Object
id
string
Example:
3617f2c9-9b5f-4661-b23e-d3c8247cd5ad
image_url
string
Example 1
GET /zones/{id}/layouts HTTP/1.1
HTTP/1.1 200 OK
Content-Type: application/json
[
{
"id": "",
"name": "",
"description": "",
"image": {
"id": "3617f2c9-9b5f-4661-b23e-d3c8247cd5ad",
"type": "PHOTO",
"width": 3992,
"height": 2992,
"format": "jpg",
"url": "https://res.cloudinary.com/vizulink-tech-lmimited/image/upload/v1/crm/c74cd62c-4b99-4291-b083-d0ad7aa69c7d/mnk48n6y1nk1ojwv3rey.jpg",
"public_id": "crm/c74cd62c-4b99-4291-b083-d0ad7aa69c7d/mnk48n6y1nk1ojwv3rey",
"media": [
{
"id": "",
"width": 50,
"height": 37,
"url": "https://res.cloudinary.com/vizulink-tech-lmimited/image/upload/c_scale,f_auto,q_auto,w_50/v1/crm/c74cd62c-4b99-4291-b083-d0ad7aa69c7d/mnk48n6y1nk1ojwv3rey.jpg",
"technology": ""
}
]
},
"image_url": ""
}
]
GET
/awareviews
GET
/awareviews
GET
/awareviews
POST
/awareviews
GET
/awareviews
Request parameters
stream_type
string
optional
display_id
string
optional
A display ID to link an AwareView with a display like an android screen grid
Responses
200
OK
Body
Example 1
GET /awareviews HTTP/1.1
HTTP/1.1 200 OK
Content-Type: application/json
{
"id": "",
"name": "",
"description": "",
"format": {
"rows": "",
"columns": ""
},
"cameras": [
{
"id": "",
"name": "",
"is_enabed": "",
"streams": [
{
"id": "",
"name": "",
"display_name": "",
"reference_id": "28DC44C3-079E-4C94-8EC9-60363451EB40",
"URI": "",
"stream_type": "RTSP",
"live_mode": "",
"is_recording": true,
"dimension": {
"width": "",
"height": ""
},
"is_enabled": ""
}
]
}
]
}
GET
/awareviews
Responses
200
OK
Body
Array
Object
id
string
name
string
Example:
Demo View
priority
integer
Example:
1
data
Object
area_count
integer
Example:
4
areas
string
Example:
"p1 p2" "p3 p4"
rows
string
Example:
repeat(2, minmax(0,1fr))
columns
string
Example:
repeat(2, minmax(0,1fr))
positions
Array
Object
position
string
Example:
p1
position_type
string
Example:
DEVICE
id
string
Example:
d6f230a0-84df-4600-8a65-049d98ee6141
Example 1
GET /awareviews HTTP/1.1
HTTP/1.1 200 OK
Content-Type: application/json
[
{
"id": "",
"name": "Demo View",
"priority": 1,
"data": {
"area_count": 4,
"areas": "\"p1 p2\" \"p3 p4\"",
"rows": "repeat(2, minmax(0,1fr))",
"columns": "repeat(2, minmax(0,1fr))",
"positions": [
{
"position": "p1",
"position_type": "DEVICE",
"id": "d6f230a0-84df-4600-8a65-049d98ee6141"
}
]
}
}
]
GET
/awareviews
Responses
200
OK
Body
Example 1
GET /awareviews HTTP/1.1
HTTP/1.1 200 OK
Content-Type: application/json
[
{
"id": "b7790ab5-07dc-4e34-bd45-be4c37d9eb39",
"name": "Crew Quarters",
"priority": 1,
"data": {
"areas_count": 2,
"areas": "p1 p2",
"rows": "repeat(2, minmax(0,1fr))",
"columns": "repeat(2, minmax(0,1fr))",
"positions": [
{
"id": "60b08914-6aaa-4674-b23d-4e0bc4aa6086",
"position_type": "DEVICE",
"position": "p1",
"device": {
"id": "",
"name": "",
"device_type": "CAMERAFIXED"
}
}
]
}
}
]
POST
/awareviews
Responses
200
OK
Body
Array
Object
id
string
name
string
Example:
Demo View
priority
integer
Example:
1
data
Object
area_count
integer
Example:
4
areas
string
Example:
"p1 p2" "p3 p4"
rows
string
Example:
repeat(2, minmax(0,1fr))
columns
string
Example:
repeat(2, minmax(0,1fr))
positions
Array
Object
id
string
Example:
d6f230a0-84df-4600-8a65-049d98ee6141
position
string
Example:
p1
position_type
string
Example:
DEVICE
Example 1
GET /awareviews HTTP/1.1
HTTP/1.1 200 OK
Content-Type: application/json
[
{
"id": "",
"name": "Demo View",
"priority": 1,
"data": {
"area_count": 4,
"areas": "\"p1 p2\" \"p3 p4\"",
"rows": "repeat(2, minmax(0,1fr))",
"columns": "repeat(2, minmax(0,1fr))",
"positions": [
{
"position": "p1",
"position_type": "DEVICE",
"id": "d6f230a0-84df-4600-8a65-049d98ee6141"
}
]
}
}
]
Sites will have a number of display ranging from tablets to android hardware for large screen media walls
GET
/displays
GET
/displays
Request parameters
mac_address
string
optional
Responses
200
OK
Body
Object
id
string
site
Object
id
string
name
string
mode
string
Example:
DISPLAY
views
Array
Object
id
string
name
string
is_default
boolean
Example:
true
Example 1
GET /displays HTTP/1.1
HTTP/1.1 200 OK
Content-Type: application/json
{
"display": {
"id": "",
"site": {
"id": "",
"name": ""
},
"mode": "DISPLAY",
"views": [
{
"id": "",
"name": "",
"is_default": true
}
]
}
}
POST
/teams/
{id}
/devices
POST
/schedules
POST
/schedules/
{id}
/items
POST
/users/
{id}
/credentials
POST
/teams/
{id}
/devicesPath variables
id
string
required
Request body
Array
Object
device
Object
id
string
schedules
Array
Object
id
string
Example 1
POST /teams/{id}/devices HTTP/1.1
Content-Type: application/json
[
{
"device": {
"id": ""
},
"schedules": [
{
"id": ""
}
]
}
]
POST
/schedules/
{id}
/itemsPath variables
id
string
required
Request body
Object
id
string
name
string
item_type
string
Enumeration:
ONCE
RECURRING
start_time
string
end_time
string
recurrence
Object
first_date
number
period
string
Enumeration:
WEEKLY
YEARLY
end_date
integer
days
Array
Object
day_number
number
is_enabled
boolean
Example 1
POST /schedules/{id}/items HTTP/1.1
Content-Type: application/json
{
"id": "",
"name": "",
"item_type": "RECURRING",
"start_time": "",
"end_time": "",
"recurrence": {
"first_date": 1,
"period": "WEEKLY",
"end_date": 1
},
"days": [
{
"day_number": 1,
"is_enabled": true
}
]
}
Object
last
boolean
Example:
true
total_elements
integer
Example:
28661
total_pages
integer
Example:
2867
size
integer
Example:
10
number
integer
Example:
11
sort
Object
empty
boolean
Example:
true
sorted
boolean
Example:
true
unsorted
boolean
Example:
true
first
boolean
Example:
true
number_of_elements
integer
Example:
10
empty
boolean
Example:
true
Object
id
string
name
string
description
string
image
internally hosted image
image_url
string
Optional approach for an external image host
Object
Object
id
string
Example:
3617f2c9-9b5f-4661-b23e-d3c8247cd5ad
type
string
Example:
PHOTO
width
integer
Example:
3992
height
integer
Example:
2992
format
string
Example:
jpg
url
string
Example:
https://res.cloudinary.com/vizulink-tech-lmimited/image/upload/v1/crm/c74cd62c-4b99-4291-b083-d0ad7aa69c7d/mnk48n6y1nk1ojwv3rey.jpg
public_id
string
Example:
crm/c74cd62c-4b99-4291-b083-d0ad7aa69c7d/mnk48n6y1nk1ojwv3rey
media
Array
Object
id
string
asset ID
width
integer
Example:
50
height
integer
Example:
37
url
string
Example:
https://res.cloudinary.com/vizulink-tech-lmimited/image/upload/c_scale,f_auto,q_auto,w_50/v1/crm/c74cd62c-4b99-4291-b083-d0ad7aa69c7d/mnk48n6y1nk1ojwv3rey.jpg
technology
string
Example 1
{
"id": "3617f2c9-9b5f-4661-b23e-d3c8247cd5ad",
"type": "PHOTO",
"width": 3992,
"height": 2992,
"format": "jpg",
"url": "https://res.cloudinary.com/vizulink-tech-lmimited/image/upload/v1/crm/c74cd62c-4b99-4291-b083-d0ad7aa69c7d/mnk48n6y1nk1ojwv3rey.jpg",
"public_id": "crm/c74cd62c-4b99-4291-b083-d0ad7aa69c7d/mnk48n6y1nk1ojwv3rey",
"media": [
{
"id": "",
"width": 50,
"height": 37,
"url": "https://res.cloudinary.com/vizulink-tech-lmimited/image/upload/c_scale,f_auto,q_auto,w_50/v1/crm/c74cd62c-4b99-4291-b083-d0ad7aa69c7d/mnk48n6y1nk1ojwv3rey.jpg",
"technology": ""
}
]
}
Object
id
string
Example:
c4aec831-238e-4b31-ad05-fc75ec7820b4
type
string
Example:
PHOTO
width
integer
Example:
1500
height
integer
Example:
1500
format
string
Example:
jpg
url
string
Example:
https://res.cloudinary.com/vizulink-tech-lmimited/image/upload/v1/crm/c74cd62c-4b99-4291-b083-d0ad7aa69c7d/l0ehgdiwfmd07obot7zf.jpg
thumbnail_url
string
Example:
https://res.cloudinary.com/vizulink-tech-lmimited/image/upload/t_media_lib_thumb/v1/crm/c74cd62c-4b99-4291-b083-d0ad7aa69c7d/l0ehgdiwfmd07obot7zf.jpg
public_id
string
Example:
crm/c74cd62c-4b99-4291-b083-d0ad7aa69c7d/l0ehgdiwfmd07obot7zf
technology
string
Example:
CLOUDINARY
media
Array
Object
id
string
width
integer
Example:
50
height
integer
Example:
50
url
string
Example:
https://res.cloudinary.com/vizulink-tech-lmimited/image/upload/c_scale,f_auto,q_auto,w_50/v1/crm/c74cd62c-4b99-4291-b083-d0ad7aa69c7d/l0ehgdiwfmd07obot7zf.jpg
technology
string
Example:
CLOUDINARY
public_id
string
Example:
crm/c74cd62c-4b99-4291-b083-d0ad7aa69c7d/l0ehgdiwfmd07obot7zf
resource_type
string
Example:
image
Example 1
{
"id": "c4aec831-238e-4b31-ad05-fc75ec7820b4",
"type": "PHOTO",
"width": 1500,
"height": 1500,
"format": "jpg",
"url": "https://res.cloudinary.com/vizulink-tech-lmimited/image/upload/v1/crm/c74cd62c-4b99-4291-b083-d0ad7aa69c7d/l0ehgdiwfmd07obot7zf.jpg",
"thumbnail_url": "https://res.cloudinary.com/vizulink-tech-lmimited/image/upload/t_media_lib_thumb/v1/crm/c74cd62c-4b99-4291-b083-d0ad7aa69c7d/l0ehgdiwfmd07obot7zf.jpg",
"public_id": "crm/c74cd62c-4b99-4291-b083-d0ad7aa69c7d/l0ehgdiwfmd07obot7zf",
"technology": "CLOUDINARY",
"media": [
{
"id": "",
"width": 50,
"height": 50,
"url": "https://res.cloudinary.com/vizulink-tech-lmimited/image/upload/c_scale,f_auto,q_auto,w_50/v1/crm/c74cd62c-4b99-4291-b083-d0ad7aa69c7d/l0ehgdiwfmd07obot7zf.jpg",
"technology": "CLOUDINARY",
"public_id": "crm/c74cd62c-4b99-4291-b083-d0ad7aa69c7d/l0ehgdiwfmd07obot7zf"
}
],
"resource_type": "image"
}
Object
id
string
guid
name
string
Milestone Reference ID
display_name
string
reference_id
string
Example:
28DC44C3-079E-4C94-8EC9-60363451EB40
URI
string
stream_type
string
Enumeration:
RTSP
WEBRTC
REFERENCE
DASH
HLS
RTSP2WEB
live_mode
string
is_recording
boolean
dimension
Object
width
string
height
string
is_enabled
string
Stream is active and running
Object
id
string
name
string
description
string
priority
number
format
Object
rows
number
columns
number
cameras
Example 1
{
"id": "",
"name": "",
"description": "",
"format": {
"rows": "",
"columns": ""
},
"cameras": [
{
"id": "",
"name": "",
"is_enabed": "",
"streams": [
{
"id": "",
"name": "",
"display_name": "",
"reference_id": "28DC44C3-079E-4C94-8EC9-60363451EB40",
"URI": "",
"stream_type": "REFERENCE",
"live_mode": "",
"is_recording": true,
"dimension": {
"width": "",
"height": ""
},
"is_enabled": ""
}
]
}
]
}
Object
id
string
name
string
priority
number
row
string
column
string
is_enabled
string
streams
Object
id
string
guid
name
string
Crew Monitoring
description
string
Crew Monitoring - Multi Camera Grid Zone
priority
number
Ordering
view_type
string
Type of View
Enumeration:
GRID
HOTSPOT
CAROUSEL
format
Object
rows
number
Example:
2
columns
number
Example:
2
positions
Array
Object
id
string
guid of position
row
number
row of grid
column
integer
column of grid
priority
number
device
Example 1
{
"id": "",
"name": "",
"description": "",
"priority": 1,
"view_type": "GRID",
"format": {
"rows": 2,
"columns": 2
},
"positions": [
{
"id": "",
"row": 1,
"column": 1,
"priority": 1,
"device": {
"id": "",
"name": "",
"device_type": "CAMERAPTZ"
}
}
]
}
Object
id
string
Example:
b7790ab5-07dc-4e34-bd45-be4c37d9eb39
name
string
Example:
Crew Quarters
priority
integer
Example:
1
data
Object
areas_count
integer
Example:
2
areas
string
Example:
p1 p2
rows
string
Example:
repeat(2, minmax(0,1fr))
columns
string
Example:
repeat(2, minmax(0,1fr))
positions
Array
Object
id
string
Example:
60b08914-6aaa-4674-b23d-4e0bc4aa6086
position_type
string
Example:
DEVICE
position
string
Example:
p1
device
Object
Example:
{
"id": "",
"name": "",
"description": "",
"enabled": true,
"videoWidth": 1,
"videoHeight": 1,
"type": "Camera360",
"metaData": "",
"deviceMaps": [
{
"deviceId": "",
"mapId": "",
"icon": "",
"scale": 1,
"rotation": 1,
"positionX": 1,
"positionY": 1,
"positionZ": 1
}
]
}
id
string
uuid
name
string
required
Min length:
1
Max length:
128
description
string
Max length:
1,024
enabled
boolean
videoWidth
integer
int32
videoHeight
integer
int32
type
metaData
string
Max length:
5,120
deviceMaps
Object
id
string
uuid
name
string
required
Min length:
1
Max length:
128
description
string
Max length:
1,024
state
metaData
string
Max length:
5,120