IPera Starling | Developer HubIPera Starling | Developer Hub
  • IPera Starling REST API

    • Getting Started
  • Endpoints

    • Access Codes
    • Advertisements
    • Analytics Information
    • Guests
    • Guest Activities
    • Guest Dashboard
    • Guest Devices
    • Guest Sessions
    • Location Information
    • Location Analytics
    • Tenants
    • Users

Location Analytics

Get Active Sessions

Get real-time location presence data for all currently active sessions. This endpoint returns information about guests currently present at locations, including their latest position coordinates from the location tracking system.

This endpoint returns all active sessions without pagination for real-time monitoring dashboards.

Endpoint

GET /locations-analytics/active-sessions

Rate Limit

This endpoint has a rate limit of 60 requests per minute.

Parameters

NameTypeDescription
location_idstringFilter by location/venue ID
building_idstringFilter by building ID
floor_idstringFilter by floor ID
zone_idstringFilter by zone ID
segment_idstringFilter by guest segment/tag ID
data_typeintegerFilter by data type (1=WiFi, 2=BLE)
connectedintegerFilter by connection status. Use 1 to retrieve only currently connected users.0 for disconnected users

Response

Tips

HTTP/1.1 200 OK

{
  "data": [
    {
      "mac_address": "AA:BB:CC:DD:EE:FF",
      "data_type": 1,
      "x": 123.45,
      "y": 678.90,
      "location_id": "x1Y2z3A4b5C",
      "location": "Main Campus",
      "building_id": "a2B3c4D5e6F",
      "building": "Building A",
      "floor_id": "f7G8h9I0j1K",
      "floor": "Floor 1",
      "zone_id": "z2L3m4N5o6P",
      "zone": "Lobby",
      "gender": "Male",
      "nationality": "US",
      "country_of_residency": "CA",
      "guest_id": "g8Q9r0S1t2U",
      "segment": [
        {
          "id": "s3V4w5X6y7Z",
          "name": "VIP"
        }
      ],
      "last_seen": "2025-10-17T10:30:00.000000Z",
      "connected": 1
    },
    {
      "mac_address": "11:22:33:44:55:66",
      "data_type": 2,
      "x": null,
      "y": null,
      "location_id": "x1Y2z3A4b5C",
      "location": "Main Campus",
      "building_id": null,
      "building": null,
      "floor_id": null,
      "floor": null,
      "zone_id": null,
      "zone": null,
      "gender": null,
      "nationality": null,
      "country_of_residency": null,
      "guest_id": null,
      "segment": [],
      "last_seen": "2025-10-17T10:25:00.000000Z",
      "connected": 0
    }
  ]
}

Response Fields

FieldTypeDescription
mac_addressstringDevice MAC address
data_typeintegerData source type (1=WiFi, 2=BLE)
xfloat|nullX coordinate from latest location log
yfloat|nullY coordinate from latest location log
location_idstring|nullLocation/venue hashed ID
locationstring|nullLocation/venue name
building_idstring|nullBuilding hashed ID
buildingstring|nullBuilding name
floor_idstring|nullFloor hashed ID
floorstring|nullFloor name
zone_idstring|nullZone hashed ID
zonestring|nullZone name
genderstring|nullGuest gender ("Male", "Female", or "Unknown")
nationalitystring|nullGuest nationality country code
country_of_residencystring|nullGuest residency country code
guest_idstring|nullGuest hashed ID
segmentarrayGuest segments/tags (array of {id, name} objects)
last_seendatetime|nullLast activity timestamp
connectedintegerConnection status (0=Disconnected, 1=Connected).
Note: 0 is expected when a guest is detected in the area (Active Session) but is not connected to WiFi.

Get Location Sessions

Deprecated

This endpoint is deprecated and will be removed in a future version. Please use /locations-analytics/active-sessions instead with the connected=1 filter to get active connected sessions.

Replacement: GET /locations-analytics/active-sessions?connected=1
Sunset Date: June 1, 2026

By using this API endpoint, it is possible to get the list of location sessions.

Please note that you cannot get more than 100 records per request. In case you need to get more than 100 records, then you should make more than one request.

Endpoint

GET /locations-analytics/sessions

Rate Limit

This endpoint has a rate limit of 60 requests per minute.

Parameters

NameTypeDescription
guest_idstringGuest ID
location_idstringLocation / Venue ID
macstringGuest device MAC address
started_atdateReturns entries started after the entered starting date (format: yyyy-mm-dd hh:ii)
ended_atdateReturns entries ended before the entered ending date (format: yyyy-mm-dd hh:ii)
visit_typeintegerVisit type
per_pageintegerThe number of records returned. Default is 10, maximum is 100

Response

Tips

HTTP/1.1 200 OK

{
  "data": [
    {
      "id": "pR3zOKmvzqe",
      "guest_id": "VGBzq2o1XQ5",
      "location_id": "1kgXJ6RXN9D",
      "mac": "74:e5:0b:10:c2:cc",
      "started_at": "2017-10-24T13:11:25.000000Z",
      "ended_at": "2017-10-24T18:11:25.000000Z",
      "duration": "600",
      "visit_type": 1
    }
  ],

  "links": {
    "first": "[[BaseUrl]]/locations-analytics/sessions?page=1",
    "last": null,
    "prev": null,
    "next": "[[BaseUrl]]/locations-analytics/sessions?page=2"
  },

  "meta": {
    "current_page": 1,
    "from": 1,
    "path": "[[BaseUrl]]/locations-analytics/sessions",
    "per_page": 10,
    "to": 10
  }
}

Get Location Sessions Count

Deprecated

This endpoint is deprecated and will be removed in a future version. Please use /locations-analytics/active-sessions instead and count the results client-side, or use the active-sessions endpoint with appropriate filters.

Replacement: GET /locations-analytics/active-sessions (count results client-side)
Sunset Date: June 1, 2026

By using this API endpoint, it is possible to get the count of location sessions.

Endpoint

GET /locations-analytics/sessions/count 

Rate Limit

This endpoint has a rate limit of 60 requests per minute.

Parameters

NameTypeDescription
guest_idstringGuest ID
location_idstringLocation / Venue ID
macstringGuest device MAC address
started_atdateReturns entries started after the entered starting date (format: yyyy-mm-dd hh:ii)
ended_atdateReturns entries ended before the entered ending date (format: yyyy-mm-dd hh:ii)
visit_typeintegerVisit type
per_pageintegerThe number of records returned. Default is 10, maximum is 100

Response

Tips

HTTP/1.1 200 OK

{
  "count": 1000
}

Get Location Session Details

Get location session details.

Endpoint

GET /locations-analytics/sessions/:id

Rate Limit

This endpoint has a rate limit of 60 requests per minute.

Parameters

NameTypeDescription
idstringlocation ID

Response

Tips

HTTP/1.1 200 OK

{
  "data": {
      "id": "pR3zOKmvzqe",
      "guest_id": "VGBzq2o1XQ5",
      "location_id": "1kgXJ6RXN9D",
      "mac": "74:e5:0b:10:c2:cc",
      "started_at": "2017-10-24T13:11:25.000000Z",
      "ended_at": "2017-10-24T18:11:25.000000Z",
      "duration": "600",
      "visit_type": 1
  }
}

Caution

HTTP/1.1 404 Not Found

{
  "error": "Record not found"
}

Get Location Logs

Deprecated

This endpoint is deprecated and will be removed in a future version. Please use /locations-analytics/active-sessions for real-time location data instead.

Replacement: GET /locations-analytics/active-sessions
Sunset Date: June 1, 2026

By using this API endpoint, it is possible to get the list of location logs.

Please note that you cannot get more than 100 records per request. In case you need to get more than 100 records, then you should make more than one request.

Endpoint

GET /locations-analytics/location-logs

Rate Limit

This endpoint has a rate limit of 60 requests per minute.

Parameters

NameTypeDescription
guest_idstringGuest ID
guest_macstringGuest MAC address
session_idstringSession ID of the log
zone_idstringZone ID
timestampdateReturns entries created after the entered timestamp (format: yyyy-mm-dd hh:ii)
per_pageintegerThe number of records returned. Default is 10, maximum is 100

Response

Tips

HTTP/1.1 200 OK

{
  "data": [
    {
      "guest_id": "VGBzq2o1XQ5",
      "guest_mac": "74:e5:0b:10:c2:cc",
      "session_id": "Zk5reDj6baK",
      "zone_id": "pR3zOKmvzqe",
      "timestamp": "2017-10-24T13:11:25.000000Z",
      "duration": "600"
    },
    {
      "guest_id": "DEFzq2o1XQ5",
      "guest_mac": "82:g6:0b:10:c2:dd",
      "session_id": "9apvYXJr5l0",
      "zone_id": "p79zOKmecq1",
      "timestamp": "2017-10-24T13:11:25.000000Z",
      "duration": "400"
    }
  ],

  "links": {
    "first": "[[BaseUrl]]/locations-analytics/location-logs?page=1",
    "last": null,
    "prev": null,
    "next": "[[BaseUrl]]/locations-analytics/location-logs?page=2"
  },

  "meta": {
    "current_page": 1,
    "from": 1,
    "path": "[[BaseUrl]]/locations-analytics/location-logs",
    "per_page": 10,
    "to": 10
  }
}

Get Location Logs Count

Deprecated

This endpoint is deprecated and will be removed in a future version. Please use /locations-analytics/active-sessions instead and count the results client-side.

Replacement: GET /locations-analytics/active-sessions (count results client-side)
Sunset Date: June 1, 2026

By using this API endpoint, it is possible to get the count of the location logs.

Endpoint

GET /locations-analytics/location-logs/count

Rate Limit

This endpoint has a rate limit of 60 requests per minute.

Parameters

NameTypeDescription
guest_idstringGuest ID
guest_macstringGuest MAC address
session_idstringSession ID of the log
zone_idstringZone ID
timestampdateReturns entries created after the entered timestamp (format: yyyy-mm-dd hh:ii)
per_pageintegerThe number of records returned. Default is 10, maximum is 100

Response

Tips

HTTP/1.1 200 OK

{
  "count": 1000
}
Last Updated: 8/11/26, 8:49 PM
Prev
Location Information
Next
Tenants