openapi: 3.1.0
info:
title: Location & Occupancy
version: '1.0'
description: 'Real-time and historical Kio Cloud apps data including location tracking, occupancy, and telemetry.'
contact:
name: Kontakt.io Support
url: 'https://support.kontakt.io'
email: support@kontakt.io
termsOfService: 'https://kontakt.io/terms-of-service'
summary: 'Real-time and historical Kio Cloud apps data including location tracking, occupancy, and telemetry.'
servers:
- url: 'https://apps.cloud.us.kontakt.io'
description: 'Kio Cloud US '
- url: 'https://apps.cloud.uk.kontakt.io'
description: Kio Cloud UK
paths:
/v2/locations/campuses:
get:
summary: List all campuses
operationId: get-locations-campuses
description: |
Returns a list of all campuses. Resource supports pagination through request parameters.
parameters:
- $ref: '#/components/parameters/page'
- $ref: '#/components/parameters/size'
- $ref: '#/components/parameters/sort'
- schema:
type: integer
in: query
name: id
description: Filter by campus ID
- schema:
type: string
in: query
name: name
description: Filter by name
- schema:
type: string
in: query
name: description
description: Filter by description
- schema:
type: string
in: query
name: buildingName
description: Filter by the building name
- $ref: '#/components/parameters/floorName'
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/Campus-List'
examples:
All campuses:
value:
links:
- rel: self
href: 'http://apps.cloud.us.kontakt.io/v2/locations/campuses?page=0&size=20'
content:
- id: 93915
name: K.io_Lab_fixed
address: '3, Stoczniowców, Podgórze, Krakow, 30-709, Poland'
description: Krakow Lab
lat: 50.0500646
lng: 19.9816184
buildings:
- id: 94194
name: Lab
address: '3, Stoczniowców, Podgórze, Krakow, 30-709, Poland'
description: Krakow Lab
floors:
- id: 94215
name: Lab_floor_prod1
height: 17.8
width: 14.6
properties:
gridWidth: 4
gridBounds:
boundsLat:
north: 22.2
south: -4.3
boundsLng:
east: 23
west: -8.4
gridDensity: 1
outlineCreated: true
level: 0
xyGeojson:
type: Feature
geometry:
type: Polygon
coordinates:
- - - 0
- 17.8
- - 14.6
- 17.8
- - 14.6
- 0
- - 0
- 0
- - 0
- 17.8
properties: {}
imageXyGeojson:
type: Feature
geometry:
type: Polygon
coordinates:
- - - -0.4
- 18.2
- - 14.9
- 18.2
- - 14.9
- -0.3
- - -0.4
- -0.3
- - -0.4
- 18.2
lat: 50.050278
lng: 19.9820425
page:
size: 20
totalElements: 1
totalPages: 1
number: 0
tags:
- Campuses
security:
- api_key: []
parameters: []
'/v2/locations/campuses/{id}':
get:
summary: Retrieve a campus
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/Campus'
examples: {}
headers: {}
operationId: get-locations-campuses
description: |
Retrieves the details of a single campus by its ID.
Supply the unique Campus ID and its corresponding information returned includes the campus buildings, building floors, and each floor's gateway and sensor devices.
parameters: []
x-internal: false
tags:
- Campuses
security:
- api_key: []
parameters:
- schema:
type: string
example: '93915'
name: id
in: path
required: true
description: ID of the campus.
/v2/locations/buildings:
get:
summary: List all buildings
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/Building'
examples:
All Buildings:
value:
links:
- rel: self
href: 'http://apps.cloud.us.kontakt.io/v2/locations?page=0&size=20'
content:
- id: 94194
name: Lab
address: '3, Stoczniowców, Podgórze, Krakow, 30-709, Poland'
description: Krakow Lab
floors:
- id: 94215
name: Lab_floor_prod1
height: 17.8
width: 14.6
properties:
gridWidth: 4
gridBounds:
boundsLat:
north: 22.2
south: -4.3
boundsLng:
east: 23
west: -8.4
gridDensity: 1
outlineCreated: true
level: 0
xyGeojson:
type: Feature
geometry:
type: Polygon
coordinates:
- - - 0
- 17.8
- - 14.6
- 17.8
- - 14.6
- 0
- - 0
- 0
- - 0
- 17.8
properties: {}
imageXyGeojson:
type: Feature
geometry:
type: Polygon
coordinates:
- - - -0.4
- 18.2
- - 14.9
- 18.2
- - 14.9
- -0.3
- - -0.4
- -0.3
- - -0.4
- 18.2
campus:
id: 93915
name: K.io_Lab_fixed
lat: 50.050278
lng: 19.9820425
page:
size: 20
totalElements: 1
totalPages: 1
number: 0
operationId: get-locations-buildings
parameters:
- $ref: '#/components/parameters/page'
- $ref: '#/components/parameters/sort'
- $ref: '#/components/parameters/size'
- $ref: '#/components/parameters/floorName'
- schema:
type: string
in: query
name: buildingId
description: Filter by building IDs
- $ref: '#/components/parameters/name'
- $ref: '#/components/parameters/description'
description: |-
Returns a list of all buildings.
Resource supports pagination through request parameters.
tags:
- Buildings
security:
- api_key: []
parameters: []
'/v2/locations/buildings/{id}':
parameters:
- schema:
type: string
name: id
in: path
required: true
description: ID of the building.
get:
summary: Retrieve a building
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/Building'
examples: {}
operationId: get-v2-locations-buildings-id
description: Retrieve a single building by ID.
parameters: []
tags:
- Buildings
security:
- api_key: []
/v2/locations/rooms:
get:
summary: List all rooms
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/Rooms'
operationId: get-locations-rooms
description: Returns a list of rooms. Resource supports pagination through request parameters.
parameters:
- $ref: '#/components/parameters/page'
- $ref: '#/components/parameters/size'
- $ref: '#/components/parameters/sort'
- $ref: '#/components/parameters/name'
- schema:
type: string
in: query
name: campusName
description: Filter by the campus name or one of multiple names
- schema:
type: string
in: query
description: Filter by room id or one of multiple roomIds
name: id
- schema:
type: string
in: query
name: buildingName
description: Filter by the building name or one of multiple names
x-extension-2: null
tags:
- Rooms
security:
- api_key: []
parameters: []
/v2/locations/floors:
get:
summary: List all floors
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/Floors'
operationId: get-locations-floors
parameters:
- $ref: '#/components/parameters/page'
- $ref: '#/components/parameters/size'
- $ref: '#/components/parameters/sort'
- schema:
type: string
in: query
name: id
description: Filter by one or more floor IDs
- schema:
type: string
in: query
name: name
description: Filter by one or more floor names
- schema:
type: string
in: query
name: locationId
description: Filter by one or more floor location IDs
- schema:
type: string
in: query
name: locationName
description: Filter by one or more floor names
- schema:
type: string
in: query
name: exceptId
description: Filter out one or more floor IDs
- schema:
type: string
in: query
name: sourceId
description: Filter by one or more sourceIds of attached gateways
description: Retrieve a floor list. Resource supports pagination through request parameters.
tags:
- Floors
security:
- api_key: []
parameters: []
'/v3/locations/images/{type}/{id}':
get:
summary: Retrieve location image
responses:
'200':
description: OK
content:
application/json:
schema:
type: array
items:
type: object
properties:
topologyType:
type: string
id:
type: integer
presignedUrl:
type: string
x-examples:
example-1:
- topologyType: CAMPUS
id: 27857
presignedUrl: 'http://localhost/images/campus/test1234test/27857'
- topologyType: CAMPUS
id: 27858
presignedUrl: 'http://localhost/images/campus/test1234test/27858'
examples:
example-1:
value:
- topologyType: CAMPUS
id: 27857
presignedUrl: 'http://localhost/images/campus/test1234test/27857'
- topologyType: CAMPUS
id: 27858
presignedUrl: 'http://localhost/images/campus/test1234test/27858'
operationId: get-v3-locations-images
description: |-
Returns a target URL to download the images of the ids requested by topology type (Smart Location campus, building, floor). Floor type results in the floor plan image.
URL is valid for 24 hours.
Whenever possible, request multiple ids to limit the number of calls and decrease your latency.
security:
- api_key: []
parameters: []
tags:
- Location Images
parameters:
- schema:
type: string
enum:
- CAMPUS
- BUILDING
- FLOOR
name: type
in: path
description: Type of topology item.
required: true
- schema:
type: integer
example: '177214, 187564'
name: id
in: path
required: true
description: Comma-separated list of each topology identifier (id).
/v2/locations/room-sensors:
get:
summary: List all room sensors
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/Room-Sensors'
examples:
example-1:
value:
“links”:
- “rel”: “first”
“href”: '“https://apps-api.test.kontakt.io/v2/locations/room-sensors?page=0&size=20”'
- “rel”: “self”
“href”: '“https://apps-api.test.kontakt.io/v2/locations/room-sensors?page=0&size=20”'
- “rel”: “next”
“href”: '“https://apps-api.test.kontakt.io/v2/locations/room-sensors?page=1&size=20”'
- “rel”: “last”
“href”: '“https://apps-api.test.kontakt.io/v2/locations/room-sensors?page=1&size=20”'
“content”:
- “id”: 2542804
“x”: 2.25
“y”: 1.65625
“name”: “XXX”
“inbounds”: []
“outbounds”: []
“type”: “Traffic”
“room”:
“id”: 2542666
“status”: “Unassigned”
- “id”: 2542800
“x”: 2.90625
“y”: 12.171875
“name”: “XXXX”
“inbounds”: []
“outbounds”: []
“type”: “Traffic”
“room”:
“id”: 2541937
“status”: “Unassigned”
- “id”: 2448055
“x”: 11.4375
“y”: 11.375
“trackingId”: '“ef:d1:f5:e3:fb:cf”'
“inbounds”: []
“outbounds”: []
“type”: “Static”
“room”:
“id”: 2448035
“status”: “Assigned”
- “id”: 2542797
“x”: 6.34375
“y”: 1.046875
“name”: “Test XXX1"
“inbounds”: []
“outbounds”: []
“type”: “Traffic”
“room”:
“id”: 2447764
“status”: “Unassigned”
- “id”: 2447779
“x”: 2.600747
“y”: 9.630371
“trackingId”: '“f1:cf:09:22:dd:1f”'
“type”: “Static”
“room”:
“id”: 2447763
“status”: “Assigned”
- “id”: 2542796
“x”: 3.4217899999999997
“y”: 5.67749
“trackingId”: '“f6:02:58:91:04:ab”'
“name”: “Test 3"
“inbounds”: []
“outbounds”: []
“type”: “Traffic”
“room”:
“id”: 2446879
“status”: “Assigned”
- “id”: 2542795
“x”: 2.8748800495754185
“y”: 5.75
“name”: “TEST1 EMPTY BEAM”
“inbounds”: []
“outbounds”: []
“room”:
“id”: 2446879
“status”: “Unassigned”
- “id”: 2542775
“x”: 4.099009622190768
“y”: 5.949553771661555
“name”: “Test”
“inbounds”: []
“outbounds”: []
“room”:
“id”: 2446879
“status”: “Unassigned”
- “id”: 2542794
“name”: “Test”
“inbounds”: []
“outbounds”: []
“room”:
“id”: 2446879
“status”: “Unassigned”
- “id”: 2542774
“name”: “Test”
“inbounds”: []
“outbounds”: []
“room”:
“id”: 2446878
“status”: “Unassigned”
- “id”: 2447186
“x”: 10.125
“y”: 8.58374
“trackingId”: '“fd:5b:1e:06:70:14”'
“inbounds”: []
“outbounds”: []
“type”: “Static”
“room”:
“id”: 2446878
“status”: “Assigned”
- “id”: 2542801
“x”: 9.46875
“y”: 2.067871
“name”: “RRRR 123"
“inbounds”: []
“outbounds”: []
“type”: “Traffic”
“room”:
“id”: 2446875
“status”: “Unassigned”
- “id”: 2542799
“x”: 10.375
“y”: 1.21875
“name”: “Test 4444 XXX”
“inbounds”: []
“outbounds”: []
“type”: “Traffic”
“room”:
“id”: 2446875
“status”: “Unassigned”
- “id”: 2542798
“x”: 6.1764405
“y”: 17.031886
“name”: “XXX 123123 sadf asdf “
“inbounds”: []
“outbounds”: []
“type”: “Traffic”
“room”:
“id”: 2441277
“status”: “Unassigned”
- “id”: 2447155
“x”: 8.40625
“y”: 15.125071803066383
“trackingId”: '“be:a2:80:01:02:03”'
“type”: “Static”
“room”:
“id”: 2441276
“status”: “Assigned”
- “id”: 2540974
“x”: 9.982244
“y”: 16.8439795
“trackingId”: '“cc:b4:5d:db:51:49"'
“type”: “Static”
“room”:
“id”: 2441276
“status”: “Assigned”
- “id”: 2446559
“x”: 11.688361592803698
“y”: 18.875
“trackingId”: '“c5:0d:7f:1b:97:27”'
“type”: “Static”
“room”:
“id”: 2441276
“status”: “Assigned”
- “id”: 2447175
“x”: 8.8125
“y”: 18.90625
“trackingId”: '“f0:1b:f7:e0:d3:e9"'
“type”: “Static”
“room”:
“id”: 2441276
“status”: “Assigned”
- “id”: 2542776
“x”: 3.9375
“y”: 18.65625
“type”: “Traffic”
“room”:
“id”: 2441275
“status”: “Unassigned”
- “id”: 2436974
“x”: 19.4
“y”: 27.1
“trackingId”: '“cb:68:7b:d9:b3:c7"'
“inbounds”: []
“outbounds”: []
“type”: “Static”
“room”:
“id”: 2436755
“status”: “Assigned”
“page”:
“size”: 20
“totalElements”: 32
“totalPages”: 2
“number”: 0
operationId: get-v2-locations-room-sensors
description: Returns a list of sensors located in all rooms.
tags:
- Rooms
security:
- api_key: []
parameters:
- $ref: '#/components/parameters/page'
- $ref: '#/components/parameters/size'
- $ref: '#/components/parameters/sort'
/v3/presences:
get:
summary: Retrieve devices present in a location
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/Presence-Device'
operationId: get-presences
description: 'Returns the devices currently present in a location (campus, building, floor, or room).'
parameters:
- $ref: '#/components/parameters/page'
- $ref: '#/components/parameters/size'
- $ref: '#/components/parameters/sort'
- $ref: '#/components/parameters/floorId'
- $ref: '#/components/parameters/buildingId'
- $ref: '#/components/parameters/trackingId'
- schema:
type: number
in: query
name: roomId
description: Filter by one or more Room Ids (separated by comma).
- $ref: '#/components/parameters/campusId'
tags:
- Presences
security:
- api_key: []
parameters: []
/v3/presences/history:
get:
summary: Retrieve device presence history for a location
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/Presence-History-Devices'
'429':
$ref: '#/components/responses/error-429'
operationId: get-presences-history
description: 'Returns the history of devices present in a location. '
parameters:
- $ref: '#/components/parameters/page'
- $ref: '#/components/parameters/size'
- $ref: '#/components/parameters/sort'
- $ref: '#/components/parameters/floorId'
- $ref: '#/components/parameters/buildingId'
- $ref: '#/components/parameters/startTime'
- $ref: '#/components/parameters/endTime'
- schema:
type: string
in: query
name: roomId
description: Filter by room ID(s).
- schema:
type: string
example: 'd6:3c:5d:b2:7c:a9'
in: query
name: trackingId
description: 'Filter by one or more tracking IDs (device MAC address)
alpha characters: lowercase required'
required: true
tags:
- Presences
security:
- api_key: []
parameters: []
/v2/positions:
get:
summary: Retrieve device last position
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/Position-Device'
operationId: get-positions
parameters:
- $ref: '#/components/parameters/page'
- $ref: '#/components/parameters/size'
- $ref: '#/components/parameters/sort'
- schema:
type: number
example: 94215
in: query
name: floorId
description: Filter by one or multiple floor ID(s).
- schema:
type: number
example: 94194
in: query
name: buildingId
description: 'Filter by one or multiple building ID(s). '
- schema:
type: number
example: 93915
in: query
name: campusId
description: Filter by one or multiple campus ID(s).
- schema:
type: string
example: 'dd:24:d0:82:3d:7c'
in: query
name: trackingId
description: 'Filter by one or multiple tracking IDs (MAC address) of a device; alpha characters: lowercase required'
- schema:
type: boolean
enum:
- 'true'
- 'false'
- 'null'
in: query
name: lost
description: Filter by lost flag.
description: |
Returns the last postion of a Kontakt.io Tag device (BLE beacon) by trackingId (MAC address) or multiple trackingIds.
tags:
- Positions
security:
- api_key: []
parameters: []
/v2/positions/history:
get:
summary: Retrieve device position history
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/Position-Device-History'
'429':
$ref: '#/components/responses/error-429'
operationId: get-positions-history
description: |-
Returns the location history for a device; by trackingId (MAC address).
> **IMPORTANT**
>
- **trackingID** must be in **all lower case** (example: d6:3c:5d:b2:7c:a9)
>
- If **startTime** is empty, automatically sets startTime to **current time -15 minutes**
>
- **endTime** is not required, but can used it to limit the displayed data
>
- Difference between **startTime** to **endTime** cannot exceed **7 days**
>
- **Size** parameter specifies how many records will be displayed (20 by default). If there are records that haven't been displayed because of the size limit, the response will be paginated - it will contain links array, with a link to the next page, and page.hasNext value will be True.
parameters:
- $ref: '#/components/parameters/page'
- $ref: '#/components/parameters/size'
- $ref: '#/components/parameters/sort'
- $ref: '#/components/parameters/floorId'
- schema:
type: string
example: '2020-11-27T08:00:00.000000Z'
in: query
name: startTime
description: ISO 8601 Timestamp - if not provided defaults to time at 15 minutes ago
- schema:
type: string
example: ' 2020-11-27T08:45:00.000000Z'
in: query
name: endTime
description: Historical positions end time (ISO 8601 Timestamp) - difference between startTime and endTime cannot exceed 7 days
- $ref: '#/components/parameters/lost'
- schema:
type: string
example: 'd6:3c:5d:b2:7c:a9'
in: query
name: trackingId
description: 'Filter by one or more tracking IDs (device MAC address)
alpha characters: lowercase required'
required: true
tags:
- Positions
security:
- api_key: []
parameters: []
/v3/telemetry:
get:
summary: Retrieve telemetry by Tracking ID
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/Telemetry'
examples:
Portal Beam:
value:
content:
- trackingId: 'fd:45:0a:68:25:7d'
timestamp: '2022-03-20T23:39:00Z'
batteryLevel: 99
channel: 38
humidity: 18
lightIntensity: 0
rssi: -62
sourceId: 12Bh000T
temperature: 19.226562
airQuality: 125
roomNumber: 220
numberOfPeopleDetected: 0
secondsSincePeopleDetection: 13
firmware: '2.6'
model: 31
txPowerDbm: -4
uniqueId: 11rc007c
calibratedRssi1m: -69
moving: false
Smart Badge:
value:
content:
- trackingId: 'ca:26:7b:8a:f1:0c'
timestamp: '2022-03-20T23:26:00Z'
batteryLevel: 78
channel: 38
clickCounter: 0
movementCounter: 1
rssi: -64
sourceId: '14:16:9d:82:6d:80'
temperature: 14.746094
secondButtonClickCounter: 0
roomNumber: 65535
firmware: '2.6'
model: 30
txPowerDbm: -4
uniqueId: 10tH008F
calibratedRssi1m: -69
moving: false
Asset Tag 2:
value:
content:
- trackingId: '00:fa:b6:01:ff:f8'
timestamp: '2022-03-20T23:26:00Z'
batteryLevel: 98
channel: 39
rssi: -88
sourceId: '10:b3:c6:ba:17:a0'
roomNumber: 4
model: 33
txPowerDbm: -4
uniqueId: 11eZ01m6
calibratedRssi1m: -69
moving: false
Anchor Beacon 2:
value:
content:
- trackingId: 'eb:b9:85:66:73:dc'
timestamp: '2022-03-20T23:26:00Z'
batteryLevel: 94
channel: 39
rssi: -65
sourceId: Mv1640
temperature: 14.78125
roomNumber: 0
firmware: '2.6'
model: 34
txPowerDbm: -12
uniqueId: 11a5037J
calibratedRssi1m: -77
moving: false
'429':
$ref: '#/components/responses/error-429'
operationId: get-telemetry
description: |-
Returns telemetry data for a single trackingId (MAC address) or filter by multiple IDs.
**IMPORTANT**
- startTime and endTime is limited to a 24 hour duration
- Set size to 2000
**NOTE:** Telemetry response data varies by product model and configured settings. Example responses provided for Portal Beam, Smart Badge, Asset Tag 2, and Anchor Beacon 2.
parameters:
- $ref: '#/components/parameters/page'
- $ref: '#/components/parameters/size'
- $ref: '#/components/parameters/sort'
- schema:
type: string
example: '2022-03-21T04:25:44.927375Z'
in: query
name: endTime
description: Filter by telemetry timestamp range end time
required: true
- schema:
type: string
example: '2022-03-20T23:25:44.927392Z'
in: query
name: startTime
description: Filter by telemetry timestamp range start time
required: true
- schema:
type: string
example: 'fd:45:0a:68:25:7d'
in: query
description: Filter by comma-separated list of tracking IDs (MAC address; alpha characters all lowercase).
name: trackingId
tags:
- Telemetry
security:
- api_key: []
parameters: []
/v2/locations/gateways:
get:
summary: List all gateways
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/Floor-Gateways'
examples:
example-1:
value:
links:
- rel: self
href: 'https://apps.cloud.us.kontakt.io/v2/locations/gateways?page=0&size=100&sort=id,asc'
content:
- id: 24305
lat: 57.4770162657816
lng: -101.69751627231699
altitude: 87.35568496060814
x: 1085.0987979465135
'y': 63801.81179821145
z: 4.014334689282525
verticalOrientation: 84
range: -147
virtual: false
sourceId: DyYlymXTSBZIGtHN
floor:
id: 25197
page:
size: 100
totalElements: 1
totalPages: 1
number: 0
operationId: get-v2-locations-gateways
description: 'Returns a list of all gateways located in all floors. Data returned includes each gateway''s floor location, position details including coordinate values and range (RSSI).'
tags:
- Gateways
security:
- api_key: []
/v3/occupancy/rooms:
get:
summary: Retrieve current room occupancy
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/Occupancy-Room-Current'
examples:
all rooms:
value:
links:
- rel: self
href: 'http://apps.cloud.us.kontakt.io/v3/occupancy/rooms?page=0&size=20'
content:
- roomId: 94105
roomName: Hospital Lab
floorId: 94215
floorName: Lab_floor_prod1
buildingId: 94194
buildingName: Lab
campusId: 93915
campusName: K.io_Lab_fixed
lastUpdate: '2021-11-28T16:11:09.106Z'
occupancy: 0
- roomId: 94106
lastUpdate: '2021-11-22T15:33:21.702Z'
occupancy: 0
- roomId: 94107
roomName: Grace Hopper Conference Room
floorId: 94215
floorName: Lab_floor_prod1
buildingId: 94194
buildingName: Lab
campusId: 93915
campusName: K.io_Lab_fixed
lastUpdate: '2021-11-23T14:13:26.816Z'
occupancy: 0
- roomId: 94108
roomName: Cafeteria
floorId: 94215
floorName: Lab_floor_prod1
buildingId: 94194
buildingName: Lab
campusId: 93915
campusName: K.io_Lab_fixed
lastUpdate: '2021-11-28T16:10:46.938Z'
occupancy: 0
- roomId: 94109
roomName: Entrance
floorId: 94215
floorName: Lab_floor_prod1
buildingId: 94194
buildingName: Lab
campusId: 93915
campusName: K.io_Lab_fixed
lastUpdate: '2021-11-28T16:09:51.199Z'
occupancy: 7
- roomId: 94110
roomName: Margaret Hamilton Conference Room
floorId: 94215
floorName: Lab_floor_prod1
buildingId: 94194
buildingName: Lab
campusId: 93915
campusName: K.io_Lab_fixed
lastUpdate: '2021-11-28T16:10:57.444Z'
occupancy: 0
- roomId: 126956
roomName: Workstations
floorId: 94215
floorName: Lab_floor_prod1
buildingId: 94194
buildingName: Lab
campusId: 93915
campusName: K.io_Lab_fixed
lastUpdate: '2021-11-28T16:11:14.434Z'
occupancy: 0
- roomId: 127236
roomName: Kontakt room
floorId: 94215
floorName: Lab_floor_prod1
buildingId: 94194
buildingName: Lab
campusId: 93915
campusName: K.io_Lab_fixed
lastUpdate: '2021-11-26T12:25:56.287Z'
occupancy: 0
- roomId: 127414
lastUpdate: '2021-11-22T18:08:20.827Z'
occupancy: 0
page:
size: 20
totalElements: 9
totalPages: 1
number: 0
roomId query:
value:
links:
- rel: self
href: 'http://apps.cloud.us.kontakt.io/v3/occupancy/rooms?page=0&size=20'
content:
- roomId: 94109
roomName: Entrance
floorId: 94215
floorName: Lab_floor_prod1
buildingId: 94194
buildingName: Lab
campusId: 93915
campusName: K.io_Lab_fixed
lastUpdate: '2021-11-28T16:16:42.096Z'
occupancy: 6
page:
size: 20
totalElements: 1
totalPages: 1
number: 0
application/xml:
schema:
type: object
properties: {}
multipart/form-data:
schema:
type: object
properties: {}
text/html:
schema:
$ref: '#/components/schemas/Rooms'
operationId: get-v3-occupancy-rooms
description: Returns the current occupancy for all rooms or optionally for specific rooms with roomId query parameter.
parameters:
- $ref: '#/components/parameters/page'
- $ref: '#/components/parameters/size'
- $ref: '#/components/parameters/sort'
- in: query
name: roomId
schema:
type: number
example: 127236
description: Filter by roomId
tags:
- 'Occupancy: Room'
security:
- api_key: []
/v3/occupancy/rooms/history:
parameters: []
get:
summary: Retrieve room occupancy history
operationId: get-v2-occupancy-roomId
description: Returns the occupancy history for a single room or multiple rooms specified with the roomId query parameter.
parameters:
- $ref: '#/components/parameters/page'
- $ref: '#/components/parameters/size'
- $ref: '#/components/parameters/sort'
- $ref: '#/components/parameters/startTime'
- $ref: '#/components/parameters/endTime'
- $ref: '#/components/parameters/roomId'
tags:
- 'Occupancy: Room'
security:
- api_key: []
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/Occupancy-Room-History'
examples:
roomId query:
value:
links:
- rel: first
href: 'http://apps.cloud.us.kontakt.io/v3/occupancy/rooms/history?roomId=94109&page=0&size=20'
- rel: self
href: 'http://apps.cloud.us.kontakt.io/v3/occupancy/rooms/history?roomId=94109'
- rel: next
href: 'http://apps.cloud.us.kontakt.io/v3/occupancy/rooms/history?roomId=94109&page=1&size=20'
- rel: last
href: 'http://apps.cloud.us.kontakt.io/v3/occupancy/rooms/history?roomId=94109&page=48&size=20'
content:
- startTime: '2021-11-27T16:24:29.782Z'
endTime: '2021-11-27T16:25:29.782Z'
occupancy: 5
roomId: 94109
roomName: Entrance
floorId: 94215
floorName: Lab_floor_prod1
buildingId: 94194
buildingName: Lab
campusId: 93915
campusName: K.io_Lab_fixed
- startTime: '2021-11-27T16:25:29.782Z'
endTime: '2021-11-27T16:26:29.782Z'
occupancy: 4
roomId: 94109
roomName: Entrance
floorId: 94215
floorName: Lab_floor_prod1
buildingId: 94194
buildingName: Lab
campusId: 93915
campusName: K.io_Lab_fixed
- startTime: '2021-11-27T16:26:29.782Z'
endTime: '2021-11-27T16:29:29.782Z'
occupancy: 5
roomId: 94109
roomName: Entrance
floorId: 94215
floorName: Lab_floor_prod1
buildingId: 94194
buildingName: Lab
campusId: 93915
campusName: K.io_Lab_fixed
- startTime: '2021-11-27T16:29:29.782Z'
endTime: '2021-11-27T16:33:29.782Z'
occupancy: 6
roomId: 94109
roomName: Entrance
floorId: 94215
floorName: Lab_floor_prod1
buildingId: 94194
buildingName: Lab
campusId: 93915
campusName: K.io_Lab_fixed
- startTime: '2021-11-27T16:33:29.782Z'
endTime: '2021-11-27T16:36:29.782Z'
occupancy: 5
roomId: 94109
roomName: Entrance
floorId: 94215
floorName: Lab_floor_prod1
buildingId: 94194
buildingName: Lab
campusId: 93915
campusName: K.io_Lab_fixed
- startTime: '2021-11-27T16:36:29.782Z'
endTime: '2021-11-27T16:37:29.782Z'
occupancy: 6
roomId: 94109
roomName: Entrance
floorId: 94215
floorName: Lab_floor_prod1
buildingId: 94194
buildingName: Lab
campusId: 93915
campusName: K.io_Lab_fixed
- startTime: '2021-11-27T16:37:29.782Z'
endTime: '2021-11-27T16:38:29.782Z'
occupancy: 7
roomId: 94109
roomName: Entrance
floorId: 94215
floorName: Lab_floor_prod1
buildingId: 94194
buildingName: Lab
campusId: 93915
campusName: K.io_Lab_fixed
- startTime: '2021-11-27T16:38:29.782Z'
endTime: '2021-11-27T16:39:29.782Z'
occupancy: 4
roomId: 94109
roomName: Entrance
floorId: 94215
floorName: Lab_floor_prod1
buildingId: 94194
buildingName: Lab
campusId: 93915
campusName: K.io_Lab_fixed
- startTime: '2021-11-27T16:39:29.782Z'
endTime: '2021-11-27T16:41:29.782Z'
occupancy: 5
roomId: 94109
roomName: Entrance
floorId: 94215
floorName: Lab_floor_prod1
buildingId: 94194
buildingName: Lab
campusId: 93915
campusName: K.io_Lab_fixed
- startTime: '2021-11-27T16:41:29.782Z'
endTime: '2021-11-27T16:42:29.782Z'
occupancy: 6
roomId: 94109
roomName: Entrance
floorId: 94215
floorName: Lab_floor_prod1
buildingId: 94194
buildingName: Lab
campusId: 93915
campusName: K.io_Lab_fixed
- startTime: '2021-11-27T16:42:29.782Z'
endTime: '2021-11-27T16:44:29.782Z'
occupancy: 5
roomId: 94109
roomName: Entrance
floorId: 94215
floorName: Lab_floor_prod1
buildingId: 94194
buildingName: Lab
campusId: 93915
campusName: K.io_Lab_fixed
- startTime: '2021-11-27T16:44:29.782Z'
endTime: '2021-11-27T16:46:29.782Z'
occupancy: 6
roomId: 94109
roomName: Entrance
floorId: 94215
floorName: Lab_floor_prod1
buildingId: 94194
buildingName: Lab
campusId: 93915
campusName: K.io_Lab_fixed
- startTime: '2021-11-27T16:46:29.782Z'
endTime: '2021-11-27T16:47:29.782Z'
occupancy: 5
roomId: 94109
roomName: Entrance
floorId: 94215
floorName: Lab_floor_prod1
buildingId: 94194
buildingName: Lab
campusId: 93915
campusName: K.io_Lab_fixed
- startTime: '2021-11-27T16:47:29.782Z'
endTime: '2021-11-27T16:48:29.782Z'
occupancy: 7
roomId: 94109
roomName: Entrance
floorId: 94215
floorName: Lab_floor_prod1
buildingId: 94194
buildingName: Lab
campusId: 93915
campusName: K.io_Lab_fixed
- startTime: '2021-11-27T16:48:29.782Z'
endTime: '2021-11-27T16:49:29.782Z'
occupancy: 5
roomId: 94109
roomName: Entrance
floorId: 94215
floorName: Lab_floor_prod1
buildingId: 94194
buildingName: Lab
campusId: 93915
campusName: K.io_Lab_fixed
- startTime: '2021-11-27T16:49:29.782Z'
endTime: '2021-11-27T16:50:29.782Z'
occupancy: 4
roomId: 94109
roomName: Entrance
floorId: 94215
floorName: Lab_floor_prod1
buildingId: 94194
buildingName: Lab
campusId: 93915
campusName: K.io_Lab_fixed
- startTime: '2021-11-27T16:50:29.782Z'
endTime: '2021-11-27T16:52:29.782Z'
occupancy: 6
roomId: 94109
roomName: Entrance
floorId: 94215
floorName: Lab_floor_prod1
buildingId: 94194
buildingName: Lab
campusId: 93915
campusName: K.io_Lab_fixed
- startTime: '2021-11-27T16:52:29.782Z'
endTime: '2021-11-27T16:53:29.782Z'
occupancy: 5
roomId: 94109
roomName: Entrance
floorId: 94215
floorName: Lab_floor_prod1
buildingId: 94194
buildingName: Lab
campusId: 93915
campusName: K.io_Lab_fixed
- startTime: '2021-11-27T16:53:29.782Z'
endTime: '2021-11-27T16:58:29.782Z'
occupancy: 6
roomId: 94109
roomName: Entrance
floorId: 94215
floorName: Lab_floor_prod1
buildingId: 94194
buildingName: Lab
campusId: 93915
campusName: K.io_Lab_fixed
- startTime: '2021-11-27T16:58:29.782Z'
endTime: '2021-11-27T16:59:29.782Z'
occupancy: 5
roomId: 94109
roomName: Entrance
floorId: 94215
floorName: Lab_floor_prod1
buildingId: 94194
buildingName: Lab
campusId: 93915
campusName: K.io_Lab_fixed
page:
size: 20
totalElements: 977
totalPages: 49
number: 0
'429':
$ref: '#/components/responses/error-429'
/v3/occupancy/room-attributes:
get:
summary: Retrieve current seat occupancy
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/Occupancy-Room-Attributes-Current'
examples:
roomId query:
value:
content:
- roomId: 25934
roomName: YyiTOHCAOjGt
floorId: 25914
floorName: yBXNHcpkmiQb
buildingId: 25894
buildingName: IYZoenFDSyCo
campusId: 25834
campusName: xnYmAUTTGqSH
attributeId: PpSgotTSbQHR
attributeName: DzxmsiPKdtqa
lastUpdate: '2021-11-17T15:49:51.139Z'
occupancy: 1
All rooms:
value:
links:
- rel: self
href: 'http://apps.cloud.us.kontakt.io/v3/occupancy/room-attributes?page=0&size=20'
content:
- roomId: 126956
roomName: Workstations
floorId: 94215
floorName: Lab_floor_prod1
buildingId: 94194
buildingName: Lab
campusId: 93915
campusName: K.io_Lab_fixed
attributeId: 16c99533-69ee-4f15-bc33-262166717484
attributeName: '3'
lastUpdate: '2021-11-28T16:30:49.129Z'
occupancy: 0
- roomId: 126956
roomName: Workstations
floorId: 94215
floorName: Lab_floor_prod1
buildingId: 94194
buildingName: Lab
campusId: 93915
campusName: K.io_Lab_fixed
attributeId: 7d5840f7-726a-49e6-9f58-96b5e0a969fa
attributeName: '4'
lastUpdate: '2021-11-28T16:30:49.130Z'
occupancy: 0
- roomId: 126956
roomName: Workstations
floorId: 94215
floorName: Lab_floor_prod1
buildingId: 94194
buildingName: Lab
campusId: 93915
campusName: K.io_Lab_fixed
attributeId: d1411a86-9bf6-4eb1-8528-4e289faa5274
attributeName: '2'
lastUpdate: '2021-11-28T16:30:49.133Z'
occupancy: 0
- roomId: 126956
roomName: Workstations
floorId: 94215
floorName: Lab_floor_prod1
buildingId: 94194
buildingName: Lab
campusId: 93915
campusName: K.io_Lab_fixed
attributeId: 5a4ef38a-3766-4c30-bba0-4efe8df8f65b
attributeName: '1'
lastUpdate: '2021-11-28T16:30:49.134Z'
occupancy: 0
page:
size: 20
totalElements: 4
totalPages: 1
number: 0
operationId: get-v3-occupancy-room-attributes
description: |-
Returns the current seat occupany for all Rooms or the current seat occupancy for a room(s) with the roomId query parameter.
By default **valueType** parameter is set to **binary**: occupancy returned is either 0 (not occupied) or 1 (occupied).
parameters:
- $ref: '#/components/parameters/page'
- $ref: '#/components/parameters/size'
- $ref: '#/components/parameters/sort'
- in: query
name: roomId
schema:
type: number
example: 127326
description: Filter by one or more Room IDs (separated by comma)
- $ref: '#/components/parameters/valueType'
tags:
- 'Occupancy: Seats'
security:
- api_key: []
parameters: []
/v3/occupancy/room-attributes/history:
get:
summary: Retrieve seat occupancy history by room
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/Occupancy-Room-Attributes-History'
examples: {}
'429':
$ref: '#/components/responses/error-429'
operationId: get-v3-occupancy-room-attributes-history
description: |-
Returns the seat occupancy history for a room.
By default **valueType** parameter is set to **binary**: occupancy returned is either 0 (not occupied) or 1 (occupied).
parameters:
- $ref: '#/components/parameters/page'
- $ref: '#/components/parameters/size'
- $ref: '#/components/parameters/sort'
- $ref: '#/components/parameters/startTime'
- $ref: '#/components/parameters/endTime'
- in: query
name: roomId
schema:
type: number
example: 126956
description: Filter by one or more Room IDs (separated by comma)
required: true
- $ref: '#/components/parameters/valueType'
tags:
- 'Occupancy: Seats'
security:
- api_key: []
parameters: []
/v2/locations/spaces:
get:
summary: List all footfall spaces
responses:
'200':
description: OK
content:
application/json:
schema:
type: object
x-examples:
example-1:
links:
- rel: self
href: 'http://apps.cloud.us.kontakt.io/v2/locations/spaces?page=0&size=20'
content:
- id: 619e418cd272f240e3d00518
name: Conference and Spaces
roomIds:
- 127236
- 126956
- 94110
links: []
page:
size: 20
totalElements: 1
totalPages: 1
number: 0
properties:
content:
type: array
uniqueItems: true
minItems: 1
items:
type: object
properties:
id:
type: string
minLength: 1
description: ID of the footfall space.
name:
type: string
minLength: 1
description: Name of the footfall space.
roomIds:
type: array
description: IDs of rooms contained in the footfall space.
items: {}
required:
- id
- name
required:
- content
examples:
example-1:
value:
links:
- rel: self
href: 'http://apps.cloud.us.kontakt.io/v2/locations/spaces?page=0&size=20'
content:
- id: 619e418cd272f240e3d00518
name: Conference and Spaces
roomIds:
- 127236
- 126956
- 94110
links: []
page:
size: 20
totalElements: 1
totalPages: 1
number: 0
'201':
description: Created
operationId: get-v2-locations-spaces
description: |-
Returns a list of footfall spaces including the roomIds assigned to the space.
A footfall space is a user-defined virtual location that identifies where a Traffic Portal Beam measures the inbound (entering) and outbound (exiting) people traffic. The Portal Beam uses an invisible threshold line to detect people entering and exiting at its installation location.
Endpoint supports pagination and filtering.
parameters:
- $ref: '#/components/parameters/page'
- $ref: '#/components/parameters/size'
- $ref: '#/components/parameters/sort'
- schema:
type: string
in: query
name: name
description: Footfall space name or beginning of part name to search. Only one of the filters can be used.
- schema:
type: string
in: query
description: ID of multiple IDs of rooms contained by footfall locations to search. Only one of the filters can be used.
name: roomId
security:
- api_key: []
requestBody:
content: {}
tags:
- Footfall Spaces
/v3/occupancy/spaces:
get:
summary: Retrieve current footfall occupancy
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/Occupancy-Footfall-Current'
operationId: get-v3-occupancy-spaces
description: |-
Returns the current occupancy of all footfall spaces or for a specific footfall space(s) with use of the spaceId query parameter.
Occupancy is the count of people present in a footfall space.
A footfall space is a user-defined virtual location that identifies where a Traffic Portal Beam measures the inbound (entering) and outbound (exiting) people traffic. The Portal Beam uses an invisible threshold line to detect people entering and exiting at its installation location.
The occupancy count of a footfall space is reset every day at midnight. This means that the count starts from zero at the beginning of each day, and only includes the traffic recorded during that day.
parameters:
- $ref: '#/components/parameters/page'
- $ref: '#/components/parameters/size'
- $ref: '#/components/parameters/sort'
- in: query
name: spaceId
schema:
type: string
example: 619e418cd272f240e3d00518
description: Filter by one or multiple spaceIDs (separated by comma)
tags:
- 'Occupancy: Footfall'
security:
- api_key: []
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/Occupancy-Footfall-Current'
/v3/occupancy/spaces/history:
get:
summary: Retrieve footfall occupancy history
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/Occupancy-Footfall-History'
examples:
example-1:
value:
startTime: '2021-11-17T15:48:18.556Z'
endTime: '2021-11-17T15:49:08.556Z'
occupancy: 66371635
spaceId: 619524a6ba8a8c1963d8b7e2
spaceName: gTRkqRYmGyqO
'429':
$ref: '#/components/responses/error-429'
operationId: get-v3-occupancy-spaces-history
description: |
Returns the occupancy history of a footfall space or for a specific footfall space(s) with use of the spaceId query parameter.
Occupancy is the count of people present in the footfall space.
A footfall space is a user-defined virtual location that identifies where a Traffic Portal Beam measures the inbound (entering) and outbound (exiting) people traffic. The Portal Beam is uses an invisible threshold line to detect people entering and exiting the location at its installation location.
The occupancy count of a footfall space is reset every day at midnight. This means that the count starts from zero at the beginning of each day, and only includes the traffic recorded during that day.
parameters:
- $ref: '#/components/parameters/page'
- $ref: '#/components/parameters/size'
- $ref: '#/components/parameters/sort'
- $ref: '#/components/parameters/startTime'
- $ref: '#/components/parameters/endTime'
- schema:
type: string
in: query
name: spaceId
description: Filter by one or multiple Space IDs (separated by comma)
required: true
tags:
- 'Occupancy: Footfall'
security:
- api_key: []
parameters: []
/v3/occupancy:
parameters: []
get:
description: ''
/v3/novid/colocations:
get:
summary: List colocated devices
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/Colocated-devices-list'
examples:
example-1:
value:
content:
- entityId: 29357
entityName: OhJOfzEYtgQC
trackingId: YDDDkL
startTime: '2022-01-11T08:17:00.725468Z'
endTime: '2022-01-18T08:17:00.725485Z'
contacts:
- entityId: 29356
entityName: hfrtnszGIwhn
trackingId: uSOKrc
durationSec: 1
- entityId: 29358
entityName: QLkgWkWaFuGJ
trackingId: iexMRB
startTime: '2022-01-11T08:17:00.726105Z'
endTime: '2022-01-18T08:17:00.726111Z'
contacts:
- entityId: 29356
entityName: hfrtnszGIwhn
trackingId: uSOKrc
durationSec: 1
page:
size: 2
totalElements: 3
totalPages: 2
number: 0
'400':
description: |-
Bad Request - too many results to query
Too many results to query. If possible, try lowering the time range or number of trackingIds. This error mostly occurs when there is very big amount of tracked devices in one room. If that is the case and these devices are not used currently, move them out of range of scanning devices.
content:
application/xml:
schema:
type: object
properties: {}
examples:
Example:
value: |-
{
"timestamp": "2022-01-20T15:17:50.993+00:00",
"status": 400,
"error": "Bad Request",
"message": "Too many results to query. If possible, try lowering the time range or number of trackingIds. This error mostly occurs when there is very big amount of tracked devices in one room. If that is the case and these devices are not used currently, move them out of range of scanning devices.",
"path": "/v3/colocations/summary"
}
multipart/form-data:
schema:
$ref: ''
operationId: get-v3-novid-colocations
description: |-
Returns a list of all colocated devices, where colacated is defined as two devices dwelling in the same room.
**Time range specified by startTime and endTime cannot be greater than 21 days.**
security:
- api_key: []
parameters:
- schema:
type: string
example: 'dd:24:d0:82:3d:7c'
in: query
name: trackingId
description: Filter by single infected device trackingId
required: true
- schema:
type: string
example: '2021-11-29T09:40:32Z'
format: date-time
in: query
name: startTime
description: 'ISO 8601 Timestamp. Indicates the starting point of the time range you want to check.
You should use the following format: 2020-08-12T11:40:32+02:00 or 2020-08-12T09:40:32Z for UTC'
required: true
- schema:
type: string
format: date-time
example: '2021-11-29T11:40:00+02:00'
in: query
name: endTime
description: 'ISO 8601 Timestamp. Indicates the ending point of the time range you want to check.
You should use the following format: 2020-08-12T11:40:32+02:00 or 2020-08-12T09:40:32Z for UTC'
tags:
- Colocations
/v3/channels:
get:
summary: List all configured channels
responses:
'200':
description: |-
OK
Select **any of** the channel types; Kinesis, EventHub, or Watson for a response example.
content:
application/json:
schema:
description: Response will include all configured channels. Select any of to view response details by channel type.
oneOf:
- $ref: '#/components/schemas/Stream-channel-kinesis'
- $ref: '#/components/schemas/Stream-channel-eventHub'
- $ref: '#/components/schemas/Stream-channel-watson'
examples: {}
operationId: get-v3-channels
security:
- api_key: []
description: Returns a list of all configured stream channels.
tags:
- Stream
post:
summary: Create new channel
operationId: post-v3-channels
responses:
'200':
description: |-
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Content-Length: 24
**Channel Id of new channel created**. The Channel Id (channelIds) is required to create a stream subscription.
content: {}
description: |
Create a new AWS Kinesis, Azure Event Hub, or IBM Watson channel.
The response includes the **channel Id** that is required to create a stream subscription.
parameters: []
tags:
- Stream
requestBody:
$ref: '#/components/requestBodies/stream-post-channel'
security:
- api_key: []
parameters:
- schema:
type: string
name: ''
in: path
required: true
'/v3/channels/{id}':
parameters:
- schema:
type: string
name: id
in: path
required: true
description: 'The channel Id. Channel Id is generated from the Create new channel request by type (kinesis, eventHub, or watson).'
get:
summary: Retrieve channel by id
responses:
'200':
description: OK
content:
application/json:
schema:
oneOf:
- $ref: '#/components/schemas/Stream-channel-kinesis'
- $ref: '#/components/schemas/Stream-channel-watson'
x-stoplight:
id: fca4y1zwjma5u
- $ref: '#/components/schemas/Stream-channel-watson'
x-stoplight:
id: duy40ufuh67q7
operationId: get-v3-channels-id
description: Retrieve the configuration of a channel by id.
security:
- api_key: []
tags:
- Stream
delete:
summary: Delete a channel by id
operationId: delete-v3-channels-id
responses:
'200':
description: OK
description: Delete a channel by id
security:
- api_key: []
tags:
- Stream
patch:
summary: Update Channel by ID
operationId: patch-v3-channels-id
responses:
'200':
description: OK
description: |
Update a AWS Kinesis, Azure Event Hub, or IBM Watson channel.
tags:
- Stream
requestBody:
content:
application/json:
schema:
oneOf:
- $ref: '#/components/schemas/Stream-patch-kinesis-channel'
- $ref: '#/components/schemas/Stream-patch-eventhub-channel'
- $ref: '#/components/schemas/Stream-patch-watson-channel'
examples:
kinesis:
value:
status: string
name: Kontakt kinesis stream
channel:
type: kinesis
endpoint: kinesis.us-east-2.amazonaws.com
streamName: string
accessKey: string
secretKey: string
region: string
eventHub:
value:
status: active
name: string
channel:
type: eventHub
endpoint: string
sharedAccessKeyName: string
sharedAccessKey: string
eventHubName: string
watson:
value:
status: active
name: string
channel:
type: watson
orgId: string
typeId: string
token: string
deviceId: string
description: |-
From **one of**, select the **channel type** updating (Kinesis, Event Hub, or Watson).
**IMPORTANT:** When updating a channel property, all channel property values must be provided.
security:
- api_key: []
/v3/streams/subscriptions/telemetry:
get:
summary: Retrieve telemetry subscription
responses: {}
operationId: get-v3-streams-subscriptions-telemetry
description: 'Returns the name, type, and channeIds for a telemetry stream subscription.'
tags:
- Stream
security:
- api_key: []
post:
summary: Create telemetry subscription
operationId: post-v3-streams-subscriptions-telemetry
responses:
'200':
description: OK
description: |
Creates a new telemetry stream subscription.
> It’s important to **first validate that no existing Telemetry stream subscription type exists with connected channels** prior to creating a new subscription. Creating a new Telemetry subscription type when one already exists overwrites that subscription and immediately disconnects any subscribed channels. If a subscription type already exist, you will only need to add a channel ID to the existing subscription via the Telemetry subscritpion PATCH request. **Refer to the GET Subscription Endpoint to validate if a subscription type already exists and record the existing Channel IDs included in the subscription.**
security:
- api_key: []
tags:
- Stream
requestBody:
$ref: '#/components/requestBodies/stream-post-subscription'
patch:
summary: Update telemetry subscription
operationId: patch-v3-streams-subscriptions-telemetry
responses:
'200':
description: OK
description: |
Updates a telemetry stream subscription.
**It is important to include any channels already subscribed to the subscription by including them in the array of channel Ids when updating a subscription type.**
tags:
- Stream
security:
- api_key: []
requestBody:
$ref: '#/components/requestBodies/stream-patch-subscription'
delete:
summary: Delete telemetry subscription
operationId: delete-v3-streams-subscriptions-telemetry
responses:
'204':
description: No Content
description: Deletes a telemetry stream subscription.
security:
- api_key: []
tags:
- Stream
'/v3/channels/state/{id}':
get:
summary: Retrieve channel connection state by id
responses:
'200':
description: OK
content:
application/json:
schema:
description: ''
type: object
x-examples:
example-1:
connectionState: DISCONNECTED
errorMessage: error message if any
timestamp: 1638253416.61
properties:
connectionState:
type: string
minLength: 1
enum:
- DISCONNECTED
- CONNECTED
- INVALID
errorMessage:
type: string
minLength: 1
description: Contains possible error messages when processor was unable to establish connection end send any message successfully.
timestamp:
type: number
description: Time when change of the state occurred.
required:
- connectionState
- timestamp
operationId: get-v3-channels-state
description: |-
Returns the current connection state of a stream channel.
connectionState - state of connection to the channel.
Can be one of following:
- **DISCONNECTED** - default after channel creation, means channel is not used
- **CONNECTED** - established connection and message has been successfully sent
- **INVALID** - cannot establish connection because of a channel configuration issue
security:
- api_key: []
tags:
- Stream
parameters:
- schema:
type: string
name: id
in: path
required: true
description: ID of the channel.
/v3/streams/subscriptions/position:
get:
summary: Retrieve position subscription
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/Stream-V2-GET-Subscription'
operationId: get-v3-streams-subscriptions-position
description: |-
Returns the name, type, and channeIds for a position stream subscription.
Also, filter by deviceModel when configured.
security:
- api_key: []
tags:
- Stream
post:
summary: Create position subscription
operationId: post-v3-streams-subscriptions-position
responses:
'200':
description: OK
description: |-
Creates a new position stream subscription.
Filter by Kontakt.io device model ID is availble. For the list of device models and their corresponding device model ID, see **[Stream Position filtering by device model](docs/stream/position-filter.md).**
> It’s important to **first validate that no existing Position stream subscription type exists with connected channels** prior to creating a new subscription. Creating a new Position subscription type when one already exists overwrites that subscription and immediately disconnects any subscribed channels. If a subscription type already exist, you will only need to add a channel ID to the existing subscription via the Position subscritpion PATCH request. **Refer to the GET Subscription Endpoint to validate if a subscription type already exists and record the existing Channel IDs included in the subscription.**
security:
- api_key: []
parameters: []
tags:
- Stream
requestBody:
$ref: '#/components/requestBodies/stream-position-subscription'
patch:
summary: Update position subscription
operationId: patch-v3-streams-subscriptions-position
responses:
'200':
description: OK
content:
application/json:
schema:
type: object
properties: {}
description: |-
Updates a position stream subscription.
**It is important to include any channels already subscribed to the subscription by including them in the array of channel Ids when updating a subscription type.**
security:
- api_key: []
tags:
- Stream
requestBody:
$ref: '#/components/requestBodies/stream-position-subscription'
delete:
summary: Delete position subscription
operationId: delete-v3-streams-subscriptions-position
responses:
'204':
description: No Content
description: Deletes a postion stream subscription.
security:
- api_key: []
tags:
- Stream
parameters: []
/v3/streams/subscriptions/occupancy:
get:
summary: Retrieve occupancy subscription
responses:
'200':
description: OK
content:
application/json:
schema:
type: object
x-examples:
example-1:
name: mCCCZeKGYj
type: telemetry
channelIds:
- 6238449836543f4ceda20ebb
properties:
name:
type: string
description: A user-defined name to identify the subscription.
type:
type: string
description: The type of subscription. Set to occupancy to create the occupancy subscription.
enum:
- telemetry
- position
- occupancy
example: occupancy
channelIds:
type: array
description: |-
The channel Id or multiple channel Ids separated by a comma.
Channel Id is included in the Create new channel response that identifies the channel (AWS Kinesis, Azure Event Hub, or IBM Watson)
items:
type: string
required:
- name
- type
- channelIds
operationId: get-v3-streams-subscriptions-telemetry
description: 'Returns the name, type, and channeIds for a occupancy stream subscription.'
security:
- api_key: []
tags:
- Stream
requestBody:
$ref: '#/components/requestBodies/stream-post-subscription'
post:
summary: Create occupancy subscription
operationId: post-v3-streams-subscriptions-telemetry
responses:
'200':
description: OK
description: |
Creates a new occupancy stream subscription.
> It’s important to **first validate that no existing Occupancy stream subscription type exists with connected channels** prior to creating a new subscription. Creating a new Occupancy subscription type when one already exists overwrites that subscription and immediately disconnects any subscribed channels. If a subscription type already exist, you will only need to add a channel ID to the existing subscription via the Occupancy subscritpion PATCH request. **Refer to the GET Subscription Endpoint to validate if a subscription type already exists and record the existing Channel IDs included in the subscription.**
security:
- api_key: []
tags:
- Stream
requestBody:
$ref: '#/components/requestBodies/stream-occupancy-subscription'
patch:
summary: Update occupancy subscription
operationId: patch-v3-streams-subscriptions-telemetry
responses:
'200':
description: OK
description: |-
Updates a occupancy stream subscription.
**It is important to include any channels already subscribed to the subscription by including them in the array of channel Ids when updating a subscription type.**
security:
- api_key: []
tags:
- Stream
requestBody:
$ref: '#/components/requestBodies/stream-occupancy-subscription'
delete:
summary: Delete occupancy subscription
operationId: delete-v3-streams-subscriptions-telemetry
responses:
'204':
description: No Content
description: Deletes a occupancy stream subscription.
security:
- api_key: []
tags:
- Stream
parameters: []
/v3/streams/subscriptions/position/channels:
parameters: []
post:
summary: Add Channels to Position Subscription
tags:
- Stream
responses: {}
operationId: post-v3-streams-subscriptions-type-channels
x-stoplight:
id: cbqhlxd4mbqm5
description: 'Safely appends one or more channels to an existing Position subscription’s channelIds array, without overwriting the existing list.'
security:
- api_key: []
parameters: []
requestBody:
description: ' The list of channel IDs to append to the subscription.'
content:
application/json:
schema:
type: object
x-examples:
Example 1:
channelIds:
- channel-to-remove-1
- channel-to-remove-2
required:
- channelIds
properties:
channelIds:
type: array
description: The Channel IDs
items:
type: string
delete:
summary: Remove Channels from Position Subscription
tags:
- Stream
responses: {}
operationId: delete-v3-streams-subscriptions-type-channels
x-stoplight:
id: lejnlb1ql6m7c
description: 'Safely removes one or more channel IDs from an existing subscription, updating the channelIds list accordingly.'
security:
- api_key: []
requestBody:
content:
application/json:
schema:
type: object
required:
- channelIds
properties:
channelIds:
type: array
x-stoplight:
id: 391ahiq26cfbi
items:
x-stoplight:
id: cnmaihy7nl55g
type: string
description: The list of channel IDs to remove from the subscription.
/v3/streams/subscriptions/telemetry/channels:
parameters: []
post:
summary: Add Channels to Telemetry Subscription
tags:
- Stream
responses: {}
operationId: post-v3-streams-subscriptions-type-channels
description: 'Safely appends one or more channels to an existing Telemetry subscription’s channelIds array, without overwriting the existing list.'
security:
- api_key: []
parameters: []
requestBody:
description: ' The list of channel IDs to append to the subscription.'
content:
application/json:
schema:
type: object
x-examples:
Example 1:
channelIds:
- channel-to-remove-1
- channel-to-remove-2
required:
- channelIds
properties:
channelIds:
type: array
items:
type: string
x-stoplight:
id: ajvvdott039m8
delete:
summary: Remove Channels from Telemetry Subscription
tags:
- Stream
responses: {}
operationId: delete-v3-streams-subscriptions-type-channels
description: 'Safely removes one or more channel IDs from an existing Telemetry subscription, updating the channelIds list accordingly.'
security:
- api_key: []
x-stoplight:
id: gygwt4cmi73df
requestBody:
description: The list of channel IDs to remove from the subscription.
content:
application/json:
schema:
type: object
x-examples:
Example 1:
channelIds:
- new-channel-1
- new-channel-2
required:
- channelIds
properties:
channelIds:
type: array
items:
type: string
/v3/streams/subscriptions/occupancy/channels:
parameters: []
post:
summary: Add Channels to Occupancy Subscription
tags:
- Stream
responses: {}
operationId: post-v3-streams-subscriptions-type-channels
description: 'Safely appends one or more channels to an existing Occupancy subscription’s channelIds array, without overwriting the existing list.'
security:
- api_key: []
parameters: []
requestBody:
description: ' The list of channel IDs to append to the subscription.'
content:
application/json:
schema:
type: object
x-examples:
Example 1:
channelIds:
- channel-to-remove-1
- channel-to-remove-2
required:
- channelIds
properties:
channelIds:
type: array
items:
type: string
x-stoplight:
id: ei3eqyorqusdb
delete:
summary: Remove Channels from Occupancy Subscription
tags:
- Stream
responses: {}
operationId: delete-v3-streams-subscriptions-type-channels
description: 'Safely removes one or more channel IDs from an existing Occupancy subscription, updating the channelIds list accordingly.'
security:
- api_key: []
x-stoplight:
id: 3caa8ema32npq
requestBody:
content:
application/json:
schema:
type: object
x-examples:
Example 1:
channelIds:
- new-channel-1
- new-channel-2
required:
- channelIds
properties:
channelIds:
type: array
items:
type: string
description: The list of channel IDs to remove from the subscription.
components:
schemas:
Campus-List:
description: ''
type: object
x-examples:
example-1:
links:
- rel: self
href: 'https://apps.cloud.us.kontakt.io/v2/locations/campuses?page=0&size=50&sort=name,asc'
content:
- id: 24195
name: PEqoAnDFzQJO
address: rxcYtJKcgvKR
description: okDejmxPIYho
timezone: Etc/UTC
lat: 47.74476326561381
lng: 157.97368381604798
buildings:
- id: 24255
name: iUpmpGjJgxJK
address: fVfLIOGCINhD
description: piEogPNrOeyKLcoyUpcwGYMepQptnIoh
floors:
- id: 24275
name: ZfGOeNTrTnxz
height: 337.0410380534909
width: 165.03183838668602
anchorLat: -1.9461885039490028
anchorLng: 80.92372506610462
rotation: -2.5769039085455496
properties:
IxJpyrlpkEez: ugNxIXEiLakE
ZKvdSuxYnXYb: aVyxcYlHgzQO
ldWdstMkrmtX: gDRUOycxaXsK
level: 0
latLngGeojson:
type: Feature
geometry:
type: Polygon
coordinates:
- - - 153.99553669410852
- -54.64034167752789
- - 166.80179033397476
- -54.64034167752789
- - 166.80179033397476
- -67.8749810105087
- - 153.99553669410852
- -67.8749810105087
- - 153.99553669410852
- -54.64034167752789
xyGeojson:
type: Feature
geometry:
type: Polygon
coordinates:
- - - 500.85822354785705
- 688.8619164708019
- - 695.766775861022
- 688.8619164708019
- - 695.766775861022
- 52.55372186677936
- - 500.85822354785705
- 52.55372186677936
- - 500.85822354785705
- 688.8619164708019
imageLatLngGeojson:
type: Feature
geometry:
type: Polygon
coordinates:
- - - -51.393772649419134
- -71.60084375275564
- - 14.868312351237421
- -71.60084375275564
- - 14.868312351237421
- -78.92367486330606
- - -51.393772649419134
- -78.92367486330606
- - -51.393772649419134
- -71.60084375275564
imageXyGeojson:
type: Feature
geometry:
type: Polygon
coordinates:
- - - 578.5511263129957
- 870.2330318825773
- - 702.5347247192625
- 870.2330318825773
- - 702.5347247192625
- 329.79923857370574
- - 578.5511263129957
- 329.79923857370574
- - 578.5511263129957
- 870.2330318825773
lat: 9.689874753553351
lng: 25.456757565724402
latLngGeojson:
type: Feature
geometry:
type: Polygon
coordinates:
- - - -179.28805871257677
- 82.61997680460593
- - -24.25825623314489
- 82.61997680460593
- - -24.25825623314489
- -49.43836075940649
- - -179.28805871257677
- -49.43836075940649
- - -179.28805871257677
- 82.61997680460593
xyGeojson:
type: Feature
geometry:
type: Polygon
coordinates:
- - - 642.5338944680805
- 650.8771570653545
- - 733.208371863077
- 650.8771570653545
- - 733.208371863077
- 37.33181650975339
- - 642.5338944680805
- 37.33181650975339
- - 642.5338944680805
- 650.8771570653545
page:
size: 50
totalElements: 1
totalPages: 1
number: 0
properties:
content:
type: array
uniqueItems: true
minItems: 1
description: Page content.
items:
type: object
properties:
id:
type: number
description: Campus Id.
name:
type: string
minLength: 1
description: Campus name.
address:
type: string
minLength: 1
description: Campus address.
description:
type: string
minLength: 1
description: Campus description.
timezone:
type: string
minLength: 1
description: 'Campus timezone. Reference to timezone documentation:link'
lat:
type: number
description: Campus latitude.
lng:
type: number
description: Campus longitude.
buildings:
type: array
uniqueItems: true
minItems: 1
items:
type: object
properties:
id:
type: number
description: Building ID.
name:
type: string
minLength: 1
description: Building name.
address:
type: string
minLength: 1
description: Building address.
description:
type: string
minLength: 1
description: Building description.
floors:
type: array
uniqueItems: true
minItems: 1
description: Building floor details.
items:
type: object
description: Floor information by each Floor ID.
properties:
id:
type: number
description: Floor Id.
name:
type: string
minLength: 1
description: Floor name.
height:
type: number
description: Floor’s height in meters.
anchorLat:
type: number
description: |
Latitude of floor’s bottom right corner.
width:
type: number
description: Floor’s width in meters.
anchorLng:
type: number
description: Longitude of floor’s bottom right corner.
rotation:
type: number
description: Rotation of floor boundary rectangle on earth map. In radians.
properties:
type: object
description: Floor’s properties
properties:
IxJpyrlpkEez:
type: string
minLength: 1
description: '???'
ZKvdSuxYnXYb:
type: string
minLength: 1
description: '???'
ldWdstMkrmtX:
type: string
minLength: 1
description: '???'
required:
- IxJpyrlpkEez
- ZKvdSuxYnXYb
- ldWdstMkrmtX
level:
type: number
description: Floor’s level.
latLngGeojson:
type: object
description: GeoJSON format description of floor boundary vertices (using latitude and longitude coordinates)
properties:
type:
type: string
minLength: 1
geometry:
type: object
required:
- type
- coordinates
properties:
type:
type: string
minLength: 1
coordinates:
type: array
items:
type: object
properties:
'0':
type: array
uniqueItems: true
items:
type: object
properties:
'0':
type: array
uniqueItems: true
items:
type: object
'1':
type: array
uniqueItems: true
items:
type: object
'2':
type: array
uniqueItems: true
items:
type: object
'3':
type: array
uniqueItems: true
items:
type: object
'4':
type: array
uniqueItems: true
items:
type: object
required:
- type
- geometry
xyGeojson:
type: object
description: 'GeoJSON format description of floor boundary vertices (using meters, bottom left point should always be [0, 0])'
properties:
type:
type: string
minLength: 1
geometry:
type: object
required:
- type
- coordinates
properties:
type:
type: string
minLength: 1
coordinates:
type: array
items:
type: object
properties:
'0':
type: array
uniqueItems: true
items:
type: object
properties:
'0':
type: array
uniqueItems: true
items:
type: object
'1':
type: array
uniqueItems: true
items:
type: object
'2':
type: array
uniqueItems: true
items:
type: object
'3':
type: array
uniqueItems: true
items:
type: object
'4':
type: array
uniqueItems: true
items:
type: object
required:
- type
- geometry
imageLatLngGeojson:
type: object
description: GeoJSON format description of floor plan boundary vertices (using latitude and longitude coordinates)
properties:
type:
type: string
minLength: 1
geometry:
type: object
required:
- type
- coordinates
properties:
type:
type: string
minLength: 1
coordinates:
type: array
items:
type: object
properties:
'0':
type: array
uniqueItems: true
items:
type: object
properties:
'0':
type: array
uniqueItems: true
items:
type: object
'1':
type: array
uniqueItems: true
items:
type: object
'2':
type: array
uniqueItems: true
items:
type: object
'3':
type: array
uniqueItems: true
items:
type: object
'4':
type: array
uniqueItems: true
items:
type: object
required:
- type
- geometry
imageXyGeojson:
type: object
description: GeoJSON format description of floor plan boundary vertices (using meters relative to baseline of floor)
properties:
type:
type: string
minLength: 1
geometry:
type: object
required:
- type
- coordinates
properties:
type:
type: string
minLength: 1
coordinates:
type: array
items:
type: object
properties:
'0':
type: array
uniqueItems: true
items:
type: object
properties:
'0':
type: array
uniqueItems: true
items:
type: object
'1':
type: array
uniqueItems: true
items:
type: object
'2':
type: array
uniqueItems: true
items:
type: object
'3':
type: array
uniqueItems: true
items:
type: object
'4':
type: array
uniqueItems: true
items:
type: object
required:
- type
- geometry
lat:
type: number
description: Building latitude.
lng:
type: number
description: Building longitude.
latLngGeojson:
type: object
description: GeoJSON format description of floor boundary vertices (using latitude and longitude coordinates)
properties:
type:
type: string
minLength: 1
geometry:
type: object
required:
- type
- coordinates
properties:
type:
type: string
minLength: 1
coordinates:
type: array
items:
type: object
properties:
'0':
type: array
uniqueItems: true
items:
type: object
properties:
'0':
type: array
uniqueItems: true
items:
type: object
'1':
type: array
uniqueItems: true
items:
type: object
'2':
type: array
uniqueItems: true
items:
type: object
'3':
type: array
uniqueItems: true
items:
type: object
'4':
type: array
uniqueItems: true
items:
type: object
required:
- type
- geometry
xyGeojson:
type: object
description: 'GeoJSON format description of floor boundary vertices (using meters, bottom left point should always be [0, 0])'
properties:
type:
type: string
minLength: 1
geometry:
type: object
required:
- type
- coordinates
properties:
type:
type: string
minLength: 1
coordinates:
type: array
items:
type: object
properties:
'0':
type: array
uniqueItems: true
items:
type: object
properties:
'0':
type: array
uniqueItems: true
items:
type: object
'1':
type: array
uniqueItems: true
items:
type: object
'2':
type: array
uniqueItems: true
items:
type: object
'3':
type: array
uniqueItems: true
items:
type: object
'4':
type: array
uniqueItems: true
items:
type: object
required:
- type
- geometry
examples:
- content:
- id: 0
name: string
address: string
description: string
timezone: string
lat: 0
lng: 0
buildings:
- id: 0
name: string
address: string
description: string
floors:
- id: 0
name: string
height: 0
anchorLat: 0
width: 0
anchorLng: 0
rotation: 0
properties:
IxJpyrlpkEez: string
ZKvdSuxYnXYb: string
ldWdstMkrmtX: string
level: 0
latLngGeojson:
type: string
geometry:
type: string
coordinates:
- '0':
- '0':
- {}
'1':
- {}
'2':
- {}
'3':
- {}
'4':
- {}
xyGeojson:
type: string
geometry:
type: string
coordinates:
- '0':
- '0':
- {}
'1':
- {}
'2':
- {}
'3':
- {}
'4':
- {}
imageLatLngGeojson:
type: string
geometry:
type: string
coordinates:
- '0':
- '0':
- {}
'1':
- {}
'2':
- {}
'3':
- {}
'4':
- {}
imageXyGeojson:
type: string
geometry:
type: string
coordinates:
- '0':
- '0':
- {}
'1':
- {}
'2':
- {}
'3':
- {}
'4':
- {}
lat: 0
lng: 0
latLngGeojson:
type: string
geometry:
type: string
coordinates:
- '0':
- '0':
- {}
'1':
- {}
'2':
- {}
'3':
- {}
'4':
- {}
xyGeojson:
type: string
geometry:
type: string
coordinates:
- '0':
- '0':
- {}
'1':
- {}
'2':
- {}
'3':
- {}
'4':
- {}
Campus:
type: object
x-examples:
example-1:
id: 24207
name: SCJKxkUNVFzl
address: iMeaMPGkKxFk
description: dlEPLhjtcLca
timezone: Etc/UTC
lat: -77.40998441037772
lng: 71.9675680633298
buildings:
- id: 24265
name: YzgTgSLdMvMg
address: AySvCdEKmvpJ
description: fLxyOBymXEYCyKmgHNiogAXZolsuIQZq
floors:
- id: 24285
name: lyijRpPfRKYv
height: 205.9008937785977
width: 70.78754727720604
anchorLat: 42.608598323151455
anchorLng: 122.26057860928546
rotation: -2.780293067872374
properties:
QswXHpYZQsvi: BcVbACRWbGSN
eNyRlUZQyllm: DDbGYifwfFie
lEFAuaRyYUqj: YjZpLVWDiSXd
rooms:
- id: 24324
name: GddziJkcfOBe
roomType: ROOM
roomNumber: 60
roomSensors:
- id: 24344
lat: 15.713900557469117
lng: -78.92875984934508
x: -81955.08191310268
'y': 10031.572927562855
z: -34228.81617785849
rotation: 80422.02738356005
trackingId: gNRLlXWQLlhyftce
latLngGeojson:
type: Feature
geometry:
type: Polygon
coordinates:
- - - 77.803189355185
- 54.673010000484254
- - 109.59812331980086
- 54.673010000484254
- - 109.59812331980086
- -85.65193276405992
- - 77.803189355185
- -85.65193276405992
- - 77.803189355185
- 54.673010000484254
xyGeojson:
type: Feature
geometry:
type: Polygon
coordinates:
- - - 436.8431926505752
- 844.1507287027353
- - 766.5107413352109
- 844.1507287027353
- - 766.5107413352109
- 64.255553142836
- - 436.8431926505752
- 64.255553142836
- - 436.8431926505752
- 844.1507287027353
properties:
ItxihjlOXHzc: vQhhAqpYflRn
OOWPmyijdqQX: aBTzqCumIobV
level: 0
latLngGeojson:
type: Feature
geometry:
type: Polygon
coordinates:
- - - 174.07680289486592
- -23.903554471095845
- - 176.34191335911154
- -23.903554471095845
- - 176.34191335911154
- -70.68822409127891
- - 174.07680289486592
- -70.68822409127891
- - 174.07680289486592
- -23.903554471095845
xyGeojson:
type: Feature
geometry:
type: Polygon
coordinates:
- - - 2.332923077896926
- 89.9084306417014
- - 26.059679069740316
- 89.9084306417014
- - 26.059679069740316
- 9.38960291096201
- - 2.332923077896926
- 9.38960291096201
- - 2.332923077896926
- 89.9084306417014
imageLatLngGeojson:
type: Feature
geometry:
type: Polygon
coordinates:
- - - -56.57929142378448
- -70.43908700451783
- - -1.7792232451145225
- -70.43908700451783
- - -1.7792232451145225
- -86.10201517763704
- - -56.57929142378448
- -86.10201517763704
- - -56.57929142378448
- -70.43908700451783
imageXyGeojson:
type: Feature
geometry:
type: Polygon
coordinates:
- - - 250.4952914094903
- 209.6692216547465
- - 900.7957343252274
- 209.6692216547465
- - 900.7957343252274
- 196.31338276942267
- - 250.4952914094903
- 196.31338276942267
- - 250.4952914094903
- 209.6692216547465
gateways:
- id: 24304
lat: 23.9282513375432
lng: 96.2179628080745
altitude: 62.54794414841979
x: 37696.239112303854
'y': -93181.55067541225
z: 1.912479211550645
verticalOrientation: 32
range: -81
virtual: false
sourceId: uZHWAfeaJRXWfKSv
lat: 19.162276225372555
lng: 38.260837120846055
latLngGeojson:
type: Feature
geometry:
type: Polygon
coordinates:
- - - -88.5755811462618
- 73.64174642904453
- - 109.8536871245788
- 73.64174642904453
- - 109.8536871245788
- -23.265391626444284
- - -88.5755811462618
- -23.265391626444284
- - -88.5755811462618
- 73.64174642904453
xyGeojson:
type: Feature
geometry:
type: Polygon
coordinates:
- - - 310.1850441487216
- 643.6985387400035
- - 914.9935977501614
- 643.6985387400035
- - 914.9935977501614
- 69.3115272887423
- - 310.1850441487216
- 69.3115272887423
- - 310.1850441487216
- 643.6985387400035
examples:
- id: 0
name: null
address: string
description: string
timezone: string
lat: 0
lng: 0
buildings:
- id: 0
name: string
address: string
description: string
floors:
- id: 0
name: string
height: 0
width: 0
anchorLat: 0
anchorLng: 0
rotation: 0
properties:
QswXHpYZQsvi: string
eNyRlUZQyllm: string
lEFAuaRyYUqj: string
rooms:
- id: 0
name: string
roomType: string
roomNumber: 0
roomSensors:
- id: 0
lat: 0
lng: 0
x: 0
'y': 0
z: 0
rotation: 0
trackingId: string
latLngGeojson:
type: string
geometry:
type: string
coordinates:
- '0':
- '0':
- {}
'1':
- {}
'2':
- {}
'3':
- {}
'4':
- {}
xyGeojson:
type: string
geometry:
type: string
coordinates:
- '0':
- '0':
- {}
'1':
- {}
'2':
- {}
'3':
- {}
'4':
- {}
properties:
ItxihjlOXHzc: string
OOWPmyijdqQX: string
level: 0
latLngGeojson:
type: string
geometry:
type: string
coordinates:
- '0':
- '0':
- {}
'1':
- {}
'2':
- {}
'3':
- {}
'4':
- {}
xyGeojson:
type: string
geometry:
type: string
coordinates:
- '0':
- '0':
- {}
'1':
- {}
'2':
- {}
'3':
- {}
'4':
- {}
imageLatLngGeojson:
type: string
geometry:
type: string
coordinates:
- '0':
- '0':
- {}
'1':
- {}
'2':
- {}
'3':
- {}
'4':
- {}
imageXyGeojson:
type: string
geometry:
type: string
coordinates:
- '0':
- '0':
- {}
'1':
- {}
'2':
- {}
'3':
- {}
'4':
- {}
gateways:
- id: 0
lat: 0
lng: 0
altitude: 0
x: 0
'y': 0
z: 0
verticalOrientation: 0
range: 0
virtual: true
sourceId: string
lat: 0
lng: 0
latLngGeojson:
type: string
geometry:
type: string
coordinates:
- '0':
- '0':
- {}
'1':
- {}
'2':
- {}
'3':
- {}
'4':
- {}
xyGeojson:
type: string
geometry:
type: string
coordinates:
- '0':
- '0':
- {}
'1':
- {}
'2':
- {}
'3':
- {}
'4':
- {}
coordinates - copy:
- '0':
- '0':
- {}
'1':
- {}
'2':
- {}
'3':
- {}
'4':
- {}
properties:
id:
type: number
name:
$ref: ''
address:
type: string
minLength: 1
description:
type: string
minLength: 1
timezone:
type: string
minLength: 1
lat:
type: number
lng:
type: number
buildings:
type: array
uniqueItems: true
minItems: 1
items:
type: object
properties:
id:
type: number
name:
type: string
minLength: 1
address:
type: string
minLength: 1
description:
type: string
minLength: 1
floors:
type: array
uniqueItems: true
minItems: 1
items:
type: object
properties:
id:
type: number
name:
type: string
minLength: 1
height:
type: number
width:
type: number
anchorLat:
type: number
anchorLng:
type: number
rotation:
type: number
properties:
type: object
properties:
QswXHpYZQsvi:
type: string
minLength: 1
eNyRlUZQyllm:
type: string
minLength: 1
lEFAuaRyYUqj:
type: string
minLength: 1
required:
- QswXHpYZQsvi
- eNyRlUZQyllm
- lEFAuaRyYUqj
rooms:
type: array
uniqueItems: true
minItems: 1
items:
type: object
properties:
id:
type: number
name:
type: string
minLength: 1
roomType:
type: string
minLength: 1
roomNumber:
type: number
roomSensors:
type: array
uniqueItems: true
minItems: 1
items:
type: object
properties:
id:
type: number
lat:
type: number
lng:
type: number
x:
type: number
'y':
type: number
z:
type: number
rotation:
type: number
trackingId:
type: string
minLength: 1
required:
- id
- lat
- lng
- x
- 'y'
- z
- rotation
- trackingId
latLngGeojson:
type: object
properties:
type:
type: string
minLength: 1
geometry:
type: object
required:
- type
- coordinates
properties:
type:
type: string
minLength: 1
coordinates:
type: array
items:
type: object
properties:
'0':
type: array
uniqueItems: true
items:
type: object
properties:
'0':
type: array
uniqueItems: true
items:
type: object
'1':
type: array
uniqueItems: true
items:
type: object
'2':
type: array
uniqueItems: true
items:
type: object
'3':
type: array
uniqueItems: true
items:
type: object
'4':
type: array
uniqueItems: true
items:
type: object
required:
- type
- geometry
xyGeojson:
type: object
properties:
type:
type: string
minLength: 1
geometry:
type: object
required:
- type
- coordinates
properties:
type:
type: string
minLength: 1
coordinates:
type: array
items:
type: object
properties:
'0':
type: array
uniqueItems: true
items:
type: object
properties:
'0':
type: array
uniqueItems: true
items:
type: object
'1':
type: array
uniqueItems: true
items:
type: object
'2':
type: array
uniqueItems: true
items:
type: object
'3':
type: array
uniqueItems: true
items:
type: object
'4':
type: array
uniqueItems: true
items:
type: object
required:
- type
- geometry
properties:
type: object
properties:
ItxihjlOXHzc:
type: string
minLength: 1
OOWPmyijdqQX:
type: string
minLength: 1
required:
- ItxihjlOXHzc
- OOWPmyijdqQX
required:
- id
- name
- roomType
- roomNumber
level:
type: number
latLngGeojson:
type: object
properties:
type:
type: string
minLength: 1
geometry:
type: object
required:
- type
- coordinates
properties:
type:
type: string
minLength: 1
coordinates:
type: array
items:
type: object
properties:
'0':
type: array
uniqueItems: true
items:
type: object
properties:
'0':
type: array
uniqueItems: true
items:
type: object
'1':
type: array
uniqueItems: true
items:
type: object
'2':
type: array
uniqueItems: true
items:
type: object
'3':
type: array
uniqueItems: true
items:
type: object
'4':
type: array
uniqueItems: true
items:
type: object
required:
- type
- geometry
xyGeojson:
type: object
properties:
type:
type: string
minLength: 1
geometry:
type: object
required:
- type
- coordinates
properties:
type:
type: string
minLength: 1
coordinates:
type: array
items:
type: object
properties:
'0':
type: array
uniqueItems: true
items:
type: object
properties:
'0':
type: array
uniqueItems: true
items:
type: object
'1':
type: array
uniqueItems: true
items:
type: object
'2':
type: array
uniqueItems: true
items:
type: object
'3':
type: array
uniqueItems: true
items:
type: object
'4':
type: array
uniqueItems: true
items:
type: object
required:
- type
- geometry
imageLatLngGeojson:
type: object
properties:
type:
type: string
minLength: 1
geometry:
type: object
required:
- type
- coordinates
properties:
type:
type: string
minLength: 1
coordinates:
type: array
items:
type: object
properties:
'0':
type: array
uniqueItems: true
items:
type: object
properties:
'0':
type: array
uniqueItems: true
items:
type: object
'1':
type: array
uniqueItems: true
items:
type: object
'2':
type: array
uniqueItems: true
items:
type: object
'3':
type: array
uniqueItems: true
items:
type: object
'4':
type: array
uniqueItems: true
items:
type: object
required:
- type
- geometry
imageXyGeojson:
type: object
properties:
type:
type: string
minLength: 1
geometry:
type: object
required:
- type
- coordinates
properties:
type:
type: string
minLength: 1
coordinates:
type: array
items:
type: object
properties:
'0':
type: array
uniqueItems: true
items:
type: object
properties:
'0':
type: array
uniqueItems: true
items:
type: object
'1':
type: array
uniqueItems: true
items:
type: object
'2':
type: array
uniqueItems: true
items:
type: object
'3':
type: array
uniqueItems: true
items:
type: object
'4':
type: array
uniqueItems: true
items:
type: object
required:
- type
- geometry
gateways:
type: array
uniqueItems: true
minItems: 1
items:
type: object
properties:
id:
type: number
lat:
type: number
lng:
type: number
altitude:
type: number
x:
type: number
'y':
type: number
z:
type: number
verticalOrientation:
type: number
range:
type: number
virtual:
type: boolean
sourceId:
type: string
minLength: 1
required:
- id
- lat
- lng
- altitude
- x
- 'y'
- z
- verticalOrientation
- range
- virtual
- sourceId
lat:
type: number
lng:
type: number
latLngGeojson:
type: object
properties:
type:
type: string
minLength: 1
geometry:
type: object
properties:
type:
type: string
minLength: 1
coordinates:
type: array
items:
type: object
properties:
'0':
type: array
uniqueItems: true
items:
type: object
properties:
'0':
type: array
uniqueItems: true
items:
type: object
'1':
type: array
uniqueItems: true
items:
type: object
'2':
type: array
uniqueItems: true
items:
type: object
'3':
type: array
uniqueItems: true
items:
type: object
'4':
type: array
uniqueItems: true
items:
type: object
xyGeojson:
type: object
properties:
type:
type: string
minLength: 1
geometry:
type: object
properties:
type:
type: string
minLength: 1
coordinates:
type: array
items:
type: object
properties:
'0':
type: array
uniqueItems: true
items:
type: object
properties:
'0':
type: array
uniqueItems: true
items:
type: object
'1':
type: array
uniqueItems: true
items:
type: object
'2':
type: array
uniqueItems: true
items:
type: object
'3':
type: array
uniqueItems: true
items:
type: object
'4':
type: array
uniqueItems: true
items:
type: object
coordinates - copy:
type: array
items:
type: object
properties:
'0':
type: array
uniqueItems: true
items:
type: object
properties:
'0':
type: array
uniqueItems: true
items:
type: object
'1':
type: array
uniqueItems: true
items:
type: object
'2':
type: array
uniqueItems: true
items:
type: object
'3':
type: array
uniqueItems: true
items:
type: object
'4':
type: array
uniqueItems: true
items:
type: object
required:
- type
- coordinates
- coordinates - copy
Room-Sensors:
description: ''
type: object
x-examples:
example-1:
links:
- rel: self
href: 'http://apps.cloud.us.kontakt.io/v2/locations/room-sensors?page=0&size=20'
content:
- id: 128059
x: 8.650711325863393
'y': 2.969598029016233
z: 3
trackingId: 'c4:0a:ef:9e:71:03'
inbounds: []
outbounds: []
type: Static
room:
id: 127236
status: Assigned
- id: 128058
x: 8.591470391603178
'y': 7.2133787526002004
z: 3.1
trackingId: 'c9:39:37:9a:12:bc'
inbounds: []
outbounds: []
type: Static
room:
id: 127236
status: Assigned
- id: 128075
x: 12.2430005
'y': 8.021051
z: 3.2
trackingId: 'eb:90:e8:f4:b4:8b'
type: Static
room:
id: 126956
status: Assigned
- id: 128594
x: 11.35313563325963
'y': 13.668869216741786
trackingId: 'fa:bf:dc:81:9d:9e'
name: ''
inbounds:
- id: 619e418cd272f240e3d00518
name: Conference and Spaces
outbounds: []
type: Traffic
room:
id: 94110
status: Assigned
- id: 106814
x: 12.399999999999999
'y': 12.85
trackingId: 'd7:23:8e:76:44:65'
inbounds: []
outbounds: []
type: Static
room:
id: 94110
status: Assigned
- id: 102894
x: 3.8124449255128443
'y': 7.53125
trackingId: 'd6:3c:5d:b2:7c:a9'
type: Static
room:
id: 94108
status: Assigned
- id: 127099
x: 2.7
'y': 10.399999999999999
trackingId: 'f2:24:0f:2f:82:4f'
type: Static
room:
id: 94107
status: Assigned
- id: 94055
x: 11.412103845330275
'y': 15.893985791575489
trackingId: 'e0:91:1b:d7:42:07'
inbounds: []
outbounds: []
type: Static
room:
id: 94105
status: Assigned
page:
size: 20
totalElements: 8
totalPages: 1
number: 0
properties:
content:
type: array
uniqueItems: true
minItems: 1
items:
type: object
properties:
id:
type: number
x:
type: number
'y':
type: number
z:
type: number
trackingId:
type: string
minLength: 1
inbounds:
type: array
items:
type: object
outbounds:
type: array
items:
type: object
type:
type: string
minLength: 1
room:
type: object
properties:
id:
type: number
required:
- id
status:
type: string
minLength: 1
required:
- id
- x
- 'y'
- z
- trackingId
- type
- status
required:
- content
Building:
description: 'Smart Location Building. Includes the building''s floors and campus. '
type: object
x-examples:
example-1:
links:
- rel: self
href: 'https://apps.cloud.us.kontakt.io/v2/locations?page=0&size=50&sort=name,asc'
content:
- id: 25167
name: KoNIDeAJmqzP
address: CyEWZnNnXwxm
description: VONFHBCnSbIbAZJcLHRPNuYialKgbZib
floors:
- id: 25207
name: EcmLicOVZlqc
height: 355.02617806368715
width: 271.7107676022449
anchorLat: -67.88191674374008
anchorLng: -116.88142699964021
rotation: 2.0064499906221362
properties:
EgQhanFqevOm: pVxYSAbMLQFC
OfrViMjzwNPS: VXmxelrIpySo
taVMBxTzdnKH: HyTrKNYleUGI
level: 0
latLngGeojson:
type: Feature
geometry:
type: Polygon
coordinates:
- - - 131.03714326190413
- 3.93948514969766
- - 150.5269811515963
- 3.93948514969766
- - 150.5269811515963
- -37.89841095591999
- - 131.03714326190413
- -37.89841095591999
- - 131.03714326190413
- 3.93948514969766
xyGeojson:
type: Feature
geometry:
type: Polygon
coordinates:
- - - 650.0776425949497
- 404.27725235549406
- - 825.9588690673667
- 404.27725235549406
- - 825.9588690673667
- 267.3893936443721
- - 650.0776425949497
- 267.3893936443721
- - 650.0776425949497
- 404.27725235549406
imageLatLngGeojson:
type: Feature
geometry:
type: Polygon
coordinates:
- - - -95.92074370705781
- 22.292232907940047
- - 148.26820026979237
- 22.292232907940047
- - 148.26820026979237
- 15.190640360390475
- - -95.92074370705781
- 15.190640360390475
- - -95.92074370705781
- 22.292232907940047
imageXyGeojson:
type: Feature
geometry:
type: Polygon
coordinates:
- - - 493.62835162654613
- 875.7062397951316
- - 876.1518437771274
- 875.7062397951316
- - 876.1518437771274
- 721.1231691578029
- - 493.62835162654613
- 721.1231691578029
- - 493.62835162654613
- 875.7062397951316
campus:
id: 24491
name: dlIdcfXiporr
lat: 14.98195387030784
lng: 3.229373600322832
latLngGeojson:
type: Feature
geometry:
type: Polygon
coordinates:
- - - 142.36609000292782
- 9.546967478899802
- - 156.92307376433294
- 9.546967478899802
- - 156.92307376433294
- -69.91928303380834
- - 142.36609000292782
- -69.91928303380834
- - 142.36609000292782
- 9.546967478899802
xyGeojson:
type: Feature
geometry:
type: Polygon
coordinates:
- - - 538.3978932023056
- 543.1735978247506
- - 805.5143744338382
- 543.1735978247506
- - 805.5143744338382
- 11.826334861557216
- - 538.3978932023056
- 11.826334861557216
- - 538.3978932023056
- 543.1735978247506
page:
size: 50
totalElements: 1
totalPages: 1
number: 0
examples:
- content:
- id: 0
name: string
address: string
description: string
floors:
- id: 0
name: string
height: 0
width: 0
anchorLat: 0
anchorLng: 0
rotation: 0
properties:
EgQhanFqevOm: string
OfrViMjzwNPS: string
taVMBxTzdnKH: string
level: 0
latLngGeojson:
type: string
geometry:
type: string
coordinates:
- '0':
- '0':
- {}
'1':
- {}
'2':
- {}
'3':
- {}
'4':
- {}
xyGeojson:
type: string
geometry:
type: string
coordinates:
- '0':
- '0':
- {}
'1':
- {}
'2':
- {}
'3':
- {}
'4':
- {}
imageLatLngGeojson:
type: string
geometry:
type: string
coordinates:
- '0':
- '0':
- {}
'1':
- {}
'2':
- {}
'3':
- {}
'4':
- {}
imageXyGeojson:
type: string
geometry:
type: string
coordinates:
- '0':
- '0':
- {}
'1':
- {}
'2':
- {}
'3':
- {}
'4':
- {}
campus:
id: 0
name: string
lat: 0
lng: 0
latLngGeojson:
type: string
geometry:
type: string
coordinates:
- '0':
- '0':
- {}
'1':
- {}
'2':
- {}
'3':
- {}
'4':
- {}
xyGeojson:
type: string
geometry:
type: string
coordinates:
- '0':
- '0':
- {}
'1':
- {}
'2':
- {}
'3':
- {}
'4':
- {}
- links:
- rel: self
href: 'https://apps.cloud.us.kontakt.io/v2/locations?page=0&size=50&sort=name,asc'
content:
- id: 25167
name: KoNIDeAJmqzP
address: CyEWZnNnXwxm
description: VONFHBCnSbIbAZJcLHRPNuYialKgbZib
floors:
- id: 25207
name: EcmLicOVZlqc
height: 355.02617806368715
width: 271.7107676022449
anchorLat: -67.88191674374008
anchorLng: -116.88142699964021
rotation: 2.0064499906221362
properties:
EgQhanFqevOm: pVxYSAbMLQFC
OfrViMjzwNPS: VXmxelrIpySo
taVMBxTzdnKH: HyTrKNYleUGI
level: 0
latLngGeojson:
type: Feature
geometry:
type: Polygon
coordinates:
- - - 131.03714326190413
- 3.93948514969766
- - 150.5269811515963
- 3.93948514969766
- - 150.5269811515963
- -37.89841095591999
- - 131.03714326190413
- -37.89841095591999
- - 131.03714326190413
- 3.93948514969766
xyGeojson:
type: Feature
geometry:
type: Polygon
coordinates:
- - - 650.0776425949497
- 404.27725235549406
- - 825.9588690673667
- 404.27725235549406
- - 825.9588690673667
- 267.3893936443721
- - 650.0776425949497
- 267.3893936443721
- - 650.0776425949497
- 404.27725235549406
imageLatLngGeojson:
type: Feature
geometry:
type: Polygon
coordinates:
- - - -95.92074370705781
- 22.292232907940047
- - 148.26820026979237
- 22.292232907940047
- - 148.26820026979237
- 15.190640360390475
- - -95.92074370705781
- 15.190640360390475
- - -95.92074370705781
- 22.292232907940047
imageXyGeojson:
type: Feature
geometry:
type: Polygon
coordinates:
- - - 493.62835162654613
- 875.7062397951316
- - 876.1518437771274
- 875.7062397951316
- - 876.1518437771274
- 721.1231691578029
- - 493.62835162654613
- 721.1231691578029
- - 493.62835162654613
- 875.7062397951316
campus:
id: 24491
name: dlIdcfXiporr
lat: 14.98195387030784
lng: 3.229373600322832
latLngGeojson:
type: Feature
geometry:
type: Polygon
coordinates:
- - - 142.36609000292782
- 9.546967478899802
- - 156.92307376433294
- 9.546967478899802
- - 156.92307376433294
- -69.91928303380834
- - 142.36609000292782
- -69.91928303380834
- - 142.36609000292782
- 9.546967478899802
xyGeojson:
type: Feature
geometry:
type: Polygon
coordinates:
- - - 538.3978932023056
- 543.1735978247506
- - 805.5143744338382
- 543.1735978247506
- - 805.5143744338382
- 11.826334861557216
- - 538.3978932023056
- 11.826334861557216
- - 538.3978932023056
- 543.1735978247506
page:
size: 50
totalElements: 1
totalPages: 1
number: 0
properties:
content:
type: array
uniqueItems: true
minItems: 1
items:
type: object
properties:
id:
type: number
description: Building ID.
name:
type: string
minLength: 1
description: Building name.
address:
type: string
minLength: 1
description: Building address.
description:
type: string
minLength: 1
description: Building description.
floors:
type: array
uniqueItems: true
minItems: 1
items:
type: object
properties:
id:
type: number
description: Floor Id.
name:
type: string
minLength: 1
description: Floor name.
height:
type: number
description: Height of floor in meters.
width:
type: number
description: Width of the floor in meters.
anchorLat:
type: number
description: Latitude of floor’s bottom right corner.
anchorLng:
type: number
description: Longitude of floor’s bottom right corner.
rotation:
type: number
description: Rotation of floor boundary rectangle on earth map. In radians.
properties:
type: object
properties:
EgQhanFqevOm:
type: string
minLength: 1
OfrViMjzwNPS:
type: string
minLength: 1
taVMBxTzdnKH:
type: string
minLength: 1
required:
- EgQhanFqevOm
- OfrViMjzwNPS
- taVMBxTzdnKH
level:
type: number
description: Floor’s level.
latLngGeojson:
type: object
description: GeoJSON format description of floor boundary vertices (using latitude and longitude coordinates).
properties:
type:
type: string
minLength: 1
geometry:
type: object
required:
- type
- coordinates
properties:
type:
type: string
minLength: 1
coordinates:
type: array
items:
type: object
properties:
'0':
type: array
uniqueItems: true
items:
type: object
properties:
'0':
type: array
uniqueItems: true
items:
type: object
'1':
type: array
uniqueItems: true
items:
type: object
'2':
type: array
uniqueItems: true
items:
type: object
'3':
type: array
uniqueItems: true
items:
type: object
'4':
type: array
uniqueItems: true
items:
type: object
required:
- type
- geometry
xyGeojson:
type: object
description: 'GeoJSON format description of floor boundary vertices (using meters, bottom left point should always be [0, 0]).'
properties:
type:
type: string
minLength: 1
geometry:
type: object
required:
- type
- coordinates
properties:
type:
type: string
minLength: 1
coordinates:
type: array
items:
type: object
properties:
'0':
type: array
uniqueItems: true
items:
type: object
properties:
'0':
type: array
uniqueItems: true
items:
type: object
'1':
type: array
uniqueItems: true
items:
type: object
'2':
type: array
uniqueItems: true
items:
type: object
'3':
type: array
uniqueItems: true
items:
type: object
'4':
type: array
uniqueItems: true
items:
type: object
required:
- type
- geometry
imageLatLngGeojson:
type: object
description: GeoJSON format description of floor plan boundary vertices (using latitude and longitude coordinates).
properties:
type:
type: string
minLength: 1
geometry:
type: object
required:
- type
- coordinates
properties:
type:
type: string
minLength: 1
coordinates:
type: array
items:
type: object
properties:
'0':
type: array
uniqueItems: true
items:
type: object
properties:
'0':
type: array
uniqueItems: true
items:
type: object
'1':
type: array
uniqueItems: true
items:
type: object
'2':
type: array
uniqueItems: true
items:
type: object
'3':
type: array
uniqueItems: true
items:
type: object
'4':
type: array
uniqueItems: true
items:
type: object
required:
- type
- geometry
imageXyGeojson:
type: object
description: GeoJSON format description of floor plan boundary vertices (using meters relative to baseline of floor).
properties:
type:
type: string
minLength: 1
geometry:
type: object
required:
- type
- coordinates
properties:
type:
type: string
minLength: 1
coordinates:
type: array
items:
type: object
properties:
'0':
type: array
uniqueItems: true
items:
type: object
properties:
'0':
type: array
uniqueItems: true
items:
type: object
'1':
type: array
uniqueItems: true
items:
type: object
'2':
type: array
uniqueItems: true
items:
type: object
'3':
type: array
uniqueItems: true
items:
type: object
'4':
type: array
uniqueItems: true
items:
type: object
required:
- type
- geometry
campus:
type: object
properties:
id:
type: number
description: Campus ID.
name:
type: string
minLength: 1
description: Campus name.
required:
- id
- name
lat:
type: number
description: Building latitude.
lng:
type: number
description: Building longitude.
latLngGeojson:
type: object
description: GeoJSON format description of floor boundary vertices (using latitude and longitude coordinates).
properties:
type:
type: string
minLength: 1
geometry:
type: object
required:
- type
- coordinates
properties:
type:
type: string
minLength: 1
coordinates:
type: array
items:
type: object
properties:
'0':
type: array
uniqueItems: true
items:
type: object
properties:
'0':
type: array
uniqueItems: true
items:
type: object
'1':
type: array
uniqueItems: true
items:
type: object
'2':
type: array
uniqueItems: true
items:
type: object
'3':
type: array
uniqueItems: true
items:
type: object
'4':
type: array
uniqueItems: true
items:
type: object
required:
- type
- geometry
xyGeojson:
type: object
description: 'GeoJSON format description of floor boundary vertices (using meters, bottom left point should always be [0, 0]).'
properties:
type:
type: string
minLength: 1
geometry:
type: object
required:
- type
- coordinates
properties:
type:
type: string
minLength: 1
coordinates:
type: array
items:
type: object
properties:
'0':
type: array
uniqueItems: true
items:
type: object
properties:
'0':
type: array
uniqueItems: true
items:
type: object
'1':
type: array
uniqueItems: true
items:
type: object
'2':
type: array
uniqueItems: true
items:
type: object
'3':
type: array
uniqueItems: true
items:
type: object
'4':
type: array
uniqueItems: true
items:
type: object
required:
- type
- geometry
required:
- id
Floors:
description: Smart Location Floor. Includes floor building and gateways located in the floor's rooms.
type: object
x-examples:
example-1:
links:
- rel: self
href: 'https://apps.cloud.us.kontakt.io/v2/locations/floors?page=0&size=50&sort=name,asc'
content:
- id: 25203
name: ELVUmRtTjTvW
height: 179.34872537961294
width: 234.50623721743375
anchorLat: 76.07157323757079
anchorLng: -138.5452830219088
rotation: -2.496032768118737
properties:
XYQBEfNXvyCH: VcPxwfNDhHgK
aTOExKSzKweg: OJiIepLbnRyV
tWaUaNAquRxX: StMOTJqbecsz
building:
id: 25163
name: lsDFvSwIHlnZ
level: 0
latLngGeojson:
type: Feature
geometry:
type: Polygon
coordinates:
- - - -5.694644093951581
- 30.199731245416217
- - 46.18775884946787
- 30.199731245416217
- - 46.18775884946787
- -85.33180342550678
- - -5.694644093951581
- -85.33180342550678
- - -5.694644093951581
- 30.199731245416217
xyGeojson:
type: Feature
geometry:
type: Polygon
coordinates:
- - - 307.69642793337164
- 22.021093544317356
- - 377.215774283525
- 22.021093544317356
- - 377.215774283525
- 15.879742164800136
- - 307.69642793337164
- 15.879742164800136
- - 307.69642793337164
- 22.021093544317356
imageLatLngGeojson:
type: Feature
geometry:
type: Polygon
coordinates:
- - - 58.399156417857455
- 57.62309094807654
- - 60.35302196087972
- 57.62309094807654
- - 60.35302196087972
- 30.786639579997782
- - 58.399156417857455
- 30.786639579997782
- - 58.399156417857455
- 57.62309094807654
imageXyGeojson:
type: Feature
geometry:
type: Polygon
coordinates:
- - - 939.0122755640365
- 567.8607444767731
- - 995.5483849035827
- 567.8607444767731
- - 995.5483849035827
- 297.3015429375699
- - 939.0122755640365
- 297.3015429375699
- - 939.0122755640365
- 567.8607444767731
gateways:
- id: 25294
lat: 9.999865942487375
lng: 6.131390665417172
altitude: 95.62394895808218
x: 73992.60560972721
'y': -86353.34083455568
z: 0.25012509857208043
verticalOrientation: 51
range: -4
virtual: false
sourceId: CnYyryUbPgdAjQbU
- id: 25295
lat: 28.242358653184425
lng: -117.54749891262719
altitude: 5.671039402527834
x: 81175.2018499095
'y': 56223.64079178771
z: 7.308871298075218
verticalOrientation: 29
range: -150
virtual: false
sourceId: SqKXDvjqWuYYojEW
page:
size: 50
totalElements: 1
totalPages: 1
number: 0
properties:
content:
type: array
uniqueItems: true
minItems: 1
items:
type: object
properties:
id:
type: number
description: Floor Id.
name:
type: string
minLength: 1
description: Floor name.
height:
type: number
description: Floor’s height in meters.
width:
type: number
description: Floor’s width in meters.
anchorLat:
type: number
description: Latitude of floor’s bottom right corner.
anchorLng:
type: number
description: Longitude of floor’s bottom right corner.
rotation:
type: number
description: Rotation of floor boundary rectangle on earth map. In radians.
properties:
type: object
properties:
XYQBEfNXvyCH:
type: string
minLength: 1
aTOExKSzKweg:
type: string
minLength: 1
tWaUaNAquRxX:
type: string
minLength: 1
required:
- XYQBEfNXvyCH
- aTOExKSzKweg
- tWaUaNAquRxX
building:
type: object
properties:
id:
type: number
description: Building Id.
name:
type: string
minLength: 1
description: Building name.
required:
- id
- name
level:
type: number
description: Floor’s level.
latLngGeojson:
type: object
description: GeoJSON format description of floor boundary vertices (using latitude and longitude coordinates).
properties:
type:
type: string
minLength: 1
geometry:
type: object
required:
- type
- coordinates
properties:
type:
type: string
minLength: 1
coordinates:
type: array
items:
type: object
properties:
'0':
type: array
uniqueItems: true
items:
type: object
properties:
'0':
type: array
uniqueItems: true
items:
type: object
'1':
type: array
uniqueItems: true
items:
type: object
'2':
type: array
uniqueItems: true
items:
type: object
'3':
type: array
uniqueItems: true
items:
type: object
'4':
type: array
uniqueItems: true
items:
type: object
required:
- type
- geometry
xyGeojson:
type: object
description: 'GeoJSON format description of floor boundary vertices (using meters, bottom left point should always be [0, 0]).'
properties:
type:
type: string
minLength: 1
geometry:
type: object
required:
- type
- coordinates
properties:
type:
type: string
minLength: 1
coordinates:
type: array
items:
type: object
properties:
'0':
type: array
uniqueItems: true
items:
type: object
properties:
'0':
type: array
uniqueItems: true
items:
type: object
'1':
type: array
uniqueItems: true
items:
type: object
'2':
type: array
uniqueItems: true
items:
type: object
'3':
type: array
uniqueItems: true
items:
type: object
'4':
type: array
uniqueItems: true
items:
type: object
required:
- type
- geometry
imageLatLngGeojson:
type: object
description: GeoJSON format description of floor plan boundary vertices (using latitude and longitude coordinates).
properties:
type:
type: string
minLength: 1
geometry:
type: object
required:
- type
- coordinates
properties:
type:
type: string
minLength: 1
coordinates:
type: array
items:
type: object
properties:
'0':
type: array
uniqueItems: true
items:
type: object
properties:
'0':
type: array
uniqueItems: true
items:
type: object
'1':
type: array
uniqueItems: true
items:
type: object
'2':
type: array
uniqueItems: true
items:
type: object
'3':
type: array
uniqueItems: true
items:
type: object
'4':
type: array
uniqueItems: true
items:
type: object
required:
- type
- geometry
imageXyGeojson:
type: object
description: GeoJSON format description of floor plan boundary vertices (using meters relative to baseline of floor).
properties:
type:
type: string
minLength: 1
geometry:
type: object
required:
- type
- coordinates
properties:
type:
type: string
minLength: 1
coordinates:
type: array
items:
type: object
properties:
'0':
type: array
uniqueItems: true
items:
type: object
properties:
'0':
type: array
uniqueItems: true
items:
type: object
'1':
type: array
uniqueItems: true
items:
type: object
'2':
type: array
uniqueItems: true
items:
type: object
'3':
type: array
uniqueItems: true
items:
type: object
'4':
type: array
uniqueItems: true
items:
type: object
required:
- type
- geometry
gateways:
type: array
uniqueItems: true
minItems: 1
description: Gateways placed in room.
items:
type: object
properties:
id:
type: number
description: Id of the gateway.
lat:
type: number
description: Latitude of a gateway.
lng:
type: number
description: Longitude of a gateway.
altitude:
type: number
description: Height in meters above sea level.
x:
type: number
description: Horizontal coordinate of a gateway (in meters relative to baseline of floor).
'y':
type: number
description: Vertical coordinate of a gateway (in meters relative to baseline of floor).
z:
type: number
description: Height coordinate of a gateway. (in meters relative to baseline of floor).
verticalOrientation:
type: number
description: 'Rotation in degrees on the horizontal plane. 0 = parallel to the ground facing up, 90 = on the wall, 180 = parallel to the ground facing down.'
range:
type: number
description: 'Minimum RSSI. When calculating position, if strongest signal will have less RSSI than range, that result will be rejected, and beacon considered lost.'
virtual:
type: boolean
description: 'Virtual gateway will be used to map lat, lng to sourceId. There should be one virtual gateway in each floor. Virtual gateway is created automatically when creating floor.'
sourceId:
type: string
minLength: 1
description: SourceId of the gateway.
required:
- id
- lat
- lng
- altitude
- x
- 'y'
- z
- verticalOrientation
- range
- virtual
- sourceId
required:
- id
- name
- height
- width
- anchorLat
- anchorLng
- rotation
- level
required:
- content
Floor-Gateways:
description: 'Floor gateways. '
type: object
x-examples:
example-1:
links:
- rel: self
href: 'https://apps.cloud.us.kontakt.io/v2/locations/gateways?page=0&size=100&sort=id,asc'
content:
- id: 24305
lat: 57.4770162657816
lng: -101.69751627231699
altitude: 87.35568496060814
x: 1085.0987979465135
'y': 63801.81179821145
z: 4.014334689282525
verticalOrientation: 84
range: -147
virtual: false
sourceId: DyYlymXTSBZIGtHN
floor:
id: 25197
page:
size: 100
totalElements: 1
totalPages: 1
number: 0
properties:
content:
type: array
uniqueItems: true
minItems: 1
items:
type: object
properties:
id:
type: number
description: Id of the gateway.
lat:
type: number
description: Latitude of a gateway.
lng:
type: number
description: Longitude of a gateway.
altitude:
type: number
description: Height in meters above sea level.
x:
type: number
description: Horizontal coordinate of a gateway; in meters relative to baseline of floor.
'y':
type: number
description: Vertical coordinate of a gateway; in meters relative to baseline of floor.
z:
type: number
description: Height coordinate of a gateway; in meters relative to baseline of floor.
verticalOrientation:
type: number
description: 'Rotation in degrees on the horizontal plane. 0 = parallel to the ground facing up, 90 = on the wall, 180 = parallel to the ground facing down.'
range:
type: number
description: 'Minimum RSSI (Received Signal Strength Indicator). When calculating position, if strongest signal will have less RSSI than range, that result will be rejected and beacon considered lost.'
virtual:
type: boolean
description: 'Virtual gateway will be used to map lat, lng to sourceId. There should be one virtual gateway in each floor. Virtual gateway is created automatically when creating floor.'
sourceId:
type: string
minLength: 1
description: SourceId of the gateway.
floor:
type: object
description: Gateway's floor location.
properties:
id:
type: number
description: Floor Id.
required:
- id
required:
- id
- lat
- lng
- altitude
- x
- 'y'
- z
- verticalOrientation
- range
- virtual
- sourceId
required:
- content
Rooms:
type: object
x-examples:
example-1:
links:
- rel: self
href: 'http://apps.cloud.us.kontakt.io/v2/locations/rooms?page=0&size=200'
content:
- id: 94105
name: Hospital Lab
roomType: ROOM
floor:
id: 94215
name: Lab_floor_prod1
height: 17.8
width: 14.6
properties:
gridWidth: 4
gridBounds:
boundsLat:
north: 22.2
south: -4.3
boundsLng:
east: 23
west: -8.4
gridDensity: 1
outlineCreated: true
building:
id: 94194
name: Lab
level: 0
xyGeojson:
type: Feature
geometry:
type: Polygon
coordinates:
- - - 0
- 17.8
- - 14.6
- 17.8
- - 14.6
- 0
- - 0
- 0
- - 0
- 17.8
properties: {}
imageXyGeojson:
type: Feature
geometry:
type: Polygon
coordinates:
- - - -0.4
- 18.2
- - 14.9
- 18.2
- - 14.9
- -0.3
- - -0.4
- -0.3
- - -0.4
- 18.2
gateways:
- id: 127074
x: 12.282123588848002
'y': 8.34375
virtual: false
sourceId: MvsGNG
- id: 102401
x: 1.0078084026993313
'y': 11.355794982568481
virtual: false
sourceId: MviZtK
- id: 102414
x: 14.341409869048508
'y': 11.162493231800077
virtual: false
sourceId: MvGzAq
- id: 102416
x: 10.091405943053076
'y': 0.38784292535368436
virtual: false
sourceId: Mv9wt5
- id: 102415
x: 14.359377868110467
'y': 2.3125
virtual: false
sourceId: Mvpg44
- id: 102418
x: 9.778128891734386
'y': 14.087778686994282
virtual: false
sourceId: MvBgL8
- id: 102417
x: 8.828125
'y': 9.52476916672415
virtual: false
sourceId: MvrqG5
- id: 102419
x: 5.9687475416195985
'y': 13.865652072799694
virtual: false
sourceId: MvilXy
- id: 102421
x: 5.045309290681559
'y': 8.663858739523844
virtual: false
sourceId: Mv1640
- id: 94135
x: 12.489064275964456
'y': 14.351766260476156
virtual: false
sourceId: Mv4NFT
- id: 102394
x: 13.524218477314122
'y': 17.565417914963753
virtual: false
sourceId: MvmnL3
- id: 102396
x: 14.343752868110467
'y': 6.765625
virtual: false
sourceId: MvPcWo
- id: 102395
x: 14.314065299588373
'y': 12.9296875
virtual: false
sourceId: MvgOmp
- id: 102398
x: 6.085932992969264
'y': 2.3054890545997697
virtual: false
sourceId: MvhNRo
- id: 102397
x: 7.359370902699331
'y': 8.079694268199923
virtual: false
sourceId: MvWT3H
- id: 102400
x: 1.779682480456056
'y': 6.434068952951547
virtual: false
sourceId: Mvs8gb
- id: 102399
x: 6.857812806946925
'y': 17.55378406516215
virtual: false
sourceId: MvECI7
roomNumber: 0
roomAttributes: []
roomSensors:
- id: 94055
x: 11.412103845330275
'y': 15.893985791575489
trackingId: 'e0:91:1b:d7:42:07'
inbounds: []
outbounds: []
type: Static
status: Assigned
xyGeojson:
type: Feature
geometry:
type: Polygon
coordinates:
- - - 10.2
- 14
- - 10.2
- 17.8
- - 14.6
- 17.8
- - 14.6
- 14
- - 10.2
- 14
properties: {}
page:
size: 200
totalElements: 1
totalPages: 1
number: 0
examples:
- content:
- id: 0
name: string
roomType: string
floor:
id: 0
name: string
height: 0
width: 0
properties:
gridWidth: 0
gridBounds:
boundsLat:
north: 0
south: 0
boundsLng:
east: 0
west: 0
gridDensity: 0
outlineCreated: true
building:
id: 0
name: string
level: 0
xyGeojson:
type: string
geometry:
type: string
coordinates:
- '0':
- '0':
- {}
'1':
- {}
'2':
- {}
'3':
- {}
'4':
- {}
properties: {}
imageXyGeojson:
type: string
geometry:
type: string
coordinates:
- '0':
- '0':
- {}
'1':
- {}
'2':
- {}
'3':
- {}
'4':
- {}
gateways:
- id: 0
x: 0
'y': 0
virtual: true
sourceId: string
roomNumber: 0
roomAttributes:
- {}
roomSensors:
- id: 0
x: 0
'y': 0
trackingId: string
inbounds:
- {}
outbounds:
- {}
type: string
status: string
xyGeojson:
type: string
geometry:
type: string
coordinates:
- '0':
- '0':
- {}
'1':
- {}
'2':
- {}
'3':
- {}
'4':
- {}
properties: {}
properties:
content:
type: array
uniqueItems: true
minItems: 1
items:
type: object
properties:
id:
type: number
name:
type: string
minLength: 1
roomType:
type: string
minLength: 1
default: ROOM
enum:
- ROOM
- CORRIDOR
floor:
type: object
description: Floor details
properties:
id:
type: number
name:
type: string
minLength: 1
height:
type: number
width:
type: number
properties:
type: object
required:
- gridWidth
- gridBounds
- gridDensity
- outlineCreated
description: Additional properties of the room
properties:
gridWidth:
type: number
gridBounds:
type: object
required:
- boundsLat
- boundsLng
properties:
boundsLat:
type: object
required:
- north
- south
properties:
north:
type: number
south:
type: number
boundsLng:
type: object
required:
- east
- west
properties:
east:
type: number
west:
type: number
gridDensity:
type: number
outlineCreated:
type: boolean
building:
type: object
description: Building details
required:
- id
- name
properties:
id:
type: number
name:
type: string
minLength: 1
level:
type: number
xyGeojson:
type: object
required:
- type
- geometry
- properties
properties:
type:
type: string
minLength: 1
geometry:
type: object
required:
- type
- coordinates
properties:
type:
type: string
minLength: 1
coordinates:
type: array
items:
type: object
properties:
'0':
type: array
uniqueItems: true
items:
type: object
properties:
'0':
type: array
uniqueItems: true
items:
type: object
'1':
type: array
uniqueItems: true
items:
type: object
'2':
type: array
uniqueItems: true
items:
type: object
'3':
type: array
uniqueItems: true
items:
type: object
'4':
type: array
uniqueItems: true
items:
type: object
properties:
type: object
imageXyGeojson:
type: object
required:
- type
- geometry
properties:
type:
type: string
minLength: 1
geometry:
type: object
required:
- type
- coordinates
properties:
type:
type: string
minLength: 1
coordinates:
type: array
items:
type: object
properties:
'0':
type: array
uniqueItems: true
items:
type: object
properties:
'0':
type: array
uniqueItems: true
items:
type: object
'1':
type: array
uniqueItems: true
items:
type: object
'2':
type: array
uniqueItems: true
items:
type: object
'3':
type: array
uniqueItems: true
items:
type: object
'4':
type: array
uniqueItems: true
items:
type: object
gateways:
type: array
uniqueItems: true
minItems: 1
items:
type: object
properties:
id:
type: number
x:
type: number
'y':
type: number
virtual:
type: boolean
sourceId:
type: string
minLength: 1
required:
- id
- x
- 'y'
- virtual
- sourceId
required:
- id
- name
- height
- width
- properties
- building
- level
- xyGeojson
- imageXyGeojson
- gateways
roomNumber:
type: number
roomAttributes:
type: array
items:
type: object
roomSensors:
type: array
uniqueItems: true
minItems: 1
items:
type: object
properties:
id:
type: number
x:
type: number
'y':
type: number
trackingId:
type: string
minLength: 1
inbounds:
type: array
items:
type: object
outbounds:
type: array
items:
type: object
type:
type: string
minLength: 1
status:
type: string
minLength: 1
required:
- id
- x
- 'y'
- trackingId
- type
- status
xyGeojson:
type: object
properties:
type:
type: string
minLength: 1
geometry:
type: object
required:
- type
- coordinates
properties:
type:
type: string
minLength: 1
coordinates:
type: array
items:
type: object
properties:
'0':
type: array
uniqueItems: true
items:
type: object
properties:
'0':
type: array
uniqueItems: true
items:
type: object
'1':
type: array
uniqueItems: true
items:
type: object
'2':
type: array
uniqueItems: true
items:
type: object
'3':
type: array
uniqueItems: true
items:
type: object
'4':
type: array
uniqueItems: true
items:
type: object
properties:
type: object
required:
- type
- geometry
- properties
required:
- id
- name
- roomType
- roomNumber
required:
- content
Position-Device:
type: object
x-examples:
Example 1:
content:
- companyId: test1234test
campusId: 8786189617504392000
buildingId: 4702332497649176000
floorId: 2909726066230122500
roomId: 2328560514289450000
trackingId: ToEWEIYmPMBI
lastUpdate: '2023-03-07T13:06:36.168Z'
x: 12.09620095447077
'y': 86.90902534938057
z: 17.541993614631735
lat: 22.899344754799024
lng: 82.59240943567592
type: rDFiv
origin: OjigJ
lost: false
irAssisted: true
moving: false
metadata:
TdSpaJ: cUAnjX
wpaIsX: TKZSAK
description: Location information about the last position of a device.
title: Position Device
examples:
- content:
- companyId: a55b4f8236c9
campusId: 93915
campusName: Main Campus
buildingId: 94194
buildingName: Lab Building
floorId: 94215
floorName: Ground Floor
roomId: 94109
roomName: Entrance
trackingId: '00:60:81:1d:28:62'
lastUpdate: '2023-07-02T02:46:39.746Z'
x: 7.960388382814483
'y': 13.771423891085552
type: pSPNP
lost: true
irAssisted: false
moving: false
properties:
content:
type: array
items:
type: object
properties:
companyId:
type: string
description: ID of user’s company. You can only view positions with your company’s id.
example: a55b4f8236c9
campusId:
type: integer
description: ID of the campus.
example: 93915
campusName:
type: string
x-stoplight:
id: u4kntbbmarkzl
description: Name of the campus.
example: Main Campus
buildingId:
type: integer
description: ID of the building.
example: 94194
buildingName:
type: string
x-stoplight:
id: 7ymclrl754ga0
description: Name of the building.
example: Main Building
floorId:
type: integer
description: ID of the floor.
example: 94194
floorName:
type: string
x-stoplight:
id: ew6mgo9yk6oeu
description: Name of the floor.
example: Ground Floor
roomId:
type: integer
description: ID of the room.
example: 94109
roomName:
type: string
x-stoplight:
id: pyx36g52cd20e
description: Name of the room.
example: Lobby
trackingId:
type: string
description: MAC address of the device.
example: '00:1a:2b:3c:4d:5e'
lastUpdate:
type: string
description: 'Time of the last position update. ISO 8601 UTC format (yyyy-mm-ddThh:mm:sssz).'
example: '2023-08-25T10:13:46.869Z'
x:
type: number
example: 12.09620095447077
description: X coordinate position.
'y':
type: number
example: 86.90902534938057
description: X coordinate position.
origin:
type: string
description: Identifies the source of the position calculation when the position is calculated by a third-party.
lost:
type: boolean
description: Lost flag. Set to true when the device is out of range.
irAssisted:
type: boolean
description: Flag that indicates whether device was located using IR technology.
moving:
type: boolean
description: Flag that indicates whether device was moving when the position was calculated.
Position-Device-History:
type: object
x-examples:
Example 1:
content:
- trackingId: OCwMCHpEfXma
level: floor
timestamp: '2023-03-07T13:04:35.860Z'
floorId: 11094
roomId: 11114
x: 37.358967
'y': 80.027855
z: 96.2589
lat: 54.37634759607008
lng: 58.947371450591156
epsg3857X: 13.944785826919869
epsg3857Y: 13.637746494967452
metadata:
key1: value1
key2: value2
origin: oSIHud
lost: false
irAssisted: true
moving: true
roomName: cCrzxoEFzDQL
floorName: LRMXgOZUwhNp
buildingId: 11074
buildingName: YLwIwLZiAtRH
campusId: 11014
campusName: qXOmYHlErqwD
title: Position Device History
description: Historical location (position) information for a particular device.
properties:
content:
type: array
items:
type: object
properties:
trackingId:
type: string
description: MAC address of the device.
example: '00:60:81:1d:28:62'
level:
type: string
x-stoplight:
id: ffs1lpcr0w3gl
description: Reference purposes only; floor.
example: floor
timestamp:
type: string
description: 'Timestamp of device location. ISO 8601 UTC format (yyyy-mm-ddThh:mm:sssz).'
example: '2023-07-02T02:46:39.746Z", 15'
floorId:
type: integer
description: ID of the floor location.
example: 94215
roomId:
type: integer
description: ID of the room location.
example: 94109
x:
type: number
description: X coordinate position.
example: '7.960388382814483, 16'
'y':
type: number
description: Y coordinate position.
example: '13.771423891085552, 17'
origin:
type: string
description: Identifies the source of the position calculation when the position is calculated by a third-party.
lost:
type: boolean
description: Lost flag. Set to true when the device is out of range.
irAssisted:
type: boolean
description: Flag that indicates whether device was located using IR technology.
moving:
type: boolean
description: Flag that indicates whether device was moving when the position was calculated.
roomName:
type: string
description: Name of the room location.
example: Lobby
floorName:
type: string
description: Name of the floor location.
example: Ground Floor
buildingId:
type: integer
description: ID of the building location.
example: 94194
buildingName:
type: string
description: Name of the building location.
example: Main Building
campusId:
type: integer
description: ID of the campus location.
example: 93915
campusName:
type: string
description: Name of the campus location.
example: Main Campus
examples:
- content:
- trackingId: '00:60:81:1d:28:62'
level: floor
timestamp: '2023-07-02T02:46:39.746Z", 15'
floorId: 94215
roomId: 94109
x: '7.960388382814483, 16'
'y': '13.771423891085552, 17'
origin: string
lost: true
irAssisted: true
moving: true
roomName: Lobby
floorName: Ground Floor
buildingId: 94194
buildingName: Main Building
campusId: 93915
campusName: Main Campus
Presence-Device:
type: object
x-examples:
example-1:
links:
- rel: self
href: 'https://apps.cloud.us.kontakt.io/v3/presences?page=0&size=2&sort=entityId,asc'
content:
- companyId: test1234test
trackingId: zWUCCm
roomName: HmRzRAEetBjB
roomId: 25231
floorId: 25462
floorName: SMgRTPbUvMKe
buildingId: 25444
buildingName: ylIaJhUSwWxa
campusId: 25368
campusName: SopczoUhvNDa
startTime: '2021-10-06T21:15:46.945+0000'
endTime: '2021-10-07T11:40:44.946+0000'
entityId: 25617
entityName: UyoUbmwfZfNy
entityTypeId: 25537
entityTypeName: axOKDoQcQvju
page:
size: 2
totalElements: 1
totalPages: 1
number: 0
properties:
content:
type: array
uniqueItems: true
minItems: 1
items:
type: object
properties:
companyId:
type: string
minLength: 1
description: ID of user’s company. You can only view information with your company’s id.
trackingId:
type: string
minLength: 1
description: Tracking ID of device for which presence was created.
roomName:
type: string
minLength: 1
description: Room name.
roomId:
type: number
description: Room Id.
floorId:
type: number
description: Floor Id.
floorName:
type: string
minLength: 1
description: Floor name.
buildingId:
type: number
description: Building Id.
buildingName:
type: string
minLength: 1
description: Building name.
campusId:
type: number
description: |
Campus Id.
campusName:
type: string
minLength: 1
description: Campus name.
startTime:
type: string
minLength: 1
description: Start time.
endTime:
type: string
minLength: 1
description: End time.
entityId:
type: number
deprecated: true
entityName:
type: string
minLength: 1
deprecated: true
entityTypeId:
type: number
deprecated: true
entityTypeName:
type: string
minLength: 1
deprecated: true
Presence-History-Devices:
description: ''
type: object
x-examples:
example-1:
links:
- rel: self
href: 'https://apps.cloud.us.kontakt.io/v3/presences/history?page=0&size=2&sort=entityId&entityId=25616&entityName=ZcHyvIOFBrDq&entityTypeId=25536&entityTypeName=MiiXhbNDSamu&attribute=trGgZirxUeJk&trackingId=Hpvrys&roomId=25230&floorId=25461&buildingId=25443&startTime=2021-10-07T07:40:44.588051Z%5BEtc/UTC%5D&endTime=2021-10-07T12:40:44.588051Z%5BEtc/UTC%5D'
content:
- companyId: test1234test
trackingId: Hpvrys
roomName: XxfyTLeRQykB
roomId: 25230
floorId: 25461
floorName: GKrZKmRKhNJM
buildingId: 25443
buildingName: pXgeEEGBqlJC
campusId: 25367
campusName: UoMaZogTqxeP
startTime: '2021-10-07T08:40:44.588+0000'
endTime: '2021-10-07T09:40:44.588+0000'
- companyId: test1234test
trackingId: Hpvrys
roomName: XxfyTLeRQykB
roomId: 25230
floorId: 25461
floorName: GKrZKmRKhNJM
buildingId: 25443
buildingName: pXgeEEGBqlJC
campusId: 25367
campusName: UoMaZogTqxeP
startTime: '2021-10-07T10:40:44.588+0000'
endTime: '2021-10-07T11:40:44.588+0000'
page:
size: 2
totalElements: 2
totalPages: 1
number: 0
properties:
content:
type: array
uniqueItems: true
minItems: 1
items:
type: object
properties:
companyId:
type: string
minLength: 1
description: ID of user’s company. You can only view information with your company’s id.
trackingId:
type: string
minLength: 1
description: Tracking ID of device for which presence was created.
roomName:
type: string
minLength: 1
description: Room name.
roomId:
type: number
description: Room Id.
floorId:
type: number
description: Floor Id.
floorName:
type: string
minLength: 1
description: Floor name.
buildingId:
type: number
description: Building Id.
buildingName:
type: string
minLength: 1
description: Building Name.
campusId:
type: number
description: Campus Id.
campusName:
type: string
minLength: 1
description: Campus name.
startTime:
type: string
minLength: 1
description: Start time.
endTime:
type: string
minLength: 1
description: End time.
required:
- companyId
- trackingId
- roomName
- roomId
- floorId
- floorName
- buildingId
- buildingName
- campusId
- campusName
- startTime
- endTime
required:
- content
Telemetry:
description: Telemetry data varies by product model and configured settings.
type: object
x-examples:
example-1:
links:
- rel: self
href: 'https://apps.cloud.us.kontakt.io/v3/telemetry?page=0&sort=trackingId&trackingId=gOnxcsiieN&endTime=2021-10-07T06:41:08.042043Z&startTime=2021-10-07T05:41:07.985Z&size=2'
page:
startTime: '2021-10-07T05:41:07.985Z'
endTime: '2021-10-07T06:41:08.042043Z'
hasNext: false
size: 2
content:
- trackingId: gOnxcsiieN
timestamp: '2021-10-07T05:41:07.985Z'
beaconTimestamp: '2021-10-07T11:41:07.988Z'
gatewayTimestamp: '2021-10-07T11:41:07.988Z'
cloudTimestamp: '2021-10-07T11:41:07.988Z'
accelerometerSensitivity: 3
accelerometerX: -8
accelerometerY: 2
accelerometerZ: -6
batteryLevel: 5
channel: 3
clickCounter: 3
humidity: 8
lightIntensity: 8
movementCounter: 2
rssi: 4
sourceId: CKgIEuTDpY
temperature: 42.012993
timeSinceDoubleClick: 394
timeSinceDoubleTap: 2877
timeSinceMovement: 2694
timeSinceTap: 2129
firmware: '1.0'
model: 12
txPowerDbm: 4
uniqueId: LWdBIM
calibratedRssi1m: -77
calibratedRssi0m: -36
eddystoneNamespace: a018cecb01ceaa095297
eddystoneInstanceId: 05ae686502ab
eddystoneEphemeralId: 333e88d5007c35e9
iBeaconProximity: 23e16784-c2b5-43b6-b199-49de659535de
iBeaconMajor: 57095
iBeaconMinor: 20686
moving: true
examples: []
title: Telemetry Data Model
properties:
content:
type: array
uniqueItems: true
minItems: 1
items:
type: object
properties:
trackingId:
type: string
minLength: 1
description: Tracking Id.
timestamp:
type: string
minLength: 1
description: Timestamp when telemetry was received by Kio Cloud.
beaconTimestamp:
type: string
minLength: 1
description: Telemetry timestamp from beacon.
gatewayTimestamp:
type: string
minLength: 1
description: Telemetry timestamp from gateway.
cloudTimestamp:
type: string
minLength: 1
description: Timestamp when telemetry comes to Kontakt.io cloud.
accelerometerSensitivity:
type: number
description: |-
Accelerometer sensitivity.
The accelerometer sensitivity represents the scale in which the following numbers are given. A sensitivity of 16 means that the numbers are in 16 mg units, or 0.016g.
To decode a triple [0, 1, 64] with sensitivity 16.:
X component is just 0
Y component is -1 * 16 mg = -0.016g
Z component is 64 * 16mg = 1.024g
So the raw vector [0, -1, 64] gets multiplied by 0.016g and the resulting vector is: [0, -0.016, 1.024] g.016g.
accelerometerX:
type: number
description: 'Accelerometer in X axis. '
accelerometerY:
type: number
description: Accelerometer in Y axis.
accelerometerZ:
type: number
description: Accelerometer in Z axis.
batteryLevel:
type: number
description: Device battery level in percentage (%).
channel:
type: number
description: Channel.
clickCounter:
type: number
description: Click counter for default button (BLUE button).
secondButtonClickCounter:
type: number
description: Click counter for second button (RED button).
humidity:
type: number
description: Humidity reading in percentage (%).
lightIntensity:
type: number
description: Light intensity in percentage (%)
rssi:
type: number
description: RSSI in dB
movementCounter:
type: number
description: Movement counter.
sourceId:
type: string
minLength: 1
description: Source Id.
temperature:
type: number
description: Temperature reading in Celsius.
airQuality:
type: number
description: 'Index 0 to 255. The higher the value, the worse the air pollution.'
roomNumber:
type: number
description: Room number detected by device sensor.
numberOfPeopleDetected:
type: number
description: Detected number of people in the room (count).
secondsSincePeopleDetection:
type: number
description: Time since last detection in seconds.
timeSinceClick:
type: number
description: Time since click.
timeSinceDoubleTap:
type: number
description: Time since double click.
timeSinceMovement:
type: number
description: Time since movement.
timeSinceTap:
type: number
description: Time since tap.
firmware:
type: string
minLength: 1
description: Firmware version of scanned device.
model:
type: number
description: Scanned device version number.
txPowerDbm:
type: number
description: Transmission Power (in dBm) of a scanned device.
uniqueId:
type: string
minLength: 1
description: Unique identifier (id) of a scanned device.
calibratedRssi1m:
type: number
description: Calibrated RSSI value at 1 meter from a scanned device.
calibratedRssi0m:
type: number
description: Calibrated RSSI value at 0 meters from a scanned device.
moving:
type: boolean
description: Flag showing whether device is currently in motion.
eddystoneNamespace:
type: string
minLength: 1
description: Namespace value from Eddystone UID frame.
eddystoneInstanceId:
type: string
minLength: 1
description: Instance ID value from Eddystone UID frame.
eddystoneEphemeralId:
type: string
minLength: 1
description: Ephemeral value from Eddystone EID frame.
iBeaconProximity:
type: string
minLength: 1
description: Proximity UUID value from iBeacon frame.
iBeaconMajor:
type: number
description: Major value from iBeacon frame.
iBeaconMinor:
type: number
description: Minor value from iBeacon frame.
required:
- trackingId
- timestamp
- beaconTimestamp
- gatewayTimestamp
- cloudTimestamp
Occupancy-Room-History:
description: ''
type: object
x-examples:
example-1:
links:
- rel: first
href: 'https://apps-api.test.kontakt.io/v3/occupancy?startTime=2021-11-16T12:44:47.505Z&endTime=2021-11-16T12:48:07.505Z&roomId=25958&page=0&size=2&sort=roomId,asc'
- rel: self
href: 'https://apps-api.test.kontakt.io/v3/occupancy?page=0&size=2&sort=roomId&startTime=2021-11-16T12:44:47.505Z&endTime=2021-11-16T12:48:07.505Z&roomId=25958'
- rel: next
href: 'https://apps-api.test.kontakt.io/v3/occupancy?startTime=2021-11-16T12:44:47.505Z&endTime=2021-11-16T12:48:07.505Z&roomId=25958&page=1&size=2&sort=roomId,asc'
- rel: last
href: 'https://apps-api.test.kontakt.io/v3/occupancy?startTime=2021-11-16T12:44:47.505Z&endTime=2021-11-16T12:48:07.505Z&roomId=25958&page=1&size=2&sort=roomId,asc'
content:
- startTime: '2021-11-16T12:46:27.505Z'
endTime: '2021-11-16T12:47:17.505Z'
occupancy: 580475930
roomId: 25958
roomName: NzubefFxOQCn
floorId: 25938
floorName: gcwPDUIDCeKy
buildingId: 25918
buildingName: uBTUIxoNgkZv
campusId: 25858
campusName: WaUIpzohiOCw
- startTime: '2021-11-16T12:47:17.505Z'
endTime: '2021-11-16T12:47:47.505Z'
occupancy: 1609483868
roomId: 25958
roomName: NzubefFxOQCn
floorId: 25938
floorName: gcwPDUIDCeKy
buildingId: 25918
buildingName: uBTUIxoNgkZv
campusId: 25858
campusName: WaUIpzohiOCw
page:
size: 2
totalElements: 3
totalPages: 2
number: 0
examples: []
properties:
content:
type: array
uniqueItems: true
minItems: 0
items:
type: object
properties:
startTime:
type: string
minLength: 1
description: Time when given occupancy started.
endTime:
type: string
minLength: 1
description: Time when given occupancy ended.
occupancy:
type: number
description: Number of people detected in the given time range.
roomId:
type: number
description: ID of Room in which occupancy was calculated.
roomName:
type: string
minLength: 1
description: Name of Room in which occupancy was calculated.
floorId:
type: number
description: ID of the Floor in which occupancy was calculated.
floorName:
type: string
minLength: 1
description: Name of the Floor in which occupancy was calculated. JL Floor ID where room is located.
buildingId:
type: number
description: ID of the Building in which occupancy was calculated.
buildingName:
type: string
minLength: 1
description: Name of the Building in which occupancy was calculated.
campusId:
type: number
description: ID of the Campus in which occupancy was calculated.
campusName:
type: string
minLength: 1
description: Name of the Campus in which occupancy was calculated.
required:
- startTime
- endTime
- occupancy
- roomId
title: Occupancy-Room-History
Occupancy-Room-Current:
description: ''
type: object
x-examples:
example-1:
links:
- rel: self
href: 'https://apps-api.kontakt.io/v3/occupancy/rooms?page=0&size=2&sort=attributeId,asc'
content:
- roomId: 59645
roomName: rwaTEUoSVmbb
floorId: 59814
floorName: PjUpFbENXqcd
buildingId: 59757
buildingName: TKWmhvLEiSHr
campusId: 59683
campusName: NOoqBklqWdNb
lastUpdate: '2021-11-25T18:23:05.078Z'
occupancy: 1
- roomId: 59646
roomName: JJONuaaQWqXA
floorId: 59815
floorName: dtgOaszJCbIk
buildingId: 59758
buildingName: VVoEtyUwgRef
campusId: 59684
campusName: gjNmIckFpfPK
lastUpdate: '2021-11-25T18:23:05.083Z'
occupancy: 1
page:
size: 2
totalElements: 2
totalPages: 1
number: 0
title: Occupancy-Room-Current
examples:
- links:
- rel: string
href: string
content:
- roomId: 0
roomName: string
floorId: 0
floorName: string
buildingId: 0
buildingName: string
campusId: 0
campusName: string
lastUpdate: string
occupancy: 0
page:
size: 0
totalElements: 0
totalPages: 0
number: 0
- links:
- rel: string
href: string
content:
- roomId: 0
roomName: string
floorId: 0
floorName: string
buildingId: 0
buildingName: string
campusId: 0
campusName: string
lastUpdate: string
occupancy: 0
page:
size: 0
totalElements: 0
totalPages: 0
number: 0
properties:
content:
type: array
uniqueItems: true
minItems: 0
items:
type: object
properties:
roomId:
type: number
description: ID of the room.
roomName:
type: string
minLength: 1
description: Name of the room.
floorId:
type: number
description: ID of the floor.
floorName:
type: string
minLength: 1
description: Name of the floor.
buildingId:
type: number
description: ID of the building.
buildingName:
type: string
minLength: 1
description: Name of the building.
campusId:
type: number
description: ID of the campus.
campusName:
type: string
minLength: 1
description: Name of the campus.
lastUpdate:
type: string
minLength: 1
description: Time of last occupancy update
occupancy:
type: number
description: Number of people detected in the given time range.
required:
- roomId
- lastUpdate
- occupancy
page:
type: object
required:
- size
- totalElements
- totalPages
- number
properties:
size:
type: number
totalElements:
type: number
totalPages:
type: number
number:
type: number
required:
- content
- page
Occupancy-Footfall-History:
type: object
x-stoplight:
id: 02668a9fc4907
x-examples:
example-1:
content:
- startTime: '2021-11-25T18:21:25.390Z'
endTime: '2021-11-25T18:22:15.390Z'
occupancy: 46394714
spaceId: 619fd489baed0b3dd9863865
spaceName: GicvbLePkFJI
- startTime: '2021-11-25T18:22:15.390Z'
endTime: '2021-11-25T18:22:45.390Z'
occupancy: 179202525
spaceId: 619fd489baed0b3dd9863865
spaceName: GicvbLePkFJI
title: Occupancy-Footfall-History
properties:
content:
type: array
uniqueItems: true
minItems: 0
items:
type: object
properties:
startTime:
type: string
minLength: 1
endTime:
type: string
minLength: 1
occupancy:
type: number
description: Count of people in the footfall location; calculated by subtracting the exit (outbound) count from the entry (inbound) count.
spaceId:
type: string
minLength: 1
spaceName:
type: string
minLength: 1
required:
- startTime
- endTime
- occupancy
- spaceId
- spaceName
required:
- content
Occupancy-Footfall-Current:
type: object
x-stoplight:
id: fc7b9557b3076
x-examples:
example-1:
content:
- spaceId: 619fd489baed0b3dd9863866
spaceName: jfRTJIIoxYkb
lastUpdate: '2021-11-25T18:23:05.455Z'
occupancy: 211
- spaceId: 619fd489baed0b3dd9863867
spaceName: NPVghcKEqqkf
lastUpdate: '2021-11-25T18:23:05.460Z'
occupancy: 37
title: Occupancy-Footfall-Current
properties:
content:
type: array
uniqueItems: true
minItems: 0
items:
type: object
properties:
spaceId:
type: string
minLength: 1
spaceName:
type: string
minLength: 1
lastUpdate:
type: string
minLength: 1
occupancy:
type: number
description: Count of people in the footfall location; calculated by subtracting the exit (outbound) count from the entry (inbound) count.
required:
- spaceId
- spaceName
- lastUpdate
- occupancy
required:
- content
Occupancy-Room-Attributes-History:
description: ''
type: object
x-examples:
example-1:
content:
- startTime: '2021-11-25T18:21:24.894Z'
endTime: '2021-11-25T18:22:14.894Z'
occupancy: 409456355
attributeId: PYustxRGJAIh
attributeName: cUTeJpxlWBZu
roomId: 59644
roomName: hERYblLeQzGk
floorId: 59393
floorName: SjwicuPSFGoD
buildingId: 59756
buildingName: cWtMryWTFNWZ
campusId: 59682
campusName: PYGihCCEhNgL
- startTime: '2021-11-25T18:22:14.894Z'
endTime: '2021-11-25T18:22:44.894Z'
occupancy: 1125867079
attributeId: PYustxRGJAIh
attributeName: cUTeJpxlWBZu
roomId: 59644
roomName: hERYblLeQzGk
floorId: 59393
floorName: SjwicuPSFGoD
buildingId: 59756
buildingName: cWtMryWTFNWZ
campusId: 59682
campusName: PYGihCCEhNgL
properties:
content:
type: array
uniqueItems: true
minItems: 0
items:
type: object
properties:
startTime:
type: string
minLength: 1
description: Time when given occupancy started.
endTime:
type: string
minLength: 1
description: Time when given occupancy ended.
occupancy:
type: number
description: Number of people detected in the given time range.
attributeId:
type: string
minLength: 1
attributeName:
type: string
minLength: 1
roomId:
type: number
description: ID of the room.
roomName:
type: string
minLength: 1
description: Name of the room.
floorId:
type: number
description: ID of the floor.
floorName:
type: string
minLength: 1
description: Name of the floor.
buildingId:
type: number
description: ID of the building.
buildingName:
type: string
minLength: 1
description: Name of the building.
campusId:
type: number
description: ID of the campus.
campusName:
type: string
minLength: 1
description: Name of the campus.
required:
- startTime
- endTime
- occupancy
- attributeId
- roomId
required:
- content
examples:
- content:
- startTime: string
endTime: string
occupancy: 0
attributeId: string
attributeName: string
roomId: 0
roomName: string
floorId: 0
floorName: string
buildingId: 0
buildingName: string
campusId: 0
campusName: string
Occupancy-Room-Attributes-Current:
description: ''
type: object
x-examples:
example-1:
links:
- rel: first
href: 'https://apps-api.test.kontakt.io/v3/occupancy/room-attributes?page=0&size=2&sort=attributeId,asc'
- rel: self
href: 'https://apps-api.test.kontakt.io/v3/occupancy/room-attributes?page=0&size=2&sort=attributeId,asc'
- rel: next
href: 'https://apps-api.test.kontakt.io/v3/occupancy/room-attributes?page=1&size=2&sort=attributeId,asc'
- rel: last
href: 'https://apps-api.test.kontakt.io/v3/occupancy/room-attributes?page=2&size=2&sort=attributeId,asc'
content:
- roomId: 25934
roomName: YyiTOHCAOjGt
floorId: 25914
floorName: yBXNHcpkmiQb
buildingId: 25894
buildingName: IYZoenFDSyCo
campusId: 25834
campusName: xnYmAUTTGqSH
attributeId: PpSgotTSbQHR
attributeName: DzxmsiPKdtqa
lastUpdate: '2021-11-17T15:49:51.139Z'
occupancy: 1
- roomId: 25935
roomName: TBSrECTZzGNz
floorId: 25915
floorName: iFglGczPDzKY
buildingId: 25895
buildingName: UaJEGppssoEO
campusId: 25835
campusName: XUgLvHpmFfln
attributeId: RvysMFUsxJGI
attributeName: GiZCWEXJWqVw
lastUpdate: '2021-11-17T15:49:51.163Z'
occupancy: 2
page:
size: 2
totalElements: 6
totalPages: 3
number: 0
properties:
content:
type: array
uniqueItems: true
minItems: 0
items:
type: object
properties:
roomId:
type: number
description: ID of Room in which occupancy was calculated.
roomName:
type: string
minLength: 1
description: Name of Room in which occupancy was calculated.
floorId:
type: number
description: ID of the Floor in which occupancy was calculated.
floorName:
type: string
minLength: 1
description: Name of the Floor in which occupancy was calculated.
buildingId:
type: number
description: ID of the Building in which occupancy was calculated.
buildingName:
type: string
minLength: 1
description: Name of the Building in which occupancy was calculated.
campusId:
type: number
description: ID of the Campus in which occupancy was calculated.
campusName:
type: string
minLength: 1
description: Name of the Campus in which occupancy was calculated.
attributeId:
type: string
minLength: 1
description: Identifier of the Room (Seat) Attribute.
attributeName:
type: string
minLength: 1
description: User defined name of the Room (Seat) Attribute.
lastUpdate:
type: string
minLength: 1
description: Time of last occupancy update.
occupancy:
type: number
description: Number of people detected in the given time range.
required:
- roomId
- attributeId
- lastUpdate
- occupancy
Stream-channel-kinesis:
type: object
properties:
id:
type: string
status:
type: string
name:
type: string
channel:
type: object
properties:
type:
type: string
endpoint:
type: string
streamName:
type: string
region:
type: string
lastUpdate:
type: string
state:
type: object
properties:
connectionState:
type: string
timestamp:
type: string
filters:
type: object
properties:
campusIds:
type: array
items:
type: integer
deviceModels:
type: array
items:
type: integer
x-examples:
Example 1:
id: 6841afb73f3b6d4eaec38e38
status: active
name: kinesis_splitted_stream_channel_device_model_30_campusIds_605414 NEW
channel:
type: kinesis
endpoint: kinesis.us-east-1.amazonaws.com
streamName: ue1-kontakt-common-eks-test-qatest1-kinesis
region: us-east-1
lastUpdate: '2025-06-05T14:58:52.304Z'
state:
connectionState: DISCONNECTED
timestamp: '2025-06-05T14:58:52.304Z'
filters:
campusIds:
- 605414
deviceModels:
- 31
examples:
- id: string
status: string
name: string
channel:
type: string
endpoint: string
streamName: string
region: string
lastUpdate: string
state:
connectionState: string
timestamp: string
filters:
campusIds:
- 0
deviceModels:
- 0
title: Stream kinesis GET
Stream-channel-eventHub:
type: object
x-examples:
example-1:
id: 6238449936543f4ceda20ecb
status: active
name: friendly name
channel:
type: eventHub
endpoint: MSUjKbZVmYbkerLHFwCjywaCZPZUAK
sharedAccessKeyName: aXJirTBOevEQFxPEAJlc
eventHubName: iDwhEoMiPsNdbUd
lastUpdate: 1647854745.285
state:
connectionState: DISCONNECTED
errorMessage: error message if any
timestamp: 1647854745.285
x-internal: false
title: Stream eventHub GET
properties:
id:
type: string
status:
type: string
name:
type: string
channel:
type: object
properties:
type:
type: string
endpoint:
type: string
sharedAccessKeyName:
type: string
eventHubName:
type: string
lastUpdate:
type: number
state:
type: object
properties:
connectionState:
type: string
errorMessage:
type: string
timestamp:
type: number
filters:
type: object
x-stoplight:
id: tgxswxxwm0q9h
properties:
campusIds:
type: array
x-stoplight:
id: lrkstd5k95rlj
items:
x-stoplight:
id: acjvam8gdytg5
type: integer
deviceModels:
type: array
x-stoplight:
id: uxfqbvdps5dnu
items:
x-stoplight:
id: o09ymg67v0d66
type: string
examples:
- id: string
status: string
name: string
channel:
type: string
endpoint: string
sharedAccessKeyName: string
eventHubName: string
lastUpdate: 0
state:
connectionState: string
errorMessage: string
timestamp: 0
filters:
campusIds:
- 605414
deviceModels:
- '30'
Stream-channel-watson:
type: object
x-examples:
example-1:
id: 6238449936543f4ceda20ecc
status: active
name: GGKMndCSezAeVTIAIKNH
channel:
type: watson
orgId: czVaWaurJN
typeId: dMaBRjYKcGhqIMeUsxxoax
token: ' '
deviceId: ejGbzuQaiJaXnLbCOyAGhWmAdliCsb
lastUpdate: 1647854745.286
state:
connectionState: DISCONNECTED
errorMessage: error message if any
timestamp: 1647854745.286
title: Stream watson GET
x-internal: false
properties:
id:
type: string
status:
type: string
name:
type: string
channel:
type: object
properties:
type:
type: string
orgId:
type: string
typeId:
type: string
token:
type: string
deviceId:
type: string
lastUpdate:
type: number
state:
type: object
properties:
connectionState:
type: string
errorMessage:
type: string
timestamp:
type: number
filters:
type: object
x-stoplight:
id: 6ub2vy1jd1z1p
properties:
campusIds:
type: array
x-stoplight:
id: uaebqkcd4zi5m
items:
x-stoplight:
id: 7zp44o0m8b0k4
type: integer
deviceModels:
type: array
x-stoplight:
id: gfrnqab4c3hzw
items:
x-stoplight:
id: ix3bq51nti72o
type: integer
examples:
- id: string
status: string
name: string
channel:
type: string
orgId: string
typeId: string
token: string
deviceId: string
lastUpdate: 0
state:
connectionState: string
errorMessage: string
timestamp: 0
filters:
campusIds:
- 0
deviceModels:
- 0
Stream-post-kinesis:
type: object
x-examples:
example-1:
status: active
name: xjLBDFksiLWLTyRPYeWQ
channel:
type: kinesis
endpoint: XOsiPLrSvrrBkEsdneBKDXEptprFED
streamName: erwKuNJJBXzlBFE
accessKey: elsMnEBrVpxeVewzreGLGZ
secretKey: efarfGYULyqOKrMwSctyaaalKZsaiteSdDLekzRF
region: vgCZafJDQN
forcedPartitionKey: EmckwlqWlo
description: Creates a new AWS Kinesis stream channel
x-internal: false
title: Kinesis channel POST
required:
- status
- name
properties:
status:
type: string
description: The configuration status.
enum:
- active
- inactive
example: active
name:
type: string
description: User-defined name to identify the channel.
example: Kontakt kinesis stream
channel:
type: object
description: Configuration specific to the AWS Kinesis stream.
required:
- type
- endpoint
- streamName
- accessKey
- secretKey
- region
properties:
type:
type: string
description: Set to kinesis. Type of channel; identifies the third-party streaming service.
enum:
- kinesis
- eventHub
- watson
example: kinesis
endpoint:
type: string
description: |-
Kinesis “endpoint“ parameter is constant based on the “region“ value.
Example: region is us-east-2, the endpoint is kinesis.us-east-2.amazonaws.com
AWS article with region endpoints: https://docs.aws.amazon.com/general/latest/gr/ak.html
example: kinesis.us-east-2.amazonaws.com
streamName:
type: string
description: kinesis stream name.
accessKey:
type: string
description: AWS kinesis access key.
secretKey:
type: string
description: AWS kinesis secret access key.
region:
type: string
description: kinesis stream AWS region
filters:
type: object
x-stoplight:
id: 7fvyh9hm6mfh3
description: Optional filters to limit the data received by subscriptions
properties:
deviceModels:
type: array
x-stoplight:
id: gqdl3q0782hwd
description: List of device model IDs to include
items:
x-stoplight:
id: o68kyws7ax88n
type: integer
example: '30, 32'
campusIds:
type: array
x-stoplight:
id: rellwkh8w471o
description: List of campus IDs to include
items:
x-stoplight:
id: q0w1t2rvapbmw
type: integer
example: '57891, 73129'
examples:
- status: string
name: Kontakt kinesis stream
filters:
deviceModels:
- 30
- 32
campusIds:
- 57891
- 73129
channel:
type: kinesis
endpoint: kinesis.us-east-2.amazonaws.com
streamName: string
accessKey: string
secretKey: string
region: string
Stream-patch-kinesis-channel:
type: object
x-examples:
example-1:
status: active
name: xjLBDFksiLWLTyRPYeWQ
channel:
type: kinesis
endpoint: XOsiPLrSvrrBkEsdneBKDXEptprFED
streamName: erwKuNJJBXzlBFE
accessKey: elsMnEBrVpxeVewzreGLGZ
secretKey: efarfGYULyqOKrMwSctyaaalKZsaiteSdDLekzRF
region: vgCZafJDQN
forcedPartitionKey: EmckwlqWlo
examples:
- status: string
name: Kontakt kinesis stream
channel:
type: kinesis
endpoint: kinesis.us-east-2.amazonaws.com
streamName: string
accessKey: string
secretKey: string
region: string
description: |-
Updates a AWS Kinesis stream channel
**IMPORTANT:** when updating channel object, all properties are required.
x-internal: false
title: Kinesis channel PATCH
properties:
status:
type: string
description: The configuration status.
enum:
- active
- inactive
example: active
name:
type: string
description: User-defined name to identify the channel.
channel:
type: object
description: 'Configuration specific to the AWS Kinesis stream. When updating a channel property, all channel property values must be provided.'
properties:
type:
type: string
description: Set to kinesis. Type of channel; identifies the third-party streaming service.
enum:
- kinesis
- eventHub
- watson
example: kinesis
endpoint:
type: string
description: |-
Kinesis “endpoint“ parameter is constant based on the “region“ value.
Example: region is us-east-2, the endpoint is kinesis.us-east-2.amazonaws.com
AWS article with region endpoints: https://docs.aws.amazon.com/general/latest/gr/ak.html
example: kinesis.us-east-2.amazonaws.com
streamName:
type: string
description: kinesis stream name.
accessKey:
type: string
description: AWS kinesis access key.
secretKey:
type: string
description: AWS kinesis secret access key.
region:
type: string
description: kinesis stream AWS region
Stream-post-eventhub:
type: object
x-examples:
example-1:
status: active
name: friendly name
channel:
type: eventHub
endpoint: rIWxfZExvhAQQBUYFssuWFfplEkBvd
sharedAccessKeyName: sBaXFcDOdhzfbweNcPhF
sharedAccessKey: dOchnyFnQPWIbCETCDlkaxpphJYhsQBgRlRiamFoasfR
eventHubName: fYpQkIrLdNUEkuX
description: Create a Azure Event Hub stream channel
title: Event Hub channel POST
x-internal: false
required:
- status
- name
properties:
status:
type: string
description: Channel configuration status.
enum:
- active
- inactive
example: active
name:
type: string
description: User-defined name to identify the channel.
channel:
type: object
description: Configuration specific to the Azure Event Hub stream.
required:
- type
- endpoint
- sharedAccessKeyName
- sharedAccessKey
- eventHubName
properties:
type:
type: string
description: Set to eventHub. Type of channel; identifies the third-party streaming service.
enum:
- kinesis
- eventHub
- watson
example: eventHub
endpoint:
type: string
sharedAccessKeyName:
type: string
sharedAccessKey:
type: string
eventHubName:
type: string
filters:
type: object
x-stoplight:
id: f3rdkk5sls5ha
description: Optional filters to limit the data received by subscriptions
properties:
deviceModels:
type: array
x-stoplight:
id: 0zgguqav4niq4
description: List of device model IDs to include
items:
x-stoplight:
id: qks10au8af5uh
type: integer
example: '30, 32'
campusIds:
type: array
x-stoplight:
id: zcwcvd1ct899y
description: List of campus IDs to include
items:
x-stoplight:
id: 3put1sd26c1mv
type: integer
example: '57891, 73129'
examples:
- status: active
name: string
channel:
type: eventHub
endpoint: string
sharedAccessKeyName: string
sharedAccessKey: string
eventHubName: string
filters:
deviceModels:
- '30, 32'
campusIds:
- '57891, 73129'
Stream-patch-eventhub-channel:
type: object
x-examples:
example-1:
status: active
name: friendly name
channel:
type: eventHub
endpoint: rIWxfZExvhAQQBUYFssuWFfplEkBvd
sharedAccessKeyName: sBaXFcDOdhzfbweNcPhF
sharedAccessKey: dOchnyFnQPWIbCETCDlkaxpphJYhsQBgRlRiamFoasfR
eventHubName: fYpQkIrLdNUEkuX
description: |-
Update a Azure Event Hub stream channel
**IMPORTANT:** when updating channel object, all properties are required.
title: Event Hub channel PATCH
x-internal: false
properties:
status:
type: string
description: Channel configuration status.
enum:
- active
- inactive
example: active
name:
type: string
description: User-defined name to identify the channel.
channel:
type: object
description: 'Configuration specific to the Azure Event Hub stream. When updating a channel property, all channel property values must be provided.'
properties:
type:
type: string
description: Set to eventHub. Type of channel; identifies the third-party streaming service.
enum:
- kinesis
- eventHub
- watson
example: eventHub
endpoint:
type: string
sharedAccessKeyName:
type: string
sharedAccessKey:
type: string
eventHubName:
type: string
examples:
- status: active
name: string
channel:
type: eventHub
endpoint: string
sharedAccessKeyName: string
sharedAccessKey: string
eventHubName: string
Stream-post-watson:
type: object
x-examples:
example-1:
status: active
name: sgluBTLJHvGRRMHOMAYh
channel:
type: watson
orgId: FQFieoFlys
typeId: mrEARmZEKjpSOyxwDHVVcS
token: AQSpIInRWSXsGKm
deviceId: HuSWIhmsqbvqKjVmkvyhVsySEelUOb
description: Create a IBM Watson stream channel
title: Watson channel POST
x-internal: false
required:
- status
- name
properties:
status:
type: string
description: Channel configuration status.
enum:
- active
- inactive
example: active
name:
type: string
description: User-defined name to identify the channel.
channel:
type: object
description: 'Configuration specific to the IBM Watson stream. '
required:
- type
- orgId
- typeId
- token
- deviceId
properties:
type:
type: string
description: Set to watson. Type of channel; identifies the third-party streaming service.
enum:
- kinesis
- eventHub
- watson
example: watson
orgId:
type: string
typeId:
type: string
token:
type: string
deviceId:
type: string
filters:
type: object
x-stoplight:
id: hkn9hu2shg9l5
description: Optional filters to limit the data received by subscriptions
properties:
deviceModels:
type: array
x-stoplight:
id: nu4tbi8x0ufyt
description: List of device model IDs to include
items:
x-stoplight:
id: 5hz9vkjwzntaq
type: integer
example: '30, 32'
campusIds:
type: array
x-stoplight:
id: q1gty5pedowp8
description: List of campus IDs to include
items:
x-stoplight:
id: lxzdjfi9sdp8a
type: integer
example: '57891, 73129'
examples:
- status: active
name: string
channel:
type: watson
orgId: string
typeId: string
token: string
deviceId: string
filters:
deviceModels:
- '30, 32'
campusIds:
- '57891, 73129'
Stream-patch-watson-channel:
type: object
x-examples:
example-1:
status: active
name: sgluBTLJHvGRRMHOMAYh
channel:
type: watson
orgId: FQFieoFlys
typeId: mrEARmZEKjpSOyxwDHVVcS
token: AQSpIInRWSXsGKm
deviceId: HuSWIhmsqbvqKjVmkvyhVsySEelUOb
description: |-
Updates a IBM Watson stream channel
**IMPORTANT** when updating channel properties, all properties are required.
title: Watson channel PATCH
x-internal: false
properties:
status:
type: string
description: Channel configuration status.
enum:
- active
- inactive
example: active
name:
type: string
description: User-defined name to identify the channel.
channel:
type: object
description: 'Configuration specific to the IBM Watson stream. When updating a channel property, all channel property values must be provided.'
properties:
type:
type: string
description: Set to watson. Type of channel; identifies the third-party streaming service.
enum:
- kinesis
- eventHub
- watson
example: watson
orgId:
type: string
typeId:
type: string
token:
type: string
deviceId:
type: string
examples:
- status: active
name: string
channel:
type: watson
orgId: string
typeId: string
token: string
deviceId: string
Stream-occupancy-data-model:
type: object
x-examples:
example-1:
type: OCCUPANCY
timestamp: '2022-05-02T10:31:02.422Z'
occupancyType: space
occupancySource: reset
companyId: 01c357a17f0f
occupancy: 1
locationId: location1
title: Streams Occupancy Data Model
examples:
- type: OCCUPANCY
timestamp: '2022-05-02T10:31:02.422Z'
occupancyType: room
occupancySource: sensor
companyId: string
occupancy: 15
locationId: string
properties:
type:
type: string
description: Identifies the origin of the data stream message.
example: OCCUPANCY
timestamp:
type: string
description: 'Date/time of the occupancy event calculation. ISO 8601 UTC format (yyyy-mm-ddThh:mm:sssz).'
example: '2022-05-02T10:31:02.422Z'
occupancyType:
type: string
description: |-
Identifies the occupancy source (type).
The type is one of:
* room - room occupancy
* room_attribute - seat occupancy
* space - footfall space occupancy
* zone - Smart Location space occupancy
enum:
- room
- room_attribute
- space
- zone
example: room
occupancySource:
type: string
description: |
Identifies the occupancy event source.
The source is one of:
* sensor - event from an occupancy sensor
* location - event from a device location
* reset - event from an occupancy value reset
enum:
- sensor
- location
- reset
example: sensor
companyId:
type: string
description: Id of the Kio Cloud account.
occupancy:
type: integer
example: 15
description: Total occupancy count; dependent on the OccupancyType.
locationId:
type: string
description: |-
Represents the unique location identifier. Value is dependent on the occupancyType event source and should be interpreted differently.
The Id is one of:
* room - roomId
* room_attribute - roomAttributeId
* space - spaceId (footfall space)
* zone - zoneId (Smart Location Space)
Stream-position-data-model:
type: object
x-examples:
example-1:
companyId: b4d24ccb5a6f
userId: '187374'
trackingId: '00:fa:b6:02:b0:c2'
buildingId: 187265
campusId: 187184
floorId: 187479
roomId: 187301
x: 11
'y': 8.299999999999999
timestamp: '2022-05-19T14:22:07.770Z'
roomName: BackBox
floorName: Ground Floor
buildingName: Krakow Main Office
campusName: Krakow Offices
lost: 'true'
title: Stream Position Data Model
examples:
- companyId: b4d24ccb5a6f
userId: '187374'
trackingId: '00:fa:b6:02:b0:c2'
campusId: 187184
campusName: Main Campus
buildingId: 187265
buildingName: Main Building
floorId: 187479
floorName: Ground Floor
roomName: Lobby
roomId: 187301
x: 11.2
'y': 8.299999999999999
origin: string
lost: 'true'
irAssisted: true
moving: true
timestamp: '2022-05-19T14:22:07.770Z'
deviceModel: 40
properties:
companyId:
type: string
example: b55b4b8236z9
description: Unique Id of the Kio Cloud account.
userId:
type: string
example: '123456'
description: Unique ID of the Kio Cloud user; each user has their own API Key.
trackingId:
type: string
example: '00:fa:b6:02:b0:c2'
description: Position device source; device MAC address.
campusId:
type: integer
example: 12345
description: Id of campus location.
campusName:
type: string
x-stoplight:
id: 2e8kzrfulmbsj
description: User-defined name of the campus.
example: Main Campus
buildingId:
type: integer
example: 187265
description: Id of the building location.
buildingName:
type: string
example: Main Building
description: User-defined name of building location.
floorId:
type: integer
example: 187479
description: Id of the floor location.
floorName:
type: string
example: Ground Floor
description: User-defined name of floor location.
roomName:
type: string
example: Lobby
description: User-defined name of room location.
roomId:
type: integer
example: 187301
description: Id of the room location.
x:
type: number
example: '7.960388382814483, 16'
description: X coordinate position of device source (trackingId).
'y':
type: number
example: '13.771423891085552, 17'
description: Y coordinate position of device source (trackingId).
origin:
type: string
x-stoplight:
id: 5sezbinpf4dti
description: Identifies the source of the position calculation when the position is calculated by a third-party.
lost:
type: boolean
example: 'true'
description: Lost flag. Set to true when the device is out of range (no position data).
irAssisted:
type: boolean
x-stoplight:
id: 93o7c2e46htlj
description: Flag that indicates whether device was located using IR technology.
moving:
type: boolean
x-stoplight:
id: nxb6cytag1aum
description: Flag that indicates whether device was moving when the last position was calculated.
timestamp:
type: string
example: '2022-05-19T14:22:07.770Z'
description: 'Date/time of the position event calculation. ISO 8601 UTC format (yyyy-mm-ddThh:mm:sssz).'
deviceModel:
type: integer
x-stoplight:
id: gz99bk7kx2mbr
description: |-
Id of the device model.
[Model list]( https://kontakt-api-docs.stoplight.io/docs/dev-ctr-loc-occ-api/jxume37llqgze-position-stream-data-filtering-by-device-models#device-models-filter-and-model-id-parameters)
example: 40
Colocated-devices-list:
description: ''
type: object
x-examples:
example-1:
links:
- rel: first
href: 'https://apps-api.test.kontakt.io/v3/novid/colocations?trackingId=uSOKrc&startTime=2022-01-11T07:17:00.725468Z&endTime=2022-01-18T09:17:00.725485Z&page=0&size=2&sort=entityId,asc'
- rel: self
href: 'https://apps-api.test.kontakt.io/v3/novid/colocations?page=0&size=2&sort=entityId&trackingId=uSOKrc&startTime=2022-01-11T07:17:00.725468Z&endTime=2022-01-18T09:17:00.725485Z'
- rel: next
href: 'https://apps-api.test.kontakt.io/v3/novid/colocations?trackingId=uSOKrc&startTime=2022-01-11T07:17:00.725468Z&endTime=2022-01-18T09:17:00.725485Z&page=1&size=2&sort=entityId,asc'
- rel: last
href: 'https://apps-api.test.kontakt.io/v3/novid/colocations?trackingId=uSOKrc&startTime=2022-01-11T07:17:00.725468Z&endTime=2022-01-18T09:17:00.725485Z&page=1&size=2&sort=entityId,asc'
content:
- entityId: 29357
entityName: OhJOfzEYtgQC
trackingId: YDDDkL
startTime: '2022-01-11T08:17:00.725468Z'
endTime: '2022-01-18T08:17:00.725485Z'
contacts:
- entityId: 29356
entityName: hfrtnszGIwhn
trackingId: uSOKrc
durationSec: 1
- entityId: 29358
entityName: QLkgWkWaFuGJ
trackingId: iexMRB
startTime: '2022-01-11T08:17:00.726105Z'
endTime: '2022-01-18T08:17:00.726111Z'
contacts:
- entityId: 29356
entityName: hfrtnszGIwhn
trackingId: uSOKrc
durationSec: 1
page:
size: 2
totalElements: 3
totalPages: 2
number: 0
title: Colocated devices
properties:
content:
type: array
uniqueItems: true
minItems: 1
description: List of colocated devices with queried devices.
items:
type: object
properties:
trackingId:
type: string
minLength: 1
description: TrackingID of colocated device.
startTime:
type: string
minLength: 1
description: Beginning of checked time period.
endTime:
type: string
minLength: 1
description: End of checked time period.
contacts:
type: array
uniqueItems: true
minItems: 1
description: List of queried devices.
items:
type: object
description: Query device tracking ID
properties:
trackingId:
type: string
minLength: 1
description: trackingId of queried device.
durationSec:
type: number
description: Duration in seconds of colocation time between queried device and colocated device.
securitySchemes:
api_key:
type: apiKey
in: header
description: |-
Your Kio Cloud API Key is required to be provided in the `Api-Key` header in each API call.
Get your API Key: sign in to **Kio Cloud** > select **Users** > select **Security** > copy your **Server API Key**.
name: Api-Key
parameters:
page:
name: page
in: query
schema:
type: integer
default: '0'
description: Page you want to retrieve; 0 indexed.
size:
name: size
in: query
schema:
type: string
default: '20'
description: Size of the page to retrieve.
sort:
name: sort
in: query
schema:
type: string
default: asc
example: '?sort=firstname&sort=lastname,asc'
enum:
- asc
- desc
description: 'Sort objects returned in the response. Format property,property '
floorName:
name: floorName
in: query
required: false
schema:
type: string
description: Filter by floor name
name:
name: name
in: query
required: false
schema:
type: string
description: Filter by name
description:
name: description
in: query
required: false
schema:
type: string
description: Filter by description
floorId:
name: floorId
in: query
required: false
schema:
type: number
description: Filter by one or multiple floor ID(s)
buildingId:
name: buildingId
in: query
required: false
schema:
type: number
description: 'Filter by one or multiple building ID(s) '
campusId:
name: campusId
in: query
required: false
schema:
type: number
description: 'Filter by one or multiple campus ID(s) '
trackingId:
name: trackingId
in: query
schema:
type: string
example: 'c9:39:37:9a:12:bc'
description: 'Filter by one or more tracking IDs (device MAC address)
alpha characters: lowercase required'
type:
name: type
in: query
required: false
schema:
type: string
description: Filter by the position type
lost:
name: lost
in: query
required: false
schema:
type: boolean
enum:
- 'true'
- 'false'
- 'null'
description: Filter by lost flag.
roomId:
name: roomId
in: query
schema:
type: number
description: Filter by one or more Room Ids (separated by comma).
required: true
startTime:
name: startTime
in: query
schema:
type: string
example: '2020-11-27T08:00:00.000000Z'
format: date-time
description: 'Filter by start time.
Values are always expressed in UTC (equivalent to an offset of +00:00).
The timezone designator is always Z.
The hours component must be specified as two digits in 24-hour format. '
endTime:
name: endTime
in: query
schema:
type: string
example: ' 2020-11-29T08:00:00.000000Z'
format: date-time
description: 'Filter by end time.
Values are always expressed in UTC (equivalent to an offset of +00:00).
The timezone designator is always Z.
The hours component must be specified as two digits in 24-hour format. '
spaceId:
name: spaceId
in: query
required: false
schema:
type: string
description: Filter by Space ID.
valueType:
name: valueType
in: query
required: false
schema:
type: string
enum:
- binary
- numerical
default: binary
description: 'Type of occupancy value returned, default is ''binary''. If valueType is ''binary'', then occupancy is either 0 (not occupied) or 1 (occupied). If value is ''numerical'', occupancy value is the count of people detected.'
responses:
error-401:
description: Example response
content:
application/json:
schema:
properties:
id:
type: string
error-400:
description: Example response
content:
application/json:
schema:
properties:
id:
type: string
error-403:
description: Example response
content:
application/json:
schema:
properties:
id:
type: string
error-404:
description: Example response
content:
application/json:
schema:
properties:
id:
type: string
error-409:
description: Example response
content:
application/json:
schema:
properties:
id:
type: string
error-429:
description: Rate limit exceeded. The response has no body.
headers:
Retry-After:
description: 'Indicates how long to wait before making a new request. The response includes this header twice: once with an HTTP-date format (e.g., "Wed, 21 Oct 2015 07:28:00 GMT") and once with delay-seconds format (e.g., "120").'
schema:
type: string
required: true
content:
text/plain: null
status-303:
description: Example response
content:
application/json:
schema:
properties:
id:
type: string
status-201:
description: Example response
content:
application/json:
schema:
properties:
id:
type: string
error-400-colocated-too-many-results:
description: |-
{
"timestamp": "2022-01-20T15:17:50.993+00:00",
"status": 400,
"error": "Bad Request",
"message": "Too many results to query. If possible, try lowering the time range or number of trackingIds. This error mostly occurs when there is very big amount of tracked devices in one room. If that is the case and these devices are not used currently, move them out of range of scanning devices.",
"path": "/v3/colocations/summary"
}Example response
content:
application/json:
schema:
properties:
id:
type: string
examples: {}
requestBodies:
stream-post-channel:
content:
application/json:
schema:
oneOf:
- $ref: '#/components/schemas/Stream-post-kinesis'
- $ref: '#/components/schemas/Stream-post-eventhub'
- $ref: '#/components/schemas/Stream-post-watson'
description: Select one of; by channel type
examples: {}
description: |-
Creates a stream channel.
From **one of**, select the **channel type** (Kinesis, Event Hub, or Watson).
stream-post-subscription:
content:
application/json:
schema:
type: object
x-examples:
example-1:
name: KqazTkMOyD
type: occupancy
channelIds:
- 62726a33c567d41c01e002ab
properties:
name:
type: string
description: User-defined name to identify the subscription.
type:
type: string
description: The type of subscription
enum:
- telemetry
- position
- occupancy
channelIds:
type: array
description: "Provide the channel Id or multiple channel Ids separated by a comma. A channel Id is generated by the\_Create new channel request. Once generated, retrieve ids from List all configured channels request."
items:
type: string
required:
- name
- type
- channelIds
examples:
Example 1:
value:
name: string
type: telemetry
channelIds:
- string
description: Creates a new stream subscription.
stream-patch-subscription:
content:
application/json:
schema:
type: object
x-examples:
Example 1:
name: cUyTMAyIhJ
type: position
channelIds:
- 6238449836543f4ceda20ec4
properties:
name:
type: string
description: User-defined name to identify the subscription.
type:
type: string
description: The type of subscription. MUST be set to type of subscription updating.
enum:
- telemetry
- position
- occupancy
channelIds:
type: array
description: 'Provide the channel Id or multiple channel Ids separated by a comma. A channel Id is generated by the Create new channel request. Once generated, retrieve ids from List all configured channels request.'
items:
type: string
required:
- name
- type
- channelIds
examples:
Telemetry:
value:
name: tUyTMAyIhJ
type: telemetry
channelIds:
- 6238449836543f4teda20ec4
description: '**IMPORTANT:** When updating a subscription property, all subscription property values must be provided.'
stream-position-subscription:
content:
application/json:
schema:
type: object
x-examples:
Example 1:
name: Nano and Badge position subscription
channelIds:
- channel_id_1
- channel_id_2
filter:
deviceModels:
- 30
- 32
properties:
name:
type: string
description: User-defined name to identify the subscription.
channelIds:
type: array
description: The type of subscription.
items:
type: string
example: position
enum:
- position
filter:
type: object
description: Capbility to filter stream by Kontakt.io device models.
properties:
deviceModels:
type: array
description: |-
The device model ID(s) to filter by.
For IDs see **[position filtering](docs/stream/position-filter.md).**
items:
type: integer
example: '30,32'
required:
- name
- channelIds
examples:
Example 1:
value:
name: Nano and Badge position subscription
channelIds:
- channel_id_1
- channel_id_2
filter:
deviceModels:
- 30
- 32
application/xml:
schema:
type: object
properties: {}
multipart/form-data:
schema:
type: object
properties: {}
description: |-
This schema defines the request body for creating [POST] or updating [PATCH] a position subscription
**IMPORTANT:** When updating a subscription property, all required property values must be provided.
stream-occupancy-subscription:
content:
application/json:
schema:
type: object
x-examples:
Example 1:
name: Room occupancy and room attributes stream
channelIds:
- channel_id_1
- channel_id_2
filters:
occupancyTypes:
- room
- roomAttribute
- space
- zone
properties:
name:
type: string
description: The name of the subscription.
channelIds:
type: array
description: The IDs of the channels to subscribe to.
items:
type: string
filter:
type: object
properties:
occupancyTypes:
type: array
description: |-
The occupancy types to include in the subscription.
[More information](docs/stream/occupancy-filte.r.md)
items:
type: string
enum:
- room
- roomAttribute
- space
example: room
required:
- name
- channelIds
description: |-
This schema defines the request body for creating [POST] or updating [PATCH] an occupancy subscription
**IMPORTANT:** When updating a subscription property, all required property values must be provided.
security:
- API Key - 1: []
tags:
- name: Campuses
- name: Buildings
- name: Floors
- name: Rooms
- name: Footfall Spaces
- name: Spaces
- name: Location Images
- name: 'Occupancy: Room'
- name: 'Occupancy: Seats'
- name: 'Occupancy: Footfall'
- name: 'Occupancy: Sensor'
- name: Telemetry
- name: Positions
- name: Presences
- name: Colocations
- name: Gateways
- name: 'Stream: Version 1'
- name: Stream
x-: null