The following sections illustrate the console operation APIs that are used in EMM:
Getting device operations
Getting application details of a device
Description | Get the list of applications that a device has subscribed. | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Resource Path | /{type}/{id}/apps | ||||||||||||
URL | /mdm-admin/operations/{type}/{id}/apps | ||||||||||||
HTTP Method | GET | ||||||||||||
Request/Response Format | application/json | ||||||||||||
cURL command | curl -X GET -H "Content-Type: application/json" -H "Authorization: Bearer <EMM_API_TOKEN>" -k -v https://<EMM_HOST>:<EMM_HTTPS_PORT>/mdm-admin/operations/{type}/{id}/apps
Example: curl -X GET -H "Content-Type: application/json" -H "Authorization: Bearer 33392fb365b3ac693b405b565ddc8a3a" -k -v https://localhost:9443/mdm-admin/operations/ios/f409r4c55924rt4af9a44tts15y9d6cd56h1047d/apps | ||||||||||||
Sample output | > GET /mdm-admin/operations/ios/f409r4c55924rt4af9a44tts15y9d6cd56h1047d/apps HTTP/1.1 > Host: localhost:9443 > User-Agent: curl/7.43.0 > Accept: */* > Content-Type: application/json > Authorization: Bearer 33392fb365b3ac693b405b565ddc8a3a < HTTP/1.1 200 OK < Cache-Control: private < Expires: Thu, 01 Jan 1970 05:30:00 IST < Date: Thu, 18 Feb 2016 11:45:06 GMT < Content-Type: application/json < Content-Length: 2 < Server: WSO2 Carbon Server [{"id":1,"platform":"ios","name":"WSO2%20Agent","isActive":"true","applicationIdentifier":"org.wso2.emm.agent"{"id":2,"platform":"ios","name":"QR%20Code%20Reader","isActive":"false","applicationIdentifier":"me.scan.ios.client"},{"id":3,"platform":"ios","name":"BasicManagedProfile","isActive":"true","applicationIdentifier":"com.example.ios.basicmanagedprofile"}] | ||||||||||||
Sample JSON Output Definition | The following is extracted from the sample output to get a better understanding of the fields: { "id":1, "platform":"ios", "name":"WSO2%20Agent", "isActive:"true", "applicationIdentifier":"org.wso2.emm.agent" }
|
Getting pagination details of operations on a device
Description | You will carry out many operations on a device. In a situation where you wish to view the all the operations carried out on a device it is not feasible to show all the details on one page therefore the details are paginated. Example: You carry out 21 operations via a given device. When you wish to see the operations carried out, the details of the 21 operations will be broken down into 3 pages with 10 operation details per page. | ||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Resource Path | pagination/{type}/{id} | ||||||||||||||||
URL | /mdm-admin/operations/paginate/{type}/{id}
| ||||||||||||||||
HTTP Method | GET | ||||||||||||||||
Request/Response Format | application/json | ||||||||||||||||
cURL command | curl -X GET -H "Content-Type: application/json" -H "Authorization: Bearer <EMM_API_TOKEN>" -k -v https://<EMM_HOST>:<EMM_HTTPS_PORT>/mdm-admin/paginate/operation/{type}/{id}
Example: curl -X GET -H "Content-Type: application/json" -H "Authorization: Bearer 33392fb365b3ac693b405b565ddc8a3a" -k -v https://localhost:9443/mdm-admin/paginate/operations/ios/f409r4c55924rt4af9a44tts15y9d6cd56h1047d Filter the device details using the query parameters given below:
| ||||||||||||||||
Sample output | > GET /mdm-admin/operations/paginate/ios/f409r4c55924rt4af9a44tts15y9d6cd56h1047d HTTP/1.1 > Host: localhost:9443 > User-Agent: curl/7.43.0 > Accept: */* > Content-Type: application/json > Authorization: Bearer 33392fb365b3ac693b405b565ddc8a3a < HTTP/1.1 200 OK < Cache-Control: private < Expires: Thu, 01 Jan 1970 05:30:00 IST < Date: Tue, 23 Feb 2016 05:23:56 GMT < Content-Type: application/json < Content-Length: 3785 < Server: WSO2 Carbon Server {"recordsTotal":6,"recordsFiltered":6,"draw":0,"data":[ {"code":"DEVICE_INFO","type":"COMMAND","id":38,"status":"PENDING","receivedTimeStamp":"","createdTimeStamp":"2016-02-23 10:51:22.06","isEnabled":false},{"code":"APPLICATION_LIST","type":"COMMAND","id":37,"status":"PENDING","receivedTimeStamp":"","createdTimeStamp":"2016-02-23 10:51:20.755","isEnabled":false}]} | ||||||||||||||||
Sample JSON Output Definition | { "code":"ALARM", "type":"COMMAND", "id":34, "status":"COMPLETED", "receivedTimeStamp":"2016-02-23 09:57:22.113", "createdTimeStamp":"2016-02-23 09:57:21.113", "isEnabled":false },
|
Installing an application on a device
Description | Install a selected application on a device. | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Resource Path | /installApp/{tenantDomain} | ||||||||||||
URL | /mdm-admin/operations/installApp/{tenantDomain} | ||||||||||||
HTTP Method | POST | ||||||||||||
Request/Response Format | application/json | ||||||||||||
cURL command | curl -X POST -H "Content-Type: application/json" -H "Authorization: Bearer <EMM_API_TOKEN>" -d @'<JSON_PAYLOAD>' -k -v https://<EMM_HOST>:<EMM_HTTPS_PORT>/mdm-admin/operation/installApp/{tenantDomain}
Example: curl -X POST -H "Content-Type: application/json" -H "Authorization: Bearer 33392fb365b3ac693b405b565ddc8a3a" -d @'device_id.json' -k -v https://localhost:9443/mdm-admin/operations/installApp/carbon.super | ||||||||||||
Sample output | > POST /mdm-admin/operations/installApp/carbon.super HTTP/1.1 > Host: localhost:9443 > User-Agent: curl/7.43.0 > Accept: */* > Content-Type: application/json > Authorization: Bearer 33392fb365b3ac693b405b565ddc8a3a > Content-Length: 23 < HTTP/1.1 201 Created < Cache-Control: private < Expires: Thu, 01 Jan 1970 06:35:00 IST < Date: Thu, 25 Feb 2016 14:06:57 GMT < Content-Type: application/json < Content-Length: 80 < Server: WSO2 Carbon Server {"statusCode": 201, "messageFromServer": "Application installation request has been sent to the device."} | ||||||||||||
Sample JSON Definition | [ "2be702beaaf4ad34fc9e7f8da2b6b808c453fa72b", "2ec33430ad456713c633de75b2219376bac45de56" ]
|
Uninstalling an application on a device
Description | Uninstall a selected application from a device. | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Resource Path | /uninstallApp/{tenantDomain} | ||||||||||||
URL | /mdm-admin/operations/uninstallApp/{tenantDomain} | ||||||||||||
HTTP Method | POST | ||||||||||||
Request/Response Format | application/json | ||||||||||||
cURL command | curl -X POST -H "Content-Type: application/json" -H "Authorization: Bearer <EMM_API_TOKEN>" -d @'<JSON_PAYLOAD>' -k -v https://<EMM_HOST>:<EMM_HTTPS_PORT>/mdm-admin/operation/uninstallApp/{tenantDomain}
Example: curl -X POST -H "Content-Type: application/json" -H "Authorization: Bearer 33392fb365b3ac693b405b565ddc8a3a" -d @'device_id.json' -k -v https://localhost:9443/mdm-admin/operations/uninstallApp/carbon.super | ||||||||||||
Sample output | > POST /mdm-admin/operations/uninstallApp/carbon.super HTTP/1.1 > Host: localhost:9443 > User-Agent: curl/7.43.0 > Accept: */* > Content-Type: application/json > Authorization: Bearer 33392fb365b3ac693b405b565ddc8a3a > Content-Length: 23 < HTTP/1.1 201 Created < Cache-Control: private < Expires: Thu, 01 Jan 1970 05:30:00 IST < Date: Thu, 25 Feb 2016 11:29:30 GMT < Content-Type: application/json < Content-Length: 78 < Server: WSO2 Carbon Server {"statusCode":201,"messageFromServer":"Application removal request has been sent to the device."} | ||||||||||||
Sample JSON Definition | [ "2be702beaaf4ad34fc9e7f8da2b6b808c453fa72b", "2ec33430ad456713c633de75b2219376bac45de56" ]
|
Getting all operations
Adding an operation