openapi: 3.2.0 info: title: Location & Occupancy Presences API 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 security: - API Key - 1: [] tags: - name: Presences paths: /v3/presences: parameters: [] 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: [] /v3/presences/history: parameters: [] 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: [] components: parameters: 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. ' size: name: size in: query schema: type: string default: '20' description: Size of the page to retrieve. campusId: name: campusId in: query required: false schema: type: number description: 'Filter by one or multiple campus ID(s) ' 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 ' 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' page: name: page in: query schema: type: integer default: '0' description: Page you want to retrieve; 0 indexed. buildingId: name: buildingId in: query required: false schema: type: number description: 'Filter by one or multiple building ID(s) ' floorId: name: floorId in: query required: false schema: type: number description: Filter by one or multiple floor ID(s) 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. ' schemas: 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 responses: 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 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 x-: null