Skip to content

Getting started

We offer an easy-to-use location and sensor analytics solution suitable for large-scale businesses. Our API provides data for location-based resources and allows you to monitor, analyze, and predict the usage of your company’s assets.

This is a new type of API with the following features:

  • All API resources are available through HTTPS queries to the apps-api.kontakt.io host.

  • By default, all accounts have access to the API.

  • All API queries must specify application/json in the Content-Type header, unless specified otherwise in an endpoint.

Each API request must be authenticated using one of the available methods. There are two ways of authentication:

Authenticating with an Api-Key

An Api-Key is a unique string assigned to each manager. You can use an Api-Key to authenticate API requests. To authenticate a request with Api-Key:

  1. In Kontakt.io Panel > Dashboard, copy the Api-Key.

  2. For the request you want to make, in the Api-Key header, paste the Api-Key.

Authenticating with a JWT

You need an active access token to authenticate with a JWT. You can get an access token using our API. In the response, you receive an access token and a refresh token.

An access token is used to authenticate all API requests. An access token is valid for two hours.

Find out how to get an access token

Find out how to authenticate a request with an access token

A refresh token is used to refresh the access token delivered in the same response. When an access token is already invalid, you can either request a new access token, or refresh the current token.

Find out how to refresh an access token

To get an access token

  • Send a request with your username and password.

In the response, you receive an access token and a refresh token.

Sample curl request
$ curl 'https://apps-api.kontakt.io/v2/organization/account/authenticate' -i \
    -X POST -H 'Content-Type: application/x-www-form-urlencoded' \
    -d 'username=xUUEsgmlzzBxgoP%40test.kontakt.io&password=YOUR_PASSWORD'
Sample HTTP request
POST /v2/organization/account/authenticate HTTP/1.1
Content-Type: application/x-www-form-urlencoded
Content-Length: 65
Host: apps-api.kontakt.io

username=xUUEsgmlzzBxgoP%40test.kontakt.io&password=YOUR_PASSWORD
Sample Response
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 858

{
  "accessToken" : "eyJjdHkiOiJKV1QiLCJlbmMiOiJBMjU2R0NNIiwiYWxnIjoiZGlyIn0..IbiVm0xc3jCAj6jj.KH6Fn1TBDRY4i6gTFVx02F2o-EnkCX7BDXKXZ_IJoiB2c5iMfQvgGAeZLHQt9dReeGSCGLjx8G6aqpvlDsfLrcMIVwXap0_hkgltUirEuiX01PUgDyA3iljYUs_6mu49Uq2W7gl-ItoGoxdmwzdSsvthBu7FvJ4EnkJJw3d-L2n_zxv6-ZGBFgM5oCFzGXjf9zI3_1Kog1qE7ZLWGeBa-ryGqevWx7CxXNGJKGatjgiZYEQY6Xntr5_D01yeIZ1tTAAvl_TFLUdaGjBYow7JxsfygEQev8WAOzzkIJStNyVZFtx7WjkGlIyfCG55zkE.gldk1fGI00WDwXUlkQnwMg",
  "refreshToken" : "eyJjdHkiOiJKV1QiLCJlbmMiOiJBMjU2R0NNIiwiYWxnIjoiZGlyIn0..CnuZIvSvyVfza_XS.xTKW8713z2kOhouy0HhPlayK-ZWpFf0wGb88ZgIw-oMczbjzb27ai-qkiTfRPkhbDFF96RucUFIh9cLIPeXj7eqLjUF1F7V4IYbZE3CUYY02ov1bISkq_EpaNXM-DQG1p27Rx3C-dzMnSsdck9aqc9vRJbSWKGT_ddeJu34OQXbmE9vh3uDLkIsYeJpQCKGJchtsMDNdbv9zSef26TxBFcKGXhIqfNP9lILHeadwavJusEAc4372xbDC1Kad6OlZyggyviKF388S0zL2blA3VzjSazmHLIQfq_o2q55Qgg.AT-6zvKR6K05XwuBLkBdGQ"
}

To authenticate a request with an access token

  • For the request you want to send, in the Authorization header, enter the Bearer type with your access token.
Authorization: Bearer YOUR_ACCESS_TOKEN

To refresh an access token

  • Send a request with the refresh token.

In the response, you receive an access token and a refresh token.

Sample curl request
$ curl 'https://apps-api.kontakt.io/v2/organization/account/refresh' -i -X POST \
    -H 'Content-Type: application/x-www-form-urlencoded' \
    -d 'refreshToken=eyJjdHkiOiJKV1QiLCJlbmMiOiJBMjU2R0NNIiwiYWxnIjoiZGlyIn0..Q87n84JgHp5p6JYY.ezTAmKM7SEneELBR4y1C83chhUTIUdN_Y0A0NB3uyWJgmsO-7r0RXq5yI3D6WRJselbYCUoRv1MKJHPW9-XnAFiGxXzah35N5Bwrk55HuRL86JROkT7psiM8FT03Uzz9yikbUN0zxcZ-M_9aohuyVgMfoJXAve4RdRthKDOJKdH9GrYaxF4zw6XSoqcA2UVVGOPzywd5OuYXh5Go2KNZgY2E7qfm2g1VDPgYVFaQqHY.7AzRyzxm0duuD8UjooM4XQ'
Sample HTTP request
POST /v2/organization/account/refresh HTTP/1.1
Content-Type: application/x-www-form-urlencoded
Content-Length: 345
Host: apps-api.kontakt.io

refreshToken=eyJjdHkiOiJKV1QiLCJlbmMiOiJBMjU2R0NNIiwiYWxnIjoiZGlyIn0..Q87n84JgHp5p6JYY.ezTAmKM7SEneELBR4y1C83chhUTIUdN_Y0A0NB3uyWJgmsO-7r0RXq5yI3D6WRJselbYCUoRv1MKJHPW9-XnAFiGxXzah35N5Bwrk55HuRL86JROkT7psiM8FT03Uzz9yikbUN0zxcZ-M_9aohuyVgMfoJXAve4RdRthKDOJKdH9GrYaxF4zw6XSoqcA2UVVGOPzywd5OuYXh5Go2KNZgY2E7qfm2g1VDPgYVFaQqHY.7AzRyzxm0duuD8UjooM4XQ
Sample response
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 844

{
  "accessToken" : "eyJjdHkiOiJKV1QiLCJlbmMiOiJBMjU2R0NNIiwiYWxnIjoiZGlyIn0..M8glBvyz3p2G0j_-.jsZJdVe6aDzOfBMaobAPoaDlOc1WgpJb2JoXMsjAgSWSQ8yP-iB83QBSaikTTFzaPGuI_IiisDKnwmMWeHDQY_r6RRfMJySu29ImFhCJbQyDHUnBOP4kTSrBx6nEzClOzGYlGXEXkZfucdjxD6XhxR2MSgpvkSZ0bD6Jv3cq724OAetabU9IufFG-ZkSKAyClC1DEDA4uD98-0nifXaOUTG1bOQsPHvQhvChq6rjC7mPAPN7YRJIWesD58-4KTZS5AYYcuBDv03fkny97zWJI88KFhYTHYL5D5i2pmzufkKjiOIYHb2biI_L8zB8.t1s__k03gl7WRJYbMzPLrQ",
  "refreshToken" : "eyJjdHkiOiJKV1QiLCJlbmMiOiJBMjU2R0NNIiwiYWxnIjoiZGlyIn0..wxMgi84aQgOZg_tL.Jt3wGgkfx8m8DLVqpFkFzOFldeROZH5X7aC-OkGB0rPo4-ZHYekCczUVFgB16jnipQGyqb2aXyvkXdTqrUrw4URvLutAsuYJ6SiDEquzR18HXRfoGkfINk3eVuEM4T73Qh8Iq7Ldwfcdt7wSMwbHiCJNCYOj23Bndth76d0zjlzpAJscKX4XRC_pl2oh8C70m8_uZIenKHdTeTYOu34pF2GjaoB-YjWzHVkj7AkNd4imO6r92W4TAveVDZJoFZvzcmR6WEpnz7MTJ_85CWZ0s3RBu2fZshA.32rgTVw7dj-_CZNnKdx3fg"
}