Observation Data

WiFi Devices

type: DevicesSeen
{
  {
    "version": "2.1",
    "secret": "supersecret",
    "type": "DevicesSeen",
    "data": {
        "apMac": "00:18:0a:13:dd:b0",
        "apFloors": [],
        "apTags": [
            "dev",
            "entrance",
            "office"
        ],
        "observations": [
            {
                "ipv4": "/192.168.0.38",
                "location": {
                    "lat": 52.5355157,
                    "lng": -0.06990350000000944,
                    "unc": 1.233417960754815,
                    "x": [],
                    "y": []
                },
                "seenTime": "2016-09-24T00:06:23Z",
                "ssid": ".interwebs",
                "os": null,
                "clientMac": "18:fe:34:fc:ff:ff",
                "seenEpoch": 1474675583,
                "rssi": 47,
                "ipv6": null,
                "manufacturer": "Espressif"
            },
            {
                "ipv4": "/192.168.0.15",
                "location": {
                    "lat": 52.5355157,
                    "lng": -0.06990350000000944,
                    "unc": 1.5497743004111961,
                    "x": [],
                    "y": []
                },
                "seenTime": "2016-09-24T00:06:40Z",
                "ssid": ".interwebs",
                "os": "Generic Linux",
                "clientMac": "74:da:38:56:ff:ff",
                "seenEpoch": 1474675600,
                "rssi": 47,
                "ipv6": null,
                "manufacturer": "Edimax Technology"
            }
        ]
    }
}

Parameters

Name Format Description
apMac string MAC address of the observing AP
apTags [string] JSON array of all tags applied to the AP in dashboard
apFloors [string] JSON array of all floorplan names on which this AP appears
clientMac string Device MAC

 Location API sends the raw client MAC address and is up to the receiving service to hash or modify the data before storage if data privacy is desired.
ipv4 string Client IPv4 address and hostname, in “hostname/address” format; only “/address” if no hostname, null if not available
ipv6 string Client IPv6 address and hostname, in “hostname/address” format; only “/address” if no hostname, null if not available
seenTime ISO 8601 date string Observation time in UTC; example: “1970-01-01T00:00:00Z”
seenEpoch integer Observation time in seconds since the UNIX epoch
ssid string Client SSID name; null if the device is not connected
rssi integer Device RSSI as seen by AP
manufacturer string Device manufacturer; null if manufacturer could not be determined
os string Device operating system; null if the OS could not be determined
location location Device geolocation; null if location could not be determined
lat decimal Device latitude in degrees N of the equator
lng decimal Device longitude in degrees E of the prime meridian
unc decimal Uncertainty in meters
x [decimal] JSON array of x offsets (in meters) from lower-left corner of each floorplan
y [decimal] JSON array of y offsets (in meteres) from lower-left corner of each floorplan

Bluetooth Devices

type: BluetoothDevicesSeen
{
    "version": "2.1",
    "secret": "supersecret",
    "type": "BluetoothDevicesSeen",
    "data": {
        "apMac": "00:18:0a:13:dd:b0",
        "apFloors": [],
        "apTags": [
            "dev",
            "home",
            "test"
        ],
        "observations": [
            {
                "clientMac": "18:fe:34:d7:ff:aa",
                "name": "asset-1",
                "seenTime": "2016-09-24T00:06:14Z",
                "seenEpoch": 1474675574,
                "rssi": 56,     
                "location": {
                    "lat": 51.5355157,
                    "lng": -0.06990350000000944,
                    "unc": 0.20755340376944298,
                    "x": [],
                    "y": []
                 }
            },
            {
                "clientMac": "18:fe:34:d7:ff:bb",
                "name": "asset-2",
                "seenTime": "2016-09-24T00:06:14Z",
                "seenEpoch": 1474675574,
                "rssi": 55,      
                "location": {
                    "lat": 51.5355157,
                    "lng": -0.06990350000000944,
                    "unc": 0.20755340376944298,
                    "x": [],
                    "y": []
                },
               "beaconType": "iBeacon",
               "iBeacon": { … }
          },  
     …] 

Parameters

root

Name Format Description
version string Version of the scanning API payload response
secret string User defined secret to verify sender of payload
type string The type of payload being received. One of either DevicesSeen or BluetoothDevicesSeen
data object The observation payloads with meta data

data

Name Format Description
data object Parent
apTags string JSON array of all tags applied to the AP in dashboard.
apFloors string JSON array of all floorplan names on which this AP appears.
observations array JSON array of all observations made by the AP

observations

Name Format Description
observations array Parent
clientMac string Device MAC
seenTime ISO 8601 date string Observation time in UTC; example: “1970-01-01T00:00:00Z”
seenEpoch integer Observation time in seconds since the UNIX epoch.
rssi integer Device RSSI as seen by AP.
location location Device geolocation; null if location could not be determined.

location

Name Format Description
location object Parent
lat decimal Device latitude in degrees N of the equator.
lng decimal Device longitude in degrees E of the prime meridian.
unc decimal Uncertainty in meters.
x decimal JSON array of x offsets (in meters) from lower-left corner of each floorplan.
y decimal JSON array of y offsets (in meters) from lower-left corner of each floorplan.
beaconType string The type of BLE beacon payload
[beaconType] object The BLE beacon payload

beaconType

Name Format Description
beaconType object Parent
[beaconType] object BLE beacon payload

Beacon Types

iBeacon

"beaconType": "iBeacon",
"iBeacon": {
    "uuid": "451edb45-c1aa-4fa4-ad24-37b13bd81962"
    "major": 5
    "minor": 3
    "txPower": -3
 }

Eddystone-UID

"beaconType": "Eddystone-UID",
"Eddystone_UID": {
    "txPower": -3
    "namespace": "afc615557a94e6339cc5"
    "instance": "3abe7844e03c"
}

Eddystone-URL

"beaconType": "Eddystone-URL",
"Eddystone-URL": {
    "txPower": -3
    "URL": "www.google.com"
}

Eddystone-URL

"beaconType": "Eddystone-TLM",
"Eddystone-TLM": {
    "version": 0,
    "batteryVoltage": 1000
    "temperature": 0.0 
    "advertisementCount": 12
    "secondsSincePowerUp": 7200.0
}

Eddystone-TLM encrypted

 "beaconType": "Eddystone-TLM",
 "Eddystone-TLM": {
    "version": 1,
    "encryptedTLMData": "a840f320ab60a573ab60a573" 
    "salt": "bb33"
    "interityCheck": "aa22"
}

Eddystone-EID encrypted

"beaconType": "Eddystone-EID",
"Eddystone_EID": {
    "txPower": -3
    "eid": "a840f320ab60a573" 
}

Unknown

"beaconType": "Unknown",
"Unknown": {
    "rawPayload": "a840f320ab60a573" 
}