Kontakt.io Device (3rd party) API

NOTE: this set of endpoints has been superseded by External Devices functionality. These endpoints provide a way to integrate 3rd party Bluetooth-enabled scanning devices into Kontakt.io platform. As of Summer 2018, Kontakt.io is working with manufacturers of enterprise-level networking devices, like Cassia, Ruckus and Meraki, to seamlessly incorporate data collected by their routers and/or WiFi access points into Kontakt.io Data Streams, and to improve Infrastructure Management capabilities. Users wanting to take advantage of this feature, first need to provide proper authentication and integrate Kontakt.io Panel account with a 3rd party vendor. Only after that, devices from that vendor can be added into Kontakt.io platform. At any given moment a Company can have **only one** integration per 3rd party Vendor, i.e. you can have **one** Cassia *and* **one** Meraki integration, but you can't have e.g. two Meraki integrations.

Operations 3

POST /device/vendor/meraki/create Add a Meraki Integration
POST /device/vendor/meraki/update Update a Meraki Integration
POST /device/vendor/meraki/delete Delete a Meraki Integration

Documentation

Specifications

Other Resources

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/kontaktio-device-3rd-party-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

kontaktio-device-3rd-party-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Device Management Device (3rd party) API
  x-logo:
    url: https://kontakt.io/wp-content/themes/kontakt/dist/img/site-header/logo.svg
    backgroundColor: '#FFFFFF'
  version: '10'
  description: 'This Kontakt.io API provides direct access to all Kio Cloud Device Management resources. It allows integrating device administration functionality into 3rd-party applications without the need to build all underlying logic from the ground up.


    ## Authentication


    All requests must include a **JWT Bearer token** in the `Authorization` header, obtained via the [OAuth2 Client Credentials flow](https://developer.kontakt.io/docs/entity-management-integration-api/0255c5646ab01-authentication-o-auth2-client-credentials-flow).


    > **Deprecated:** The `Api-Key` header is still accepted for backward compatibility but is deprecated and will be removed. Do not use it for new integrations.


    Each API call requires the `Accept` header with the API version. **By default, set to the current stable version:** `application/vnd.com.kontakt+json;version=10`

    '
  contact:
    name: Support
    url: https://support.kontakt.io
    email: support@kontakt.io
  termsOfService: https://kontakt.io/legal-documents/terms-of-sale-and-service/
servers:
- url: https://dm-api.cloud.us.kontakt.io
  description: Kio Cloud US region
- url: https://dm-api.cloud.uk.kontakt.io
  description: Kio Cloud UK region
security:
- bearer_token: []
- api_key: []
tags:
- name: Device (3rd party)
  description: 'NOTE: this set of endpoints has been superseded by External Devices functionality.


    These endpoints provide a way to integrate 3rd party Bluetooth-enabled scanning devices into Kontakt.io platform. As of Summer 2018, Kontakt.io is working with manufacturers of enterprise-level networking devices, like Cassia, Ruckus and Meraki, to seamlessly incorporate data collected by their routers and/or WiFi access points into Kontakt.io Data Streams, and to improve Infrastructure Management capabilities.


    Users wanting to take advantage of this feature, first need to provide proper authentication and integrate Kontakt.io Panel account with a 3rd party vendor. Only after that, devices from that vendor can be added into Kontakt.io platform.


    At any given moment a Company can have **only one** integration per 3rd party Vendor, i.e. you can have **one** Cassia *and* **one** Meraki integration, but you can''t have e.g. two Meraki integrations.

    '
paths:
  /device/vendor/meraki/create:
    post:
      tags:
      - Device (3rd party)
      summary: Add a Meraki Integration
      description: 'This endpoint allows to associate your Meraki controller with Kontakt.io platform, enabling to use Meraki devices as external data sources for Data Streams

        '
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              properties:
                apiKey:
                  type: string
                  description: API Key used for authentication on Meraki's cloud
                secret:
                  type: string
                  description: Secret used for authentication on Meraki's backend
                validator:
                  type: string
                  description: Verification token ensuring Meraki's cloud that the endpoint is correct
              required:
              - apiKey
              - secret
              - validator
      responses:
        '200':
          description: OK
          content:
            application/vnd.com.kontakt+json; version=10:
              schema:
                type: object
                properties:
                  apiKey:
                    type: string
                    description: API Key used for authentication on Meraki's cloud
                    example: skhefgjhdfgv347fsfdv
                  secret:
                    type: string
                    description: Secret used for authentication on Meraki's backend
                    example: SuperSecretString
                  validator:
                    type: string
                    description: Verification token ensuring Meraki's cloud that the endpoint is correct
                    example: lekur8934hiu2ghebv0tbshef
        '204':
          description: No Content
        '401':
          description: Unauthorized
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '422':
          description: Unprocessable Entity
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
      security:
      - bearer_token: []
      - api_key: []
      parameters:
      - $ref: '#/components/parameters/accept'
  /device/vendor/meraki/update:
    post:
      tags:
      - Device (3rd party)
      summary: Update a Meraki Integration
      description: 'This endpoint allows to update an already existing integration with a Meraki platform

        '
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              properties:
                apiKey:
                  type: string
                  description: API Key used for authentication on Meraki's cloud
                secret:
                  type: string
                  description: Secret used for authentication on Meraki's backend
                validator:
                  type: string
                  description: Verification token ensuring Meraki's cloud that the endpoint is correct
              required:
              - apiKey
              - secret
              - validator
      responses:
        '200':
          description: OK
          content:
            application/vnd.com.kontakt+json; version=10:
              schema:
                type: object
                properties:
                  message:
                    type: string
                    description: Success message
                    example: Update successful
        '401':
          description: Unauthorized
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '422':
          description: Unprocessable Entity
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
      security:
      - bearer_token: []
      - api_key: []
      parameters:
      - $ref: '#/components/parameters/accept'
  /device/vendor/meraki/delete:
    post:
      tags:
      - Device (3rd party)
      summary: Delete a Meraki Integration
      description: 'This endpoint allows to remove a Meraki integration

        '
      responses:
        '200':
          description: OK
          content:
            application/vnd.com.kontakt+json; version=10:
              schema:
                type: object
                properties:
                  message:
                    type: string
                    description: Delete message
                    example: Delete successful
        '401':
          description: Unauthorized
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '422':
          description: Unprocessable Entity
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
      security:
      - bearer_token: []
      - api_key: []
      parameters:
      - $ref: '#/components/parameters/accept'
components:
  schemas:
    ApiError:
      type: object
      title: API Error
      properties:
        id:
          type: string
          description: Internal API error code
          example: API_ERROR_1693477316246
        status:
          type: number
          description: HTTP response status code
          example: 422
        cause:
          type: string
          description: General cause of the error
          example: ValidationError
        message:
          type: string
          description: Error message with an explanation of the problem
          example: Invalid value for field name
        details:
          type:
          - array
          - 'null'
          description: Optional details
          items:
            type: object
            properties:
              field:
                type: string
                example: name
              error:
                type: string
                description: Error name
                example: INVALID_VALUE
              message:
                type: string
                description: Error message
                example: Invalid value for field name
  parameters:
    accept:
      name: Accept
      in: header
      required: true
      schema:
        type: string
        default: application/vnd.com.kontakt+json;version=10
      description: Accept header is required.
  securitySchemes:
    bearer_token:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: 'Provide a JWT in the `Authorization: Bearer <token>` header. This is the standard authentication method for all API requests.


        Obtain a token via the OAuth2 Client Credentials flow from the Kontakt.io Keycloak identity provider.'
    api_key:
      type: apiKey
      name: Api-Key
      in: header
      description: '**Deprecated — do not use for new integrations.** This method exists solely for backward compatibility and will be removed in a future release. Use JWT Bearer token authentication instead.


        If you still need an API Key: sign in to **Kio Cloud** > select **Users** > select **Security** > copy your **Server API Key**.'
    management_api_key:
      name: Api-Key
      type: apiKey
      in: header
      description: Special management API Key with additional privileges used by authorized users.
externalDocs:
  url: https://developer.kontakt.io