NAV Navbar
shell
  • Introduction
  • Authentication
  • Login
  • Registration
  • Current User
  • Analytics
  • Applications
  • Events
  • Geofences
  • Places
  • Floors
  • Departments
  • Inputs
  • Visitors
  • Telemetry
  • Errors
  • Geo API
  • 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
                        ]
                    ]
                }
            }
        ]
    }