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