OK
{- "profile": {
- "name": "string"
}, - "enabled": true,
- "parentUuid": "string"
}
{- "uq": "3903dc78-9349-41a0-9662-d1e33de117f8",
- "doc_version": "latest",
- "result": true,
- "code": 0,
- "message": "string",
- "build": "string",
- "data": {
- "siteUuid": "string",
- "parentUuid": "string",
- "deviceNumbers": 0,
- "uuid": "string",
- "profile": {
- "name": "string"
}, - "created": "string",
- "updated": "string",
- "enabled": true
}
}
Could get device group uuid
OK
{- "uq": "3903dc78-9349-41a0-9662-d1e33de117f8",
- "doc_version": "latest",
- "result": true,
- "code": 0,
- "message": "string",
- "build": "string",
- "data": [
- {
- "siteUuid": "string",
- "parentUuid": "string",
- "deviceNumbers": 0,
- "uuid": "string",
- "profile": {
- "name": "string"
}, - "created": "string",
- "updated": "string",
- "enabled": true
}
]
}
Please not call save device again, it will reset the device status. To avoid confusing, check device exist first.
OK
[- {
- "profile": {
- "hardware_info": {
- "serial_no": "string",
- "manufacturer": "string",
- "brand": "string",
- "model": "string"
}
}, - "enabled": true,
- "groupUuid": "string"
}
]
{- "uq": "3903dc78-9349-41a0-9662-d1e33de117f8",
- "doc_version": "latest",
- "result": true,
- "code": 0,
- "message": "string",
- "build": "string"
}
{- "uq": "3903dc78-9349-41a0-9662-d1e33de117f8",
- "doc_version": "latest",
- "result": true,
- "code": 0,
- "message": "string",
- "build": "string",
- "data": {
- "siteUuid": "string",
- "states": {
- "clientVersion": 0,
- "rtcEnabled": true,
- "state": "string"
}, - "enrolled": "string",
- "lastCheckedIn": "string",
- "lastDisconnected": "string",
- "uuid": "string",
- "profile": {
- "hardware_info": {
- "serial_no": "string",
- "manufacturer": "string",
- "brand": "string",
- "model": "string"
}
}, - "created": "string",
- "updated": "string",
- "enabled": true,
- "deviceGroup": {
- "siteUuid": "string",
- "parentUuid": "string",
- "deviceNumbers": 0,
- "uuid": "string",
- "profile": {
- "name": "string"
}, - "created": "string",
- "updated": "string",
- "enabled": true
}
}
}
{- "uq": "3903dc78-9349-41a0-9662-d1e33de117f8",
- "doc_version": "latest",
- "result": true,
- "code": 0,
- "message": "string",
- "build": "string",
- "data": {
- "deviceUuid": "string",
- "serialNo": "string",
- "category": "string",
- "apps": {
- "packageName": "string",
- "label": "string",
- "versionCode": 0,
- "versionName": "string",
- "minSdkVersion": "string",
- "targetSdkVersion": "string",
- "certMd5": "string",
- "maxSdkVersion": "string",
- "appSize": 0,
- "dataSize": 0,
- "firstInstalled": 0,
- "lastUpdated": 0
}, - "reported": "string"
}
}
{- "uq": "3903dc78-9349-41a0-9662-d1e33de117f8",
- "doc_version": "latest",
- "result": true,
- "code": 0,
- "message": "string",
- "build": "string",
- "data": {
- "deviceUuid": "string",
- "serialNo": "string",
- "packageName": "string",
- "versionCode": 0,
- "installed": true
}
}
Using filter to get devices.
OK
{- "uq": "3903dc78-9349-41a0-9662-d1e33de117f8",
- "doc_version": "latest",
- "result": true,
- "code": 0,
- "message": "string",
- "build": "string",
- "data": [
- {
- "siteUuid": "string",
- "states": {
- "clientVersion": 0,
- "rtcEnabled": true,
- "state": "string"
}, - "enrolled": "string",
- "lastCheckedIn": "string",
- "lastDisconnected": "string",
- "uuid": "string",
- "profile": {
- "hardware_info": {
- "serial_no": "string",
- "manufacturer": "string",
- "brand": "string",
- "model": "string"
}
}, - "created": "string",
- "updated": "string",
- "enabled": true
}
], - "totalPage": 0,
- "size": 0,
- "totalSize": 0
}
Any app must be uploaded before requesting to update/install.
OK
{- "uq": "3903dc78-9349-41a0-9662-d1e33de117f8",
- "doc_version": "latest",
- "result": true,
- "code": 0,
- "message": "string",
- "build": "string",
- "data": [
- {
- "appInfo": {
- "packageName": "string",
- "label": "string",
- "versionCode": 0,
- "versionName": "string",
- "minSdkVersion": "string",
- "targetSdkVersion": "string",
- "certMd5": "string",
- "maxSdkVersion": "string",
- "appSize": 0,
- "dataSize": 0,
- "firstInstalled": 0,
- "lastUpdated": 0
}, - "fileUuid": "string",
- "fileInfo": {
- "length": 0,
- "lastModified": "string",
- "fileName": "string"
}, - "userUuid": "string",
- "extra": {
- "property1": null,
- "property2": null
}, - "name": "string",
- "enable": true,
- "lastUpdated": "string",
- "registeredAt": "string"
}
], - "size": 0
}
OK
{- "uq": "3903dc78-9349-41a0-9662-d1e33de117f8",
- "doc_version": "latest",
- "result": true,
- "code": 0,
- "message": "string",
- "build": "string",
- "data": [
- {
- "appInfo": {
- "packageName": "string",
- "label": "string",
- "versionCode": 0,
- "versionName": "string",
- "minSdkVersion": "string",
- "targetSdkVersion": "string",
- "certMd5": "string",
- "maxSdkVersion": "string",
- "appSize": 0,
- "dataSize": 0,
- "firstInstalled": 0,
- "lastUpdated": 0
}, - "fileUuid": "string",
- "fileInfo": {
- "length": 0,
- "lastModified": "string",
- "fileName": "string"
}, - "userUuid": "string",
- "extra": {
- "property1": null,
- "property2": null
}, - "name": "string",
- "enable": true,
- "lastUpdated": "string",
- "registeredAt": "string"
}
], - "totalPage": 0,
- "size": 0,
- "totalSize": 0
}
Any system image must be uploaded before requesting to update.
There're 2 kinds of image, one is base image and the other is region image.
Whichever the image is, the format is different for AB or Non-AB partition.
In addition, the image can be partial image.Multiple images can be listed in the request, but the MiDM will feed proper image depend on the device state.
For example, the size of all partial images is bigger than full image, it will select full image to meet the final image.
Any image is not for the device, the images will be rejected.
OK
{- "uq": "3903dc78-9349-41a0-9662-d1e33de117f8",
- "doc_version": "latest",
- "result": true,
- "code": 0,
- "message": "string",
- "build": "string",
- "data": [
- {
- "otaInfo": {
- "type": "string",
- "abUpdate": true,
- "deviceId": "string",
- "productId": "string",
- "skuId": "string",
- "buildDate": 0,
- "displayId": "string",
- "osVersion": "string",
- "sdk": 0,
- "preBuild": "string",
- "postBuild": "string",
- "customerId": "string",
- "customer": "string",
- "brand": "string",
- "scriptVersion": "string",
- "partNo": 0,
- "marketName1": "string",
- "marketName2": "string",
- "buildTags": "string",
- "buildType": "string",
- "securityPath": "string",
- "otaCert": "string"
}, - "fileUuid": "string",
- "fileInfo": {
- "length": 0,
- "lastModified": "string",
- "fileName": "string"
}, - "extra": {
- "property1": null,
- "property2": null
}, - "name": "string",
- "enable": true,
- "lastUpdated": "string",
- "registeredAt": "string"
}
], - "size": 0
}
OK
{- "uq": "3903dc78-9349-41a0-9662-d1e33de117f8",
- "doc_version": "latest",
- "result": true,
- "code": 0,
- "message": "string",
- "build": "string",
- "data": [
- {
- "otaInfo": {
- "type": "string",
- "abUpdate": true,
- "deviceId": "string",
- "productId": "string",
- "skuId": "string",
- "buildDate": 0,
- "displayId": "string",
- "osVersion": "string",
- "sdk": 0,
- "preBuild": "string",
- "postBuild": "string",
- "customerId": "string",
- "customer": "string",
- "brand": "string",
- "scriptVersion": "string",
- "partNo": 0,
- "marketName1": "string",
- "marketName2": "string",
- "buildTags": "string",
- "buildType": "string",
- "securityPath": "string",
- "otaCert": "string"
}, - "fileUuid": "string",
- "fileInfo": {
- "length": 0,
- "lastModified": "string",
- "fileName": "string"
}, - "extra": {
- "property1": null,
- "property2": null
}, - "name": "string",
- "enable": true,
- "lastUpdated": "string",
- "registeredAt": "string"
}
], - "totalPage": 0,
- "size": 0,
- "totalSize": 0
}
If isGlobal is true, any scope will be ignored.
If no profile.name described, the profile name will be the time stamp as formatted "yyyyMMdd_hh:mm:ss".
If the scoped devices not existing, it will be registered automatically.
{
"isGlobal": <true|false>,
"profile": { "name": "<profile name>", "applyOrder": "none|apps|otas|settings", "removeIfNoScope": "true|false", "unscopeIfApplied": "true|false" },
"scope": { "group": [<device groups>], "device": [<devices>]},
"apps": {"install": [{"uuid": "<app uuid>", "silentInstall": <true|false>}]},
"otas": [<UUIDs of each system images>],
"settings": {<configuration settings>}
}
Example JSON:
{
"scope": {
"group": [
"020a7dbf-ad72-474a-87a1-a9f90372e94b",
"649205ee-3ce6-4b37-ae42-14a272e31201"
]
},
"apps": {
"install": [
{
"uuid": "37088946-e6f4-49e3-b45a-05beda912df2",
"starts_on_update": true,
"silent_install": true,
"grant_all": true
},
{
"uuid": "37088946-e6f4-49e3-b45a-05beda912df2"
}
]
},
"otas": [
"48231c37-1fb9-4876-b4b2-c817cc52ffa8",
"94de7ae1-b750-4839-bf3f-39ec76a4c76d"
],
"schedule_date": {
"start_on": "2024-02-06"
},
"settings": {
"otas": {
"silent_install": true,
"partialFirst": true,
"need_ac": false,
"checkBuildDate": true
}
}
}
OK
{- "siteUuid": "string",
- "writerUuid": "string",
- "isGlobal": true,
- "profile": {
- "name": "string",
- "applyOrder": "string",
- "removeIfNoScope": true,
- "unscopeIfApplied": true,
- "applyWhile": {
- "sleeping": true,
- "offline": true
}, - "startsOn": "string",
- "updateVia": "string",
- "repeatOption": "string",
- "endsOption": "string",
- "ends": "string",
- "repeatEvery": 0,
- "repeatPeriod": "string",
- "timeOption": "string",
- "wakeToApply": true
}, - "scope": {
- "group": [
- "string"
], - "device": [
- "string"
]
}, - "writer": {
- "email": "string",
- "isMultiSiteUser": true,
- "isApiUser": true,
- "uuid": "string",
- "profile": {
- "name": "string",
- "phone": "string",
- "mobile": "string",
- "eula": {
- "acceptDate": "string",
- "version": "string",
- "uuid": "string"
}, - "ip": "string"
}
}, - "apps": {
- "install": [
- {
- "uuid": "string",
- "starts_on_update": true,
- "silent_install": true,
- "grant_all": true,
- "reboots_on_update": true
}
]
}, - "otas": [
- "string"
], - "schedule_date": {
- "start_on": "string"
}, - "settings": {
- "otas": {
- "silent_install": true,
- "partialFirst": true,
- "need_ac": true,
- "checkBuildDate": true
}
}, - "created": "string",
- "updated": "string",
- "enabled": true
}
{- "uq": "3903dc78-9349-41a0-9662-d1e33de117f8",
- "doc_version": "latest",
- "result": true,
- "code": 0,
- "message": "string",
- "build": "string",
- "data": {
- "uuid": "string",
- "name": "string",
- "updated": 0
}
}
List all profiles with paging or filter.
OK
{- "uq": "3903dc78-9349-41a0-9662-d1e33de117f8",
- "doc_version": "latest",
- "result": true,
- "code": 0,
- "message": "string",
- "build": "string",
- "data": [
- {
- "siteUuid": "string",
- "writerUuid": "string",
- "isGlobal": true,
- "profile": {
- "name": "string",
- "applyOrder": "string",
- "removeIfNoScope": true,
- "unscopeIfApplied": true,
- "applyWhile": {
- "sleeping": true,
- "offline": true
}, - "startsOn": "string",
- "updateVia": "string",
- "repeatOption": "string",
- "endsOption": "string",
- "ends": "string",
- "repeatEvery": 0,
- "repeatPeriod": "string",
- "timeOption": "string",
- "wakeToApply": true
}, - "scope": {
- "group": [
- "string"
], - "device": [
- "string"
]
}, - "writer": {
- "email": "string",
- "isMultiSiteUser": true,
- "isApiUser": true,
- "uuid": "string",
- "profile": {
- "name": "string",
- "phone": "string",
- "mobile": "string",
- "eula": {
- "acceptDate": "string",
- "version": "string",
- "uuid": "string"
}, - "ip": "string"
}
}, - "apps": {
- "install": [
- {
- "uuid": "string",
- "starts_on_update": true,
- "silent_install": true,
- "grant_all": true,
- "reboots_on_update": true
}
]
}, - "otas": [
- "string"
], - "schedule_date": {
- "start_on": "string"
}, - "settings": {
- "otas": {
- "silent_install": true,
- "partialFirst": true,
- "need_ac": true,
- "checkBuildDate": true
}
}, - "created": "string",
- "updated": "string",
- "enabled": true
}
]
}
List all profiles with paging or filter.
OK
{- "uq": "3903dc78-9349-41a0-9662-d1e33de117f8",
- "doc_version": "latest",
- "result": true,
- "code": 0,
- "message": "string",
- "build": "string",
- "data": {
- "siteUuid": "string",
- "writerUuid": "string",
- "isGlobal": true,
- "profile": {
- "name": "string",
- "applyOrder": "string",
- "removeIfNoScope": true,
- "unscopeIfApplied": true,
- "applyWhile": {
- "sleeping": true,
- "offline": true
}, - "startsOn": "string",
- "updateVia": "string",
- "repeatOption": "string",
- "endsOption": "string",
- "ends": "string",
- "repeatEvery": 0,
- "repeatPeriod": "string",
- "timeOption": "string",
- "wakeToApply": true
}, - "scope": {
- "group": [
- "string"
], - "device": [
- "string"
]
}, - "writer": {
- "email": "string",
- "isMultiSiteUser": true,
- "isApiUser": true,
- "uuid": "string",
- "profile": {
- "name": "string",
- "phone": "string",
- "mobile": "string",
- "eula": {
- "acceptDate": "string",
- "version": "string",
- "uuid": "string"
}, - "ip": "string"
}
}, - "apps": {
- "install": [
- {
- "uuid": "string",
- "starts_on_update": true,
- "silent_install": true,
- "grant_all": true,
- "reboots_on_update": true
}
]
}, - "otas": [
- "string"
], - "schedule_date": {
- "start_on": "string"
}, - "settings": {
- "otas": {
- "silent_install": true,
- "partialFirst": true,
- "need_ac": true,
- "checkBuildDate": true
}
}, - "created": "string",
- "updated": "string",
- "enabled": true
}
}
Load existed profile first. Then, edit and save it.
OK
{- "siteUuid": "string",
- "writerUuid": "string",
- "isGlobal": true,
- "profile": {
- "name": "string",
- "applyOrder": "string",
- "removeIfNoScope": true,
- "unscopeIfApplied": true,
- "applyWhile": {
- "sleeping": true,
- "offline": true
}, - "startsOn": "string",
- "updateVia": "string",
- "repeatOption": "string",
- "endsOption": "string",
- "ends": "string",
- "repeatEvery": 0,
- "repeatPeriod": "string",
- "timeOption": "string",
- "wakeToApply": true
}, - "scope": {
- "group": [
- "string"
], - "device": [
- "string"
]
}, - "writer": {
- "email": "string",
- "isMultiSiteUser": true,
- "isApiUser": true,
- "uuid": "string",
- "profile": {
- "name": "string",
- "phone": "string",
- "mobile": "string",
- "eula": {
- "acceptDate": "string",
- "version": "string",
- "uuid": "string"
}, - "ip": "string"
}
}, - "apps": {
- "install": [
- {
- "uuid": "string",
- "starts_on_update": true,
- "silent_install": true,
- "grant_all": true,
- "reboots_on_update": true
}
]
}, - "otas": [
- "string"
], - "schedule_date": {
- "start_on": "string"
}, - "settings": {
- "otas": {
- "silent_install": true,
- "partialFirst": true,
- "need_ac": true,
- "checkBuildDate": true
}
}, - "created": "string",
- "updated": "string",
- "enabled": true
}
{- "uq": "3903dc78-9349-41a0-9662-d1e33de117f8",
- "doc_version": "latest",
- "result": true,
- "code": 0,
- "message": "string",
- "build": "string",
- "data": {
- "siteUuid": "string",
- "writerUuid": "string",
- "isGlobal": true,
- "profile": {
- "name": "string",
- "applyOrder": "string",
- "removeIfNoScope": true,
- "unscopeIfApplied": true,
- "applyWhile": {
- "sleeping": true,
- "offline": true
}, - "startsOn": "string",
- "updateVia": "string",
- "repeatOption": "string",
- "endsOption": "string",
- "ends": "string",
- "repeatEvery": 0,
- "repeatPeriod": "string",
- "timeOption": "string",
- "wakeToApply": true
}, - "scope": {
- "group": [
- "string"
], - "device": [
- "string"
]
}, - "writer": {
- "email": "string",
- "isMultiSiteUser": true,
- "isApiUser": true,
- "uuid": "string",
- "profile": {
- "name": "string",
- "phone": "string",
- "mobile": "string",
- "eula": {
- "acceptDate": "string",
- "version": "string",
- "uuid": "string"
}, - "ip": "string"
}
}, - "apps": {
- "install": [
- {
- "uuid": "string",
- "starts_on_update": true,
- "silent_install": true,
- "grant_all": true,
- "reboots_on_update": true
}
]
}, - "otas": [
- "string"
], - "schedule_date": {
- "start_on": "string"
}, - "settings": {
- "otas": {
- "silent_install": true,
- "partialFirst": true,
- "need_ac": true,
- "checkBuildDate": true
}
}, - "created": "string",
- "updated": "string",
- "enabled": true
}
}