Mason API Device Model

The Mason Device Model is primary information that the Mason API sends about a particular device. This JSON encoded model is meant to provide the latest data from the device itself.

The location data is excluded from the device model and callable from its own API in order to allow for privacy of where devices physically are.

Device identification

There are several ways that a device can be identified and all of these are except for name are static.

Identifier JSON Identifier Purpose
ID id A UUID created when the device is added to the Mason cloud
Serial Number serialnumber This is the serial number given to the device at its creation
IMEI imei This is the IMEI identifier for the device
Name name Customer generated name for the device
Self self Reference to the device within the Mason cloud
Family family Category of devices that this device belongs to

Device heartbeats

In addition to identification information, our device model also includes information about the state of the device from the last time that it checked in with the system, known as its heartbeat.

The LastCheckin represents the last time that a device updated its information to the system.

Type JSON Identifier Purpose
Group group What deployment group the device belongs to
Battery battery Information about the device’s battery state
Connection connection Network related information about the device
OS os Current operating system running on the device.
Applications apps Applications loaded on the device.
Status status Summary of the device’s state

Group

Group provides the deployment group that the device belongs to.

Type JSON Identifier Purpose
Name name Name of the device’s deployment group
Self self Reference identifier for the group

Battery

The battery provides details about the state of the battery for the device.

Type JSON Identifier Purpose
Level level Remaining charge level of the battery

Connection

Connection records connectivity information for the device.

Type JSON Identifier Purpose
Data Usage datausage Network transfer data of apps on the device
Bluetooth bluetooth Tell if bluetooth is on and what is connected
Wifi wifi Wifi network device is connected to
Sim* sim Information about any connected sim cards
  • Note: Device model does not include how much information was sent over the SIM card from or to the device. Mason has a Connectivity program that can give you this information, please see you Account Manager or Mason Support for more information.

Data Usage

Data usage is the network data as reported by the Android operating system. We sum up everything for the operating system to put it under the system heading for UID 1000.

Data usage is reported in two ways, the first say is summing all usage on the device. The second way is dividing out usage by Application.

In both cases, we break down the data by the previous data and the previous month.

Type JSON Identifier Purpose
Usage Cycles usageCycles System wide usage cycles for the recorded period
App Data Cycles appsDataUsage Application specific usage cycle for the peroid

Usage Cycle

A data cycle is how we present data for a specific time period. The data contains a start and end time, these will range from one day to one month. It also includes an array of what traffic was sent segmented by type. For example, all the bytes sent and received over wifi.

Type JSON Identifier Purpose
Start Time startTime Start of when the data was collected
End Time endTime End of when the data was collected
Usage Type type in the usages array How the data was transfered such over “wifi”
Usage Bytes Received bytesReceived in the usages array Information about any connected sim cards
Usage Bytes Send bytesSend in the usages array Information about any connected sim cards

System Wide Data Usage

For system wide data, we aggregate everything into a single usage cycle. This is meant as an easy rollup what what the various types of network usage were for the time period.

Per Application Data Usage

For each application, we present a usage cycle specific to that application.

Type JSON Identifier Purpose
Package Names packageNames All the names for the application being recorded
Unique Id uid Unique identifier for the application
UsageCycles usageCycles The application specific usage cycle

Bluetooh

Bluetooth tracks the information for the device relating to bluetooth. This includes if bluetooth is enabled and what devices it is paired with.

Type JSON Identifier Purpose
Name name Name as it appears to on bluetooth
Enabled enabled If bluetooth is enabled or not
MacAddress macAddress MacAddress of the device
Paired Device Name name in the pairedDevices array Name of the device this device is paired to
Paired Device MacAddress macAddress in the pairedDevices array MacAddress of the device this device is paired to

Wifi

The Wireless Local Area Networks information for the device.

Type JSON Identifier Purpose
IP Address ipadress Internet protocol address
Adapter MAC Address adapterMacAddress MAC address for the devices’ wifi adapter
Enable enabled True if wifi is enabled otherwise false
SSID ssid Service Set Identifier for the device
BSSID bssid Basic Service Set Identifier for the device

Sim

SIM, the subscriber identity module, is the standard used for cellular access on a device. These are the settings when a SIM is included on a device.

Type JSON Identifier Purpose
Carrier carrier Name of the cellular service provider
ICCID iccid Integrated Circuit Card Identifier
MNC mnc Mobile Network Code
MCC mcc Mobile Country Code
Country ISO countryiso International Organization for Standardization country code

OS

OS contains all the information about the operating system of the device.

MasonOS

Mason OS specific information.

Type JSON Identifier Purpose
Release release Mason OS release
Incremental incremental Mason OS incremental version

Configuration

Configuration describes the project configuration applied to the device.

Type JSON Identifier Purpose
Project project Project applied to this device.
Product product
Device device Type of device
Version version Version of the project on the device

PlatformFeatures

Platform features is an array of Mason platform features exposed in this version of the MasonOS.

Type JSON Identifier Purpose
Package package Name of the application package
Features features List of features exposed for this package

Application

Application is the array of applications installed.

Type JSON Identifier Purpose
Name name Name of the application
Version version Version of the application

Status

Type JSON Identifier Purpose
OS Updated osUpdated True if the operating system is up-to-date otherwise false
Apps Updated appsUpdated True if the deployment applications are up-to-date otherwise false
Project Updated projectUpdated True if the project is up-to-date otherwise false