BlackBerry UEM Getting started with Rest – part 2

Enterprise Solutions

In part one I covered the basics of getting REST APIs authenticated and returning results with UEM.  With each new release of BlackBerry UEM, we have added significant new REST APIs  to the mix.  So, it’s time to highlight some of the new calls and new options available.  Here are my thoughts:

User management was mature in the older BWS (on BES) and GC/CAP SOAP calls (from the legacy Good servers).  But SOAP is not REST.  With the launch of REST in 12.6 and the updates in 12.7 the REST APIs are quickly catching up.   Here are some highlights from the latest UEM 12.7 release that I suggest having a look at:

For those interested in User management related APIs (perhaps your company likes to build out its own self-service front end), new choices for a user account include:

  • deleting
  • changing the password
  • adding and removing from a group
  • check devices assigned
  • certificate management

We also added pagination support when returning results, for those of you with large user lists.  Closely related Group management now comes with support for create and delete of a user group, assigning applications, and querying who is a member of a group.

We have had feedback from many Development partners looking for additional device related APIs.  So, we have added a new device search.  You can search by IMEI, MEID, UDID, GUID of the device (a BlackBerry specific key, we assign) and WIFI MAC address.  We return lots of detail including device activation type, compliance state, OS Family Name, ownership information and more.

Ie:

GET /{tenantGuid}/api/v1/devices

 {
   "devices": [ {
     "links" : [ {
       "rel" : "userDevice",
       "href" : "https://server01:18084/SRP00000/api/v1/users/6dd3a8e2-3f24-48c6-961a-949794f4b554/userDevices/2d2d3a7f-076d-46f9-8c25-56cb8eba2800"
     } ],
     "guid": "4659aa7f-0a7d-9f69-258c-2800ebaa2800",
     "activationDate": "2017-01-16T14:47:03.662Z",
     "activeSyncId": "K6CKULJTID3SDEAIV0ELHBBTTO",
     "batteryLevel": 95.0,
     "compromised": false,
     "externalStorageFree": 12021.0,
     "externalStorageSize": 16386.0,
     "hardwareModel": "Desire",
     "hardwareName": "bravo",
     "homeCarrier": "Rogers",
     "internalStorageFree": 2112.0,
     "internalStorageSize": 32768.0,
     "imei": "990000862471854",
     "os": "Android 5.0",
     "osFamilyName": "android",
     "osVersion": "5.0",
     "ownership": "PERSONAL",
     "phoneNumber": "4045551234",
     "serialNumber": "c08088415436112",
     "udid": "d88496fdf7115ac9f3ab69966cbaf91d960b95036fa68f66489c8ad78f136b5c",
     "wifiMacAddress": "62:9a:7e:bc:fe:01"
   } ]
 }
 

One key change coming with UEM 12.7 MR2 is to help developers looking for a list of installed applications on device, particularly on iOS.  With the release of iOS 11, access to this information is blocked for 3rd party developers.  However, if your iOS device is managed by the UEM server, starting with UEM 12.7.2 you will be able to do the following:

  GET /{tenantGuid}/api/v1/users/{userGuid}/userDevices/{userDeviceGuid}/applications

{
   "devices": [ {
     "links" : [ {
       "rel" : "userDevice",
       "href" : "https://server01:18084/SRP00000/api/v1/users/6dd3a8e2-3f24-48c6-961a-949794f4b554/userDevices/59dc743d-f325-4a6c-97ac-44dcb9ef8a0e"
     } ],
     "guid": "8002ebaa-c258-96f9-d7a0a-0082aa7f4659",
     "activationDate": "2017-01-16T14:47:03.662Z",
     "activeSyncId": "Q633AGG6QP3FJF6QBNAA81UHB0",
     "batteryLevel": 64.0,
     "compromised": false,
     "externalStorageFree": 12021.0,
     "externalStorageSize": 16386.0,
     "hardwareModel": "Desire",
     "hardwareName": "bravo",
     "homeCarrier": "Rogers",
     "internalStorageFree": 2112.0,
     "internalStorageSize": 32768.0,
     "imei": "351756051523999",
     "meid": "01234567890123456",
     "ownership": "CORPORATE",
     "os": "Android 6.0",
     "osFamilyName": "android",
     "osVersion": "6.0",
     "phoneNumber": "2125557890",
     "securityPatchLevel": "6.0.1.1345",
     "serialNumber": "c03618841215084",
     "udid": "82f2aaa813c5a4bc2748b078ca844bdbd6a8fb8eaaa173a389467646cf04d00c",
     "wifiMacAddress": "b4:52:7e:62:a5:9a"
   }, {
     "links" : [ {
       "rel" : "userDevice",
       "href" : "https://server01:18084/SRP00000/api/v1/users/6dd3a8e2-3f24-48c6-961a-949794f4b554/userDevices/2d2d3a7f-076d-46f9-8c25-56cb8eba2800"
     } ],
     "guid": "4659aa7f-0a7d-9f69-258c-2800ebaa2800",
     "activationDate": "2017-01-16T14:47:03.662Z",
     "activeSyncId": "K6CKULJTID3SDEAIV0ELHBBTTO",
     "batteryLevel": 95.0,
     "compromised": false,
     "externalStorageFree": 12021.0,
     "externalStorageSize": 16386.0,
     "hardwareModel": "Desire",
     "hardwareName": "bravo",
     "homeCarrier": "Rogers",
     "internalStorageFree": 2112.0,
     "internalStorageSize": 32768.0,
     "imei": "990000862471854",
     "os": "Android 5.0",
     "osFamilyName": "android",
     "osVersion": "5.0",
     "ownership": "PERSONAL",
     "phoneNumber": "4045551234",
     "serialNumber": "c08088415436112",
     "udid": "d88496fdf7115ac9f3ab69966cbaf91d960b95036fa68f66489c8ad78f136b5c",
     "wifiMacAddress": "62:9a:7e:bc:fe:01"
   } ]
 }
 

Results will show up similarly for those of you working with Android devices.

So, go out there and try UEM 12.7 REST APIs.  Let me know what you think in the comments below, or on the community forums.

About Ed Bourne

Ed Bourne brings over 10 years of experience in mobility as a Sr. Enterprise Solutions Manager at BlackBerry. Ed manages the technical partnerships with some of our largest Strategic Partners and Customers, helping to foster BlackBerry expertise and bring a compelling mobile experience to our joint customers.

Join the conversation

Show comments Hide comments
+ -