Mason Platform APIs Docs (1.0)
Download OpenAPI specification:Download
The Mason Platform API is a series of REST routes that enable customers to perform operations against their fleet of devices and artifacts.
All endpoints require authentication. Authentication is specified using API Keys.
To use an API Key, set the Authorization
header in your request to basic <api-key>
.
The full header should look as follows:
Authorization: basic <api-key>
To use an API Key against an endpoint, it needs to have the proper scope.
Every user and API key has an associated list of scopes. A scope enables a level of access to APIs for the request send by the user or API key. Each endpoint will validate the incoming request has the required scope before processing the request. The scope hierarchy is shown below with a description of each scope. See the support article about Mason Scopes for more details.
account:owner
: Full permissions for the accountfleet:admin
: Grants administrator control over devices and groupsfleet:manager
: Grants control over devices and groupsfleet:deploy
: Grants control over deploying to groupsfleet:move
: Grants control over moving devices between groupsfleet:read
: Grants read access on devices and groups
fleet:locate
: Grants access to devices location datanotify:all
: Grants send notifications for all notification typesnotify:refresh
: Grants send notifications to heartbeatnotify:check
: Grants send notifications to check for updatesnotify:reboot
: Grants send notifications to reboot devicesnotify:shutdown
: Grants send notifications to shutdown devicesnotify:wipe
: Grants send notifications to wipe devicesnotify:application
: Grants send notifications to user-applications on devicesnotify:refurbish
: Grants send notifications to refurbish devices
xray:admin
: Grants full use of Xray featuresuser:admin
: Grants administrator control over usersuser:read
: Grants read access to users
registry:admin
: Grants administrator control over the artifact registryregistry:read
: Grants read access to the artifact registry
connect:admin
: Grants administrator control over SIMsconnect:read
: Grants read access to SIMs
Many of the platform APIs contain paginated results. All pagination follow a
standard token-based pattern. Results are always stored in the data
value as
a list. If there is a next page, the token is stored in the nextPage
value. If
there is a previous page, the token is stored in the prevPage
value.
To request the next or previous page, send a subsequent request with the next or
previous token as the after
or before
query parameter.
Below is a sample JSON response from the paginated devices endpoint:
https://api.bymason.com/device
{
"data": [{...}],
"prevPage": "cHJldmlvdXMgcGFnaW5hdGlvbiB0b2tlbgo=",
"nextPage": "bmV4dCBwYWdpbmF0aW9uIHRva2VuCg=="
}
Given the above response, you can query the next page by setting the after
query parameter with the nextPage
token:
https://api.bymason.com/device?after=bmV4dCBwYWdpbmF0aW9uIHRva2VuCg==
{
"data": [{...}],
"prevPage": "cHJldmlvdXMgcGFnaW5hdGlvbiB0b2tlbgo=",
"nextPage": "bmV4dCBwYWdpbmF0aW9uIHRva2VuCg=="
}
The Mason API will return one of the following status codes for each request.
Status Code | Description |
---|---|
200 | The request succeeded. |
400 | The request was malformed. Details will be in the error context. |
401 | The request had an invalid or missing API key. |
403 | The API key does not have the proper scope for the endpoint. |
404 | The requested resource does not exist. |
500 | Internal server error. |
The Mason API uses a standard JSON body for all non-2XX status codes to represent errors. The body of the error response will follow the format:
{
"type": "<error-type-category>",
"context": "<error-message>"
}
An example error message for an Unauthorized error will look like:
{
"type": "forbidden",
"context": "The user does not have permission to take the desired action"
}
All timestamps used in the platform APIs are formatted using RFC3339, unless specified otherwise.
List devices
Fetches a page of devices registered with your account.
Authorizations:
query Parameters
limit | integer >= 1 Default: 100 Limits the number of items in a page of results |
before | string Request the previous page of results |
after | string Request the next page of results |
orderByCol | string Enum: "createdAt" "lastHeartbeat" Column to sort the results |
orderDir | string Default: "asc" Enum: "asc" "desc" Direction to order the results (i.e., ascending or descending) |
searchType | string Enum: "partial" "exact" Type of search to perform. If not provided, the search parameters will be ignored and all results returned. |
searchQuery | string Query to use for search |
type | string Enum: "all" "imei" "serial" "name" Field to apply the search query to |
deviceGroup | string Filter results based on the Deployment Group name |
appsUpdated | boolean Enum: true false Filter results based on whether the device's apps are updated |
osUpdated | boolean Enum: true false Filter results based on whether the device's OS is updated |
projectUpdated | boolean Enum: true false Filter results based on whether the device's project is updated |
maxBatteryPercent | number Filter results based on the max, last known, battery percentage of the device |
Responses
Response samples
- 200
- 400
- 404
- 500
{- "data": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "self": "string",
- "name": "Store 123 Device #2",
- "imei": "615022756680303",
- "createdAt": "2019-08-24T14:15:22Z",
- "family": "D03",
- "lastcheckin": "2019-08-24T14:15:22Z",
- "group": {
- "self": "/default/group/myGroup",
- "name": "myGroup"
}, - "battery": {
- "level": "100"
}, - "serialnumber": "21BC01CF8DFF",
- "connection": {
- "dataUsage": {
- "appsDataUsage": [
- {
- "packageNames": [
- "com.myApp1",
- "com.myApp2"
], - "uid": 10139,
- "usageCycles": [
- {
- "startTime": "2019-08-24T14:15:22Z",
- "endTime": "2019-08-24T14:15:22Z",
- "usages": [ ]
}
]
}
], - "usageCycles": [
- {
- "startTime": "2019-08-24T14:15:22Z",
- "endTime": "2019-08-24T14:15:22Z",
- "usages": [ ]
}
]
}, - "wifi": {
- "ipaddress": "192.168.0.1",
- "adapterMacAddress": "7e:8a:68:f2:40:10",
- "bssid": "9c:53:22:c6:a3:6f",
- "ssid": "MyNetwork",
- "enabled": true
}, - "sim": [
- {
- "carrier": "T-Mobile - Twilio",
- "countryiso": "us",
- "iccid": "89883070000018591915",
- "mnc": "360",
- "mcc": "311"
}
]
}, - "os": {
- "configuration": {
- "device": "D03",
- "product": "default",
- "project": "myProject",
- "version": "1"
}, - "masonOS": {
- "release": "11",
- "incremental": "RD07C8FTLJFJ",
- "version": "6.2.5"
}, - "platformFeatures": [
- {
- "features": [
- "string"
], - "package": "string"
}
]
}, - "apps": [
- {
- "application": "com.example.myapplication",
- "version": "1"
}
]
}
], - "nextPage": "eyJwIjoiZXlKelkyRnVTVzVrWlhoR2IzSjNZWEprSWpwdWRXeHNMQ0pzWVhOMFJYWmhiSFZoZEdWa1MyVjVJanB1ZFd4c0xDSnNhVzFwZENJNmJuVnNiSDBLIiwibCI6MTAwfQ==",
- "prevPage": "eyJuIjoiZXlKUVlXZHBibUYwYVc5dUlqcDdJbXhwYldsMElqb3hMQ0p2Wm1aelpYUWlPakY5ZlFvPSIsImwiOjF9"
}
Read device
Fetches a device registered with your account by its unique id.
Authorizations:
path Parameters
id required | string <uuid> Device ID |
Responses
Response samples
- 200
- 404
- 500
{- "data": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "self": "string",
- "name": "Store 123 Device #2",
- "imei": "615022756680303",
- "createdAt": "2019-08-24T14:15:22Z",
- "family": "D03",
- "lastcheckin": "2019-08-24T14:15:22Z",
- "group": {
- "self": "/default/group/myGroup",
- "name": "myGroup"
}, - "battery": {
- "level": "100"
}, - "serialnumber": "21BC01CF8DFF",
- "connection": {
- "dataUsage": {
- "appsDataUsage": [
- {
- "packageNames": [
- "com.myApp1",
- "com.myApp2"
], - "uid": 10139,
- "usageCycles": [
- {
- "startTime": "2019-08-24T14:15:22Z",
- "endTime": "2019-08-24T14:15:22Z",
- "usages": [ ]
}
]
}
], - "usageCycles": [
- {
- "startTime": "2019-08-24T14:15:22Z",
- "endTime": "2019-08-24T14:15:22Z",
- "usages": [ ]
}
]
}, - "wifi": {
- "ipaddress": "192.168.0.1",
- "adapterMacAddress": "7e:8a:68:f2:40:10",
- "bssid": "9c:53:22:c6:a3:6f",
- "ssid": "MyNetwork",
- "enabled": true
}, - "sim": [
- {
- "carrier": "T-Mobile - Twilio",
- "countryiso": "us",
- "iccid": "89883070000018591915",
- "mnc": "360",
- "mcc": "311"
}
]
}, - "os": {
- "configuration": {
- "device": "D03",
- "product": "default",
- "project": "myProject",
- "version": "1"
}, - "masonOS": {
- "release": "11",
- "incremental": "RD07C8FTLJFJ",
- "version": "6.2.5"
}, - "platformFeatures": [
- {
- "features": [
- "string"
], - "package": "string"
}
]
}, - "apps": [
- {
- "application": "com.example.myapplication",
- "version": "1"
}
]
}
]
}
Update device
Updates device attributes
Authorizations:
path Parameters
id required | string <uuid> Device ID |
Request Body schema: application/json
name | string Device name |
Responses
Request samples
- Payload
{- "name": "string"
}
Response samples
- 200
- 400
- 404
- 500
{- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "self": "string",
- "name": "Store 123 Device #2",
- "imei": "615022756680303",
- "createdAt": "2019-08-24T14:15:22Z",
- "family": "D03",
- "lastcheckin": "2019-08-24T14:15:22Z",
- "group": {
- "self": "/default/group/myGroup",
- "name": "myGroup"
}, - "battery": {
- "level": "100"
}, - "serialnumber": "21BC01CF8DFF",
- "connection": {
- "dataUsage": {
- "appsDataUsage": [
- {
- "packageNames": [
- "com.myApp1",
- "com.myApp2"
], - "uid": 10139,
- "usageCycles": [
- {
- "startTime": "2019-08-24T14:15:22Z",
- "endTime": "2019-08-24T14:15:22Z",
- "usages": [ ]
}
]
}
], - "usageCycles": [
- {
- "startTime": "2019-08-24T14:15:22Z",
- "endTime": "2019-08-24T14:15:22Z",
- "usages": [ ]
}
]
}, - "wifi": {
- "ipaddress": "192.168.0.1",
- "adapterMacAddress": "7e:8a:68:f2:40:10",
- "bssid": "9c:53:22:c6:a3:6f",
- "ssid": "MyNetwork",
- "enabled": true
}, - "sim": [
- {
- "carrier": "T-Mobile - Twilio",
- "countryiso": "us",
- "iccid": "89883070000018591915",
- "mnc": "360",
- "mcc": "311"
}
]
}, - "os": {
- "configuration": {
- "device": "D03",
- "product": "default",
- "project": "myProject",
- "version": "1"
}, - "masonOS": {
- "release": "11",
- "incremental": "RD07C8FTLJFJ",
- "version": "6.2.5"
}, - "platformFeatures": [
- {
- "features": [
- "string"
], - "package": "string"
}
]
}, - "apps": [
- {
- "application": "com.example.myapplication",
- "version": "1"
}
]
}
Move Devices
Move devices from one group to another. If the new group has artifacts deployed to it, the device will automatically update to install the new artifacts. If the new group has a different config or the same config on a lower version, the device will perform a Wipe Action.
The move will only succeed if every device listed is of the same device type + API level and the target group is locked to the same device type + API level. A group will be locked to a device type and API level once a project is deployed or a device is moved into the group.
Authorizations:
path Parameters
name required | string Group name |
query Parameters
validateonly | boolean Validate whether the move can be done or not, but do not perform the move |
Responses
Response samples
- 200
- 400
- 500
{- "willUpdate": true,
- "willWipe": true,
- "emptyGroup": true,
- "newProject": "string",
- "newVersion": "string"
}
The Actions API endpoints enable you to send commands to your fleet of devices. Each action is queued to the device. The device processes it's queue of actions when it is online and has an internet connection. If the device is online when the action is sent, it will process the action immediately.
Send a Broadcast Action
Sends a Broadcast Action to a list of devices. A Broadcast is a mechanism to deliver a command to your Android application.
As a best practice, you should never send sensitive data over a broadcast. If you have sensitive data, it's best to send an identifier to your storage over the broadcast, or to encrypt the data.
Authorizations:
Request Body schema: application/json
devices | Array of strings <= 500 items List of device ids to send the Command to |
targetApps | Array of arrays List of applications to receive the Command on you devices |
command | string Command to send to the applications |
args | Array of strings A list of arguments to send with the Command |
Responses
Request samples
- Payload
{- "devices": [
- "string"
], - "targetApps": [ ],
- "command": "string",
- "args": [
- "string"
]
}
Response samples
- 400
{- "type": "string",
- "context": "string"
}
Send a Refresh Action
Sends a Refresh Action to a list of devices. A Refresh Action tells the device to report it's latest state to the platform. The state includes installed artifacts, networked devices, etc.
Authorizations:
Request Body schema: application/json
devices | Array of strings <= 500 items List of device ids to send an Action to |
Responses
Request samples
- Payload
{- "devices": [
- "string"
]
}
Response samples
- 400
- 404
- 500
{- "type": "string",
- "context": "string"
}
Send an Update Check Action
Sends an Update Check Action to a list of devices. An Update Check Action tells the device to check in to the platform to get any updates. Updates are any artifacts deployed to the devices group, including Mason OS, project builds, and apps. If the device is out of date for any artifact, it will install the latest deployed version.
Authorizations:
Request Body schema: application/json
devices | Array of strings <= 500 items List of device ids to send an Action to |
Responses
Request samples
- Payload
{- "devices": [
- "string"
]
}
Response samples
- 400
- 404
- 500
{- "type": "string",
- "context": "string"
}
Send a Reboot Action
Sends a Reboot Action to a list of devices. A Reboot Action will power off and then power on the device.
Authorizations:
Request Body schema: application/json
devices | Array of strings <= 500 items List of device ids to send an Action to |
Responses
Request samples
- Payload
{- "devices": [
- "string"
]
}
Response samples
- 400
- 404
- 500
{- "type": "string",
- "context": "string"
}
Send a Shutdown Action
Sends a Shutdown Action to a list of devices. A Shutdown Action will power off the device.
Authorizations:
Request Body schema: application/json
devices | Array of strings <= 500 items List of device ids to send an Action to |
Responses
Request samples
- Payload
{- "devices": [
- "string"
]
}
Response samples
- 400
- 404
- 500
{- "type": "string",
- "context": "string"
}
Send a Wipe Action
Sends a Wipe Action to a list of devices. A Wipe Action will perform a factory reset on the device. A factory reset will delete app-specific data and settings on the device, but will preserve the deployed project and configuration.
Authorizations:
Request Body schema: application/json
devices | Array of strings <= 500 items List of device ids to send an Action to |
Responses
Request samples
- Payload
{- "devices": [
- "string"
]
}
Response samples
- 400
- 404
- 500
{- "type": "string",
- "context": "string"
}
The Project API endpoints enable you to view and manage your Mason projects. A Project is a collection of apps and configuration that can be deployed to a device.
List projects
Fetches a list of projects.
Authorizations:
query Parameters
name | string Project Name |
before | string Request the previous page of results |
after | string Request the next page of results |
limit | integer >= 1 Default: 100 Limits the number of items in a page of results |
Responses
Response samples
- 200
- 500
{- "data": [
- {
- "id": "string",
- "name": "string",
- "description": "string",
- "deviceFamily": "D03",
- "apiLevel": 23,
- "createdAt": "string",
- "updatedAt": "string"
}
], - "nextPage": "eyJwIjoiZXlKelkyRnVTVzVrWlhoR2IzSjNZWEprSWpwdWRXeHNMQ0pzWVhOMFJYWmhiSFZoZEdWa1MyVjVJanB1ZFd4c0xDSnNhVzFwZENJNmJuVnNiSDBLIiwibCI6MTAwfQ==",
- "prevPage": "eyJuIjoiZXlKUVlXZHBibUYwYVc5dUlqcDdJbXhwYldsMElqb3hMQ0p2Wm1aelpYUWlPakY5ZlFvPSIsImwiOjF9"
}
Create project
Creates a project.
Authorizations:
Request Body schema: application/json
name | string [ 1 .. 500 ] characters ^[a-zA-Z0-9_\-]+$ Unique name of project |
description | string [ 1 .. 10000 ] characters Description of project |
deviceFamily | string (DeviceFamily) Enum: "D03" "F07" "D450" "D450A" "D450A1" "D450B" "C210" "F210" "F450" "G430" "G450" "I3399A" "A4100" "D215" |
apiLevel | integer (APILevel) Enum: 23 25 27 30 |
Responses
Request samples
- Payload
{- "name": "string",
- "description": "string",
- "deviceFamily": "D03",
- "apiLevel": 23
}
Response samples
- 200
- 400
- 500
{- "id": "string",
- "name": "string",
- "description": "string",
- "deviceFamily": "D03",
- "apiLevel": 23,
- "createdAt": "string",
- "updatedAt": "string"
}
Read project
Fetches project details.
Authorizations:
path Parameters
id required | string <uuid> Project ID |
Responses
Response samples
- 200
- 404
- 500
{- "id": "string",
- "name": "string",
- "description": "string",
- "deviceFamily": "D03",
- "apiLevel": 23,
- "createdAt": "string",
- "updatedAt": "string"
}
Update project
Updates project details.
Authorizations:
path Parameters
id required | string <uuid> Project ID |
Request Body schema: application/json
description | string [ 1 .. 10000 ] characters Description of project |
Responses
Request samples
- Payload
{- "description": "string"
}
Response samples
- 200
- 400
- 404
- 500
{- "id": "string",
- "name": "string",
- "description": "string",
- "deviceFamily": "D03",
- "apiLevel": 23,
- "createdAt": "string",
- "updatedAt": "string"
}
The Deployment Groups API endpoints enable you to view and manage your groups of devices. A Deployment Group is a mechanism to deploy artifacts in bulk to devices. Each Group is locked to a specific Android API level and Mason device type. This allows you to move devices into a Deployment Group that should have the same Mason OS, Project, and Apps. Devices will auto-update their artifacts based on the Deployment Group they are in and the artifacts deployed to that group.
List deployment groups
Fetches a page of groups in your account.
Authorizations:
query Parameters
limit | integer >= 1 Default: 100 Limits the number of items in a page of results |
before | string Request the previous page of results |
after | string Request the next page of results |
name | string Group name |
Responses
Response samples
- 200
- 400
- 404
- 500
{- "data": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "string",
- "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z",
- "description": "string",
- "deviceFamily": "D03",
- "apiLevel": 23,
- "deviceCount": 100,
- "devicesUpToDateCount": 86,
- "apps": [
- {
- "createdAt": "2023-12-07T20:34:55.339Z",
- "name": "com.company.app",
- "version": "15"
}
], - "config": {
- "createdAt": "2023-12-07T20:34:55.339Z",
- "name": "customer123",
- "version": "2"
}, - "os": {
- "createdAt": "2023-12-07T20:34:55.339Z",
- "name": "mason-os",
- "version": "6.2.2"
}
}
], - "nextPage": "eyJwIjoiZXlKelkyRnVTVzVrWlhoR2IzSjNZWEprSWpwdWRXeHNMQ0pzWVhOMFJYWmhiSFZoZEdWa1MyVjVJanB1ZFd4c0xDSnNhVzFwZENJNmJuVnNiSDBLIiwibCI6MTAwfQ==",
- "prevPage": "eyJuIjoiZXlKUVlXZHBibUYwYVc5dUlqcDdJbXhwYldsMElqb3hMQ0p2Wm1aelpYUWlPakY5ZlFvPSIsImwiOjF9"
}
Response samples
- 200
- 400
- 404
- 409
- 500
{- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "string",
- "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z",
- "description": "string",
- "deviceFamily": "D03",
- "apiLevel": 23,
- "deviceCount": 100,
- "devicesUpToDateCount": 86,
- "apps": [
- {
- "createdAt": "2023-12-07T20:34:55.339Z",
- "name": "com.company.app",
- "version": "15"
}
], - "config": {
- "createdAt": "2023-12-07T20:34:55.339Z",
- "name": "customer123",
- "version": "2"
}, - "os": {
- "createdAt": "2023-12-07T20:34:55.339Z",
- "name": "mason-os",
- "version": "6.2.2"
}
}
Read deployment group
Fetches a deployment group by its unique name.
Authorizations:
path Parameters
group-id required | string <uuid> Group id |
Responses
Response samples
- 200
- 400
- 404
- 500
{- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "string",
- "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z",
- "description": "string",
- "deviceFamily": "D03",
- "apiLevel": 23,
- "deviceCount": 100,
- "devicesUpToDateCount": 86,
- "apps": [
- {
- "createdAt": "2023-12-07T20:34:55.339Z",
- "name": "com.company.app",
- "version": "15"
}
], - "config": {
- "createdAt": "2023-12-07T20:34:55.339Z",
- "name": "customer123",
- "version": "2"
}, - "os": {
- "createdAt": "2023-12-07T20:34:55.339Z",
- "name": "mason-os",
- "version": "6.2.2"
}
}
Update deployment group
Updates a deployment group.
Authorizations:
path Parameters
group-id required | string <uuid> Group id |
Request Body schema: application/json
description | string (GroupDescription) [ 1 .. 300 ] characters Description for the Deployment Group. |
Responses
Request samples
- Payload
{- "description": "string"
}
Response samples
- 200
- 400
- 404
- 500
{- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "string",
- "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z",
- "description": "string",
- "deviceFamily": "D03",
- "apiLevel": 23,
- "deviceCount": 100,
- "devicesUpToDateCount": 86,
- "apps": [
- {
- "createdAt": "2023-12-07T20:34:55.339Z",
- "name": "com.company.app",
- "version": "15"
}
], - "config": {
- "createdAt": "2023-12-07T20:34:55.339Z",
- "name": "customer123",
- "version": "2"
}, - "os": {
- "createdAt": "2023-12-07T20:34:55.339Z",
- "name": "mason-os",
- "version": "6.2.2"
}
}
Delete deployment group
Deletes a deployment group. This operation is not allowed when there
are any devices in the group. The group named unassigned
is a special
group that can not be deleted.
Authorizations:
path Parameters
group-id required | string <uuid> Group id |
Responses
Response samples
- 200
- 400
- 404
- 500
{- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08"
}
The Deployment API endpoints enable you to view and manage the artifacts deployed to your Deployment Groups. An artifact is either a Mason OS version, project build, or an app.
Create a deployment
Creates a new deployment.
Authorizations:
Request Body schema: application/json
groupId required | string The unique id for the deployment group receiving the deployment. |
name required | string The name of the artifact being deployed. |
version required | string The version of the artifact being deployed. |
type required | string (ArtifactDeploymentType) Enum: "ota" "config" "apk" |
push | boolean Default: false If true, all devices in your deployment group will be notified of an update. Once the device is notified, it will apply the update. If false, the device will apply the update over the next 24 hours. |
deployInsecure | boolean Default: false If true, the device will download the deployment over http. If false, the device will download the deployment over https. |
Responses
Request samples
- Payload
{- "groupId": "string",
- "name": "string",
- "version": "string",
- "type": "ota",
- "push": false,
- "deployInsecure": false
}
Response samples
- 200
- 400
- 500
{- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "artifact": {
- "name": "string",
- "type": "ota",
- "version": "string"
}, - "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z",
- "groupId": "eb54e96e-21b8-4f54-9cd4-80fccbd06f55",
- "deployInsecure": false,
- "isActive": true
}
List deployments
Fetches a page of deployments.
Authorizations:
query Parameters
limit | integer >= 1 Default: 100 Limits the number of items in a page of results |
before | string Request the previous page of results |
after | string Request the next page of results |
name | string The name of the deployed artifact |
type | string (ArtifactDeploymentType) Enum: "ota" "config" "apk" The type of the deployed artifact |
version | string The version of the deployed artifact |
groupId | string The group id of the deployed artifact |
isActive | boolean Whether the deployment is active or not |
Responses
Response samples
- 200
- 404
- 500
{- "data": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "artifact": {
- "name": "string",
- "type": "ota",
- "version": "string"
}, - "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z",
- "groupId": "eb54e96e-21b8-4f54-9cd4-80fccbd06f55",
- "deployInsecure": false,
- "isActive": true
}
], - "nextPage": "eyJwIjoiZXlKelkyRnVTVzVrWlhoR2IzSjNZWEprSWpwdWRXeHNMQ0pzWVhOMFJYWmhiSFZoZEdWa1MyVjVJanB1ZFd4c0xDSnNhVzFwZENJNmJuVnNiSDBLIiwibCI6MTAwfQ==",
- "prevPage": "eyJuIjoiZXlKUVlXZHBibUYwYVc5dUlqcDdJbXhwYldsMElqb3hMQ0p2Wm1aelpYUWlPakY5ZlFvPSIsImwiOjF9"
}
Read deployment
Fetches a deployment by its unique id.
Authorizations:
path Parameters
deployment-id required | string Deployment id |
Responses
Response samples
- 200
- 404
- 500
{- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "artifact": {
- "name": "string",
- "type": "ota",
- "version": "string"
}, - "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z",
- "groupId": "eb54e96e-21b8-4f54-9cd4-80fccbd06f55",
- "deployInsecure": false,
- "isActive": true
}
A Device is any Android based phone or tablet running Mason OS.
id | string <uuid> Unique identifier for the device |
self | string Reference to this device |
name | string Device name |
imei | string International mobile equipment identity |
createdAt | string <date-time> Date device was added to the Mason account |
family | string (DeviceFamily) Enum: "D03" "F07" "D450" "D450A" "D450A1" "D450B" "C210" "F210" "F450" "G430" "G450" "I3399A" "A4100" "D215" |
lastcheckin | string <date-time> Timestamp for the last time the device reported a heartbeat to the platform |
object Device group the device currently belongs to | |
object Battery properties | |
serialnumber | string Serial number of the device |
object (Connection) Information on networked devices | |
object Version codes describing which Mason OS is running | |
Array of objects (DeviceApps) Apps deployed to the device via a Deployment Group |
{- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "self": "string",
- "name": "Store 123 Device #2",
- "imei": "615022756680303",
- "createdAt": "2019-08-24T14:15:22Z",
- "family": "D03",
- "lastcheckin": "2019-08-24T14:15:22Z",
- "group": {
- "self": "/default/group/myGroup",
- "name": "myGroup"
}, - "battery": {
- "level": "100"
}, - "serialnumber": "21BC01CF8DFF",
- "connection": {
- "dataUsage": {
- "appsDataUsage": [
- {
- "packageNames": [
- "com.myApp1",
- "com.myApp2"
], - "uid": 10139,
- "usageCycles": [
- {
- "startTime": "2019-08-24T14:15:22Z",
- "endTime": "2019-08-24T14:15:22Z",
- "usages": [ ]
}
]
}
], - "usageCycles": [
- {
- "startTime": "2019-08-24T14:15:22Z",
- "endTime": "2019-08-24T14:15:22Z",
- "usages": [ ]
}
]
}, - "wifi": {
- "ipaddress": "192.168.0.1",
- "adapterMacAddress": "7e:8a:68:f2:40:10",
- "bssid": "9c:53:22:c6:a3:6f",
- "ssid": "MyNetwork",
- "enabled": true
}, - "sim": [
- {
- "carrier": "T-Mobile - Twilio",
- "countryiso": "us",
- "iccid": "89883070000018591915",
- "mnc": "360",
- "mcc": "311"
}
]
}, - "os": {
- "configuration": {
- "device": "D03",
- "product": "default",
- "project": "myProject",
- "version": "1"
}, - "masonOS": {
- "release": "11",
- "incremental": "RD07C8FTLJFJ",
- "version": "6.2.5"
}, - "platformFeatures": [
- {
- "features": [
- "string"
], - "package": "string"
}
]
}, - "apps": [
- {
- "application": "com.example.myapplication",
- "version": "1"
}
]
}
A Project is a collection of apps and configuration that can be deployed to a device.
id | string Unique ID of project |
name | string Name of project |
description | string Description of project |
deviceFamily | string (DeviceFamily) Enum: "D03" "F07" "D450" "D450A" "D450A1" "D450B" "C210" "F210" "F450" "G430" "G450" "I3399A" "A4100" "D215" |
apiLevel | integer (APILevel) Enum: 23 25 27 30 |
createdAt | string <RFC3339> Timestamp of when the project was created |
updatedAt | string <RFC3339> Timestamp of when the project was last updated |
{- "id": "string",
- "name": "string",
- "description": "string",
- "deviceFamily": "D03",
- "apiLevel": 23,
- "createdAt": "string",
- "updatedAt": "string"
}
A Deployment Group is a group of devices configured to run specific artifacts. Each Deployment Group has deployed artifacts which it propogates to every device that belongs in the group. An artifact is either a Mason OS version, project configuration, or an app.
id required | string <uuid> unique ID for the group |
name required | string Group name |
createdAt required | string <date-time> Date group was created |
updatedAt required | string <date-time> Date group was last updated |
description | string Description of the group |
deviceFamily | string (DeviceFamily) Enum: "D03" "F07" "D450" "D450A" "D450A1" "D450B" "C210" "F210" "F450" "G430" "G450" "I3399A" "A4100" "D215" |
apiLevel | integer (APILevel) Enum: 23 25 27 30 |
deviceCount required | integer Number of devices currently in the group |
devicesUpToDateCount | integer Of the devices in the group, indicates how many are running all the desired deployment versions |
Array of objects Details of each app (APK) deployed to the group | |
object Details of the configuration deployed to the group | |
object Details of the OS deployed to the group |
{- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "string",
- "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z",
- "description": "string",
- "deviceFamily": "D03",
- "apiLevel": 23,
- "deviceCount": 100,
- "devicesUpToDateCount": 86,
- "apps": [
- {
- "createdAt": "2023-12-07T20:34:55.339Z",
- "name": "com.company.app",
- "version": "15"
}
], - "config": {
- "createdAt": "2023-12-07T20:34:55.339Z",
- "name": "customer123",
- "version": "2"
}, - "os": {
- "createdAt": "2023-12-07T20:34:55.339Z",
- "name": "mason-os",
- "version": "6.2.2"
}
}
id | string <uuid> Unique identifier for the deployment |
object (DeployedArtifact) The artifact deployed to a group | |
createdAt | string <date-time> Timestamp for when the deployment was created |
updatedAt | string <date-time> Timestamp for when the deployment was created |
groupId | string <uuid> The group id the deployment belongs to |
deployInsecure | boolean Default: false Set to true for devices to download the update over http |
isActive | boolean Whether the deployment is active or not |
{- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "artifact": {
- "name": "string",
- "type": "ota",
- "version": "string"
}, - "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z",
- "groupId": "eb54e96e-21b8-4f54-9cd4-80fccbd06f55",
- "deployInsecure": false,
- "isActive": true
}