Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
NAV Navbar

Introduction

Welcome to the Proximi.io REST API Documentation. Below you can find all REST methods that you can access using any standard HTTP client. Except login and registration, all methods use HTTP Header "Authorization" with JWT Token for user authorization. For methods posting JSON data, "Content-Type": "application/json" header should be always set.

For more comfortable work with our REST API, you can also use our API Explorer available at https://api.proximi.fi/core_explorer

Authentication


curl "api_endpoint_here"
  -H "Authorization: Bearer YOUR_TOKEN"

Make sure to replace YOUR_TOKEN with your API key.

Proximi.io Core Service expects for the API key to be included in all API requests to the server (except login & registration) in a header that looks like the following:

Authorization: Bearer YOUR_TOKEN

Login

curl "https://api.proximi.fi/core_auth/login" \
  -X POST \
  -d "email=john@doe.com&password=somePassword"

The above command returns JSON structured like this:

{
   "user":{
      "id":"2767fd82-418e-4456-87e4-7134ab968994",
      "name":"A Nice Company",
      "email":"info@company.com"
   },
   "token":"YOUR_TOKEN",
   "organization":{
      "id":"12ffb61d-a99e-4edd-8e21-85bec9d42622",
      "email":"info@company.com",
      "eventBusRef":"https://proximiio-event-bus.firebaseio.com/organizations/12ffb61d-a99e-4edd-8e21-85bec9d42622"
   }
}

This endpoint returns an authorization token.

HTTP Request

POST https://api.proximi.fi/core_auth/login

POST Parameters

Parameter Description
email The Email of User
password The Password of User

Registration

curl "https://api.proximi.fi/core_auth/registration" \
  -X POST \
  -d "email=john@doe.com&password=somePassword&last_name=Doe&first_name=John&background=FreelanceDeveloper&company=FreeHero&country=Finland"

The above command returns JSON structured like this:

{
   "user":{
      "id":"f73d17cb-98ce-4f90-8d75-a1e5aa592c2d",
      "name":"Doe John",
      "email":"john@doe.com"
   },
   "token":"YOUR_TOKEN",
   "organization":{
      "id":"6ecd3382-0134-41b0-baca-0256b70ab957",
      "name":"FreeHero",
      "background":"FreelanceDeveloper",
      "country":"Finland",
      "email":"john@doe.com",
      "eventBusRef":"https://proximiio-event-bus.firebaseio.com/organizations/6ecd3382-0134-41b0-baca-0256b70ab957"
   }
}

This endpoint returns an authorization token, user object and organization object.

HTTP Request

POST https://api.proximi.fi/core_auth/registration

POST Parameters

Parameter Description
email The Email of User
password The Password of User
first_name First Name of User
last_name Last Name of User
background Background of User
country Country of User

Current User

curl "https://api.proximi.fi/core/current_user" \
  -X GET 

The above command returns JSON structured like this:

{
   "id":"15512345-4368-487b-8434-8dedba775c5f",
   "name":"Devs Proximiio",
   "first_name":"Devs",
   "last_name":"Proximiio",
   "email":"devs@proximi.io",
   "organization_id":"2fd123456-5243-4226-b182-e138d34825f5",
   "organization":{
      "id":"2fd123456-5243-4226-b182-e138d34825f5",
      "name":"Proximi.io",
      "background":"Freelance developer",
      "country":"Finland",
      "email":"devs@proximi.io",
      "eventBusToken":"eyJ0..TOKEN..K8c",
      "positionsToken":"eyJ0..TOKEN..328",
      "eventBusRef":"https://proximiio-event-bus.firebaseio.com/organizations/2f123455-5243-4226-b182-e138d34825f5"
   },
   "tokens":[
      {
         "eyJ0..TOKEN..hbLQ":{
            "type":"user",
            "user":"Proximiio Devs",
            "user_id":"155b136c-4368-487b-8434-8dedba775c5f",
            "tenant_id":"2fd91f35-5243-4226-b182-e138d34825f5"
         }
      },
      {
         "eyJ0..TOKEN..yqcw":{
            "type":"application",
            "application_id":"e35a29de-79c1-4a4c-be12-7c95ec63e21c"
         }
      }
   ],
   "data":{
      "background":"Freelance developer",
      "country":"Finland",
      "createdAt":"2016-02-29T09:54:58.499Z",
      "email":"devs@proximi.io",
      "first_name":"Devs",
      "id":"155123456-4368-487b-8434-8dedba775c5f",
      "last_name":"Proximiio",
      "name":"Devs Proximiio",
      "organization_id":"2fd123456-5243-4226-b182-e138d34825f5",
      "token":"eyJ0..TOKEN..bLQ",
      "updatedAt":"2016-04-27T14:06:34.883Z"
   }
}

This endpoint returns an authorization tokens and organization data.

HTTP Request

GET https://api.proximi.fi/core/auth

Analytics

Overview

curl "http://api.proximi.fi/analytics/overview?date_from=2016-01-01&date_to=2016-04-01" \    
  -H "Authorization: Bearer YOUR_TOKEN"

The above command returns JSON structured like this:

{
   "visitors":{
      "created":0,
      "total":1,
      "returning":1,
      "loyalty":100
   },
   "visits":15,
   "locales":[
      {
         "group":"sk_SK",
         "reduction":1
      }
   ],
   "platforms":[
      {
         "group":"android",
         "reduction":1
      }
   ],
   "chart":[
      {
         "group":[
            [
               2016,
               2,
               29
            ],
            "parovce",
            "5ceba150-85ec-4761-bdbd-27eb31d221cb"
         ],
         "reduction":11
      },
      {
         "group":[
            [
               2016,
               3,
               1
            ],
            "parovce",
            "5ceba150-85ec-4761-bdbd-27eb31d221cb"
         ],
         "reduction":4
      }
   ],
   "positions":[
      {
         "lat":48.584397016611085,
         "lng":17.826186418533325
      },
      {
         "lat":48.584397016611085,
         "lng":17.826186418533325
      },
      {
         "lat":48.584397016611085,
         "lng":17.826186418533325
      }
   ]
}

This endpoint returns analytic overview.

HTTP Request

GET https://api.proximi.fi/core/analytics/overview

Query Parameters

Parameter Default Description
date_from today - 7 days Date From in format YYYY-MM-DD
date_to today Date To in format YYYY-MM-DD.
place_id * Limit results to Place

Specific Visitor Analytics

curl "http://api.proximi.fi/analytics/visitor/538a33b7-195d-4431-8de0-4bf50154afac" \    
  -H "Authorization: Bearer YOUR_TOKEN"

The above command returns JSON structured like this:

{
"visitor":{
      "createdAt":"2016-02-29T14:29:38.065Z",
      "data":{},
      "id":"538a33b7-195d-4431-8de0-4bf50154afac",
      "locale":"sk_SK",
      "organization_id":"2fd91f35-5243-4226-b182-e138d34825f5",
      "platform":"android",
      "updatedAt":"2016-02-29T14:29:38.065Z",
      "positions":[
         {
            "lat":48.60686561409806,
            "lng":17.833380103111267
         },
         {
            "lat":48.60686561409806,
            "lng":17.833380103111267
         },
         {
            "lat":48.60686561409806,
            "lng":17.833380103111267
         }
      ]
   },
   "firstSeen":"2016-02-28T14:40:52.753Z",
   "lastSeen":"2016-02-29T18:45:52.753Z"
}

This endpoint returns specific visitor analytic overview.

HTTP Request

GET https://api.proximi.fi/analytics/visitor/<id>

Path Parameters

Parameter Default Description
id * ID of Visitor
date_from * Start of Date Range (format: 2016-02-01T16:18:18.214Z)
date_to * End of Date Range (format: 2016-02-01T16:18:18.214Z)

Applications

Get All Applications

curl "http://api.proximi.fi/core/applications"
  -H "Authorization: Bearer YOUR_TOKEN"

The above command returns JSON structured like this:

[
   {
      "createdAt": "2016-02-24T17:32:55.206Z",
      "id": "4617fa24-de24-4b7b-b3b4-71d04e222156",
      "name": "Test App",
      "organization_id": "12ffb61d-a99e-4edd-8e21-85bec9d42622",
      "updatedAt": "2016-02-24T17:32:55.206Z"
   }
]

This endpoint retrieves all applications.

HTTP Request

GET https://api.proximi.fi/core/applications

Query Parameters

Parameter Default Description
limit 1000 Limits number of records.
skip 0 Skips records.

Get a Specific Application

curl "https://api.proximi.fi/core/applications/4617fa24-de24-4b7b-b3b4-71d04e222156"
  -H "Authorization: Bearer YOUR_TOKEN"

The above command returns JSON structured like this:

 {
    "createdAt": "2016-02-24T17:32:55.206Z",
    "id": "4617fa24-de24-4b7b-b3b4-71d04e222156",
    "name": "Test App",    
    "organization_id": "12ffb61d-a99e-4edd-8e21-85bec9d42622",
    "type": "mobile",
    "updatedAt": "2016-02-24T17:32:55.206Z"
 }

This endpoint retrieves a specific application.

HTTP Request

GET https://api.proximi.fi/core/applications/<ID>

URL Parameters

Parameter Description
ID The ID of the application to retrieve

Create a Application

curl "https://api.proximi.fi/core/applications" \
  -X POST \
  -d '{
    "name": "Test App",        
  }' \
  -H "Authorization: Bearer YOUR_TOKEN"

The above command returns JSON structured like this:

{
  "createdAt": "2016-02-24T17:32:55.206Z",
  "id": "4617fa24-de24-4b7b-b3b4-71d04e222156",
  "name": "Test App",
  "organization_id": "12ffb61d-a99e-4edd-8e21-85bec9d42622",
  "type": "mobile",
  "updatedAt": "2016-02-24T17:32:55.206Z"
}

This endpoint creates a specific application.

HTTP Request

POST https://api.proximi.fi/core/applications

Body JSON Object

Parameter Description
name The Name of Application

Update a Application

curl "https://api.proximi.fi/core/applications/4617fa24-de24-4b7b-b3b4-71d04e222156" \
  -X POST \
  -d '{
    "name": "Cool App #2"        
  }' \
  -H "Authorization: Bearer YOUR_TOKEN"

The above command returns JSON structured like this:

{
  "createdAt": "2016-02-24T17:32:55.206Z",
  "id": "4617fa24-de24-4b7b-b3b4-71d04e222156",
  "name": "Cool App #2",
  "organization_id": "12ffb61d-a99e-4edd-8e21-85bec9d42622",
  "type": "mobile",
  "updatedAt": "2016-02-24T17:35:55.206Z"
}

This endpoint updates a specific application.

HTTP Request

PUT https://api.proximi.fi/core/applications/<ID>

URL Parameters

Parameter Description
id ID of Application

Body JSON Object

Parameter Description
id ID of Application
name The Name of Application

Delete a Application

curl "https://api.proximi.fi/core/applications/e2469cf3-8d8a-45c8-ad02-a933817fae52" \
  -X DELETE \
  -H "Authorization: Bearer YOUR_TOKEN"

The above command returns JSON structured like this:

{
  "createdAt": "2016-02-24T17:32:55.206Z",
  "id": "4617fa24-de24-4b7b-b3b4-71d04e222156",
  "name": "Test App",
  "organization_id": "12ffb61d-a99e-4edd-8e21-85bec9d42622",
  "type": "mobile",
  "updatedAt": "2016-02-24T17:32:55.206Z",
  "isDeleted":true
}

This endpoint deletes a specific application.

HTTP Request

DELETE https://api.proximi.fi/core/applications/<ID>

URL Parameters

Parameter Description
id ID of Application

Events

Get All Events

curl "http://api.proximi.fi/core/events"
  -H "Authorization: Bearer YOUR_TOKEN"

The above command returns JSON structured like this:

[
  {
     "organization_id":"2fd91f35-5243-4226-b182-e138d34825f5",
     "event":"enter",
     "data":{
        "department_id":"3113845a-3b90-45af-b00f-11ea328eaf82",
        "floor_id":"466bbd08-cac2-4873-8c7a-7462a1ca0889",
        "geofence_id":"0fc1af05-38a8-4955-ac42-2cda094ed7ce",
        "location":{
           "lat":60.1663156,
           "lng":24.9020367
        },
        "place_id":"5ceba150-85ec-4761-bdbd-27eb31d221cb",
        "type":"native",
        "visitor_id":"538a33b7-195d-4431-8de0-4bf50154afac",
        "tags":[
           "testtag"
        ],
        "department":"test dep",
        "place":"test place",
        "geofence":"test geofence",
        "floor":"test home",
        "visitor":{
           "createdAt":"2016-02-29T14:29:38.065Z",
           "data":{},
           "id":"538a33b7-195d-4431-8de0-4bf50154afac",
           "locale":"en_EN",
           "organization_id":"2fd91f35-5243-4226-b182-e138d34825f5",
           "platform":"android",
           "updatedAt":"2016-02-29T14:29:38.065Z"
        }
     },
     "createdAt":"2016-29-02T21:42:17.775Z",
     "updatedAt":"2016-29-02T21:42:17.775Z",
     "id":"3dc77456-9a61-41b8-8909-e91c48dfd124"
  }
]

This endpoint retrieves all events.

HTTP Request

GET https://api.proximi.fi/core/events

Query Parameters

Parameter Default Description
limit 1000 Limits number of records.
skip 0 Skips records.

Get a Specific Event

curl "https://api.proximi.fi/core/events/3dc77456-9a61-41b8-8909-e91c48dfd124"
  -H "Authorization: Bearer YOUR_TOKEN"

The above command returns JSON structured like this:

{
   "organization_id":"2fd91f35-5243-4226-b182-e138d34825f5",
   "event":"enter",
   "data":{
      "department_id":"3113845a-3b90-45af-b00f-11ea328eaf82",
      "floor_id":"466bbd08-cac2-4873-8c7a-7462a1ca0889",
      "geofence_id":"0fc1af05-38a8-4955-ac42-2cda094ed7ce",
      "location":{
         "lat":60.1663156,
         "lng":24.9020367
      },
      "place_id":"5ceba150-85ec-4761-bdbd-27eb31d221cb",
      "type":"native",
      "visitor_id":"538a33b7-195d-4431-8de0-4bf50154afac",
      "tags":[
         "testtag"
      ],
      "department":"test dep",
      "place":"test place",
      "geofence":"test geofence",
      "floor":"test home",
      "visitor":{
         "createdAt":"2016-02-29T14:29:38.065Z",
         "data":{},
         "id":"538a33b7-195d-4431-8de0-4bf50154afac",
         "locale":"en_EN",
         "organization_id":"2fd91f35-5243-4226-b182-e138d34825f5",
         "platform":"android",
         "updatedAt":"2016-02-29T14:29:38.065Z"
      }
   },
   "createdAt":"2016-29-02T21:42:17.775Z",
   "updatedAt":"2016-29-02T21:42:17.775Z",
   "id":"3dc77456-9a61-41b8-8909-e91c48dfd124"
}

This endpoint retrieves a specific event.

HTTP Request

GET https://api.proximi.fi/core/events/<ID>

URL Parameters

Parameter Description
ID The ID of the event to retrieve

Create a Event

curl "https://api.proximi.fi/core/events" \
  -X POST \
  -H 'Content-Type: application/json' \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -d '{
     "data": {
         "department_id": "3113845a-3b90-45af-b00f-11ea328eaf82",
         "floor_id": "466bbd08-cac2-4873-8c7a-7462a1ca0889",
         "geofence_id": "0fc1af05-38a8-4955-ac42-2cda094ed7ce",
         "location": {
             "lat": 60.1663156,
             "lng": 24.9020367
         },
         "place_id": "5ceba150-85ec-4761-bdbd-27eb31d221cb",
         "type": "native" ,
         "visitor_id": "538a33b7-195d-4431-8de0-4bf50154afac"
     } ,
     "event": "enter"
  }'

The above command returns JSON structured like this:

{
   "organization_id":"2fd91f35-5243-4226-b182-e138d34825f5",
   "event":"enter",
   "data":{
      "department_id":"3113845a-3b90-45af-b00f-11ea328eaf82",
      "floor_id":"466bbd08-cac2-4873-8c7a-7462a1ca0889",
      "geofence_id":"0fc1af05-38a8-4955-ac42-2cda094ed7ce",
      "location":{
         "lat":60.1663156,
         "lng":24.9020367
      },
      "place_id":"5ceba150-85ec-4761-bdbd-27eb31d221cb",
      "type":"native",
      "visitor_id":"538a33b7-195d-4431-8de0-4bf50154afac",
      "tags":[
         "testtag"
      ],
      "department":"test dep",
      "place":"test place",
      "geofence":"test geofence",
      "floor":"test home",
      "visitor":{
         "createdAt":"2016-02-29T14:29:38.065Z",
         "data":{},
         "id":"538a33b7-195d-4431-8de0-4bf50154afac",
         "locale":"en_EN",
         "organization_id":"2fd91f35-5243-4226-b182-e138d34825f5",
         "platform":"android",
         "updatedAt":"2016-02-29T14:29:38.065Z"
      }
   },
   "createdAt":"2016-29-02T21:42:17.775Z",
   "updatedAt":"2016-29-02T21:42:17.775Z",
   "id":"3dc77456-9a61-41b8-8909-e91c48dfd124"
}

This endpoint creates a specific event. In case of creating an "exit" event, you can add optional attribute "enter_event_id" containing id of the "enter" event, this is especially useful if you want to have more control over dwell times.

HTTP Request

POST https://api.proximi.fi/core/events

Body JSON Object

Parameter Description
data.department_id The ID of the Department
data.floor_id The ID of the Floor
data.geofence_id The ID of the Geofence
data.location Location object containing lat & lng attributes
data.place_id The ID of the Place
data.type Type of Input
data.visitor_id The ID of the Visitor
event Type of Event (enter/exit)

Geofences

Get All Geofences

curl "http://api.proximi.fi/core/geofences"
  -H "Authorization: Bearer YOUR_TOKEN"

The above command returns JSON structured like this:

[
  {
    "address": "Shaftesbury Avenue 4" ,
    "area": {
        "lat": 48.584404113908526 ,
        "lng": 17.826119363307953
    } ,
    "createdAt": "2016-02-29T10:52:42.219Z" ,
    "department_id": "ec320cac-d0fc-4a61-a46a-2d279c71c7e0" ,
    "id": "af3e98dc-f6bc-4f48-b6b0-dff102f20133" ,
    "name": "test geofence" ,
    "organization_id": "2fd91f35-5243-4226-b182-e138d34825f5" ,
    "place_id": "abb40118-446a-4540-bee2-ea723c26cbb7" ,
    "radius": 8.38458105877176 ,
    "updatedAt": "2016-02-29T10:52:42.219Z"
  }
]

This endpoint retrieves all geofences. GeoSearch can be enabled by adding all optional search_* query parameters.

HTTP Request

GET https://api.proximi.fi/core/geofences

Query Parameters

Parameter Default Description
limit 1000 Limits number of records.
skip 0 Skips records.
search_latitude GeoSearch Latitude.
search_longitude GeoSearch Longitude.
search_radius GeoSearch Radius (meters).
search_distance_order ASC GeoSearch Distance ordering direction (values: ASC, DESC)

Get a Specific Geofence

curl "https://api.proximi.fi/core/geofences/af3e98dc-f6bc-4f48-b6b0-dff102f20133"
  -H "Authorization: Bearer YOUR_TOKEN"

The above command returns JSON structured like this:

 {
    "address": "Shaftesbury Avenue 4" ,
    "area": {
        "lat": 53.391654,
        "lng": -2.3273801000000276  
    } ,
    "createdAt": "2016-02-29T10:52:42.219Z" ,
    "department_id": "ec320cac-d0fc-4a61-a46a-2d279c71c7e0" ,
    "id": "af3e98dc-f6bc-4f48-b6b0-dff102f20133" ,
    "name": "test geofence" ,
    "organization_id": "2fd91f35-5243-4226-b182-e138d34825f5" ,
    "place_id": "abb40118-446a-4540-bee2-ea723c26cbb7" ,
    "radius": 8.38458105877176 ,
    "updatedAt": "2016-02-29T10:52:42.219Z"
} 

This endpoint retrieves a specific geofence.

HTTP Request

GET https://api.proximi.fi/core/geofences/<ID>

URL Parameters

Parameter Description
ID The ID of the geofence to retrieve

Create a Geofence

curl "https://api.proximi.fi/core/geofences" \
  -X POST \
  -H 'Content-Type: application/json' \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -d '{
    "name": "test geofence",
    "address": "Shaftesbury Avenue 4",
    "area": {
        "lat": 53.391654,
        "lng": -2.3273801000000276        
    },
    "radius": 8.38458105877176    
  }'

The above command returns JSON structured like this:

{
    "address": "Shaftesbury Avenue 4" ,
    "area": {
        "lat": 53.391654,
        "lng": -2.3273801000000276  
    } ,
    "createdAt": "2016-02-29T10:52:42.219Z" ,
    "department_id": "ec320cac-d0fc-4a61-a46a-2d279c71c7e0" ,
    "id": "af3e98dc-f6bc-4f48-b6b0-dff102f20133" ,
    "name": "test geofence" ,
    "organization_id": "2fd91f35-5243-4226-b182-e138d34825f5" ,
    "place_id": "abb40118-446a-4540-bee2-ea723c26cbb7" ,
    "radius": 8.38458105877176 ,
    "updatedAt": "2016-02-29T10:52:42.219Z"
}

This endpoint creates a specific geofence.

HTTP Request

POST https://api.proximi.fi/core/geofences

Body JSON Object

Parameter Description
name The Name of Geofence
address The Address of Geofence
area.lat Area center point latitude
area.lng Area center point longitude
radius Geofence radius in meters
remote_id The remote identifier for a place

Update a Geofence

curl "https://api.proximi.fi/core/geofences/af3e98dc-f6bc-4f48-b6b0-dff102f20133" \
  -X POST \
  -H 'Content-Type: application/json' \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -d '{
    "name": "test geofence #2"        
  }'

The above command returns JSON structured like this:

{
    "address": "Shaftesbury Avenue 4" ,
    "area": {
        "lat": 48.584404113908526 ,
        "lng": 17.826119363307953
    } ,
    "createdAt": "2016-02-29T10:52:42.219Z" ,
    "department_id": "ec320cac-d0fc-4a61-a46a-2d279c71c7e0" ,
    "id": "af3e98dc-f6bc-4f48-b6b0-dff102f20133" ,
    "name": "test geofence #2" ,
    "organization_id": "2fd91f35-5243-4226-b182-e138d34825f5" ,
    "place_id": "abb40118-446a-4540-bee2-ea723c26cbb7" ,
    "radius": 8.38458105877176 ,
    "updatedAt": "2016-02-29T10:54:41.112Z"
}

This endpoint updates a specific geofence.

HTTP Request

PUT https://api.proximi.fi/core/geofences/<ID>

URL Parameters

Parameter Description
id ID of Geofence

Body JSON Object

Parameter Description
name The Name of Geofence
address The Address of Geofence
area.lat Area center point latitude
area.lng Area center point longitude
radius Geofence radius in meters
remote_id The remote identifier for a place

Delete a Geofence

curl "https://api.proximi.fi/core/geofences/e2469cf3-8d8a-45c8-ad02-a933817fae52" \
  -X DELETE \
  -H "Authorization: Bearer YOUR_TOKEN"

The above command returns JSON structured like this:

{
    "address": "Shaftesbury Avenue 4" ,
    "area": {
        "lat": 48.584404113908526 ,
        "lng": 17.826119363307953
    } ,
    "createdAt": "2016-02-29T10:52:42.219Z" ,
    "department_id": "ec320cac-d0fc-4a61-a46a-2d279c71c7e0" ,
    "id": "af3e98dc-f6bc-4f48-b6b0-dff102f20133" ,
    "name": "test geofence #2" ,
    "organization_id": "2fd91f35-5243-4226-b182-e138d34825f5" ,
    "place_id": "abb40118-446a-4540-bee2-ea723c26cbb7" ,
    "radius": 8.38458105877176 ,
    "updatedAt": "2016-02-29T10:54:41.112Z" ,
    "isDeleted":true
}

This endpoint deletes a specific geofence.

HTTP Request

DELETE https://api.proximi.fi/core/geofences/<ID>

URL Parameters

Parameter Description
id ID of Geofence

Places

Get All Places

curl "http://api.proximi.fi/core/places"
  -H "Authorization: Bearer YOUR_TOKEN"

The above command returns JSON structured like this:

[
  {
    "address": "Shaftesbury Avenue 4",
    "createdAt": "2016-02-24T10:34:32.918Z",
    "id": "737e2993-79c9-4d31-82c2-b7c47601d673",
    "location": {
      "lat": 53.391654,
      "lng": -2.3273801000000276
    },
    "name": "Fashion Retail",
    "organization_id": "12ffb61d-a99e-4edd-8e21-85bec9d42622",
    "updatedAt": "2016-02-24T10:34:32.918Z",
    "geopoint": {
      "lat": 53.391654,
      "lng": -2.3273801000000276
    }
  }
]

This endpoint retrieves all places. GeoSearch can be enabled by adding all optional search_* query parameters.

HTTP Request

GET https://api.proximi.fi/core/places

Query Parameters

Parameter Default Description
limit 1000 Limits number of records.
skip 0 Skips records.
search_latitude GeoSearch Latitude
search_longitude GeoSearch Longitude
search_radius GeoSearch Radius
search_distance_order ASC GeoSearch Distance ordering direction (values: ASC, DESC)

Get a Specific Place

curl "https://api.proximi.fi/core/places/737e2993-79c9-4d31-82c2-b7c47601d673"
  -H "Authorization: Bearer YOUR_TOKEN"

The above command returns JSON structured like this:

{
  "address": "Shaftesbury Avenue 4",
  "createdAt": "2016-02-24T10:34:32.918Z",
  "id": "737e2993-79c9-4d31-82c2-b7c47601d673",
  "location": {
    "lat": 53.391654,
    "lng": -2.3273801000000276
  },
  "name": "Fashion Retail",
  "organization_id": "12ffb61d-a99e-4edd-8e21-85bec9d42622"
  "updatedAt": "2016-02-24T10:34:32.918Z",
  "geopoint": {
    "lat": 53.391654,
    "lng": -2.3273801000000276
  }
}

This endpoint retrieves a specific place.

HTTP Request

GET https://api.proximi.fi/core/places/<ID>

URL Parameters

Parameter Description
ID The ID of the place to retrieve

Create a Place

curl "https://api.proximi.fi/core/places" \
  -X POST \
  -H 'Content-Type: application/json' \
  -d '{
    "name": "Retail Store #1",
    "address": "Shaftesbury Avenue 4",
    "location": {
        "lat": 53.391654,
        "lng": -2.3273801000000276
    },
    "remote_id": "123123123"  
  }' \
  -H "Authorization: Bearer YOUR_TOKEN"

The above command returns JSON structured like this:

{
  "address": "Shaftesbury Avenue 4",
  "createdAt": "2016-02-24T10:34:32.918Z",
  "id": "737e2993-79c9-4d31-82c2-b7c47601d673",
  "location": {
    "lat": 53.391654,
    "lng": -2.3273801000000276
  },
  "name": "Fashion Retail",
  "organization_id": "12ffb61d-a99e-4edd-8e21-85bec9d42622",
  "updatedAt": "2016-02-24T10:34:32.918Z",
  "remote_id": "123123123"
}

This endpoint creates a specific place.

HTTP Request

POST https://api.proximi.fi/core/places

Body JSON Object

Parameter Description
name The Name of Place
address The Address of Place
location.lat Latititude of Place center point
location.lng Longitude of Place center point
location.zoom Zoom Level for map
tags Array of Tag strings (deprecated)
remote_id The remote identifier for a place

Update a Place

curl "https://api.proximi.fi/core/places/e2469cf3-8d8a-45c8-ad02-a933817fae52" \
  -X POST \
  -H 'Content-Type: application/json' \
  -d '{
    "name": "Retail Store #2"        
  }' \
  -H "Authorization: Bearer YOUR_TOKEN"

The above command returns JSON structured like this:

{
  "address": "Shaftesbury Avenue 4",
  "createdAt": "2016-02-24T16:01:30.750Z",
  "id": "e2469cf3-8d8a-45c8-ad02-a933817fae52",
  "location": {
    "lat": 53.391654,
    "lng": -2.3273801000000276
  },
  "name": "Retail Store #2",
  "organization_id": "12ffb61d-a99e-4edd-8e21-85bec9d42622",
  "updatedAt": "2016-02-24T16:07:20.578Z",
  "remote_id": "123123123"
}

This endpoint updates a specific place.

HTTP Request

PUT https://api.proximi.fi/core/places/<ID>

URL Parameters

Parameter Description
id ID of Place

Body JSON Object

Parameter Description
id ID of Place
name The Name of Place
address The Address of Place
location The Location object of Place (containing lat,lng properties)
tags Array of Tag strings (deprecated)
remote_id The remote identifier for a place

Delete a Place

curl "https://api.proximi.fi/core/places/e2469cf3-8d8a-45c8-ad02-a933817fae52" \
  -X DELETE \
  -H "Authorization: Bearer YOUR_TOKEN"

The above command returns JSON structured like this:

{
  "address": "Shaftesbury Avenue 4",
  "createdAt": "2016-02-24T16:01:30.750Z",
  "id": "e2469cf3-8d8a-45c8-ad02-a933817fae52",
  "location": {
    "lat": 53.391654,
    "lng": -2.3273801000000276
  },
  "name": "Retail Store #2",
  "organization_id": "12ffb61d-a99e-4edd-8e21-85bec9d42622",
  "updatedAt": "2016-02-24T16:07:20.578Z",
  "remote_id": "123123123",
  "isDeleted":true
}

This endpoint deletes a specific place.

HTTP Request

DELETE https://api.proximi.fi/core/places/<ID>

URL Parameters

Parameter Description
id ID of Place

Floors

Get All Floors

curl "http://api.proximi.fi/core/floors"
  -H "Authorization: Bearer YOUR_TOKEN"

The above command returns JSON structured like this:

[
  {
    "anchors": [
        {"lat":60.64399890000001,"lng":25.56826699999999},
        {"lat":60.64399890000001,"lng":25.56726699999999},
        {"lat":60.64299890000001,"lng":25.56726699999999},
        {"lat":60.64299890000001,"lng":25.56826699999999}
    ],
    "createdAt":"2016-02-25T07:36:00.256Z",
    "id":"267e79be-8a1c-4f64-9631-a383114c99fd",
    "name":"Base Floor #1",
    "organization_id":"12ffb61d-a99e-4edd-8e21-85bec9d42622",
    "place_id":"737e2993-79c9-4d31-82c2-b7c47601d673",
    "updatedAt":"2016-02-25T07:36:00.256Z",
    "remote_id": "123123123"
  }
]

This endpoint retrieves all floors.

HTTP Request

GET https://api.proximi.fi/core/floors

Query Parameters

Parameter Default Description
limit 1000 Limits number of records.
skip 0 Skips records.

Get a Specific Floor

curl "https://api.proximi.fi/core/floors/737e2993-79c9-4d31-82c2-b7c47601d673"
  -H "Authorization: Bearer YOUR_TOKEN"

The above command returns JSON structured like this:

{
    "anchors": [
        {"lat":60.64399890000001,"lng":25.56826699999999},
        {"lat":60.64399890000001,"lng":25.56726699999999},
        {"lat":60.64299890000001,"lng":25.56726699999999},
        {"lat":60.64299890000001,"lng":25.56826699999999}
    ],
    "createdAt":"2016-02-25T07:36:00.256Z",
    "id":"267e79be-8a1c-4f64-9631-a383114c99fd",
    "name":"Base Floor #1",
    "organization_id":"12ffb61d-a99e-4edd-8e21-85bec9d42622",
    "place_id":"737e2993-79c9-4d31-82c2-b7c47601d673",
    "updatedAt":"2016-02-25T07:36:00.256Z",
    "remote_id": "123123123"
}

This endpoint retrieves a specific floor.

HTTP Request

GET https://api.proximi.fi/core/floors/<ID>

URL Parameters

Parameter Description
ID The ID of the floor to retrieve

Create a Floor

curl "https://api.proximi.fi/core/floors" \
  -X POST \
  -d '{
    "name": "Retail Store #1",
    "place_id": "737e2993-79c9-4d31-82c2-b7c47601d673",
    "anchors": [
        { "lat": 60.64399890000001,"lng": 25.56826699999999 },
        { "lat": 60.64399890000001,"lng": 25.56726699999999 },
        { "lat": 60.64299890000001,"lng": 25.56726699999999 },
        { "lat": 60.64299890000001,"lng": 25.56826699999999 }
    ],
    "remote_id": "123123123"
  }' \
  -H "Authorization: Bearer YOUR_TOKEN"

The above command returns JSON structured like this:

{
  "anchors": [
    {"lat":60.64399890000001,"lng":25.56826699999999},
    {"lat":60.64399890000001,"lng":25.56726699999999},
    {"lat":60.64299890000001,"lng":25.56726699999999},
    {"lat":60.64299890000001,"lng":25.56826699999999}],
    "createdAt":"2016-02-25T07:36:00.256Z",
    "id":"267e79be-8a1c-4f64-9631-a383114c99fd",
    "name":"Base Floor #1",
    "organization_id":"12ffb61d-a99e-4edd-8e21-85bec9d42622",
    "place_id":"737e2993-79c9-4d31-82c2-b7c47601d673",
    "updatedAt":"2016-02-25T07:36:00.256Z",
    "remote_id": "123123123"
}

This endpoint creates a specific floor.

HTTP Request

POST https://api.proximi.fi/core/floors

Body JSON Object

Parameter Description
name The Name of Floor
place_id The ID of Place
remote_id The remote identifier for a place
anchors The Location objects marking Floor boundaries (containing lat,lng properties)

Update a Floor

curl "https://api.proximi.fi/core/floors/267e79be-8a1c-4f64-9631-a383114c99fd" \
  -X POST \
  -d '{
    "name": "Base Floor #2"        
  }' \
  -H "Authorization: Bearer YOUR_TOKEN"

The above command returns JSON structured like this:

{
    "anchors": [
        {"lat":60.64399890000001,"lng":25.56826699999999},
        {"lat":60.64399890000001,"lng":25.56726699999999},
        {"lat":60.64299890000001,"lng":25.56726699999999},
        {"lat":60.64299890000001,"lng":25.56826699999999}
    ],
    "createdAt":"2016-02-25T07:36:00.256Z",
    "id":"267e79be-8a1c-4f64-9631-a383114c99fd",
    "name":"Base Floor #1",
    "organization_id":"12ffb61d-a99e-4edd-8e21-85bec9d42622",
    "place_id":"737e2993-79c9-4d31-82c2-b7c47601d673",
    "updatedAt":"2016-02-25T07:36:00.256Z",
    "remote_id": "123123123"
}

This endpoint updates a specific floor.

HTTP Request

PUT https://api.proximi.fi/core/floors/<ID>

URL Parameters

Parameter Description
id ID of Floor

Body JSON Object

Parameter Description
id ID of Floor
name The Name of Floor
place_id The ID of Place
remote_id The remote identifier for a place
anchors The Location objects marking Floor boundaries (containing lat,lng properties)

Delete a Floor

curl "https://api.proximi.fi/core/floors/e2469cf3-8d8a-45c8-ad02-a933817fae52" \
  -X DELETE \
  -H 'Content-Type: application/json' \
  -H "Authorization: Bearer YOUR_TOKEN"

The above command returns JSON structured like this:

{
    "anchors": [
        {"lat":60.64399890000001,"lng":25.56826699999999},
        {"lat":60.64399890000001,"lng":25.56726699999999},
        {"lat":60.64299890000001,"lng":25.56726699999999},
        {"lat":60.64299890000001,"lng":25.56826699999999}
    ],    
    "createdAt":"2016-02-25T07:36:00.256Z",
    "id":"267e79be-8a1c-4f64-9631-a383114c99fd",
    "name":"Base Floor #1",
    "organization_id":"12ffb61d-a99e-4edd-8e21-85bec9d42622",
    "place_id":"737e2993-79c9-4d31-82c2-b7c47601d673",
    "updatedAt":"2016-02-25T07:36:00.256Z",
    "remote_id": "123123123",
    "isDeleted":true
}

This endpoint deletes a specific floor.

HTTP Request

DELETE https://api.proximi.fi/core/floors/<ID>

URL Parameters

Parameter Description
id ID of Floor

Departments

Get All Departments

curl "http://api.proximi.fi/core/departments"
  -H "Authorization: Bearer YOUR_TOKEN"

The above command returns JSON structured like this:

[
  {
    "address": "Shaftesbury Avenue 4",
    "createdAt": "2016-02-24T10:34:32.918Z",
    "id": "737e2993-79c9-4d31-82c2-b7c47601d673",
    "location": {
      "lat": 53.391654,
      "lng": -2.3273801000000276,
      "zoom": 10
    },
    "name": "Fashion Retail",
    "organization_id": "12ffb61d-a99e-4edd-8e21-85bec9d42622",
    "tags": [
      "fashion"
    ],
    "updatedAt": "2016-02-24T10:34:32.918Z"
  }
]

This endpoint retrieves all departments.

HTTP Request

GET https://api.proximi.fi/core/departments

Query Parameters

Parameter Default Description
limit 1000 Limits number of records.
skip 0 Skips records.

Get a Specific Department

curl "https://api.proximi.fi/core/departments/3ea5a253-4aa2-492e-9373-f7dab7be2557"
  -H "Authorization: Bearer YOUR_TOKEN"

The above command returns JSON structured like this:

{
  "createdAt":"2016-02-25T15:52:42.516Z",
  "floor_id":"bcb0e43e-2b41-443a-973f-90cb1b6bf281",
  "id":"3ea5a253-4aa2-492e-9373-f7dab7be2557",
  "name":"Pants Department #1",
  "organization_id":"12ffb61d-a99e-4edd-8e21-85bec9d42622",
  "place_id":"737e2993-79c9-4d31-82c2-b7c47601d673",
  "tags":["coolPant!","50%"],
  "updatedAt":"2016-02-25T16:08:08.112Z"
}

This endpoint retrieves a specific department.

HTTP Request

GET https://api.proximi.fi/core/departments/<ID>

URL Parameters

Parameter Description
ID The ID of the department to retrieve

Create a Department

curl "https://api.proximi.fi/core/departments" \
  -H "Content-Type: application/json" \
  -X POST \
  -d '{
    "name": "Pants Department #1",
    "place_id": "737e2993-79c9-4d31-82c2-b7c47601d673",
    "floor_id": "bcb0e43e-2b41-443a-973f-90cb1b6bf281",
    "tags": [ "Pants" ]
  }'  \
  -H "Authorization: Bearer YOUR_TOKEN"

The above command returns JSON structured like this:

{
  "createdAt":"2016-02-25T15:52:42.516Z",
  "floor_id":"bcb0e43e-2b41-443a-973f-90cb1b6bf281",
  "id":"3ea5a253-4aa2-492e-9373-f7dab7be2557",
  "name":"Pants Department #1",
  "organization_id":"12ffb61d-a99e-4edd-8e21-85bec9d42622",
  "place_id":"737e2993-79c9-4d31-82c2-b7c47601d673",
  "tags":["Pants"],
  "updatedAt":"2016-02-25T15:52:42.516Z"
}

This endpoint creates a specific department.

HTTP Request

POST https://api.proximi.fi/core/departments

Body JSON Object

Parameter Description
name The Name of Department
place_id ID of Place containing the Department
floor_id ID of Floor containing the Department
tags Array of Tag strings (deprecated)
remote_id The remote identifier for a place

Update a Department

curl "https://api.proximi.fi/core/departments/3ea5a253-4aa2-492e-9373-f7dab7be2557" \
  -X POST \
  -d '{
    "tags": [ "coolPant!", "50%" ]        
  }' \
  -H "Authorization: Bearer YOUR_TOKEN"

The above command returns JSON structured like this:

{
  "createdAt":"2016-02-25T15:52:42.516Z",
  "floor_id":"bcb0e43e-2b41-443a-973f-90cb1b6bf281",
  "id":"3ea5a253-4aa2-492e-9373-f7dab7be2557",
  "name":"Pants Department #1",
  "organization_id":"12ffb61d-a99e-4edd-8e21-85bec9d42622",
  "place_id":"737e2993-79c9-4d31-82c2-b7c47601d673",
  "tags":["coolPant!","50%"],
  "updatedAt":"2016-02-25T16:08:08.112Z"
}

This endpoint updates a specific department.

HTTP Request

PUT https://api.proximi.fi/core/departments/<ID>

URL Parameters

Parameter Description
id ID of Department

Body JSON Object

Parameter Description
id ID of Department
place_id ID of Place containing the Department
floor_id ID of Floor containing the Department
tags Array of Tag strings (deprecated)
remote_id The remote identifier for a place

Delete a Department

curl "https://api.proximi.fi/core/departments/3ea5a253-4aa2-492e-9373-f7dab7be2557" \
  -X DELETE \
  -H "Authorization: Bearer YOUR_TOKEN"

The above command returns JSON structured like this:

{
  "createdAt":"2016-02-25T15:52:42.516Z",
  "floor_id":"bcb0e43e-2b41-443a-973f-90cb1b6bf281",
  "id":"3ea5a253-4aa2-492e-9373-f7dab7be2557",
  "name":"Pants Department #1",
  "organization_id":"12ffb61d-a99e-4edd-8e21-85bec9d42622",
  "place_id":"737e2993-79c9-4d31-82c2-b7c47601d673",
  "tags":["coolPant!","50%"],
  "updatedAt":"2016-02-25T16:08:08.112Z",
  "isDeleted":true
}

This endpoint deletes a specific department.

HTTP Request

DELETE https://api.proximi.fi/core/departments/<ID>

URL Parameters

Parameter Description
id ID of Department

Inputs

Get All Inputs

curl "http://api.proximi.io/core/inputs"
  -H "Authorization: Bearer YOUR_TOKEN"

The above command returns JSON structured like this:

[
  {
   "createdAt":"2016-03-02T00:24:10.361Z",
   "data":{
      "instanceid":"625452715045",
      "marker":{
         "lat":48.584397016611085,
         "lng":17.826186418533325
      },
      "namespaceid":"f7826da6bc5b71e0893e"
   },
   "department_id":"ec320cac-d0fc-4a61-a46a-2d279c71c7e0",
   "id":"3062006c-ce70-4aa5-8fb1-ac9f018f858b",
   "name":"test input #2",
   "organization_id":"2fd91f35-5243-4226-b182-e138d34825f5",
   "type":"Eddystone Beacon",
   "triggerFloorChange": true,
   "triggerVenueChange": true,
   "updatedAt":"2016-03-02T00:25:23.321Z"
  }
]

This endpoint retrieves all inputs.

HTTP Request

GET https://api.proximi.fi/core/inputs

Query Parameters

Parameter Default Description
limit 1000 Limits number of records.
skip 0 Skips records.

Get a Specific Input

curl "https://api.proximi.fi/core/inputs/737e2993-79c9-4d31-82c2-b7c47601d673"
  -H "Authorization: Bearer YOUR_TOKEN"

The above command returns JSON structured like this:

{
   "createdAt":"2016-03-02T00:24:10.361Z",
   "data":{
      "instanceid":"625452715045",
      "marker":{
         "lat":48.584397016611085,
         "lng":17.826186418533325
      },
      "namespaceid":"f7826da6bc5b71e0893e"
   },
   "department_id":"ec320cac-d0fc-4a61-a46a-2d279c71c7e0",
   "id":"3062006c-ce70-4aa5-8fb1-ac9f018f858b",
   "name":"test input #2",
   "organization_id":"2fd91f35-5243-4226-b182-e138d34825f5",
   "type":"Eddystone Beacon",
   "triggerFloorChange": true,
   "triggerVenueChange": true,
   "updatedAt":"2016-03-02T00:25:23.321Z"
}

This endpoint retrieves a specific input.

HTTP Request

GET https://api.proximi.fi/core/inputs/<ID>

URL Parameters

Parameter Description
ID The ID of the input to retrieve

Create a Input

curl "https://api.proximi.fi/core/inputs" \
  -X POST \
  -d '{
    "name": "Eddy Beacon #1",
    "data": {
      "instanceid": "625452715045",
      "marker": {
        "lat": 48.584397016611085,
        "lng": 17.826186418533325
      },
      "namespaceid": "f7826da6bc5b71e0893e"
    },
    "department_id": "ec320cac-d0fc-4a61-a46a-2d279c71c7e0",
    "name": "test input",
    "type": "Eddystone Beacon",
    "triggerFloorChange": true,
    "triggerVenueChange": true, 
  }' \
  -H "Authorization: Bearer YOUR_TOKEN"

The above command returns JSON structured like this:

{
   "createdAt":"2016-03-02T00:24:10.361Z",
   "data":{
      "instanceid":"625452715045",
      "marker":{
         "lat":48.584397016611085,
         "lng":17.826186418533325
      },
      "namespaceid":"f7826da6bc5b71e0893e"
   },
   "department_id":"ec320cac-d0fc-4a61-a46a-2d279c71c7e0",
   "id":"3062006c-ce70-4aa5-8fb1-ac9f018f858b",
   "name":"test input",
   "organization_id":"2fd91f35-5243-4226-b182-e138d34825f5",
   "type":"Eddystone Beacon",
   "triggerFloorChange": true,
   "triggerVenueChange": true,
   "updatedAt":"2016-03-02T00:24:10.361Z"
}

This endpoint creates a specific input.

HTTP Request

POST https://api.proximi.fi/core/inputs

Body JSON Object

Parameter Description
data.instanceid Eddystone Beacon Instance Id (eddystone input type only)
data.namespaceid Eddystone Beacon Namespace Id (eddystone input type only)
data.major iBeacon Major (iBeacon input type only)
data.minor iBeacon Minor (iBeacon input type only)
data.uuid iBeacon UUID (iBeacon input type only)
data.marker.lat Latitude of Input
data.marker.lng Longitude of Input
name The Name of Input
type The Type of Input (Eddystone Beacon/iBeacon/Custom)
triggerFloorChange (true/false) Trigger Floor Change,
triggerVenueChange (true/false) Trigger Venue Change,

Update a Input

curl "https://api.proximi.fi/core/inputs/e2469cf3-8d8a-45c8-ad02-a933817fae52" \
  -X POST \
  -d '{
   "name": "test input #2",

  }' \
  -H "Authorization: Bearer YOUR_TOKEN"

The above command returns JSON structured like this:

{
   "createdAt":"2016-03-02T00:24:10.361Z",
   "data":{
      "instanceid":"625452715045",
      "marker":{
         "lat":48.584397016611085,
         "lng":17.826186418533325
      },
      "namespaceid":"f7826da6bc5b71e0893e"
   },
   "department_id":"ec320cac-d0fc-4a61-a46a-2d279c71c7e0",
   "id":"3062006c-ce70-4aa5-8fb1-ac9f018f858b",
   "name":"test input #2",
   "organization_id":"2fd91f35-5243-4226-b182-e138d34825f5",
   "type":"Eddystone Beacon",
   "triggerFloorChange": true,
   "triggerVenueChange": true,
   "updatedAt":"2016-03-02T00:25:23.321Z"
}

This endpoint updates a specific input.

HTTP Request

PUT https://api.proximi.fi/core/inputs/<ID>

URL Parameters

Parameter Description
id ID of Input

Body JSON Object

Parameter Description
data.instanceid Eddystone Beacon Instance Id (eddystone input type only)
data.namespaceid Eddystone Beacon Namespace Id (eddystone input type only)
data.major iBeacon Major (iBeacon input type only)
data.minor iBeacon Minor (iBeacon input type only)
data.uuid iBeacon UUID (iBeacon input type only)
data.marker.lat Latitude of Input
data.marker.lng Longitude of Input
name The Name of Input
type The Type of Input (Eddystone Beacon/iBeacon/Custom)
triggerFloorChange (true/false) Trigger Floor Change,
triggerVenueChange (true/false) Trigger Venue Change,

Delete a Input

curl "https://api.proximi.fi/core/inputs/3062006c-ce70-4aa5-8fb1-ac9f018f858b" \
  -X DELETE \
  -H "Authorization: Bearer YOUR_TOKEN"

The above command returns JSON structured like this:

{
   "createdAt":"2016-03-02T00:24:10.361Z",
   "data":{
      "instanceid":"625452715045",
      "marker":{
         "lat":48.584397016611085,
         "lng":17.826186418533325
      },
      "namespaceid":"f7826da6bc5b71e0893e"
   },
   "department_id":"ec320cac-d0fc-4a61-a46a-2d279c71c7e0",
   "id":"3062006c-ce70-4aa5-8fb1-ac9f018f858b",
   "name":"test input #2",
   "organization_id":"2fd91f35-5243-4226-b182-e138d34825f5",
   "type":"Eddystone Beacon",
   "triggerFloorChange": true,
   "triggerVenueChange": true,
   "updatedAt":"2016-03-02T00:25:23.321Z",
   "isDeleted":true
}

This endpoint deletes a specific input.

HTTP Request

DELETE https://api.proximi.fi/core/inputs/<ID>

URL Parameters

Parameter Description
id ID of Input

Visitors

Get All Visitors

curl "http://api.proximi.fi/core/visitors"
  -H "Authorization: Bearer YOUR_TOKEN"

The above command returns JSON structured like this:

[
  {
    "createdAt": "2016-02-29T14:29:38.065Z" ,
    "data": {
        "board": "msm8992" ,
        "bootloader": "unknown" ,
        "brand": "Xiaomi" ,
        "densityDPI": 480 ,
        "device": "libra" ,
        "display": "LMY47V" ,
        "fingerprint": "Xiaomi/libra/libra:5.1.1/LMY47V/6.2.18:user/release-keys" ,
        "fontScale": 0.8600000143051147 ,
        "hardKeyboardHidden": 2 ,
        "hardware": "qcom" ,
        "host": "zc-miui-ota-bd48" ,
        "id": "LMY47V" ,
        "keyboard": 1 ,
        "keyboardHidden": 1 ,
        "localeData": "en_EN" ,
        "manufacturer": "Xiaomi" ,
        "mcc": 231 ,
        "mnc": 6 ,
        "model": "Mi-4c" ,
        "navigation": 1 ,
        "navigationHidden": 2 ,
        "orientation": 1 ,
        "product": "libra" ,
        "radio": "BO.2.6.c1.2-0217_2138_79144e6" ,
        "screenHeightDP": 620 ,
        "screenLayout": 268435554 ,
        "screenWidthDP": 360 ,
        "serial": "ed92c942" ,
        "smallestScreenWidthDP": 360 ,
        "supportedABIs": [
            "arm64-v8a" ,
            "armeabi-v7a" ,
            "armeabi"
        ] ,
        "tags": "release-keys" ,
        "time": 1455863625000 ,
        "touchscreen": 3 ,
        "type": "user" ,
        "uiMode": 28 ,
        "user": "6.2.25" ,
        "version": "5.1.1"
    } ,
    "id": "538a33b7-195d-4431-8de0-4bf50154afac" ,
    "locale": "en_EN" ,
    "organization_id": "2fd91f35-5243-4226-b182-e138d34825f5" ,
    "platform": "android" ,
    "updatedAt": "2016-02-29T14:29:38.065Z"
  }
]

This endpoint retrieves all visitors.

HTTP Request

GET https://api.proximi.fi/core/visitors

Query Parameters

Parameter Default Description
limit 1000 Limits number of records.
skip 0 Skips records.

Get a Specific Visitor

curl "https://api.proximi.fi/core/visitors/538a33b7-195d-4431-8de0-4bf50154afac"
  -H "Authorization: Bearer YOUR_TOKEN"

The above command returns JSON structured like this:

{
    "createdAt": "2016-02-29T14:29:38.065Z" ,
    "data": {
        "board": "msm8992" ,
        "bootloader": "unknown" ,
        "brand": "Xiaomi" ,
        "densityDPI": 480 ,
        "device": "libra" ,
        "display": "LMY47V" ,
        "fingerprint": "Xiaomi/libra/libra:5.1.1/LMY47V/6.2.18:user/release-keys" ,
        "fontScale": 0.8600000143051147 ,
        "hardKeyboardHidden": 2 ,
        "hardware": "qcom" ,
        "host": "zc-miui-ota-bd48" ,
        "id": "LMY47V" ,
        "keyboard": 1 ,
        "keyboardHidden": 1 ,
        "localeData": "en_EN" ,
        "manufacturer": "Xiaomi" ,
        "mcc": 231 ,
        "mnc": 6 ,
        "model": "Mi-4c" ,
        "navigation": 1 ,
        "navigationHidden": 2 ,
        "orientation": 1 ,
        "product": "libra" ,
        "radio": "BO.2.6.c1.2-0217_2138_79144e6" ,
        "screenHeightDP": 620 ,
        "screenLayout": 268435554 ,
        "screenWidthDP": 360 ,
        "serial": "ed92c942" ,
        "smallestScreenWidthDP": 360 ,
        "supportedABIs": [
            "arm64-v8a" ,
            "armeabi-v7a" ,
            "armeabi"
        ] ,
        "tags": "release-keys" ,
        "time": 1455863625000 ,
        "touchscreen": 3 ,
        "type": "user" ,
        "uiMode": 28 ,
        "user": "6.2.25" ,
        "version": "5.1.1"
    } ,
    "id": "538a33b7-195d-4431-8de0-4bf50154afac" ,
    "locale": "en_EN" ,
    "organization_id": "2fd91f35-5243-4226-b182-e138d34825f5" ,
    "platform": "android" ,
    "updatedAt": "2016-02-29T14:29:38.065Z"
  }

This endpoint retrieves a specific visitor.

HTTP Request

GET https://api.proximi.fi/core/visitors/<ID>

URL Parameters

Parameter Description
ID The ID of the visitor to retrieve

Create a Visitor

curl "https://api.proximi.fi/core/visitors" \
  -X POST \
  -d '{
    "data": {
      "board": "msm8992" ,
      "bootloader": "unknown" ,
      "brand": "Xiaomi" ,
      "densityDPI": 480 ,
      "device": "libra" ,
      "display": "LMY47V" ,
      "fingerprint": "Xiaomi/libra/libra:5.1.1/LMY47V/6.2.18:user/release-keys" ,
      "fontScale": 0.8600000143051147 ,
      "hardKeyboardHidden": 2 ,
      "hardware": "qcom" ,
      "host": "zc-miui-ota-bd48" ,
      "id": "LMY47V" ,
      "keyboard": 1 ,
      "keyboardHidden": 1 ,
      "localeData": "en_EN" ,
      "manufacturer": "Xiaomi" ,
      "mcc": 231 ,
      "mnc": 6 ,
      "model": "Mi-4c" ,
      "navigation": 1 ,
      "navigationHidden": 2 ,
      "orientation": 1 ,
      "product": "libra" ,
      "radio": "BO.2.6.c1.2-0217_2138_79144e6" ,
      "screenHeightDP": 620 ,
      "screenLayout": 268435554 ,
      "screenWidthDP": 360 ,
      "serial": "ed92c942" ,
      "smallestScreenWidthDP": 360 ,
      "supportedABIs": [
          "arm64-v8a" ,
          "armeabi-v7a" ,
          "armeabi"
      ] ,
      "tags": "release-keys" ,
      "time": 1455863625000 ,
      "touchscreen": 3 ,
      "type": "user" ,
      "uiMode": 28 ,
      "user": "6.2.25" ,
      "version": "5.1.1"
    },
    "locale": "en_EN",
    "platform": "android"        
  }' \
  -H "Authorization: Bearer YOUR_TOKEN"

The above command returns JSON structured like this:

{
    "createdAt": "2016-02-29T14:29:38.065Z" ,
    "data": {
        "board": "msm8992" ,
        "bootloader": "unknown" ,
        "brand": "Xiaomi" ,
        "densityDPI": 480 ,
        "device": "libra" ,
        "display": "LMY47V" ,
        "fingerprint": "Xiaomi/libra/libra:5.1.1/LMY47V/6.2.18:user/release-keys" ,
        "fontScale": 0.8600000143051147 ,
        "hardKeyboardHidden": 2 ,
        "hardware": "qcom" ,
        "host": "zc-miui-ota-bd48" ,
        "id": "LMY47V" ,
        "keyboard": 1 ,
        "keyboardHidden": 1 ,
        "localeData": "en_EN" ,
        "manufacturer": "Xiaomi" ,
        "mcc": 231 ,
        "mnc": 6 ,
        "model": "Mi-4c" ,
        "navigation": 1 ,
        "navigationHidden": 2 ,
        "orientation": 1 ,
        "product": "libra" ,
        "radio": "BO.2.6.c1.2-0217_2138_79144e6" ,
        "screenHeightDP": 620 ,
        "screenLayout": 268435554 ,
        "screenWidthDP": 360 ,
        "serial": "ed92c942" ,
        "smallestScreenWidthDP": 360 ,
        "supportedABIs": [
            "arm64-v8a" ,
            "armeabi-v7a" ,
            "armeabi"
        ] ,
        "tags": "release-keys" ,
        "time": 1455863625000 ,
        "touchscreen": 3 ,
        "type": "user" ,
        "uiMode": 28 ,
        "user": "6.2.25" ,
        "version": "5.1.1"
    } ,
    "id": "538a33b7-195d-4431-8de0-4bf50154afac" ,
    "locale": "en_EN" ,
    "organization_id": "2fd91f35-5243-4226-b182-e138d34825f5" ,
    "platform": "android" ,
    "updatedAt": "2016-02-29T14:29:38.065Z"
  }

This endpoint creates a specific visitor.

HTTP Request

POST https://api.proximi.fi/core/visitors

Body JSON Object

Parameter Description
data Custom Visitor data
locale Visitor Device Locale

Update a Visitor

curl "https://api.proximi.fi/core/visitors/e2469cf3-8d8a-45c8-ad02-a933817fae52" \
  -X POST \
  -d '{
    "locale": "fi_FI"        
  }' \
  -H "Authorization: Bearer YOUR_TOKEN"

The above command returns JSON structured like this:

{
    "createdAt": "2016-02-29T14:29:38.065Z" ,
    "data": {
        "board": "msm8992" ,
        "bootloader": "unknown" ,
        "brand": "Xiaomi" ,
        "densityDPI": 480 ,
        "device": "libra" ,
        "display": "LMY47V" ,
        "fingerprint": "Xiaomi/libra/libra:5.1.1/LMY47V/6.2.18:user/release-keys" ,
        "fontScale": 0.8600000143051147 ,
        "hardKeyboardHidden": 2 ,
        "hardware": "qcom" ,
        "host": "zc-miui-ota-bd48" ,
        "id": "LMY47V" ,
        "keyboard": 1 ,
        "keyboardHidden": 1 ,
        "localeData": "fi_FI" ,
        "manufacturer": "Xiaomi" ,
        "mcc": 231 ,
        "mnc": 6 ,
        "model": "Mi-4c" ,
        "navigation": 1 ,
        "navigationHidden": 2 ,
        "orientation": 1 ,
        "product": "libra" ,
        "radio": "BO.2.6.c1.2-0217_2138_79144e6" ,
        "screenHeightDP": 620 ,
        "screenLayout": 268435554 ,
        "screenWidthDP": 360 ,
        "serial": "ed92c942" ,
        "smallestScreenWidthDP": 360 ,
        "supportedABIs": [
            "arm64-v8a" ,
            "armeabi-v7a" ,
            "armeabi"
        ] ,
        "tags": "release-keys" ,
        "time": 1455863755000 ,
        "touchscreen": 3 ,
        "type": "user" ,
        "uiMode": 28 ,
        "user": "6.2.25" ,
        "version": "5.1.1"
    } ,
    "id": "538a33b7-195d-4431-8de0-4bf50154afac" ,
    "locale": "fi_FI" ,
    "organization_id": "2fd91f35-5243-4226-b182-e138d34825f5" ,
    "platform": "android" ,
    "updatedAt": "2016-02-29T14:32:14.443Z"
  }

This endpoint updates a specific visitor.

HTTP Request

PUT https://api.proximi.fi/core/visitors/<ID>

URL Parameters

Parameter Description
id ID of Visitor

Body JSON Object

Parameter Description
data Custom Visitor data
locale Visitor Device Locale

Telemetry

Get All Telemetries

curl "http://api.proximi.fi/core/telemetries"
  -H "Authorization: Bearer YOUR_TOKEN"

The above command returns JSON structured like this:

[
  {
        "input_id": "b5de8773-cf73-4f5f-a25e-1c6ef8177bf9",
        "visitor_id": "cef7d549-f333-44f8-a72b-9009b343c447",
        "data": {
            "namespace": "EDD1EBEAC04E5DEFA017",
            "instance_id": "DBB15991AAAE",
            "batteryvoltage": 5904,
            "temperature": 26.167969,
            "uptime": 136016130300,
            "pdu": 73255118,
            "createdAt": 1627384188655
        },
        "organization_id": "0c4f268f-6c2f-439f-b127-33a70df62c0e",
        "id": "5c46b3c1-25ed-4a46-8131-5730e2bf1888",
        "createdAt": "2020-07-27T11:24:17.440Z",
        "updatedAt": "2020-07-27T11:24:17.440Z"
    }
]

This endpoint retrieves all telemetries.

HTTP Request

GET https://api.proximi.fi/core/telemetries

Query Parameters

Parameter Default Description
limit 1000 Limits number of records.
skip 0 Skips records.

Input Monitoring

curl "http://api.proximi.fi/core/input_monitoring"
  -H "Authorization: Bearer YOUR_TOKEN"

The above command returns JSON structured like this:

[
  {
        "input_id": "b5de8773-cf73-4f5f-a25e-1c6ef8177bf9",
        "data": {
            "namespace": "EDD1EBEAC04E5DEFA017",
            "instance_id": "DBB15991AAAE",
            "batteryvoltage": 5904,
            "temperature": 26.167969,
            "uptime": 136016130300,
            "pdu": 73255118,
            "createdAt": 1627384188655,
            "batteryHuman": "full"
        },
        "organization_id": "0c4f268f-6c2f-439f-b127-33a70df62c0e",
        "id": "5c46b3c1-25ed-4a46-8131-5730e2bf1888",
        "createdAt": "2020-07-27T11:24:17.440Z",
        "updatedAt": "2020-07-27T11:24:17.440Z"
    }
]

This endpoint returns only the latest telemetry values per beacon, includes data.batteryHuman field for simpler battery state description, possible values are "full", "three-quarter", "half", "quarter" and "empty".

HTTP Request

GET https://api.proximi.fi/core/input_monitoring

Errors

Error Code Meaning
400 Bad Request
401 Unauthorized
403 Forbidden
404 Not Found
405 Method Not Allowed
429 To o Many Requests
500 Internal Server Error
503 Service Unavailable
1011 Email Format error
1012 Email is already Registered
1013 Ownership error

Geo API

API for managing all map related functions and objects.

Below you can find all REST methods that you can access using any standard HTTP client. All methods use HTTP Header "Authorization" with JWT Token for user authorization. For methods posting JSON data, "Content-Type": "application/json" header should be always set.

URL root: https://api.proximi.fi/v5/geo

All the features can also store metadata as an experimental feature. You can add meta_ prefixed key=>value pairs to any of the features under the properties object by using PUT or POST requests depending what are your goals. Example: "meta_title": "My title!".

{
    "id": "44010f6f-9963-4433-ad86-40b89b829c41:1bf9de3c-c71d-4ddc-998e-def932ce7e48",
    "type": "Feature",
    "geometry": {
        "type": "Point",
        "coordinates": [
            51.48052108091079,
            25.336102700842844
        ]
    },
    "properties": {
        "images": [
            "1613147484699-mammoth.jpg",
            "1684159592847-pexels-zhanzat-mamytova-1827130.jpg",
            "1684159633519-pexels-markus-winkler-3925956.jpg"
        ],
        "range": 3,
        "usecase": "poi",
        "type": "poi",
        "amenity": "44010f6f-9963-4433-ad86-40b89b829c41:d111c5e4-1a63-48b3-94de-5fa7b309daaf",
        "title": "Mammoth",
        "place_id": "da2152c9-48bc-437d-a19d-ceb6a3a0f02a",
        "floor_id": "a0c73bc5-f99d-439b-8af0-36bf14842123",
        "level": 0,
        "id": "1bf9de3c-c71d-4ddc-998e-def932ce7e48",
        "title_i18n": {
            "en": "Mammoth",
            "fi": "Mammutti",
            "sv": "Mammut"
        },
        "metadata": {
            "polygon_id": "3ffc40aa-c087-4cdc-9b6d-b089b3432729",
            "custom_key_1": "custom value 1",
            "custom_key_2": "custom value 2"
        },
        "organization_id": "44010f6f-9963-4433-ad86-40b89b829c41",
        "createdAt": "2021-02-13T13:00:21.439Z",
        "updatedAt": "2023-05-15T14:17:38.553Z",
        "minzoom": 18,
        "description_i18n": {
            "en": "Gigantic clothing store for the smallest members of your family. Great selection for ages 0-14.",
            "fi": "Jättimäinen vaateliike perheen pienimmille. Iso valikoima vaatteita vastasyntyneestä 14-vuotiaisiin.",
            "sv": "Gigantisk klädbutik för de minsta medlemmarna i din familj. Bra utbud för åldrarna 0-14."
        },
        "url": "http://www.mammothshop.com",
        "workingHours": [
            [
                "11:00",
                "18:00"
            ],
            [
                "10:00",
                "20:00"
            ],
            [
                "10:00",
                "20:00"
            ],
            [
                "10:00",
                "20:00"
            ],
            [
                "10:00",
                "20:00"
            ],
            [
                "10:00",
                "21:00"
            ],
            [
                "09:00",
                "22:00"
            ]
        ],
        "wayfinding_metadata": {
            "1": {
                "en": "This would be custom information for user group 1 that will be delivered in the indoor navigation mode, when user arrives here.",
                "fi": "Sama suomeksi.",
                "sv": "Samma på svenska."
            },
            "2": {
                "en": "This would be custom information for user group 2 that will be delivered in the indoor navigation mode, when user arrives here.",
                "fi": "Sama suomeksi.",
                "sv": "Samma på svenska."
            }
        }
    }
}

Styles

GET /style (JWT)

returns default style

GET /styles (JWT)

returns all available styles for organization

POST /styles (JWT)

upserts provided style

Features

GET /features (JWT)

returns all features belonging to authorized organization

total number of available records is present in Response Header RECORD-TOTAL

provides:

amenity filtering (one of amenity ids)

type filtering (path, poi, levelchanger, elevator, staircase, escalator, wall, hole, shop, parking_base, area, road, room, floor)

geometry filtering (line, point, polygon)

QUERY parameter default type required
from 0 integer optional
size 1000 integer optional
amenity - string optional
type - string optional
geometry - string optional

GET /features/:id (JWT)

returns feature object

PATH parameter default type
id --- uuid

PUT /features/:id (JWT)

updates single feature

requires valid GeoJSON Feature object in request body.

{
    "id": "44010f6f-9963-4433-ad86-40b89b829c41:1bf9de3c-c71d-4ddc-998e-def932ce7e48",
    "type": "Feature",
    "geometry": {
        "type": "Point",
        "coordinates": [
            51.48052108091079,
            25.336102700842844
        ]
    },
    "properties": {
        "images": [
            "1613147484699-mammoth.jpg",
            "1684159592847-pexels-zhanzat-mamytova-1827130.jpg",
            "1684159633519-pexels-markus-winkler-3925956.jpg"
        ],
        "range": 3,
        "usecase": "poi",
        "type": "poi",
        "amenity": "44010f6f-9963-4433-ad86-40b89b829c41:d111c5e4-1a63-48b3-94de-5fa7b309daaf",
        "title": "Mammoth",
        "place_id": "da2152c9-48bc-437d-a19d-ceb6a3a0f02a",
        "floor_id": "a0c73bc5-f99d-439b-8af0-36bf14842123",
        "level": 0,
        "id": "1bf9de3c-c71d-4ddc-998e-def932ce7e48",
        "title_i18n": {
            "en": "Mammoth",
            "fi": "Mammutti",
            "sv": "Mammut"
        },
        "metadata": {
            "polygon_id": "3ffc40aa-c087-4cdc-9b6d-b089b3432729",
            "custom_key_1": "custom value 1",
            "custom_key_2": "custom value 2"
        },
        "organization_id": "44010f6f-9963-4433-ad86-40b89b829c41",
        "createdAt": "2021-02-13T13:00:21.439Z",
        "updatedAt": "2023-05-15T14:17:38.553Z",
        "minzoom": 18,
        "description_i18n": {
            "en": "Gigantic clothing store for the smallest members of your family. Great selection for ages 0-14.",
            "fi": "Jättimäinen vaateliike perheen pienimmille. Iso valikoima vaatteita vastasyntyneestä 14-vuotiaisiin.",
            "sv": "Gigantisk klädbutik för de minsta medlemmarna i din familj. Bra utbud för åldrarna 0-14."
        },
        "url": "http://www.mammothshop.com",
        "workingHours": [
            [
                "11:00",
                "18:00"
            ],
            [
                "10:00",
                "20:00"
            ],
            [
                "10:00",
                "20:00"
            ],
            [
                "10:00",
                "20:00"
            ],
            [
                "10:00",
                "20:00"
            ],
            [
                "10:00",
                "21:00"
            ],
            [
                "09:00",
                "22:00"
            ]
        ],
        "wayfinding_metadata": {
            "1": {
                "en": "This would be custom information for user group 1 that will be delivered in the indoor navigation mode, when user arrives here.",
                "fi": "Sama suomeksi.",
                "sv": "Samma på svenska."
            },
            "2": {
                "en": "This would be custom information for user group 2 that will be delivered in the indoor navigation mode, when user arrives here.",
                "fi": "Sama suomeksi.",
                "sv": "Samma på svenska."
            }
        }
    }
}

GET /features/:tlLng,:tlLat;:brLng,:brLat/:zoom/:level (JWT)

returns all features belonging to authorized organization with limitation to view bounds, zoom (minzoom )and level

total number of available records is present in Response Header RECORD-TOTAL

total number of available records for specified view is present in Response Header VIEW-TOTAL

provides:

amenity filtering (one of amenity ids)

type filtering (path, poi, levelchanger, elevator, staircase, escalator, wall, hole, shop, parking_base, area, road, room, floor)

geometry filtering (line, point, polygon)

PATH parameter default type required description
tlLng - float required top right corner
tlLat - float required top left corner
brLng - float required bottom right corner
brLat - float required bottom left corner
zoom - integer required minimum zoom level
level - integer required level of features
QUERY parameter default type required
from 0 integer optional
size 1000 integer optional
amenity - string optional
type - string optional
geometry - string optional

POST /features (JWT)

upserts a GeoJSON feature

Request body needs to formatted in GeoJSON FeatureCollection Specification, ie for updating single feature just create a collection containing that feature

{
  type: 'FeatureCollection',
  features: [ Feature, Feature, Feature ]
}

POST /features/delete, DELETE /features (JWT)

deletes a feature

Request body needs to formatted in GeoJSON FeatureCollection Specification, ie for deleting single feature just create a collection containing that feature

{
  type: 'FeatureCollection',
  features: [ Feature, Feature, Feature ]
}

Amenities

GET /amenities (JWT)

returns all amenities

QUERY parameter default type required
from 0 integer optional
size 1000 integer optional

Returns Array of Amenity Objects

GET /amenities/in/:category (JWT)

returns amenities for given category

PATH parameter default type required description
category - string required AmenityCategory ID
QUERY parameter default type required
from 0 integer optional
size 1000 integer optional

Returns Array of Amenity Objects

GET /amenities/:id (JWT)

returns specific amenity

PATH parameter default type required description
id - string required Amenity ID

Returns Amenity Object

GET /amenity_categories (JWT)

returns amenity categories

QUERY parameter default type required
from 0 integer optional
size 1000 integer optional

Returns Array of AmenityCategory Objects

GET /amenity_categories/:id (JWT)

returns specific amenity category

PATH parameter default type required description
id - string required Amenity Category ID

Returns Amenity Category Object

Routing

POST https://api.proximi.fi/routing (JWT)

returns routing object covering navigation between start and finish point and their respective levels The paths used for routing are GeoJSON LineStrings, further specified by class: "path" and level: Integer properties

// path feature example
{
    "id": "295b0c1d-3fac-4e2d-91fe-81cf9124e4ba:b781c400-cce5-4099-810f-c41b4c8523c2",
    "type": "Feature",
    "geometry": {
        "type": "LineString",
        "coordinates": [
            [
                24.92225159354996,
                60.16647154365734
            ],
            [
                24.922379773767403,
                60.16651723516259
            ],
            [
                24.92239995962842,
                60.16654485087656
            ]
        ]
    },
    "properties": {
        "metadata": {},
        "class": "path",
        "visibility": "visible",
        "place_id": "398b8567-618a-4d5b-b105-9631696aa7a6",
        "floor_id": "54036451-6765-4566-8acc-b979a74b3a3a",
        "level": 0,
        "id": "b781c400-cce5-4099-810f-c41b4c8523c2",
        "organization_id": "295b0c1d-3fac-4e2d-91fe-81cf9124e4ba",
        "createdAt": "2022-03-25T12:10:16.861Z",
        "updatedAt": "2022-03-25T13:02:14.710Z",
        "minzoom": 18
    }
}
QUERY parameter default type required description
startLng - float required start point longitude
startLat - float required start point latitude
startLevel - int required start point level
endLng - float required finish point longitude
endLat - float required finish point latitude
endLevel - int required finish point level
JSON BODY parameter default type required description
avoidElevators true boolean optional Avoid Elevators
avoidEscalators true boolean optional Avoid Escalator
avoidStaircases true boolean optional Avoid Staircases
avoidRamps true boolean optional Avoid Ramps
avoidNarrowPaths true boolean optional Avoid Narrow Paths
avoidRevolvingDoors true boolean optional Avoid Revolving Doors
avoidTicketGates true boolean optional Avoid Ticket Gates
avoidBarriers true boolean optional Avoid Barriers
avoidHills true boolean optional Avoid Hills
pathFixDistance 1000 integer optional Path Fix Distance
lang en string optional Language Code
// route response example
{
    "distanceMeters": 276.8529737402472,
    "destination": {
        "geometry": {
            "coordinates": [
                19.409023016607627,
                50.00123821353949
            ]
        },
        "properties": {
            "level": 0,
            "gscore": 275.6168744566573
        }
    },
    "configuration": {
        "start": null,
        "destination": {
            "geometry": {
                "coordinates": [
                    19.409023016607627,
                    50.00123821353949
                ]
            },
            "properties": {
                "level": 0,
                "gscore": 275.6168744566573
            }
        },
        "waypointList": [],
        "wayfindingOptions": {}
    },
    "lastNodeWithPathIndex": 14,
    "steps": [
        {
            "bearingFromLastStep": 0,
            "coordinates": {
                "coordinates": [
                    19.410762,
                    49.999705
                ]
            },
            "direction": "START",
            "distanceFromLastStep": 0,
            "level": 0,
            "levelChangerId": null,
            "isWaypoint": false,
            "waypointId": null,
            "lineStringFeatureFromLastStep": null
        },
        {
            "bearingFromLastStep": 113.46704813252394,
            "coordinates": {
                "coordinates": [
                    19.410817883726015,
                    49.99968940538982
                ]
            },
            "direction": "LEFT",
            "distanceFromLastStep": 4.354466216654595,
            "level": 0,
            "levelChangerId": null,
            "isWaypoint": false,
            "waypointId": null,
            "lineStringFeatureFromLastStep": {
                "geometry": {
                    "coordinates": [
                        [
                            19.410762,
                            49.999705
                        ],
                        [
                            19.410817883726015,
                            49.99968940538982
                        ]
                    ]
                },
                "properties": {
                    "level": 0
                }
            },
            "instruction": [
                "In 4 meters turn left."
            ]
        },
        {
            "bearingFromLastStep": 23.465581490202283,
            "coordinates": {
                "coordinates": [
                    19.41099341471439,
                    49.99994932166464
                ]
            },
            "direction": "SLIGHT_LEFT",
            "distanceFromLastStep": 31.507078678957036,
            "level": 0,
            "levelChangerId": null,
            "isWaypoint": false,
            "waypointId": null,
            "lineStringFeatureFromLastStep": {
                "geometry": {
                    "coordinates": [
                        [
                            19.410817883726015,
                            49.99968940538982
                        ],
                        [
                            19.41099341471439,
                            49.99994932166464
                        ]
                    ]
                },
                "properties": {
                    "level": 0
                }
            },
            "instruction": [
                "In 32 meters turn slight left."
            ]
        },
        {
            "bearingFromLastStep": -23.33788846589531,
            "coordinates": {
                "coordinates": [
                    19.410911536734496,
                    50.00007130519248
                ]
            },
            "direction": "SLIGHT_LEFT",
            "distanceFromLastStep": 14.772597089721518,
            "level": 0,
            "levelChangerId": null,
            "isWaypoint": false,
            "waypointId": null,
            "lineStringFeatureFromLastStep": {
                "geometry": {
                    "coordinates": [
                        [
                            19.41099341471439,
                            49.99994932166464
                        ],
                        [
                            19.410911536734496,
                            50.00007130519248
                        ]
                    ]
                },
                "properties": {
                    "level": 0
                }
            },
            "instruction": [
                "In 15 meters turn slight left."
            ]
        },
        {
            "bearingFromLastStep": -72.17885015195688,
            "coordinates": {
                "coordinates": [
                    19.409956560986224,
                    50.000268634725664
                ]
            },
            "direction": "SLIGHT_RIGHT",
            "distanceFromLastStep": 71.6965926735697,
            "level": 0,
            "levelChangerId": null,
            "isWaypoint": false,
            "waypointId": null,
            "lineStringFeatureFromLastStep": {
                "geometry": {
                    "coordinates": [
                        [
                            19.410911536734496,
                            50.00007130519248
                        ],
                        [
                            19.409956560986224,
                            50.000268634725664
                        ]
                    ]
                },
                "properties": {
                    "level": 0
                }
            },
            "instruction": [
                "In 72 meters turn slight right."
            ]
        },
        {
            "bearingFromLastStep": -49.398070053420916,
            "coordinates": {
                "coordinates": [
                    19.40982736766715,
                    50.00033981620364
                ]
            },
            "direction": "SLIGHT_LEFT",
            "distanceFromLastStep": 12.162016990896003,
            "level": 0,
            "levelChangerId": null,
            "isWaypoint": false,
            "waypointId": null,
            "lineStringFeatureFromLastStep": {
                "geometry": {
                    "coordinates": [
                        [
                            19.409956560986224,
                            50.000268634725664
                        ],
                        [
                            19.40982736766715,
                            50.00033981620364
                        ]
                    ]
                },
                "properties": {
                    "level": 0
                }
            },
            "instruction": [
                "In 12 meters turn slight left."
            ]
        },
        {
            "bearingFromLastStep": -76.74022971953498,
            "coordinates": {
                "coordinates": [
                    19.40967758985485,
                    50.000362503093434
                ]
            },
            "direction": "SLIGHT_RIGHT",
            "distanceFromLastStep": 10.998479120595956,
            "level": 0,
            "levelChangerId": null,
            "isWaypoint": false,
            "waypointId": null,
            "lineStringFeatureFromLastStep": {
                "geometry": {
                    "coordinates": [
                        [
                            19.40982736766715,
                            50.00033981620364
                        ],
                        [
                            19.40967758985485,
                            50.000362503093434
                        ]
                    ]
                },
                "properties": {
                    "level": 0
                }
            },
            "instruction": [
                "In 11 meters turn slight right."
            ]
        },
        {
            "bearingFromLastStep": -51.49455022094047,
            "coordinates": {
                "coordinates": [
                    19.409622512966862,
                    50.00039066896181
                ]
            },
            "direction": "STRAIGHT",
            "distanceFromLastStep": 5.030456814276073,
            "level": 0,
            "levelChangerId": null,
            "isWaypoint": false,
            "waypointId": null,
            "lineStringFeatureFromLastStep": {
                "geometry": {
                    "coordinates": [
                        [
                            19.40967758985485,
                            50.000362503093434
                        ],
                        [
                            19.409622512966862,
                            50.00039066896181
                        ]
                    ]
                },
                "properties": {
                    "level": 0
                }
            },
            "instruction": [
                "In 5 meters continue straight."
            ]
        },
        {
            "bearingFromLastStep": -31.494305168689724,
            "coordinates": {
                "coordinates": [
                    19.4095817240812,
                    50.0004334629667
                ]
            },
            "direction": "SLIGHT_RIGHT",
            "distanceFromLastStep": 5.580541486892818,
            "level": 0,
            "levelChangerId": null,
            "isWaypoint": false,
            "waypointId": null,
            "lineStringFeatureFromLastStep": {
                "geometry": {
                    "coordinates": [
                        [
                            19.409622512966862,
                            50.00039066896181
                        ],
                        [
                            19.4095817240812,
                            50.0004334629667
                        ]
                    ]
                },
                "properties": {
                    "level": 0
                }
            },
            "instruction": [
                "In 6 meters turn slight right."
            ]
        },
        {
            "bearingFromLastStep": -8.6945835773057,
            "coordinates": {
                "coordinates": [
                    19.40954715104298,
                    50.0005787818333
                ]
            },
            "direction": "SLIGHT_LEFT",
            "distanceFromLastStep": 16.346595709201917,
            "level": 0,
            "levelChangerId": null,
            "isWaypoint": false,
            "waypointId": null,
            "lineStringFeatureFromLastStep": {
                "geometry": {
                    "coordinates": [
                        [
                            19.4095817240812,
                            50.0004334629667
                        ],
                        [
                            19.40954715104298,
                            50.0005787818333
                        ]
                    ]
                },
                "properties": {
                    "level": 0
                }
            },
            "instruction": [
                "In 16 meters turn slight left."
            ]
        },
        {
            "bearingFromLastStep": -58.39942453378581,
            "coordinates": {
                "coordinates": [
                    19.409155068188635,
                    50.00073382972555
                ]
            },
            "direction": "RIGHT",
            "distanceFromLastStep": 32.902325448181855,
            "level": 0,
            "levelChangerId": null,
            "isWaypoint": false,
            "waypointId": null,
            "lineStringFeatureFromLastStep": {
                "geometry": {
                    "coordinates": [
                        [
                            19.40954715104298,
                            50.0005787818333
                        ],
                        [
                            19.409155068188635,
                            50.00073382972555
                        ]
                    ]
                },
                "properties": {
                    "level": 0
                }
            },
            "instruction": [
                "In 33 meters turn right."
            ]
        },
        {
            "bearingFromLastStep": 17.660781332984133,
            "coordinates": {
                "coordinates": [
                    19.409256499774443,
                    50.000938604884965
                ]
            },
            "direction": "STRAIGHT",
            "distanceFromLastStep": 23.896240116999596,
            "level": 0,
            "levelChangerId": null,
            "isWaypoint": false,
            "waypointId": null,
            "lineStringFeatureFromLastStep": {
                "geometry": {
                    "coordinates": [
                        [
                            19.409155068188635,
                            50.00073382972555
                        ],
                        [
                            19.409256499774443,
                            50.000938604884965
                        ]
                    ]
                },
                "properties": {
                    "level": 0
                }
            },
            "instruction": [
                "In 24 meters continue straight."
            ]
        },
        {
            "bearingFromLastStep": 20.587597821415898,
            "coordinates": {
                "coordinates": [
                    19.409352486465117,
                    50.00110285670103
                ]
            },
            "direction": "LEFT",
            "distanceFromLastStep": 19.50999069250748,
            "level": 0,
            "levelChangerId": null,
            "isWaypoint": false,
            "waypointId": null,
            "lineStringFeatureFromLastStep": {
                "geometry": {
                    "coordinates": [
                        [
                            19.409256499774443,
                            50.000938604884965
                        ],
                        [
                            19.409352486465117,
                            50.00110285670103
                        ]
                    ]
                },
                "properties": {
                    "level": 0
                }
            },
            "instruction": [
                "In 20 meters turn left."
            ]
        },
        {
            "bearingFromLastStep": -51.51142572160424,
            "coordinates": {
                "coordinates": [
                    19.409199013091452,
                    50.00118129293381
                ]
            },
            "direction": "STRAIGHT",
            "distanceFromLastStep": 14.014002572568048,
            "level": 0,
            "levelChangerId": null,
            "isWaypoint": false,
            "waypointId": null,
            "lineStringFeatureFromLastStep": {
                "geometry": {
                    "coordinates": [
                        [
                            19.409352486465117,
                            50.00110285670103
                        ],
                        [
                            19.409199013091452,
                            50.00118129293381
                        ]
                    ]
                },
                "properties": {
                    "level": 0
                }
            },
            "instruction": [
                "In 14 meters continue straight."
            ]
        },
        {
            "bearingFromLastStep": -63.290070161728124,
            "coordinates": {
                "coordinates": [
                    19.409023016607627,
                    50.00123821353949
                ]
            },
            "direction": "FINISH",
            "distanceFromLastStep": 14.081590129224587,
            "level": 0,
            "levelChangerId": null,
            "isWaypoint": false,
            "waypointId": null,
            "lineStringFeatureFromLastStep": {
                "geometry": {
                    "coordinates": [
                        [
                            19.409199013091452,
                            50.00118129293381
                        ],
                        [
                            19.409023016607627,
                            50.00123821353949
                        ]
                    ]
                },
                "properties": {
                    "level": 0
                }
            },
            "instruction": [
                "In 14 meters you will arrive at your destination."
            ]
        }
    ],
    "route": [
        {
            "type": "Feature",
            "properties": {
                "level": 0,
                "fixed": true
            },
            "geometry": {
                "type": "Point",
                "coordinates": [
                    19.410762,
                    49.999705
                ]
            }
        },
        {
            "type": "Feature",
            "properties": {
                "level": 0
            },
            "geometry": {
                "type": "Point",
                "coordinates": [
                    19.410817883726015,
                    49.99968940538982
                ]
            }
        },
        {
            "type": "Feature",
            "properties": {
                "level": 0
            },
            "geometry": {
                "type": "Point",
                "coordinates": [
                    19.41099341471439,
                    49.99994932166464
                ]
            }
        },
        {
            "type": "Feature",
            "properties": {
                "level": 0
            },
            "geometry": {
                "type": "Point",
                "coordinates": [
                    19.410911536734496,
                    50.00007130519248
                ]
            }
        },
        {
            "type": "Feature",
            "properties": {
                "level": 0
            },
            "geometry": {
                "type": "Point",
                "coordinates": [
                    19.409956560986224,
                    50.000268634725664
                ]
            }
        },
        {
            "type": "Feature",
            "properties": {
                "level": 0
            },
            "geometry": {
                "type": "Point",
                "coordinates": [
                    19.40982736766715,
                    50.00033981620364
                ]
            }
        },
        {
            "type": "Feature",
            "properties": {
                "level": 0
            },
            "geometry": {
                "type": "Point",
                "coordinates": [
                    19.40967758985485,
                    50.000362503093434
                ]
            }
        },
        {
            "type": "Feature",
            "properties": {
                "level": 0
            },
            "geometry": {
                "type": "Point",
                "coordinates": [
                    19.409622512966862,
                    50.00039066896181
                ]
            }
        },
        {
            "type": "Feature",
            "properties": {
                "level": 0
            },
            "geometry": {
                "type": "Point",
                "coordinates": [
                    19.4095817240812,
                    50.0004334629667
                ]
            }
        },
        {
            "type": "Feature",
            "properties": {
                "level": 0
            },
            "geometry": {
                "type": "Point",
                "coordinates": [
                    19.40954715104298,
                    50.0005787818333
                ]
            }
        },
        {
            "type": "Feature",
            "properties": {
                "level": 0
            },
            "geometry": {
                "type": "Point",
                "coordinates": [
                    19.409155068188635,
                    50.00073382972555
                ]
            }
        },
        {
            "type": "Feature",
            "properties": {
                "level": 0
            },
            "geometry": {
                "type": "Point",
                "coordinates": [
                    19.409256499774443,
                    50.000938604884965
                ]
            }
        },
        {
            "type": "Feature",
            "properties": {
                "level": 0
            },
            "geometry": {
                "type": "Point",
                "coordinates": [
                    19.409352486465117,
                    50.00110285670103
                ]
            }
        },
        {
            "type": "Feature",
            "properties": {
                "level": 0
            },
            "geometry": {
                "type": "Point",
                "coordinates": [
                    19.409199013091452,
                    50.00118129293381
                ]
            }
        },
        {
            "type": "Feature",
            "properties": {
                "level": 0,
                "gscore": 275.6168744566573
            },
            "geometry": {
                "type": "Point",
                "coordinates": [
                    19.409023016607627,
                    50.00123821353949
                ]
            }
        }
    ],
    "lines": [
        {
            "type": "Feature",
            "properties": {
                "level": 0
            },
            "geometry": {
                "type": "LineString",
                "coordinates": [
                    [
                        19.410762,
                        49.999705
                    ],
                    [
                        19.410817883726015,
                        49.99968940538982
                    ],
                    [
                        19.41099341471439,
                        49.99994932166464
                    ],
                    [
                        19.410911536734496,
                        50.00007130519248
                    ],
                    [
                        19.409956560986224,
                        50.000268634725664
                    ],
                    [
                        19.40982736766715,
                        50.00033981620364
                    ],
                    [
                        19.40967758985485,
                        50.000362503093434
                    ],
                    [
                        19.409622512966862,
                        50.00039066896181
                    ],
                    [
                        19.4095817240812,
                        50.0004334629667
                    ],
                    [
                        19.40954715104298,
                        50.0005787818333
                    ],
                    [
                        19.409155068188635,
                        50.00073382972555
                    ],
                    [
                        19.409256499774443,
                        50.000938604884965
                    ],
                    [
                        19.409352486465117,
                        50.00110285670103
                    ],
                    [
                        19.409199013091452,
                        50.00118129293381
                    ],
                    [
                        19.409023016607627,
                        50.00123821353949
                    ]
                ]
            }
        }
    ]
}