NAV

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",
      "password":"eyJ0..TOKEN..d4Y",
      "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

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

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,
      "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 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,
    "zoom": 10
  },
  "name": "Fashion Retail",
  "organization_id": "12ffb61d-a99e-4edd-8e21-85bec9d42622",
  "tags": [
    "fashion"
  ],
  "updatedAt": "2016-02-24T10:34:32.918Z"
}

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,
        "zoom": 10
    },
    "tags": ["Fashion", "Retail"]    
  }' \
  -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 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

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,
    "zoom": 10
  },
  "name": "Retail Store #2",
  "organization_id": "12ffb61d-a99e-4edd-8e21-85bec9d42622",
  "tags": [
    "Fashion",
    "Retail"
  ],
  "updatedAt": "2016-02-24T16:07:20.578Z"
}

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

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",
  "tags": [
    "Fashion",
    "Retail"
  ],
  "updatedAt": "2016-02-24T16:07:20.578Z",
  "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"
  }
]

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"
}

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 }
    ]
  }' \
  -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"
}

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
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"
}

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
address The Address of Floor
location The Location object of Floor (containing lat,lng properties)
tags Array of Tag strings

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",
    "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

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

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

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