Meraki Scanning API
Observation Data
WiFi Devices
type: DevicesSeen
response
Copy{
{
"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
response
Copy{
"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
json
Copy"beaconType": "iBeacon",
"iBeacon": {
"uuid": "451edb45-c1aa-4fa4-ad24-37b13bd81962"
"major": 5
"minor": 3
"txPower": -3
}
Eddystone-UID
json
Copy"beaconType": "Eddystone-UID",
"Eddystone_UID": {
"txPower": -3
"namespace": "afc615557a94e6339cc5"
"instance": "3abe7844e03c"
}
Eddystone-URL
json
Copy"beaconType": "Eddystone-URL",
"Eddystone-URL": {
"txPower": -3
"URL": "www.google.com"
}
Eddystone-URL
json
Copy"beaconType": "Eddystone-TLM",
"Eddystone-TLM": {
"version": 0,
"batteryVoltage": 1000
"temperature": 0.0
"advertisementCount": 12
"secondsSincePowerUp": 7200.0
}
Eddystone-TLM encrypted
json
Copy "beaconType": "Eddystone-TLM",
"Eddystone-TLM": {
"version": 1,
"encryptedTLMData": "a840f320ab60a573ab60a573"
"salt": "bb33"
"interityCheck": "aa22"
}
Eddystone-EID encrypted
json
Copy"beaconType": "Eddystone-EID",
"Eddystone_EID": {
"txPower": -3
"eid": "a840f320ab60a573"
}
Unknown
json
Copy"beaconType": "Unknown",
"Unknown": {
"rawPayload": "a840f320ab60a573"
}