My VMware Air Watch REST API Guide 9 1

User Manual: Pdf

Open the PDF directly: View PDF PDF.
Page Count: 1240

DownloadMy  VMware Air Watch REST API Guide 9 1
Open PDF In BrowserView PDF
VMware AirWatch REST API Guide
Configuring and Using REST APIs
AirWatch v9.1

Have documentation feedback? Submit a Documentation Feedback support ticket using the Support Wizard on
support.air-watch.com.
Copyright © 2017 VMware, Inc. All rights reserved. This product is protected by copyright and intellectual property laws in the United States and other countries as well as by
international treaties. VMware products are covered by one or more patents listed at http://www.vmware.com/go/patents.
VMware is a registered trademark or trademark of VMware, Inc. in the United States and other jurisdictions. All other marks and names mentioned herein may be trademarks of their
respective companies.
VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

1

Revision Table
The following table displays revisions to this guide since the release of AirWatch v9.1.
Date

Reason

April 2017

Initial upload. Document posted for AirWatch v9.1 GA.

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

2

Table of Contents
Chapter 1: Overview

16

What's New

17

Introduction

20

Versioning in APIs

21

Refactored APIs

23

Setting Up an API

26

API Authentication

32

Configuring API Access

36

Chapter 2: Security and the API

38

Overview

39

Generating Client Certificates

39

Important API Considerations (Basic Concepts)

42

Chapter 3: Admin User Management

55

Overview

56

Create Console Admin User (Basic)

56

Create Console Admin User (Directory)

61

Retrieve Admin User Details

63

Search Admin User

66

Update Admin User

70

Add Console Admin User Role

73

Remove Console Admin User Role

74

Change Console Admin User Password

75

Delete Console Admin User

76

Chapter 4: Application Management

77

Overview

81

Internal Application Install : Upload Application Chunks (iOS and Android)

81

Upload Blob

85

Download Blob

86

Internal Application Save

87
VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

3

Insert Public Application (iOS and Android)

102

Update Public Application (*Refactored)

108

Search Applications

111

Search Play Store for Applications (*Refactored)

124

Search Windows App Store for Applications (*Refactored)

126

Search Apple App Store for Applications (*Refactored)

128

Activate Internal Application

130

Update Internal Application

131

Activate Public Application

141

Deactivate Internal Application

142

Deactivate Public Application

142

Retire Internal Application

143

Unretire Internal Application

143

Assign Smart Group to an Internal Application (*Refactored)

144

Assign Smart Group to a Public Application (*Refactored)

144

Assign Smart Group to BSP Application (Version 2)

144

Remove Smart Group Assignment From an Internal Application (*Refactored)

146

Remove Smart Group Assignment From a Public Application (*Refactored)

146

Install Internal Application on Device

147

Install Public Application on Device

148

Install Purchased Application on the Device

149

Uninstall Internal Application From the Device

150

Uninstall Public Application From the Device

151

Uninstall Purchased Application From the Device

152

View Internal Application Status on the Device

153

View Public Application Status on the Device

154

View Purchased Application Status on Device

155

Retrieve Application Details

156

Get Application Management Status (*Refactored)

159

Retrieve Assigned Devices (Internal Application) (*Refactored)

160

Retrieve Assigned Devices (Public Application) (*Refactored)

162

Retrieve Assigned Devices With Purchased Application (*Refactored)

164

Retrieve Installed Devices (Internal Application) (*Refactored)

166

Retrieve Installed Devices (Public Application) (*Refactored)

168

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

4

Retrieve Installed Devices With Purchased Application (*Refactored)

170

Retrieve Devices with Internal Application Installed or Assigned

172

Retrieve Devices with Public Application Installed or Assigned

174

Retrieve Devices with Purchased Application Installed or Assigned

176

Delete Internal Application

178

Delete Public Application

178

Add Assignments to Internal Application

179

Edit Assignment of Internal Application

181

Delete Application Assignment From Smart Group

183

Retrieve Internal Application Details

184

Create Application Group (*Refactored)

198

Retrieve Application Group Details

203

Search Application Group (*Refactored)

206

Search SDK Analytics

210

Update Application Group (*Refactored)

213

Delete Application Group (*Refactored)

216

Add Application to an Application Group (*Refactored)

218

Delete Application from the Application Group (*Refactored)

219

Create VPP Application Allocation (*Refactored)

220

Delete VPP Application

222

Delete VPP Application Smart Group Assignment (*Refactored)

222

Search VPP Application (*Refactored)

223

Get VPP Allocation Details

227

Update VPP Licensed Application Assignment (*Refactored)

230

Queues Sync Assets for VPP Applications

233

Resets the Client Context

234

Get VPP Sync Assets Status

235

Enable Device Based Assignment For VPP Applications

236

Update Application on Devices Having Device Based Licenses

236

Auto Update Flag for Device based VPP App

236

Get VPP Invite Status (*Refactored)

238

Send Bulk VPP Invite (*Refactored)

239

Retrieve Windows App Dependency

241

Retrieve List of Windows App Dependency Files

249

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

5

Delete Windows Dependency Application

251

Search and Retrieve Removal Logs for Internal Applications

252

Update Removal Logs

254

Chapter 5: Content Management

256

Overview

258

Personal Content Overview

258

Retrieve List of Files and Folders

259

Move Files to Target Folder

263

Delete a File

267

Retrieve File Metadata

268

Share Content

271

Download File

273

Remove File Sharing

274

Get File Sharing Information

275

Update File Metadata Information

277

Upload Content/Files

282

Explicit Upload Initialize

286

Explicit Upload Finalize

288

Retrieve Folder Information

291

Create Folder

294

Update Folder

298

Move Folder

302

Delete Folder

306

Return Sharing Metadata

307

Retrieve Collaborator List

309

Remove Sharing

311

Share Folder with Users or UserGroups

312

Update Collaborator

316

Remove Sharing on Collaborator Folder

320

Update Collaborator of Shared Folder

322

Retrieve Admin Storage Information

326

Managed Content Overview

327

Retrieve All Categories

328

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

6

Create New Category

330

Delete Category

332

Update Category

333

Upload AirWatch Managed Content

335

Download AirWatch Managed Content

340

Delete AirWatch Managed Content

341

Retrieve AirWatch Managed Content

342

Update AirWatch Managed Content

347

Retrieve List of AirWatch Managed Content

354

Chapter 6: Device Management

358

Overview

361

Retrieve Application Details From the Device

361

Retrieve Admin Application Details

364

Retrieve Device Bulk Settings

366

Retrieve Certificate Details From the Device

368

Retrieve Compliance Details of the Device

370

Retrieve Compliance Attributes

372

Save Compliance Attributes for a List of Devices

374

Retrieve Content Details of the Device

377

Retrieve Device Information

379

Retrieve Bulk Device Information

383

Retrieve Device Application Status

388

Retrieve Event Logs From the Device

390

Retrieve GPS Co-ordinates of the Device

393

Retrieve Bulk GPS Co-ordinates From the Device

395

Execute Bulk GPS Coordinates

398

Retrieve Network Information of the Device

400

Retrieve Profile Details of the Device

404

Retrieve Enrollment User Details of the Device

407

Retrieve Enrolled Device Count

409

Retrieve Smart Group details

411

Retrieve Device Associated Smart Groups

415

Retrieve Security Information

417

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

7

Change Device Passcode (*Refactored)

419

Clear Passcode on the Device (*Refactored)

420

Enterprise Wipe a Device (*Refactored)

421

Enterprise Wipe in Bulk (*Refactored)

422

Find Device (*Refactored)

424

Lock Device (*Refactored)

426

Lock Devices in Bulk (*Refactored)

427

Query Device (*Refactored)

430

Device Wipe (*Refactored)

431

Delete Device

432

Delete Devices in Bulk (*Refactored)

433

Sync Device (*Refactored)

436

Send Email to the Device Enrollment User (*Refactored)

437

Send Email in Bulk (*Refactored)

439

Send SMS to the Device (*Refactored)

441

Send SMS in Bulk (*Refactored)

443

Send Push Message to the Device (*Refactored)

445

Bulk Push Message to the Devices (*Refactored)

447

Push Notification (*Refactored)

449

Execute Device Commands

451

Execute Bulk Device Commands

452

Schedule OS Update Command

454

Bulk Schedule OS Update Command

455

Start Airplay

458

Send Remote Control Action Command (*Refactored)

460

Add Note to the Device (*Refactored)

461

Delete Note From the Device

463

Retrieve Notes From the Device

464

Retrieve a Specific Note From the Device

466

Update Note onto the Device (*Refactored)

468

Search Device Details

470

Search Compliance Policy

477

Device Extensive Search

480

Search Security Information

484

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

8

Search Network Information

486

Device Extensive Search (Lite)

488

Custom Attribute Search

491

Search Changes Made To Custom Attribute

493

Update Device Custom Attribute (*Refactored)

495

Delete Custom Attribute (*Refactored)

498

Edit Device Details

501

Managed Settings

503

Change Device Organization Group

504

Create Offline Device Record

505

Create Relay Server

506

Create Relay Servers in Bulk

510

Delete Relay Server

516

Retrieve Relay Server Details

517

Update Relay Server

521

Create Staging Bundle

525

Delete Staging Bundle

528

Retrieve Staging Bundle

529

Update Staging Bundle

532

Retrieve Printer Details Using Identifier

534

Retrieve Printer Details Using Location Group

536

Chapter 7: Enrollment User Management

543

Overview

545

Add Enrollment User (Basic)

545

Add Enrollment User (Directory)

550

Retrieve Enrollment User's Details

553

Update Enrollment User's Details

556

Delete List of Enrollment Users

558

Delete Specified Enrollment User

560

Bulk Delete Enrollment Users

561

Search Enrollment Users

563

Search Enrolled Device

566

Search Device Enrollment Token

570

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

9

Register Device for an Enrollment User

573

Search Registered Device

578

Delete Registered Devices

581

Change Organization Group of an Enrollment User

584

Activate an Enrollment User

585

Bulk Activate Enrollment Users

586

Deactivate an Enrollment User

588

Bulk Deactivate Enrollment Users

589

Upload S/MIME Certificates to an Enrollment User

591

Create Custom Attribute

593

Update Custom Attribute

596

Delete Custom Attribute

599

Retrieve Authenticated Enrollment User Information

602

Retrieve AirWatch Version and API URLs

605

Chapter 8: Mobile Email Management

607

Overview

608

Search

608

Chapter 9: Organization Group Management

610

Create Organization Group (*Refactored)

612

Update Organization Group Details (*Refactored)

619

Fetch Organization Group's Details

622

Fetch Child Organization Group's Details (*Refactored)

624

Search Organization Group

626

Delete Organization Group (*Refactored)

629

Fetch Admin User Details in an Organization Group (*Refactored)

631

Fetch Enrollment Users in an Organization Group (*Refactored)

634

Fetch Admin User Roles From an Organization Group

637

Add Device Tag to an Organization Group (*Refactored)

639

Update Device Tag Details (*Refactored)

642

Retrieve Details of All Tags

645

Retrieve Specific Device Tag Details

646

Delete Device Tag From an Organization Group

647

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

10

Retrieve Device Count

648

Storage: Retrieve Storage Values (Application and Content)

651

Sampling Rates: Retrieve Sampling Rates (*Refactored)

653

Get Custom Attribute

656

Create APNs Cert Request

658

Retrieve Status of APNs Configuration

660

Update APNs Configuration

662

Save APNs Configuration

663

Create Express Licenses

665

Query for Pinned Host By HostGuid

667

Update Pinned Host

668

Pin Certificate to a Pinned Host

669

Unpin Certificate from a Pinned Host

670

Enable SSL Pinning

671

Disable SSL Pinning

671

Synchronize Pin with Auto Discovery

672

Enable Pin Relation

673

Disable Pin Relation

673

Chapter 10: Profile Management Version 1 and Version 2

674

Overview

676

General Profile (Common for all Device Platforms)

677

Retrieve Payload Keys for Creating a Profile

685

Update Apple Device Profile

687

Update Android Device Profile

691

Create Apple Passcode Profile

695

Create Apple Restrictions Profile

702

Create Apple Wi-Fi Profile

722

Create Apple VPN Profile

734

Create Apple Email Profile

744

Create Apple EAS Profiles

752

Upload Certificates

785

Create Apple SCEP Profile

787

Create Apple Credentials Profile

793

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

11

Create Apple Custom Settings Profile

799

Create Android Passcode Profile

803

Create Android Restrictions Profile

811

Create Android Wi-Fi Profile

836

Create Android VPN Profile

843

Create Android Email Profile

849

Create Android EAS Profile

858

Create Android Credentials Profile

884

Create Android For Work Profile

894

Create Android Container Profile

939

Create AppleOsX Device Profile

951

Update AppleOsX Device Profile

980

Create QNX Device Profile

1008

Update QNX Device Profile

1010

Create Windows PC Device Profile

1012

Update Windows PC Device Profile

1020

Get Device Profile Details

1028

Activate Device Profile

1030

Deactivate Device Profile

1032

Install Device Profile

1034

Remove Device Profile

1037

Search Device Profile

1040

Delete Device Profile

1046

Get Resource

1048

Get Resource Keys and Advanced Settings

1050

Create Resource of Requested Type

1051

Delete Resource

1052

Update Requested Resource

1053

Edit Smart Group Assignment for Resource

1054

Chapter 11: Product Management Version 1 and Version 2

1056

Overview

1058

Activate Product

1058

Deactivate Product

1059

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

12

Product Conditions Functionality

1060

Copy Product

1063

Create Product

1065

Delete Product

1068

Get Provisioning Assigned Devices

1069

Get Product Compliant Devices

1072

Get Provisioning Failed Devices

1076

Get Provisioning In-Progress Devices

1078

Get Product ID

1080

Get Files/Action

1084

Get Product Profiles

1088

Get Product Time Condition

1099

Insert Device

1102

Search Product Condition

1103

Product Health Check

1105

Extensive Product Search

1108

Search Files/Actions

1112

Product Download and Install Statistics

1116

Search Product

1119

Search Product Time Condition

1123

Search File Condition

1125

Add Smart Group to Product

1127

Remove Smart Group from Product

1128

Update Product

1129

Get Product Details

1131

Reprocess Product

1132

Retrieve Job status Change

1134

Activate Productset

1138

Add Product in Productset

1138

Create Product in Productset

1143

Deactivate Productset

1147

Delete Product From Productsets

1148

Push Productset to Policy Engine

1149

Rank All Products in a Productset

1150

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

13

Retrieve Productset

1152

Chapter 12: Smart Group Management

1153

Overview

1154

Create Smart Group (*Refactored)

1154

Get Smart Group details

1158

Get Device Details in the Smart Group

1162

Search Smart Groups

1164

Update Smart Group (*Refactored)

1167

Delete Smart Group (*Refactored)

1172

Get List of Apps Assigned to Smart Group

1173

Chapter 13: Tag Management

1175

Overview

1176

Create Tag

1176

Retrieve Devices with Specific Tag

1178

Search Tag

1180

Update Tag

1182

Add Devices to the Tag

1183

Remove Devices from Tag

1185

Delete Tag

1187

Chapter 14: User Group Management

1188

Overview

1189

Create Custom User Group

1189

Add Enrollment User To a Custom User Group

1191

Remove an Enrollment User From the Custom User Group

1192

Get User group

1193

Search User Group

1195

Delete User Group

1197

Retrieve List of Notifications

1198

Retrieve Notifications Count

1200

Chapter 15: Event Notification

1201

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

14

Overview

1202

Create Event Notification

1202

Delete Event Notification

1206

Retrieve Event Notification

1207

Search Event Notification

1210

Update Event Notification

1214

Chapter 16: Custom Attribute Management

1217

Overview

1218

Create Custom Attributes

1218

Search Custom Attribute

1220

Chapter 17: List of System and Device Parameters

1222

Finding Additional Documentation

1239

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

15

Chapter 1:
Overview
What's New

17

Introduction

20

Versioning in APIs

21

Refactored APIs

23

Setting Up an API

26

API Authentication

32

Configuring API Access

36

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

16

Chapter 1: Overview

What's New
This guide is updated with the latest APIs and their functionalities from the most recent release of AirWatch v9.1. The
tables below list the new APIs and links to the pages on which they appear.

List of Version 1 APIs
Mobile Application Management
API Name

API URI

Auto Update Flag for Device
based VPP App

https://host/api/mam/apps/purchased/{appId}

Delete Windows Dependency
Application

https://host/api/mam/apps/internal/windowsappdependency/
{windowsAppDependencyId}

Retrieve List of Windows App
Dependency Files

https://host/api/mam/apps/internal/windowsappdependencies/
{organizationGroupId}

Retrieve Windows App
Dependency

https://host/api/mam/apps/internal/windowsappdependency/
{windowsAppDependencyId}

Search and Retrieve Removal
Logs for Internal Applications

https://host/api/mam/apps/removallogs?organizationgroupid=
{organizationgroupid}&bundleid={bundleid}&status={status}&page=
{page}&pagesize={pagesize}&orderby={orderby}

Update Application on Devices
Having Device Based Licenses

https://host/api/mam/apps/purchased/{appId}

Update Internal Application

https://host/api/mam/apps/internal/{applicationId}

Update Removal Logs

https://host/api/mam/apps/removallogs?organizationgroupid=
{organizationgroupid}

Mobile Device Management
API Name

API URI

Create Relay
Server

https://host/api/mdm/relayservers

Create Relay
Servers in Bulk

https://host/api/mdm/relayservers/bulk

Create Staging
Bundle

https://host/api/mdm/staging

Delete Relay
Server

https://host/api/mdm/relayservers/{serverId}

Delete Staging
Bundle

https://host/api/mdm/staging/{stagingId}

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

17

Chapter 1: Overview

Retrieve
Compliance
Attributes

https://host/api/mdm/complianceattributes/organizationgroupcomplianceattributes?vendorname=
{vendorname}

Retrieve Device https://host/api/mdm/devices/appstatus?searchby={searchBy}&id={id}&groupid=
Application
{groupid}&bundleId={bundleId}&version={version}&deviceType={deviceType}
Status
Retrieve
https://host/api/mdm/peripherals/printer/{deviceID}
Printer Details
Using Identifier
Retrieve
Printer Details
Using Location
Group

https://host/api/mdm/peripherals/printers/{locationGroupID}

Retrieve Relay
Server Details

https://host/api/mdm/relayservers/{serverId}

Retrieve Device https://host/api/mdm/devices/{id}/smartgroups
Associated
Smart Groups
Retrieve
https://host/api/mdm/staging/{stagingId}
Staging Bundle
Save
https://host/api/mdm/complianceattributes/devicecomplianceattributes
Compliance
Attributes for a
List of Devices
Update Relay
Server

https://host/api/mdm/relayservers

Update Staging https://host/api/mdm/staging
Bundle
Organization Group Management
API Name

API URI

Create APNs Cert Request

https://host/api/system/groups/{id}/apns?force={force}

Create Express Licenses

https://host/api/system/expresslicenses

Disable Pin Relation

https://host/api/system/disablepin/{hostGuid}/{organizationgroupid}

Disable SSL Pinning

https://host/api/system/disable/{organizationgroupid}

Enable Pin Relation

https://host/api/system/enablepin/{hostGuid}/{organizationgroupid}

Enable SSL Pinning

https://host/api/system/enable/{organizationgroupid}

Pin Certificate to a Pinned Host

https://host/api/system/pincertificate

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

18

Chapter 1: Overview

Query for Pinned Host By Host
Name

https://host/api/system/pinnedhosts/{hostName}?organizationgroupid=
{organizationgroupid}

Query for Pinned Host By
HostGuid

https://host/api/system/pinnedhost/{hostGuid}

Retrieve Status of APNs
Configuration

https://host/api/system/groups/{id}/apns/details

Save APNs Configuration

https://host/api/system/groups/{id}/apns

Synchronize Pin with Auto
Discovery

https://host/api/system/syncwithautodiscovery/{organizationgroupid}

Unpin Certificate from a Pinned
Host

https://host/api/system/unpincertificate

Update APNs Configuration

https://host/api/system/groups/{id}/apns

Update Pinned Host

https://host/api/system/pinnedhost/{hostGuid}

User Group Management
API Name

API URI

Retrieve Notifications Count

https://host/api/system/notifications/count

Retrieve List of Notifications

https://host/api/system/notifications?startIndex={startIndex}&pageSize=
{pageSize}&active={active}&cultureCode={cultureCode}

List of Version 2 New APIs
Application Management Version 2
API Name

API URI

Assign Smart Group to BSP
Application

https://host/api/mam/apps/public/
{applicationid}/bspsmartgroups?offlinesmartgroupid=
{offlinesmartgroupid}?&onlinesmartgroupid={onlinesmartgroupid}&type={type}

Profiles Management Version 2
API Name

API URI

Create Windows PC Device
Profile

https://host/api/mdm/profiles/platforms/windowspc/create

Update Windows PC Device
Profile

https://host/api/mdm/profiles/platforms/windowspc/update

Organization Group Management
API Name

API URI

Create Organization Group

https://host/api/system/groups/{id}

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

19

Chapter 1: Overview

Introduction
AirWatch provides a collection of RESTful APIs that allow external programs to use the core product functionality by
integrating the APIs with existing IT infrastructures and third-party applications. Leveraging the simplified REST style of
software architecture, AirWatch REST APIs currently include Organization Group Management, Console Administration,
Mobile Application Management, Mobile Device Management, Mobile Email Management, Enrollment User
Management, Profile Management, Smart Group Management, and User Group Management functionalities.
Leveraging REST-based APIs provide several benefits to enterprises, including eliminated cost and time spent developing
applications in-house. AirWatch REST APIs are fully able and ready to integrate with enterprise servers, programs, and
processes. Additionally, AirWatch REST APIs are more efficient, can run smoothly and an be easily branded with
enterprises.
This guide is intended for application developers and provides an understanding of the design and architecture of the
Version 1 and Version 2 REST APIs library to facilitate custom development and integration with AirWatch.

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

20

Chapter 1: Overview

Versioning in APIs
Overview
The introduction of Smart Group assignment to Profiles necessitated the creation of a new APIs (Version 2) in addition to
the existing APIs (Version 1) to maintain backward compatibility. From 7.3 release onwards, you can assign profiles to the
devices from the AirWatch Console using SmartGroups. Thus, AirWatch has introduced Version 2 REST APIs to utilize the
SmartGroup assignment feature and recommends you to use these APIs henceforth.
For example, the V1 and V2 API format to Create Apple Passcode Profile is shown below:

Version 1 API: https://host/api/v1/mdm/profiles/platforms/apple/create
Version 2 API: https://host/api/v2/mdm/profiles/platforms/apple/create

The table below lists down the supported Version 1 and Version 2 API collections:
Version 1 REST APIs

Version 2 REST APIs

Console Admin User APIs

Profile Management APIs

Mobile Application Management APIs

Product Management APIs

Mobile Device Management APIs
Mobile Content Management APIs
Mobile Email Management APIs
Device Enrollment User APIs
Organization Group APIs
Smart Group Management APIs
User Group Management APIs
Profile Management APIs
Product Management APIs
Tag APIs
Custom Attribute APIs
Event Notification APIs

Version Remotion
In 8.3 version, AirWatch has modified the look of the API URIs by removing the version specification from them. For
example: Assign Smart Group to a Public Application.

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

21

Chapter 1: Overview

Deprecated API URI – https://host/API/v1/mam/apps/public/
{ApplicationId}/addsmartgroup/{SmartgroupId}
New API URI – https://host/api/mam/apps/public/{applicationid}/smartgroup/
{smartgroupid}

However, the V1 and V2 APIs can be fetched by adding the version details in the Accept header. Thus a single API URI
serves the purpose of retrieving both Version 1 and Version 2 API endpoints based on the Accept header version details.
Below are Accept header format to retrieve V1 and V2 APIs.
l

To retrieve Version 1 APIs, use:

Accept=application/json;version=1
OR
Accept=application/xml;version=1

l

To retrieve Version 2 APIs, use:

Accept=application/json;version=2
OR
Accept=application/xml;version=2

Additional Information
With Version 2 REST APIs, there is only one observable change in the work flow process in Profile management. See the
table below to understand the difference between Version 1 and Version 2 profile management work flow:
Version 1

Version 2

Create Profile (Assignment filters provided in
General Payload) > Install Profile on devices.

Create Smart Group > Create Profile (With the Smart Group details
provided in General Payload) > Install Profile on devices.

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

22

Chapter 1: Overview

Refactored APIs
There are few API endpoints whose URIs have been refactored or modified. This modification does NOT affect any
existing work flows that you are using till date. However, AirWatch recommends you to move to newly Refactored APIs as
soon as possible since the old format will be deprecated in future.
Important Note: At this time, there is no specific date to share when the old formats will be deprecated. When
deprecation is determined, official communication will be sent out.
The table lists the refactored APIs and the links to the pages on which they appear.
API Name

API URI

Mobile Application Management
Update Public Application

https://host/api/mam/apps/public/applicationid

Search Play Store for Applications

https://host/api/mam/apps/playstore/search

Search Windows App Store for
Applications

https://host/api/mam/apps/windowsstore/search

Search Apple App Store for
Applications

https://host/api/mam/apps/applestore/search

Assign Smart Group to an Internal
Application

https://host/api/mam/apps/internal/{applicationid}/smartgroups/
{smartgroupid}

Assign Smart Group to a Public
Application

https://host/api/mam/apps/public/{applicationid}/smartgroups/
{smartgroupid}

Remove Smart Group Assignment
From an Internal Application

https://host/api/mam/apps/internal/{applicationid}/smartgroups/
{smartgroupid}

Remove Smart Group Assignment
From a Public Application

https://host/api/mam/apps/public/{applicationid}/smartgroups/
{smartgroupid}

Get Application Management Status

https://host/api/mam/apps/managementstatus

Retrieve Assigned Devices (Internal
Application)

https://host/api/mam/apps/internal/applicationid/devices

Retrieve Assigned Devices (Public
Application)

https://host/api/mam/apps/public/applicationid/devices

Retrieve Assigned Devices With
Purchased Application

https://host/api/mam/purchased/applicationid/devices

Retrieve Installed Devices (Internal
Application)

https://host/api/mam/apps/internal/applicationid/devices

Retrieve Installed Devices (Public
Application)

https://host/api/mam/apps/public/applicationid/devices

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

23

Chapter 1: Overview

Retrieve Installed Devices With
Purchased Application

https://host/api/mam/purchased/applicationid/devices

Create Application Group

https://host/api/mam/apps/appgroups

Search Application Group

https://host/api/mam/apps/appgroups/search

Update Application Group

https://host/api/mam/apps/appgroups/appgroupid

Delete Application Group

https://host/api/mam/apps/appgroups

Add Application to an Application
Group

https://host/api/mam/apps/appgroups/appgroupid/applications

Delete Application from the
Application Group

https://host/api/mam/apps/appgroups/appgroupid/applications

Create VPP Application Allocation

https://host/api/mam/apps/purchased/applicationid/assignment

Delete VPP Application Smart Group
Assignment

https://host/api/mam/apps/purchased/{applicationid}/smartgroups/
{smartgroupid}

Search VPP Application

https://host/api/mam/apps/purchased/search

Update VPP Licensed Application
Assignment

https://host/api/mam/apps/purchased/applicationid

Get VPP Invite Status

https://host/api/mam/apps/purchased/applicationid/vppinvitestatus/deviceid

Send Bulk VPP Invite

https://host/api/mam/apps/purchased/applicationid/vppinvite

Mobile Device Management
Change Device Passcode

https://host/api/mdm/devices/commands/id/changepasscode

Clear Passcode on the Device

https://host/api/mdm/devices/{deviceid}/commands

Enterprise Wipe a Device

https://host/api/mdm/devices/deviceid/commands

Enterprise Wipe in Bulk

https://host/api/mdm/devices/commands/enterprisewipe

Find Device

https://host/api/mdm/devices/deviceid/commands/finddevice

Lock Device

https://host/api/mdm/devices/deviceid/commands

Lock Devices in Bulk

https://host/api/mdm/devices/{deviceid}/commands

Query Device

https://host/api/mdm/devices/deviceid/commands

Device Wipe

https://host/api/mdm/devices/deviceid/commands

Delete Devices in Bulk

https://host/api/mdm/devices/bulk?searchby={searchby}

Sync Device

https://host/api/mdm/devices/deviceid/commands

Send Email to the Device Enrollment
User

https://host/api/mdm/devices/{id}/messages/email

Send Email in Bulk

https://host/api/mdm/devices/messages/bulkemail?searchby={searchby}

Send SMS to the Device

https://host/api/mdm/devices/id/messages/sms

Send SMS in Bulk

https://host/api/mdm/devices/messages/bulksms?searchby=deviceid

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

24

Chapter 1: Overview

Send Push Message to the Device

https://host/api/mdm/devices/messages/commands/id/message

Bulk Push Message to the Devices

https://host/api/mdm/devices/messages/bulkpush?searchby={searchby}

Push Notification

https://host/api/mdm/devices/messages/{id}/message

Send Remote Control Action
Command

https://host/api/mdm/devices/commands/remotecontrol

Update Note onto the Device

https://host/api/mdm/devices/{deviceId}/notes/{noteid}

Update Device Custom Attribute

https://host/api/mdm/devices/{id}/customattributes

Delete Custom Attribute

https://host/api/mdm/devices/{id}/customattributes

Organization Group Management
Create Organization Group

https://host/api/system/groups/id

Update Organization Group Details

https://host/api/system/groups/{id}

Fetch Child Organization Group's
Details

https://host/api/system/groups/{id}/children

Delete Organization Group

https://host/api/system/groups/{id}

Fetch Admin User Details in an
Organization Group

https://host/api/system/groups/{id}/admins

Fetch Enrollment Users in an
Organization Group

https://host/api/system/groups/{id}/users

Add Device Tag to an Organization
Group

https://host/api/system/groups/{id}/tags

Update Device Tag Details

https://host/api/system/groups/{ogid}/tags/{tagid}

Sampling Rates: Retrieve Sampling
Rates

https://host/api/system/groups/{id}/samplerates?platform={platform}

Smart Group Management
Create Smart Group

https://host/api/mdm/smartgroups

Update Smart Group

https://host/api/mdm/smartgroups/{id}

Delete Smart Group

https://host/api/mdm/smartgroups/{id}

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

25

Chapter 1: Overview

Setting Up an API
APIs require authentication to integrate with AirWatch. For information on authentication methods, refer
Authentication. Prior to authentication, API access must be enabled in the AirWatch Console System Configuration by
selecting the Enable API Access checkbox.
Important Note: AirWatch REST APIs can be enabled only at Customer type organization group, Partner type
organization group, and Global organization group.

Enabling the API access
1. From the AirWatch Console main menu, navigate to Groups & Settings > All Settings > System > Advanced > API >
REST API.

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

26

Chapter 1: Overview

2. On the General tab, configure the following settings.
Setting

Description

Enable API Access

Select this check box to automatically generate the API key for the Organization Group.

Add

Select Add to add/or generate multiple API keys.
l

l

l

l

Service – Enter one or multiple service(s) and generate their own independent API
keys.
Account Type – Select the type of the account. To access Personal Content APIs
(MCM APIs), select the Account type as Enrollment User.
Description – Enter short description for the service and generated API key.
Whitelisted Domains – Enter domains that can interact with AirWatch APIs via API
key.

3. On the Authentication tab, configure the following setting.
Setting

Description

Authentication

Select Authentication as Basic, Certificates or Directory.
For more information, refer to Configuring API Access.

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

27

Chapter 1: Overview

4. On the Advanced tab, configure the following settings. These settings are only accessible at the Global Organization
level. Enter the default service throttling and daily quota and set the maximum and minimum values for each field as
shown below.
Field Name

Default values

Validations

Service Throttling

5000

Min 1 calls
Max 25000 calls
0 or empty turns off service throttling

Daily Quota

50000

Min 1
Max 2147485647

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

28

Chapter 1: Overview

Enabling Personal Content API Access
AirWatch REST APIs enable your end-users to manage their Personal Content with features such as adding, moving,
sharing, and deleting Files and Folders. Follow the below steps to make the most of this functionality:
1. From the AirWatch Console main menu, navigate to Groups & Settings > All Settings > System > Advanced > API >
REST API.
2. On the General tab, configure the following settings.
Setting

Description

Enable
API Access

Select this check box to automatically generate the API key for the Organization Group.

Add

Select Add to add/or generate multiple API keys.
l

l

Service – Enter one or multiple service(s) and generate their own independent API keys.
Account Type – Select the type of the account. Select Account type as Enrollment User to
access Personal Content APIs or Admin to access Managed Content APIs.

l

Description – Enter short description for the service and generated API key.

l

Whitelisted Domains – Enter domains that can interact with AirWatch APIs via API key.

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

29

Chapter 1: Overview

3. Navigate to Groups and Settings > All Settings > Content > Personal Content. Set Personal Content to Enabled to
enable Personal Content at your organization group.

4. Enable applicable Shared Links settings to use sharing file link functionality.

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

30

Chapter 1: Overview

5. Enable applicable Shared Folder settings to use sharing folders functionality.

For more information on Enabling and Configuring Personal Content, refer Mobile Content Management Guide in the
AirWatch Resource.

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

31

Chapter 1: Overview

API Authentication
API requires authentication to integrate with AirWatch. AirWatch offers the following types of authentication methods to
the specific users.

Authentication Methods
APIs support the following methods of authentication to the users:
l

l

l

Basic Authentication – Basic Authentication can be utilized by any AirWatch architecture, but offers no integration to
existing corporate user accounts.
Directory Authentication – Directory Authentication utilizes Directory Services to integrate user and admin accounts
of AirWatch with existing corporate accounts.
Certificate Authentication – Certificate based authentication provides API access using a self-signed certificate
generated for Admin users of the AirWatch Console.

Types of Authentication Users
APIs support the following users to integrate with AirWatch:
l

l

Console Admin Users or Core Users – Uses Basic , Directory, or Certificate Authentication methods.
Device Enrollment Users – Uses Basic and Directory Authentication methods. This method of authentication used by
Enrollment users is called Enrollment User Authentication. From 8.3 version, this is available only for Personal
Content users.

Authorization Header for Basic Authentication
The only difference in using Basic authentication method by Console Admin User and Device Enrollment user is the
information passed in the authorization header. The authorization header should hold the value in the following example
format:
For Console Admin User

GET https://host/api/mdm/devices/bulksettings HTTP/1.1
User-Agent: Fiddler
aw-tenant-code: 1FC5H4JAAAG5A4SQAMQA
Host – host.com
Authorization – Basic bW9oYW46bW9oYW4=

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

32

Chapter 1: Overview

For Device Enrollment User

GET https://host/api/mcm/contents/folders HTTP/1.1
User-Agent: Fiddler
aw-tenant-code: 1FC5H4JAAAG5A4SQAMQA
Host – host.com
Authorization – Basic bW9oYW46bW9oYW4=
aw-groupid – xyz
accept – application/json

Authorization Header for Certificate Authentication
A method of authenticating the APIs using the incoming requests with the detached signatures (Message signing;
Detached Signature Format). Message signing also works with SSL offloading, wherein you can verify the sender's
authentication using the message headers. The detached signature should be present under the HTTP header
authorization. The authorization header should hold the value in the following format:

` 

If the part ` is not present on the header, the default scheme becomes
verification of client certificate based CMS (Cryptographic Message Syntax) signing. For more information on CMS, see
the below Authentication Schemes section.

Authentication Schemes
Currently, AirWatch supports two types of authentication schemes in the detached signature authentication: CMS and
CMSURL. Each requires its own process for defining the version of authentication/signing scheme used.
CMS
CMS scheme expects the signature against the message content. In this case the format of the authorization header is as
follows:
l

Authorization:CMS’ 
o

< Version > information.

o

< CREDENTIALS > is the Base64 Encoded data of “message content” signed with client certificate using PKCS9
signing.

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

33

Chapter 1: Overview

CMSURL
CMSURL expects the signature against the application path in the URL. In this case the format of the authorization header
is as follows:
l

Authorization:CMSURL’ 
o

< Version > information.

o

< CREDENTIALS > is the Base64 Encoded data of “canonical URI resource encoded using UTF-8 format” signed
with client certificate using PKCS9 signing.

Sample code for calling the APIs with CMSURL authorization is shown below.

using System.Security.Cryptography.X509Certificates;
using System.Text;
namespace CMSURLSample
{
class Program
{
static void Main(string[] args)
{
string cmsMethod = "CMSURL";
string url = @"https://host/api/system/groups/1232";
var uri = new Uri(url);
string clientCertificatePath = @"C:\certificates\cert.p12";
string clientCertificatePassword = "test";
//Create X509Certificate from the client certificate provided
var certificate = new X509Certificate2(clientCertificatePath,
clientCertificatePassword, X509KeyStorageFlags.PersistKeySet);
Byte[] signingData;
signingData = Encoding.UTF8.GetBytes(uri.AbsolutePath);// Use the
absolute path of the URL for signing
// Create a detached digital signature for the message data.
var signedCms = new SignedCms(new ContentInfo(signingData),
detached: true);
var signer = new CmsSigner(certificate) { IncludeOption =
X509IncludeOption.EndCertOnly };
signer.SignedAttributes.Add(new Pkcs9SigningTime());
signedCms.ComputeSignature(signer); // Compute the signature
Byte[] signature = signedCms.Encode();
string cmsHeader = cmsMethod + "`1" + " " +
Convert.ToBase64String(signature); // cmsHeader need to be copied
to the Authorization HTTP Header for authentication
}
}
}

Note: Schemes (cms and cmsurl) are not case sensitive.

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

34

Chapter 1: Overview

Canonical URL
Canonical URL resource is computed as follows:
l

If URL is https://host/api/mdm/devices/4/send-message?to=4043671422%25text=hello, canonical URL should be
computed as /api/mdm/devices/4/send-message

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

35

Chapter 1: Overview

Configuring API Access
Now that the API authentication is enabled, the next step is to configure an administrator account for authentication
against the API end points. Typically, this should be a separate service accounts that is only used for API authentication
rather than a current administrator's account. The available options for authentication are Basic, Directory, and
Certificates. The API Authentication is available only when API access is enabled.
Once the administrator's API authentication type is configured, provision Roles to the administrator with specific API
privileges. You can directly control the administrator’s access by creating a new role or editing an existing role.
Use the following steps to create or edit service account administrator roles:
1. Navigate to Accounts > Administrators > Roles.
2. Select any role displayed to edit it or click Add Role to create a new one.
3. Select Save. The new updated role is available to assign to administrators.

REST API MDM – Devices
REST API Devices Read

Enables access to all READ only APIs in Devices collection

REST API Devices Write

Enables access to all write and update APIs in Devices collection

REST API Devices Execute

Enables access to all Execute APIs in Devices collection

REST API Devices Delete

Enables access to all Delete APIs in Devices collection

REST API Devices Advanced

Enables access to all Advanced APIs in Devices collection. This role is required for device
wipe and enterprise wipe.

REST API MAM – Apps
REST API MAM Read

Enables access to all READ only APIs in Apps collection

REST API MAM Write

Enables access to all write and update APIs in Apps collection

REST API MAM Execute

Enables access to all execute APIs in Apps collection

REST API MAM Delete

Enables access to all Delete APIs in Apps collection

REST API System – Groups
REST API System Groups Read Enables access to all READ only APIs in Organization Group collection
REST API System Groups
Write

Enables access to all write and update APIs in Organization Group collection

REST API System Groups
Execute

Enables access to all execute APIs in Organization Group collection

REST API System Groups
Delete

Enables access to all Delete APIs in Organization Group collection

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

36

Chapter 1: Overview

REST API System – Admins
REST API System Admins Read

Enables access to all READ only APIs in Admin users collection

REST API System Admins Write

Enables access to all write and update APIs in Admin users collection

REST API System Admins
Execute

Enables access to all execute APIs in Admin users collection

REST API System Admins Delete Enables access to all Delete APIs in Admin users collection

REST API System – Users
REST API Users Read

Enables access to all READ only APIs in Enrollment users collection

REST API Users Write

Enables access to all write and update APIs in Enrollment users collection

REST API Users Execute

Enables access to all execute APIs in Enrollment users collection

REST API Users Delete

Enables access to all Delete APIs in Enrollment users collection

REST API User Token Read

Enables access to view user enrollment token returned as part of response in APIs

REST API Profile
REST API Profile Read

Enables access to all READ only APIs in profiles collection

REST API Profile Write

Enables access to all write and update APIs in profiles collection

REST API Profile Execute

Enables access to all execute APIs in profiles collection

REST API Profile Delete

Enables access to all Delete APIs in profiles collection

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

37

Chapter 2:
Security and the API
Overview

39

Generating Client Certificates

39

Important API Considerations (Basic Concepts)

42

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

38

Chapter 2: Security and the API

Overview
APIs provide an easy interface to establish a secure communication between AirWatch servers and third-party
applications. The REST API calls take place over HTTPS by default with a certificate signed by a trusted third-party
Certificate Authority (CA). It consists of the public key, information about the owner, and a signature. Other certificates
can be self-signed in which case the clients must install and trust the certificate with no guarantee the claimed owner
identity is genuine. This is called a “root” certificate.
In order to provide certificate-based authentication for admin users access to API’s, user level certificates must be
generated from the AirWatch Console. The certificate used is a self-signed AirWatch certificate generated from AirWatch
Admin Root cert.
Important: All clients must validate the certificate before interacting with the AirWatch server.

Generating Client Certificates
1. Navigate to Accounts > Administrators > List View.
2. Click Add> Add Admin.

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

39

Chapter 2: Security and the API

3. Enter user information in all the required fields on the Basic tab.

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

40

Chapter 2: Security and the API

4. On the API tab, select Certificates from the Authentication drop-down menu and enter the Certificate Password. The
Certificate Password should be the same password entered on the Basic tab.

5. On the Roles tab, click Add Role.
6. Select the admin's Organization Group in the search bar followed by the Role you want to assign to the new admin.
Add as many roles as you want to assign to the admin in the same manner.

7. Select Save to create the new Admin Account with every assigned role and client certificate.
When finished, return to the API tab and select Certificates from the Authentication drop-down menu. You can see the
Client Certificate generated. To export client certificate, enter the certificate password and select Export Client
Certificate.

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

41

Chapter 2: Security and the API

Important API Considerations (Basic Concepts)
SSL Only
AirWatch requires all requests to be made over SSL.

Device Identifier Formats
AirWatch supports five types of device identifiers, including:
l

UDID

l

MAC address

l

Device ID

l

Serial number

l

EAS ID

Media Types
Request or response bodies and resource representations are encoded as either XML or JSON. Each type of resource has
its own media type, or MIME type, which matches the pattern application/http://host/{resourcetype}+{format} where
{resourcetype} represents a unique representation of a resource, (i.e., a device and {format} is either xml or json).
Important: The API MUST provide a representation of all resource available as either XML or JSON. The API MUST
allow client applications to use application/xml or application/json as a synonym for the default representation at a
given resource URL.
Request Headers
Requests made to an AirWatch Platform API can specify the following HTTP headers.
Header Name

Values

Description

Required

Authorization

See Authentication for
details

Identifies who is making a request Always

Accept

Comma separated list of
media types

Informs the API what media types Recommended for requests that
the client can process
yield a response body. If not
specified, application/xml is
assumed

aw- tenant-code

Value is available in system
settings when REST API
access is enabled

A unique code entered by the
client. To be recognized by
AirWatch, it needs to be
appended in the URL

Always

Content-Length

Length of the request body
in bytes

Specifies the size of the message
body

Required for requests that
include a message body

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

42

Chapter 2: Security and the API

Content-Type

Media type describing the
request message body

Describes what representation the Required for requests that
API must use to interpret the
include a message body
message body

Host

Specifies the Internet host
and port number of the
origin host receiving the
message

Allows support for multiple origin
servers using the same IP address

Always

Date

Date/time in HTTP date
format

The date and time at which the
message was originated

Always

Response Headers
Header Name

Values

Description

Required

Content-Length

Length of the response
body in bytes

Specifies the size of the message
body

Required on responses that
include a message body

Content-Type

Media type describing the Describes the representation of the
request message body
response message body

Required on responses that
include a message body

Location

The URL of newly created
resources

Returns a URL that can be used to
request the newly created resource

Required on responses to
requests that create new
resources

Date

Date/time in HTTP date
format

The date and time at which the
response message was originated

Always

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

43

Chapter 2: Security and the API

HTTP Status Code Update
AirWatch Platform API clients MUST be ready to accept HTTP status codes as defined in the following list:
CATEGORY

DESCRIPTION

1xx: Informational

Communicates transfer protocol-level information

2xx: Success

Client request was accepted successfully

3xx: Redirection

Indicates that the client must take additional action to complete their request

4xx: Client Error

This category of error status displays when a client seems to have erred

5xx: Server Error

The server takes responsibility for these error status codes

From 8.3 version onwards, AirWatch APIs will follow standard HTTP status code to maintain consistency across all APIs.
Only default message will be returned in response for an API call. The custom message will be part of response body but
not HTTP message code.
Example: Calling the Get Admins in Organization Group with no Admins in the group:
API URI – https://host/api/system/groups/{groupid}/admins
Response obtained in 8.2

Response obtained in 8.3

204 No admins found for this search request

204 No content

Refer the below table to understand the status codes and their descriptions:
CODE

STATUS

DESCRIPTION

100

Continue

This indicates that the client can continue with its request.

101

Switching
Protocols

This indicates that the protocol version or protocol is being changed.

200

OK

201

Created

This is used to indicate successful resource creation. An AirWatch Platform API responds
with the 201 status code whenever a collection creates a new resource at the client’s
request. There may also be times when a new resource is created as a result of some
controller action, in which case 201 would also be an appropriate response.

202

Accepted

This is used to indicate successful start of an asynchronous action. A 202 response
indicates that the client’s request will be handled asynchronously. This response status
code tells the client that the request appears valid, but it still may have problems once it’s
finally processed. A 202 response is typically used for actions that take a long while to
process. Controller resources may send 202 responses, but other resource types should
not.

This is used to indicate nonspecific success. In most cases, 200 is the code the client hopes
to see. It indicates that the AirWatch Platform API successfully carried out whatever action
the client requested, and that no more specific code in the 2xx series is appropriate. Unlike
the 204 status code, a 200 response should include a response body. 200 (“OK”) is not
used to communicate errors in the response body.AirWatch Platform API must not be
compromised in an effort to accommodate less sophisticated HTTP clients.

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

44

Chapter 2: Security and the API

203

Non
Authoritative
Information

204

No Content

This indicates that the returned meta information is from a cached copy instead of the
origin server and therefore may be incorrect.
This is when the response body is intentionally empty. The 204 status code is usually sent
out in response to a PUT, POST or DELETE request, when the AirWatch Platform API
declines to send back any status message or representation in the response message’s
body. An API may also send 204 in conjunction with a GET request to indicate that the
requested resource exists, but has no state representation to include in the body.

205

Reset Content This indicates that the client should reset (not reload) the current resource.

206

Partial Content This indicates that the response is a partial response as requested by a GET request that
includes a byte range.

300

Multiple
Choices

This indicates that the requested information has multiple representations. The default
action is to treat this status as a redirect and follow the contents of the Location header
associated with this response.

300

Ambiguous

This indicates that the requested information has multiple representations. The default
action is to treat this status as a redirect and follow the contents of the Location header
associated with this response.

301

Moved
Permanently

This is used to relocate resources. The 301 status code indicates that the AirWatch
Platform API’s resource model has been significantly redesigned and a new permanent
URI has been assigned to the client’s requested resource. The AirWatch Platform API
should specify the new URI in the response’s Location header.

301

Moved

This indicates that the requested information has been moved to the URI specified in the
Location header. The default action when this status is received is to follow the Location
header associated with the response. When the original request method was POST, the
redirected request will use the GET method.

302

Found

This indicates that the requested information is located at the URI specified in the
Location header. The default action when this status is received is to follow the Location
header associated with the response. When the original request method was POST, the
redirected request will use the GET method.

302

Redirect

This indicates that the requested information is located at the URI specified in the
Location header. The default action when this status is received is to follow the Location
header associated with the response. When the original request method was POST, the
redirected request will use the GET method.

303

See Other

This is used to refer the client to a different URI. A 303 response indicates that a controller
resource has finished its work, but instead of sending a potentially unwanted response
body, it sends the client the URI of a response resource. This can be the URI of a
temporary status message, or the URI to some already existing, more permanent,
resource. The 303 status code allows an AirWatch Platform API to send a reference to a
resource without forcing the client to download its state. Instead, the client may send a
GET request to the value of the Location header.

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

45

Chapter 2: Security and the API

303

Redirect
Method

This automatically redirects the client to the URI specified in the Location header as the
result of a POST. The request to the resource specified by the Location header will be
made with a GET.

304

Not Modified

305

Use Proxy

306

Unused

307

Temporary
Redirect

This is used to tell clients to resubmit the request to another URI. HTTP/1.1 introduced
the 307 status code to reiterate the originally intended semantics of the 302 (“Found”)
status code. A 307 response indicates that the AirWatch Platform API is not going to
process the client’s request. Instead, the client should resubmit the request to the URI
specified by the response message’s Location header. An AirWatch Platform API can use
this status code to assign a temporary URI to the client’s requested resource. For
example, a 307 response can be used to shift a client request over to another host.

307

Redirect Keep
Verb

This indicates that the request information is located at the URI specified in the Location
header. The default action when this status is received is to follow the Location header
associated with the response. When the original request method was POST, the
redirected request will also use the POST method.

400

Bad Request

This may be used to indicate nonspecific failure. 400 is the generic client-side error status,
used when no other 4xx error code is appropriate.

This is used to preserve bandwidth. This status code is similar to 204 (“No Content”) in
that the response body must be empty. The key distinction is that 204 is used when there
is nothing to send in the body, whereas 304 is used when there is state information
associated with a resource but the client already has the most recent version of the
representation. This status code is used in conjunction with conditional HTTP requests.
Example: If-Modified header.
This indicates that the request should use the proxy server at the URI specified in the
Location header.
This is a proposed extension to the HTTP/1.1 specification that is not fully specified.

Important: For errors in the 4xx category, the response body may contain a document
describing the client’s error (unless the request method was “HEAD”). See Error
representation for error response body design.
401

Unauthorized

This is used when there is a problem with the client’s credentials. A 401 error response
indicates that the client tried to operate on a protected resource without providing the
proper authorization. It may have provided the wrong credentials or none at all.

402

Payment
Required

PaymentRequired is reserved for future use

403

Forbidden

This is used to forbid access regardless of authorization state. A 403 error response
indicates that the client’s request is formed correctly, but the AirWatch Platform API
refuses to honor it. A 403 response is not a case of insufficient client credentials; that
would be 401 (“Unauthorized”). AirWatch Platform APIs use 403 to enforce applicationlevel permissions. For example, a client may be authorized to interact with some, but not
all of AirWatch Platform APIs resources. If the client attempts a resource interaction that is
outside of its permitted scope, the AirWatch Platform API should respond with 403.

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

46

Chapter 2: Security and the API

404

Not Found

405

Method Not
Allowed

This is used when a client’s URI cannot be mapped to a resource. The 404 error status
code indicates that the AirWatch Platform API could not map the client’s URI to a
resource.
This is used when the HTTP method is not supported. The API responds with a 405 error
to indicate that the client tried to use an HTTP method that the resource does not allow.
For instance, a read-only resource could support only GET and HEAD, while a controller
resource might allow GET and POST, but not PUT or DELETE. A 405 response must include
the Allow header, which lists the HTTP methods that the resource supports. For example:
Allow: GET, POST, HEAD, etc…

406

Not Acceptable This is used when the requested media type cannot be served. The 406 error response
indicates that the API is not able to generate any of the client’s preferred media types, as
indicated by the Accept request header. For example, a client request for data formatted
as txt/csv will receive a 406 response if the API is only willing to format data as
application/json.

407

Proxy
This indicates that the requested proxy requires authentication. The Proxy-authenticate
Authentication header contains the details of how to perform the authentication.
Required

408

Request
Timeout

This indicates that the client did not send a request within the time the server was
expecting the request.

409

Conflict

This is used to indicate a violation of resource state. The 409 error response tells the client
that they tried to put the AirWatch Platform APIs resources into an impossible or
inconsistent state. For example, an AirWatch Platform API may return this response code
when a client tries to delete a non-empty store resource.

410

Gone

This indicates that the requested resource is no longer available.

411

Length
Required

This indicates that the required Content-length header is missing.

412

Precondition
Failed

413

Request Entity This indicates that the request is too large for the server to process.
Too Large

414

Request Uri
Too Long

415

Unsupported
Media Type

This should be used to support conditional operations. The 412 error response indicates
that the client specified one or more preconditions in its request headers, effectively
telling the AirWatch Platform API to carry out its request only if certain conditions were
met. A 412 response indicates that those conditions were not met, so instead of carrying
out the request, the API sends this status code.

This indicates that the URI is too long.
This is used when the media type of a request’s payload cannot be processed. The 415
error response indicates that the API is not able to process the client’s supplied media
type, as indicated by the Content-Type request header. For example, a client request
including data formatted as txt/html will receive a 415 response if the API is only willing to
process data formatted as application/json.

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

47

Chapter 2: Security and the API

416

Requested
Range Not
Satisfiable

This indicates that the range of data requested from the resource cannot be returned,
either because the beginning of the range is before the beginning of the resource, or the
end of the range is after the end of the resource.

417

Expectation
Failed

This indicates that an expectation given in an Expect header could not be met by the
server.

426

Upgrade
Required

This indicates that the client should switch to a different protocol such as TLS/1.0

500

Internal Server This is used to indicate API malfunction. 500 is the generic AirWatch Platform API error
Error
response. Most web frameworks automatically respond with this response status code
whenever they execute some request handler code that raises an exception. A 500 error is
never the client’s fault and therefore it is reasonable for the client to retry the exact same
request that triggered this response, and hope to get a different response.

501

Not
Implemented

This is used to indicate the service that does not currently support the requested
functionality.

502

Bad Gateway

This indicates that an intermediate proxy server received a bad response from another
proxy or the origin server.

503

Service
Unavailable

This is used to indicate that the server is unable to handle the request due to temporary
overload or maintenance of the service.

504

Gateway
Timeout

This indicates that an intermediate proxy server timed out while waiting for a response
from another proxy or the origin server.

505

Http Version This indicates that the requested HTTP version is not supported by the server.
Not Supported

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

48

Chapter 2: Security and the API

Error Codes
CATEGORY

DESCRIPTION

3xxx

MCM Error Codes

5xxx

MDM Error Codes

6xxx

System Error Codes

7xxx

MAM Error Codes

CODE

DESCRIPTION

3000

Personal content is disabled

3001

Unauthorized to access resource

3002

Invalid request

3003

Content-Length not provided

3004

Multipart/form-data only supported

3005

Proper content dispositions aren't found in the request

3006

Unsupported media type

3007

File size is greater than the allowed max file size

3008

User storage quota exceeded, Please contact the admin

3009

Invalid file name

3010

Folder Sharing is not allowed

3011

Folder Not Found

3012

Folder cannot be shared to yourself

3013

Folder name is empty

3014

Folder with same name already exists

3015

Folder id is empty

3016

Rfs is configured

3017

Rfs is not configured

3018

Invalid external file id

3019

Invalid external file hash

3020

Upload the physical file first on Rfs before you finalize your upload operation

3021

Internal server error

3022

Invalid Rfs download url

3023

Folder id is empty or invalid

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

49

Chapter 2: Security and the API

3024

Folder not found or not enough permissions

3025

Using wrong API

3026

File Sharing is disabled

3027

File not found

3028

User Id expected not Email

3029

Needed list of collaborators

3030

Invalid MIME multipart message or is not complete

3031

Invalid folder id

3032

Invalid search criteria

3033

Password is required

3034

Invalid input model

3035

Invalid maximum download count

3036

Invalid password

3037

Invalid collaborator

5000

Invalid activation code

5001

Gateway Configuration Not Found

5002

Device Not Found

5003

Invalid SearchBy Parameter

5004

Cache configuration not found

5005

Invalid Input

5006

Action not enabled

5007

Invalid Device UId; DeviceUid not found

5007

Invalid Platform Type; Request cannot be processed for the given platform type

6000

Admin User Not Found

6001

Admin User Cannot Be Deleted

6002

Passwords Cannot be changed

6003

Password Cannot be null or empty

6004

Password Doesnot meet complexity requerements

6005

Duplicate Role Association is found

6006

Role Association not found

6007

Role Cannot be removed

6008

Application Not Found

6009

Invalid Argument

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

50

Chapter 2: Security and the API

6010

At least one custom attribute value should be present

6011

No Issuer found

6012

Unable to create Basic OCSP response

6013

Unable to load certificate

6014

Invalid OCSP request

7000

Application is not found.

7001

Application Id (BundleId/ExternalId) is empty.

7002

Invalid Argument

7100

No stoken found at passed organization group

7101

Client context is not valid for the environment and must be reset.

7102

Sync on requested item is already in progress.

7103

Device assignment is already enabled for the app.

7104

App is not eligible for device based assignment

7105

Not a valid vpp application

Framework Errors
Error

Error Description

UnknownError

Unknown data access error

ConstraintError

Command violated database constraint

TenantAccessSecurityError

Resource access that does not come under current location group
context

DeviceUnenrolledError

Device Actions not allowed due to device is in unenrolled state

BulkActionOutOfRange

No of devices for bulk action is put of range

ChildLocationGroupExists

When child location groups exists, LG delete is not allowed

InvalidInput

When input passed is not valid or mandatory inputs are missing

UserExists

User already exists, not allowed to add user with same username

NotFound

Not found

EnrolledDevicesExistCantDelete

User has enrolled devices, can not be deleted

EnrolledDevicesExists

User has enrolled devices, can not change the location group of user

Forbidden

Forbidden

UserNotFound

Enrollment User not found

AlreadyExists

Resource already exists, user can't add the same Resource again

AdminCantBeDeleted

Admin cannot be deleted

ParentLgIsOfTypeCustomer

Lg cannot be created, because its parent LG is of type Customer

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

51

Chapter 2: Security and the API

UserGroupAlreadyExists

User group cannot be created, because a user group with the same
name already exists

UserGroupNotFound

User group not found

CustomerGroupNotFound

Location group of type customer does not exist

SmartGroupNotFound

Smart group not found in AirWatch

GeneralServerError

General Application error in AirWatch

DeviceTypeNotSupported

Functionality not supported for the device-type

FunctionalityNotImplemented

Functionality not Implemented in AirWatch API

TagNameAlreadyExists

Tag cannot be added, tag with the same name already exists.

SaveDeviceError

Device creation failed in AirWatch

InvalidUser

User provided in invalid

HmacTokenError

Failed to create Hmac token for the device on AirWatch

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

52

Chapter 2: Security and the API

Root Service Document
The root service document is found at the root path of the API application and describes which resources are available to
the caller. Resources in the AirWatch Platform API are organized into workspaces. To start an operation, client
applications can request a service document located at the entry point of the API application (e.g.,
https://host/api/system/info). Dereferencing this URL yields a Root Service Document describing each available
workspace (e.g., Mobile Device Management). Similarly, each workspace describes the resources, representations and
child workspaces using a service document.
Client applications MUST NOT make any assumptions about resource URI layouts, structure or hierarchy as this are
server controlled and can change over time.
API key must be included in every request header.
aw- tenant-code – Value is available in system settings when REST API access is enabled.
Example as shown in a REST Client– aw-tenant-code in the header.

Note: This is the initial call a third party would make with no tenant information.
Example:
Resource URL: https://host/api/system/info
Resource Type: Document
Media Type: application/http://servicemodel/ServiceDocument
Method: GET

GET https://host/api/system/info HTTP/1.1
Authorization: [Credentials]
Accept: application/xml

This yields a response with a Service Document representing a Workspace, including the Root Workspace similar to:

HTTP/1.1 200 OK
Content-Type: application/http://host/servicemodel/servicedocument+xml
Content-Length: N

Host Platform Services
Copyright © AirWatch, LLC 2012
6.4

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

53

Chapter 2: Security and the API

1

Mobile Device
Management
Mobile Content
Management
Mobile Application
Management
Mobile Email
Management
Enterprise Integration
Services
System
Administration
...



Important: In the AirWatch API Help portal, review the entire list of available APIs. Basic User and Directory
Authentication is required to access the API help page.

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

54

Chapter 3:
Admin User Management
Overview

56

Create Console Admin User (Basic)

56

Create Console Admin User (Directory)

61

Retrieve Admin User Details

63

Search Admin User

66

Update Admin User

70

Add Console Admin User Role

73

Remove Console Admin User Role

74

Change Console Admin User Password

75

Delete Console Admin User

76

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

55

Chapter 3: Admin User Management

Overview
The AirWatch REST APIs allows you to manage all the core functionalities around console administration. Admin User's
details can be viewed in the following path on the AirWatch Console:
l

Admin User Details – Accounts > Administrators > List View.

l

Admin Role Details – Accounts > Administrators > Roles.

Create Console Admin User (Basic)
Functionality – Creates a console admin user of security type Basic in the desired organization group.
HTTP Method – POST
API URI – https://host/api/system/admins/addadminuser

Request Payloads
XML


String
String
String 
String 
String
Numeric
String
String
String


Numeric
Numeric


Numeric
Numeric


Boolean
Boolean


VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

56

Chapter 3: Admin User Management

JSON

{
"UserName": "String ",
"Password": "String ",
"FirstName": "String ",
"LastName": "String ",
"Email": "String ",
"LocationGroupId": "Numeric",
"TimeZone": "String",
"Locale": "String",
"Roles": [
{
"Id": "Numeric",
"LocationGroupId": "Numeric"
},
{
"Id": "Numeric",
"LocationGroupId": "Numeric"
}
],
"IsActiveDirectoryUser":Boolean,
"RequiresPasswordChange":Boolean
}

Request Tag Details
Tag

Type

Mandatory

Description

UserName

String

Yes

Desired unique user name of the Console user

Password

String

Yes

Desired password for the Console user

FirstName

String

Yes

Desired first name of the Console user

LastName

String

Yes

Desired last name of the Console user

Email

String

Yes

Desired email in the format xxx@yyy.com

IsActiveDirectoryUser

Boolean

Yes

Specifies if the user is an Active Directory user. "False" for
a Basic User (the value is case-sensitive)

TimeZone

String

No

Time zone code of the user. Refer Tables for the allowed
time zone code values

LocationGroupId

Numeric

No

ID of the organization group where the user is created.
When this tag is not provided defaults to the Root OG of
the Authenticated user sending the API request

Locale

String

No

Desired Locale of the user. Refer the Important section
below

InitialLandingPage

String

No

Specifies the page to be displayed when the newly
created user logs into the console

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

57

Chapter 3: Admin User Management

Roles

Array

Yes (1 role)

Array of roles assigned to the admin user. At least 1 role
is mandatory for an admin user

Id(Role)

Numeric

Yes

ID of the desired user role

LocationGroupId(Role)

Numeric

Yes

ID of the organization group where the user role will be
applicable

RequiresPasswordChange

Boolean

No

Specifies whether a password change is required during
the next login

Important
l

The newly created user can be seen in the following path in the console: Accounts > Administrator > List View.

l

The value of the Initial Landing page can be copied from the console. For example, Device/Dashboard

l

The Location Group ID can be obtained using the Search Organization Group API.

l

The Role IDs available in an Organization Group can be obtained using the Get Admin Roles API.

Response Payload
XML

Numeric

JSON

{
"Value": Numeric
}

Response Tag Details
Tag

Description

Long/Value

Unique ID of the newly created admin user

C# Sample Code

using
using
using
using

System;
System.IO;
System.Net;
System.Text;

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

58

Chapter 3: Admin User Management

using System.Xml.Serialization;
namespace AirwatchApiClient
{
class Program
{
#region Constants
private const string USER_NAME = "UserName1";
private const string PASSWORD = "Password1";
private const string API_TENANT_CODE = "API-Key";
private const string HOST = "https://host";
private const string MIME_TYPE = "application/xml";
#endregion
public static void InitializeRequest(HttpWebRequest request)
{
request.Headers.Add("aw-tenant-code", API_TENANT_CODE);
request.Credentials = new NetworkCredential(USER_NAME, PASSWORD);
request.KeepAlive = false;
request.AddRange(1024);
request.Timeout = 10000;
}
public static void CreateAdminUser()
{
try
{
var adminUser = new AdminUser();
adminUser.UserName = "UserName";
adminUser.Password = "1234";
adminUser.FirstName = "FirstName";
adminUser.LastName = "Last Name";
adminUser.Email = "user@domain.com";
adminUser.IsActiveDirectoryUser = false;
adminUser.LocationGroupId = "661";
var roles = new Role[1];
var role = new Role();
role.Id = 3;
role.LocationGroupId = "661";
roles[0] = role;
adminUser.Roles = roles;
var request =
WebRequest.Create(HOST + "/api/system/admins/addadminuser") as
HttpWebRequest;
request.Method = "POST";
InitializeRequest(request);
request.ContentType = MIME_TYPE;
var xmlSerializer = new XmlSerializer(typeof(AdminUser));
string inputString;
using (var writer = new StringWriter())
{
var xmlNamespace = new XmlSerializerNamespaces();
xmlNamespace.Add(string.Empty, Metadata.RESOURCE_NAMESPACE);

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

59

Chapter 3: Admin User Management

xmlSerializer.Serialize(writer, adminUser, xmlNamespace);
inputString = writer.ToString();
}
byte[] requestBytes = Encoding.UTF8.GetBytes(inputString);
request.ContentLength = inputString.Length;
Stream requestStream = request.GetRequestStream();
requestStream.Write(requestBytes, 0, requestBytes.Length);
requestStream.Close();
var response = (HttpWebResponse)request.GetResponse();
Console.WriteLine(new StreamReader(response.GetResponseStream
()).ReadToEnd());
response.Close();
}
catch (WebException e)
{
if (e.Response != null)
{
var errorMessageStream = e.Response.GetResponseStream();
string message = new StreamReader
(errorMessageStream).ReadToEnd();
Console.WriteLine(message);
}
else
{
Console.WriteLine(e.Message);
}
}
catch (Exception e)
{
Console.WriteLine(e.Message);
}
}
}
}

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

60

Chapter 3: Admin User Management

Create Console Admin User (Directory)
Functionality – Creates an admin user with directory credentials in the desired organization group.
HTTP Method – POST
API URI – https://host/api/system/admins/addadminuser

Request Payloads
XML


String
String
String
String
String


Numeric
String


Numeric
String


true
Boolean


JSON

{
"UserName":"String",
"LocationGroupId":"String",
"TimeZone":"String",
"Locale":"String",
"InitialLandingPage":"String",
"Roles":[{"Id":"Numeric","LocationGroupId":"String"},
{"Id":"Numeric","LocationGroupId":"String"}],
"IsActiveDirectoryUser":Boolean,
"RequiresPasswordChange":Boolean
}

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

61

Chapter 3: Admin User Management

Request Tag Details
Tag

Mandatory

Description

UserName

Yes

Desired unique user name of the Console user

LocationGroupId

No

ID of the organization group where the user is created. When this tag
is not provided, defaults to the Root Organization Group of the
authenticated user sending the API request

TimeZone

No

Desired time zone for the console Console user

Locale

No

Desired Locale of the user. Refer the Important section below

InitialLandingPage

No

Specifies the page to be displayed when the newly created user logs
into the console

Roles

Yes (1 role)

Array of roles. At least 1 Role is mandatory for the user

Id(Role)

Yes

ID of the desired user role

LocationGroupId(Role)

Yes

ID of the Organization Group where the user role will be applicable

IsActiveDirectoryUser

Yes

"true" for a directory user

RequiresPasswordChange

No

Specifies whether a password change is required during the next login

Important: The first name, Last name, Email ID, and Password can be picked from the Configured Directory.

Response Payloads
XML

Numeric

JSON

{
"Value":Numeric
}

Response Tag Details
Tag

Type

Description

Long/Value

Numeric

Unique user ID of the newly created Console user

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

62

Chapter 3: Admin User Management

Retrieve Admin User Details
Functionality – Retrieves console admin user details identified by the admin user ID.
HTTP Method – GET
API URI – https://host/api/system/admins/{id}

URI Parameters
Tag

Description

id

The admin user ID

Request Body – NA

Response Payload
XML


Numeric
String
String
String
String
String
String
String
String
String
Datetime


Numeric
String
String
String


String
String
String
String


Boolean
Boolean


VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

63

Chapter 3: Admin User Management

JSON

"UserName": "String",
"FirstName": "String",
"LastName": "String",
"Email": "String",
"LocationGroup": "String",
"LocationGroupId": "string",
"RequiresPasswordChange":Boolean,
"TimeZone": "String",
"Locale": "String",
"InitialLandingPage": "String",
"LastLoginTimeStamp": "Datetime",
"Roles": [{
"Id": Numeric,
"Name": "String",
"LocationGroup": "String",
"LocationGroupId": "String"
}],
"IsActiveDirectoryUser": "Boolean",
"Id": {"Value": Numeric}

Response Tag Details
Tag

Type

Description

UserName

String

User name of the admin user

FirstName

String

First name of the admin user

LastName

String

Last name of the admin user

Email

String

Email address of the admin user

LocationGroup

String

Name of the organization group to which the admin user belongs

LocationGroupId

String

Organization group ID of the admin user

TimeZone

String

Time zone of the admin user

Locale

String

Locale of the admin user

InitialLandingPage

String

Initial Landing page to be displayed on the console when the admin
user logs in

LastLoginTimeStamp

Datetime

Time Stamp of the last login into the console by the admin user

Roles

String

Array of roles

Roles Id

Numeric

Unique identification of the role

Name

String

Name of the role

LocationGroup

String

Organization group where the role is assigned

LocationGroupId

Numeric

Organization group ID where the role is assigned

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

64

Chapter 3: Admin User Management

RequiresPasswordChange

Boolean

True/False if the password change is required

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

65

Chapter 3: Admin User Management

Search Admin User
Functionality – Searches for admin users using the query information provided.
HTTP Method – GET
API URI – https://host/api/system/admins/search?firstname={firstname}&lastname={lastname}&email=
{emailaddress}&organizationgroupid={organizationgroupid}&role={role}&username={username}&orderby=
{orderby}&page={page}&pagesize={pagesize}&sortorder={sortorder}
l

l

Exact Match Parameter – sortorder
Pattern (Contains) Match Parameter – firstname, lastname, email, organizationgroupid, role, username, orderby,
page, pagesize

Request Body – NA

URI Parameters
Tag

Type

Description

firstname

String

The First name to search for the admin user

lastname

String

The Last Name to search for the admin user

emailaddress

String

The email address to search for the admin user

organizationgroupid

Numeric

The Organization group ID to search for the admin user

role

String

Role name to search for the admin user

username

String

Username to search for the admin user

orderby

String

Order the results by attribute

page

Numeric

The specific page number to be retrieved

pagesize

Numeric

Maximum records per page to be displayed

sortorder

Numeric

Sorting order. Allowed values are ASC or DESC. Defaults to DESC if this
attribute is not specified

Response Payload
XML


Numeric
Numeric
Numeric


Numeric

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

66

Chapter 3: Admin User Management

String
String
String
String
String
String
String
String
Numeric
Datetime


Numeric
String
String
String
String


Numeric
String
String
String
String


Boolean
Boolean




JSON

{
"Page":Numeric,
"PageSize":Numeric,
"Total":Numeric,
"Admins":[{
"Id":Numeric,
"UserName":"String",
"FirstName":"String",
"LastName":"String",
"Email":"String",
"LocationGroup":"String",
"LocationGroupId":"String",
"TimeZone":"String",
"Locale":"String",

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

67

Chapter 3: Admin User Management

"InitialLandingPage":Numeric,
"LastLoginTimeStamp":Numeric,
"Roles":[{
"Id":Numeric,
"Name":"String",
"Description":"String",
"LocationGroup":"String",
"LocationGroupId":"String"
}],
"IsActiveDirectoryUser":Boolean,
"RequiresPasswordChange":Boolean
}]
}

Response Tag Details
Tag

Type

Description

Page

Numeric

Current page number of the result

PageSize

Numeric

Page size in terms of the number of users in a page

Total

Numeric

Total number of users present in the search result

Id

Numeric

Unique ID of the admin user

UserName

String

Unique user name of the admin user

FirstName

String

First Name of the admin user

LastName

String

Last Name of the admin user

Email

String

Email address of the admin user

LocationGroup

String

Name of the organization group where the admin user will be created

LocationGroupId

String

Numeric ID of the organization group where the admin user will be
created

TimeZone

String

Time zone code of the admin user

Locale

String

Desired Locale of the admin user

InitialLandingPage

String

Landing page when the newly created user logs into the console

LastLoginTimeStamp

Datetime

Time stamp of the last login into the console by the admin user

Roles

Array

Array of roles. At least 1 role is mandatory for an admin user

Id

Numeric

Unique numeric ID of the role

Name

String

Unique name of the admin role

Description

String

Description of the admin role

LocationGroup

String

Organization group where the role is assigned

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

68

Chapter 3: Admin User Management

LocationGroupId

String

Organization Group ID where the role is assigned

IsActiveDirectoryUser

Boolean

Is the user an Active Directory user? "false" for a Basic User (the value
is case-sensitive)

RequiresPasswordChange

Boolean

Specifies whether a password change is required during the next login

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

69

Chapter 3: Admin User Management

Update Admin User
Functionality – Updates the specified admin user.
HTTP Method – POST
API URI – https://host/api/system/admins/{id}/update

URI Parameters
Tag

Description

id

The admin user ID

Response Body – NA

Request Payload
XML


String
String
String
String
String
Numeric
String
String
String


Numeric
Numeric


Numeric
Numeric


Boolean
Boolean


VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

70

Chapter 3: Admin User Management

JSON

{
"UserName":"String",
"Password":"String",
"FirstName":"String",
"LastName":"String",
"Email":"String",
"LocationGroupId":"Numeric",
"TimeZone":"String",
"Locale":"String",
"InitialLandingPage":"String",
"Roles":[{
"Id":Numeric,
"LocationGroupId":"Numeric"
}],
"IsActiveDirectoryUser":Boolean,
"RequiresPasswordChange":Boolean
}

Request Tag Details
Tag

Type

Mandatory

Description

UserName

String

No

Desired unique user name of the admin user

Password

String

No

Desired password for the admin user

FirstName

String

No

Desired first name of the admin user

LastName

String

No

Desired last name of the admin user

Email

String

No

Desired email in the format xxx@yyy.com

LocationGroupId

Numeric

No

ID of the organization group where the user is created.
When this tag is not provided defaults to the Root OG of
the Authenticated user sending the API request

TimeZone

String

No

Time zone code of the user. Refer Tables for the allowed
time zone code values

Locale

String

No

Desired locale of the user

InitialLandingPage

String

No

Initial landing page when the newly created user logs into
the console

Roles

Array

No

Array of roles. At least 1 role is mandatory for an admin
user

Id(Role)

Numeric

No

ID of the desired user role

LocationGroupId(Role)

Numeric

No

ID of the organization group where the user role will be
applicable

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

71

Chapter 3: Admin User Management

IsActiveDirectoryUser

Boolean

No

Is the user an Active Directory user? "false" for a Basic
User (the value is case-sensitive)

RequiresPasswordChange

Boolean

No

Specifies whether a password change is required during
the next login

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

72

Chapter 3: Admin User Management

Add Console Admin User Role
Functionality – Adds a desired admin role to a console admin user.
HTTP Method – POST
API URI – https://host/api/system/admins/{coreuserid}/addrole
Response Obtained – NA

Request Payloads
XML


String
string


JSON

{
"Id":"String",
"LocationGroupId":"String"
}

Request Tag Details
Tag

Mandatory

Description

Id

Yes

Unique numeric ID of the role

LocationGroupId

Yes

Unique numeric ID of the organization group where the role needs to
be assigned

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

73

Chapter 3: Admin User Management

Remove Console Admin User Role
Functionality – Removes a role from an specified admin user.
HTTP Method – POST
API URI – https://host/api/system/admins/{coreuserid}/removerole
Response Payload – NA

Request Payload
XML


Numeric
Numeric


JSON

{
"Id":Numeric,
"LocationGroupId":Numeric
}

Request Tag Details
Tag

Mandatory

Description

Id

Yes

Unique numeric ID of the role

LocationGroupId

Yes

Unique numeric ID of the organization group where the role is applied

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

74

Chapter 3: Admin User Management

Change Console Admin User Password
Functionality – Changes the password of the console admin user.
HTTP Method – POST
API URI – https://host/api/system/admins/{AdminUserID}/changepassword
Response Obtained – NA

Request Payloads
XML


String
Boolean


JSON

{
"Password": "String"
"RequiresPasswordChange":Boolean
}

Request Tag Details
Tag

Mandatory

Description

Password

Yes

Desired new password

RequiresPasswordChange

No

Specifies whether a password change is required during the next login

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

75

Chapter 3: Admin User Management

Delete Console Admin User
Functionality – Deletes a specified console admin user identified by its user ID of an organization group.
HTTP Method – DELETE
API URI – https://host/api/system/admins/{id}/delete

URI Parameters
Tag

Description

id

The admin user ID

Response Obtained – NA
Request payload – NA

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

76

Chapter 4:
Application Management
Overview

81

Internal Application Install : Upload Application Chunks (iOS
and Android)
81
Upload Blob

85

Download Blob

86

Internal Application Save

87

Insert Public Application (iOS and Android)

102

Update Public Application (*Refactored)

108

Search Applications

111

Search Play Store for Applications (*Refactored)

124

Search Windows App Store for Applications (*Refactored)

126

Search Apple App Store for Applications (*Refactored)

128

Activate Internal Application

130

Update Internal Application

131

Activate Public Application

141

Deactivate Internal Application

142

Deactivate Public Application

142

Retire Internal Application

143

Unretire Internal Application

143

Assign Smart Group to an Internal Application (*Refactored) 144
Assign Smart Group to a Public Application (*Refactored)

144

Assign Smart Group to BSP Application (Version 2)

144

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

77

Chapter 4: Application Management

Remove Smart Group Assignment From an Internal
Application (*Refactored)

146

Remove Smart Group Assignment From a Public Application
(*Refactored)
146
Install Internal Application on Device

147

Install Public Application on Device

148

Install Purchased Application on the Device

149

Uninstall Internal Application From the Device

150

Uninstall Public Application From the Device

151

Uninstall Purchased Application From the Device

152

View Internal Application Status on the Device

153

View Public Application Status on the Device

154

View Purchased Application Status on Device

155

Retrieve Application Details

156

Get Application Management Status (*Refactored)

159

Retrieve Assigned Devices (Internal Application)
(*Refactored)

160

Retrieve Assigned Devices (Public Application)
(*Refactored)

162

Retrieve Assigned Devices With Purchased Application
(*Refactored)

164

Retrieve Installed Devices (Internal Application)
(*Refactored)

166

Retrieve Installed Devices (Public Application) (*Refactored) 168
Retrieve Installed Devices With Purchased Application
(*Refactored)

170

Retrieve Devices with Internal Application Installed or
Assigned

172

Retrieve Devices with Public Application Installed or
Assigned

174

Retrieve Devices with Purchased Application Installed or
Assigned

176

Delete Internal Application

178

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

78

Chapter 4: Application Management

Delete Public Application

178

Add Assignments to Internal Application

179

Edit Assignment of Internal Application

181

Delete Application Assignment From Smart Group

183

Retrieve Internal Application Details

184

Create Application Group (*Refactored)

198

Retrieve Application Group Details

203

Search Application Group (*Refactored)

206

Search SDK Analytics

210

Update Application Group (*Refactored)

213

Delete Application Group (*Refactored)

216

Add Application to an Application Group (*Refactored)

218

Delete Application from the Application Group
(*Refactored)

219

Create VPP Application Allocation (*Refactored)

220

Delete VPP Application

222

Delete VPP Application Smart Group Assignment
(*Refactored)

222

Search VPP Application (*Refactored)

223

Get VPP Allocation Details

227

Update VPP Licensed Application Assignment (*Refactored) 230
Queues Sync Assets for VPP Applications

233

Resets the Client Context

234

Get VPP Sync Assets Status

235

Enable Device Based Assignment For VPP Applications

236

Update Application on Devices Having Device Based
Licenses

236

Auto Update Flag for Device based VPP App

236

Get VPP Invite Status (*Refactored)

238

Send Bulk VPP Invite (*Refactored)

239

Retrieve Windows App Dependency

241

Retrieve List of Windows App Dependency Files

249

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

79

Chapter 4: Application Management

Delete Windows Dependency Application

251

Search and Retrieve Removal Logs for Internal Applications 252
Update Removal Logs

254

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

80

Chapter 4: Application Management

Overview
AirWatch REST APIs allows you to manage the end-to-end functionalities of Mobile Application Management (MAM)
features. Using these APIs, you can upload internal and public applications, assign, and manage applications on the
devices. Application details can be viewed in the following path on the AirWatch Console:
l

Public and Internal Application Details – Apps&Books > Applications > List View.

l

Smart Group Details – Groups & Settings > Groups > Smart Groups.

Internal Application Install : Upload Application Chunks (iOS and Android)
Functionality – Uploads application chunks into the database for internal application install. This API must be used prior
to the 'Begin Install API' for uploading an internal application.
HTTP Method – POST
API URI – https://host/api/mam/apps/internal/uploadchunk

Request Payloads
XML


String
String
Numeric
Numeric
Numeric


JSON

{
"TransactionId":"String",
"ChunkData":[String],
"ChunkSequenceNumber":Numeric,
"TotalApplicationSize":Numeric,
"ChunkSize":Numeric
}

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

81

Chapter 4: Application Management

Request Tag Details
Tag

Mandatory

Description

TransactionId

Yes

Unique Identifier to identify an application. This string is generated by
the server and sent as a response for the first chunk sent. This
transaction ID should be sent for all the chunks that are subsequently
sent.

ChunkData

Yes

Base-64 Encoded String of the application chunk

ChunkSequenceNumber

Yes

Sequence number of the chunk. First chunk will have sequence
number of 1

TotalApplicationSize

Yes

Total application size

ChunkSize

Yes

Chunk size. Recommended chunk size is 1 MB.

Response Payload
XML


String
Numeric
Boolean


JSON

{
"TransactionId":Numeric,
"ChunkSequenceNumber":"String",
"UploadSuccess" : "Boolean"
}

Response Tag Details
Tag

Type

Description

TransactionId

String

Unique Identifier to identify an application. This string is generated by
the server and sent as a response for the first chunk sent. This
transaction ID should be sent for all the chunks that are subsequently
sent.

ChunkSequenceNumber

Numeric

Sequence number of the Chunk. First Chunk will have sequence
number of 1

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

82

Chapter 4: Application Management

UploadSuccess

Boolean

"True" indicates a successful chunk upload, "False" indicates an failed
chunk upload

C# Sample Code

using System;
using System.IO;
using System.Net;
using System.Text;
using System.Xml.Serialization;
namespace AirwatchApiClient
{
class Program
{
#region Constants
private const string USER_NAME = "UserName1";
private const string PASSWORD = "Password1";
private const string API_TENANT_CODE = "API-Key";
private const string HOST = "https://host";
private const string MIME_TYPE = "application/xml";
#endregion
public static void InitializeRequest(HttpWebRequest request)
{
request.Headers.Add("aw-tenant-code", API_TENANT_CODE);
request.Credentials = new NetworkCredential(USER_NAME, PASSWORD);
request.KeepAlive = false;
request.AddRange(1024);
request.Timeout = 10000;
}
public static void UploadChunk()
{
try
{
var chunkEntity = new InternalAppChunk();
chunkEntity.ChunkData = new byte[] { 81, 109, 70, 122, 90, 83,
65, 50, 78, 67, 66, 84, 100, 72, 74, 108, 89, 87, 48, 61 };
chunkEntity.ChunkSequenceNumber = 1;
chunkEntity.ChunkSize = chunkEntity.ChunkData.Length;
chunkEntity.TotalApplicationSize =
chunkEntity.ChunkData.Length;
var request =
WebRequest.Create(HOST + "/api/mam/apps/internal/uploadchunk")
as
HttpWebRequest;
request.Method = "POST";
InitializeRequest(request);
request.ContentType = MIME_TYPE;
var xmlSerializer = new XmlSerializer(typeof
(InternalAppChunk));
string inputString;

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

83

Chapter 4: Application Management

using (var writer = new StringWriter())
{
var xmlNamespace = new XmlSerializerNamespaces();
xmlNamespace.Add(string.Empty, Metadata.RESOURCE_NAMESPACE);
xmlSerializer.Serialize(writer, chunkEntity, xmlNamespace);
inputString = writer.ToString();
}
byte[] requestBytes = Encoding.UTF8.GetBytes(inputString);
request.ContentLength = inputString.Length;
Stream requestStream = request.GetRequestStream();
requestStream.Write(requestBytes, 0, requestBytes.Length);
requestStream.Close();
var response = (HttpWebResponse)request.GetResponse();
Console.WriteLine(new StreamReader(response.GetResponseStream
()).ReadToEnd());
response.Close();
}
catch (WebException e)
{
if (e.Response != null)
{
var errorMessageStream = e.Response.GetResponseStream();
string message = new StreamReader
(errorMessageStream).ReadToEnd();
Console.WriteLine(message);
}
else
{
Console.WriteLine(e.Message);
}
}
catch (Exception e)
{
Console.WriteLine(e.Message);
}
}
}
}

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

84

Chapter 4: Application Management

Upload Blob
Functionality – Uploads your enterprise application packages (iOS, Android, and Windows Phone 8) as a single byte
stream. The response for this API is a numeric “Blob ID”, that can be used in the Internal Application Save API to save the
application to the console.
HTTP Method – POST
API URI – https://host/api/mam/blobs/uploadblob?filename={filename}&organizationgroupid=
{organizationgroupid}&moduleType={moduleType}
Request Body – Application file should be sent as binary.

URI Parameters
Tag

Type

Description

filename

String

The name of the file along with the file extension.

organizationgroupid

Numeric

Numeric Identifier of the organization group to upload the blob

moduleType

String

Module type of file being uploaded. Example: General, Application,
Book etc., Default: General

Response Payload
XML

Numeric

JSON

{
"Value" : Numeric
}

Response Tag Details
Tag

Type

Description

Long

Numeric

Unique numeric identifier of the Application blob in repository

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

85

Chapter 4: Application Management

Download Blob
Functionality – Downloads the blob stream from the repository identified by blob id.
HTTP Method – GET
API URI – https://host/api/mam/blobs/downloadblob/{blobid}
Request Body – NA
Response Obtained – Application Data as Byte Stream

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

86

Chapter 4: Application Management

Internal Application Save
Functionality – Use this API to save an application, the blob or chunks of app package that are uploaded using ‘Upload
Blob’ or ‘Upload Chunk’ APIs. This API can also be used to specify the supported models, deployment mode of the
application. Once saved, assignments can be added to the application using ‘/internal/addAssignment’ (validate name)
to begin the installation.
HTTP Method – POST
API URI – https://host/api/mam/apps/internal/begininstall

Request Payload
XML


String
String
String
String



Numeric
String



String
String
String
String
String
String
String
Boolean
Numeric
Boolean
String
String

String
Numeric
Numeric

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

87

Chapter 4: Application Management

Numeric

Boolean




String

String
String
Numeric
Numeric
Numeric
Numeric


String
String
Numeric
Numeric
Numeric
Numeric
String


String
String
String
String

String


Numeric
Numeric
Numeric


String
String
Boolean
String
Numeric
Numeric
Numeric
String
String


Boolean
String


String

String
String
Numeric
Numeric
Numeric
Numeric


String
String
Numeric
Numeric
Numeric
Numeric
String


String
String
String
String

String



String
String
Numeric
Numeric






String
Numeric




String

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

89

Chapter 4: Application Management

Numeric




String
Numeric
String
String



Boolean

String
String
Numeric





JSON

{
"ApplicationName" : "String",
"AutoUpdateVersion" : Boolean,
"BlobId" : "String",
"DeploymentOptions" : {
"HowToInstall" : {
"AdminPrivileges" : Boolean,
"DeviceRestart" : "String",
"InstallCommand" : "String",
"InstallContext" : "String",
"InstallTimeoutInMinutes" : Numeric,
"InstallerRebootExitCode" : "String",
"InstallerSuccessExitCode" : "String",
"RetryCount" : Numeric,
"RetryIntervalInMinutes" : Numeric
},
"WhenToCallInstallComplete" : {
"CriteriaList" : [
{
"AppCriteria" : {
"ApplicationIdentifier" : "String",
"BuildNumber" : Numeric,
"MajorVersion" : Numeric,

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

90

Chapter 4: Application Management

"MinorVersion" : Numeric,
"RevisionNumber" : Numeric,
"VersionCondition" : "String"
},
"CriteriaType" : "String",
"FileCriteria" : {
"BuildNumber" : Numeric,
"MajorVersion" : Numeric,
"MinorVersion" : Numeric,
"ModifiedOn" : "String",
"Path" : "String",
"RevisionNumber" : Numeric,
"VersionCondition" : "String"
},
"LogicalCondition" : "String",
"RegistryCriteria" : {
"KeyName" : "String",
"KeyType" : "String",
"KeyValue" : "String",
"Path" : "String"
}
}
],
"CustomScript" : {
"CommandToRunTheScript" : "String",
"CustomScriptFileBlodId" : Numeric,
"ScriptType" : "String",
"SuccessExitCode" : Numeric
},
"IdentifyApplicationBy" : "String",
"UseAdditionalCriteria" : Boolean
},
"WhenToInstall" : {
"DataContingencies" : [
{
"AppCriteria" : {
"ApplicationIdentifier" : "String",
"BuildNumber" : Numeric,
"MajorVersion" : Numeric,
"MinorVersion" : Numeric,
"RevisionNumber" : Numeric,
"VersionCondition" : "String"
},
"CriteriaType" : "String",
"FileCriteria" : {
"BuildNumber" : Numeric,
"MajorVersion" : Numeric,
"MinorVersion" : Numeric,
"ModifiedOn" : "String",
"Path" : "String",
"RevisionNumber" : Numeric,

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

91

Chapter 4: Application Management

"VersionCondition" : "String"
},
"LogicalCondition" : "String",
"RegistryCriteria" : {
"KeyName" : "String",
"KeyType" : "String",
"KeyValue" : "String",
"Path" : "String"
}
}
],
"DevicePowerRequired" : Numeric,
"DiskSpaceRequiredInKb" : Numeric,
"RamRequiredInMb" : Numeric
}
},
"Description" : "String",
"Developer" : "String",
"DeveloperEmail" : "String",
"DeveloperPhone" : "String",
"DeviceType" : "String",
"EnableProvisioning" : Boolean,
"FileName" : "String",
"FilesOptions" : {
"AppDependenciesList" : [
{
"ApplicationDependencyId" : Numeric
}
],
"AppPatchesList" : [
{
"PatchBlobId" : Numeric,
"PatchType" : "String"
}
],
"AppTransformsList" : [
{
"TransformBlobId" : Numeric
}
],
"ApplicationUnInstallProcess" : {
"CustomScript" : {
"CustomScriptType" : "String",
"UninstallCommand" : "String",
"UninstallScriptBlobId" : Numeric
},
"UseCustomScript" : Boolean
}
},
"IsDependencyFile" : Boolean,
"LocationGroupId" : Numeric,

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

92

Chapter 4: Application Management

"MsiDeploymentParamModel" : {
"CommandLineArguments" : "String",
"InstallTimeoutInMinutes" : Numeric,
"RetryCount" : Numeric,
"RetryIntervalInMinutes" : Numeric
},
"PushMode" : "String",
"SupportEmail" : "String",
"SupportPhone" : "String",
"SupportedModels" : {
"Model" : [
{
"ApplicationId" : Numeric,
"ModelId" : Numeric,
"ModelName" : "String"
}
]
},
"SupportedProcessorArchitecture" : "String",
"TransactionId" : "String"
}

Request Tag Details
Tag

Mandatory

Description

ApplicationName

Yes

Desired Application Name

AutoUpdateVersion

Yes

Defines if the application can be updated automatically. Supported
values are True and False.

BlobId

No

Unique identifier obtained from the Upload Blob API response

AdminPrivileges

No

Whether or not the installation should be initiated with logged-in
user privileges or with stepped up administrative permissions

DeviceRestart

No

Restart the device after the application is installed

InstallCommand

No

Install program to meet your deployment criteria

InstallContext

No

Indicate whether the app should be configured and installed for just
enrolled users or for all users on each of your devices

InstallTimeoutInMinutes

No

Amount of time, in minutes, that the installation process can run
before the installation is considered as failed

InstallerRebootExitCode

No

Integer code returned by the installer to indicate that the app has
been successfully installed once the device has been rebooted. This
will be used in conjunction with the 'Device Restart' option specified
above.

InstallerSuccessExitCode

No

Integer code returned by the installer that marks the success of the
operation

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

93

Chapter 4: Application Management

RetryCount

No

Number of retries for installing application before the installation is
marked as failed

RetryIntervalInMinutes

No

Amount of time, in minutes, between retries for installing
application

ApplicationIdentifier

No

Unique identifier of the application (Bundle ID or External ID)

BuildNumber

No

Build version of the application

MajorVersion

No

Major version of the application

MinorVersion

No

Minor version of the application

RevisionNumber

No

Fix version of the application

VersionCondition

No

Version Conditions

CriteriaType

No

Unique smart group type configured to the smart group

BuildNumber

No

Build version of the application

MajorVersion

No

Major version of the application

MinorVersion

No

Minor version of the application

ModifiedOn

No

Date on which the application was last modified

Path

No

Path of the application

RevisionNumber

No

Fix version of the application

VersionCondition

No

Version Conditions

LogicalCondition

No

Logical condition. Supported values are And, and Or.

KeyType

No

Type of key to be created in the registry. Supported values are
String, Binary, DWord, QWord, MultiString, and ExpandableString.

KeyValue

No

Value of the key to be created in the registry

Path

No

Path of the key in the registry

CommandToRunTheScrip

No

Command to run the script

CustomScriptFileBlodId

No

Blob ID of the script file associated. Supported file types are .js, .jse,
.ps1, .ps1xml, .psc1, .psd1, .psm1, .pssc, .cdxml, .vbs, .vbe, .wsf,
and .wsc.

ScriptType

No

Script Type. Supported script types are JScript, PowerShell, and
VBScript

SuccessExitCode

No

Success exit code

IdentifyApplicationBy

No

The way by which an application can be identified. Supported values
are DefiningCriteria,and UsingCustomScript.

UseAdditionalCriteria

No

Msi apps are detected on the device by product code and version.
Use this option to perform additional actions to ensure your app is
successfully installed on your end users' devices.

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

94

Chapter 4: Application Management

DevicePowerRequired

No

The minimum percentage of power required by the device for
installing the application

DiskSpaceRequiredInKb

No

The amount of disk space required for the successful installation of
the application

RamRequiredInMb

No

RAM (in MB) required for installing the application

Description

No

Description of the application on what the application does and
how it can be used

Developer

No

Desired name of the developer

DeveloperEmail

No

User defined email address of developer

DeveloperPhone

No

User defined phone number of developer

DeviceType

No

Numeric Platform identifier of the Device Application

EnableProvisioning

No

Provisioning status. Supported value is Boolean/False.

FileName

No

File name along with the extension

FilesOptions

No

Application files options

ApplicationDependencyId

No

Application dependency identifier

PatchBlobId

No

Blob ID of the uploaded Patch

PatchType

No

Type of the uploaded patch

TransformBlobId

No

Blob ID of the uploaded Transform

CustomScript

No

Custom script

CustomScriptType

No

Custom script type. Supported values are Input and Upload.

UninstallCommand

No

Application uninstall command provided

UninstallScriptBlobId

No

Gets or sets the identifier value of the uninstall script file uploaded
on the console. Supported file types are .js, .jse, .ps1, .ps1, .xml,
.psc1, .psd1, .psm1, .pssc, .cdxml, .vbs, .vbe, .wsf,and .wsc.

UseCustomScript

No

Value indicating whether custom script is used or not

IsDependencyFile

No

Indicates whether uploaded file is a dependency file

LocationGroupId

No

Location group identifier

MsiDeploymentParamModel

No

Msi deployment Parameter model. This is valid only for MSI files
when Software Distribution is not enabled.

CommandLineArguments

No

Command-line options to be used when calling MSIEXEC.exe

InstallTimeoutInMinutes

No

Amount of time, in minutes that the installation process can run
before the installer. Considers the installation may have failed and
no longer monitors the installation operation. The range is 0
through 60.

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

95

Chapter 4: Application Management

RetryCount

No

The number of times the download and installation operation will
be retried before the installation will be marked as failed. With a
limit of 10 attempts.

RetryIntervalInMinutes

No

Amount of time, in minutes between retry operations. The range is
0 through 10.

PushMode

Yes

Deployment mode for the applications. Supported values are Auto
and On Demand.

SupportEmail

No

User defined email address of support

SupportPhone

No

User defined phone number of support

ApplicationId

Yes

Application identifier

ModelId

No

Identifier of the Device Model

ModelName

No

Name of the Device Model

SupportedProcessorArchitecture No

The architecture type of the end user devices that the application
supports

TransactionId

Unique Identifier to identify an application. This string is generated
by the server and sent as a response for the first chunk sent. This
transaction ID should be sent for all the chunks that are
subsequently sent.

No

*At least one model information should be passed in the request.
Important Note: Unlike API based app upload, if an app is uploaded through AirWatch Console, the deployment
mode (push mode) is selected during smart group assignment process.

Response Payload
XML


Numeric
String
String
String
String
String
String
Numeric



Numeric
String

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

96

Chapter 4: Application Management




String
String



Numeric
String



String
Boolean
String
Numeric
Numeric
String
String
String
String
auto
Numeric
Numeric
Numeric


JSON

{
"Id" : Numeric,
"ActualFileVersion" : "String",
"AppRank" : Numeric,
"AppType" : "String",
"AppVersion" : "String",
"ApplicationName" : "String",
"ApplicationSize" : "String",
"ApplicationSource" : Numeric,
"ApplicationUrl" : "String",
"AssignedDeviceCount" : Numeric,
"AssignmentStatus" : "String",
"BundleId" : "String",
"CategoryList" : {
"Category" : [
{
"CategoryId" : Numeric,
"Name" : "String"

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

97

Chapter 4: Application Management

}
]
},
"Comments" : "String",
"ExternalId" : "String",
"InstalledDeviceCount" : Numeric,
"IsReimbursable" : Boolean,
"LargeIconUri" : "String",
"LocationGroupId" : Numeric,
"MediumIconUri" : "String",
"NotInstalledDeviceCount" : Numeric,
"Platform" : Numeric,
"PushMode" : Numeric,
"SmallIconUri" : "String",
"Status" : "String",
"SupportedModels" : {
"Model" : [
{
"ApplicationId" : Numeric,
"ModelId" : Numeric,
"ModelName" : "String"
}
]
}
}

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

98

Chapter 4: Application Management

Response Tag Details
Tag

Type

Description

Id

Numeric

Unique identifier for the application

ActualFileVersion

String

Actual version of the file

AppRank

Numeric

Rank of the application

AppType

String

Type of the application

AppVersion

String

Version of the application

ApplicationName

String

Name of the application

ApplicationSize

String

Size of the application

ApplicationSource

Numeric

Source of the application

ApplicationUrl

String

URL of the application

AssignedDeviceCount

Numeric

Number of devices assigned with the application

AssignmentStatus

String

Status of the application assignment

BundleId

String

Bundle ID of the application from the Play Store for Android

CategoryId

Numeric

Unique identifier of the application category

Name

String

Name of the application category

Comments

String

Desired comments for the application

ExternalId

String

Track ID of the application from the App Store for iOS

InstalledDeviceCount

Numeric

Number of devices with assigned application installed

IsReimbursable

Boolean

Is the Paid Application Reimbursable

LargeIconUri

String

URI of the large icon for the application

LocationGroupId

Numeric

Unique numeric identifier of the Organization Group where the
application is present

MediumIconUri

String

URI of the medium icon for the application

NotInstalledDeviceCount

Numeric

Number of devices with no assigned application installed

Platform

Numeric

Platform identifier of the application. Refer Tables for the List of
Platform identifiers

PushMode

Numeric

Deployment mode for the applications. The values are 'Auto' and 'On
Demand'

SmallIconUri

String

URI of the small icon for the application

Status

String

Current Status of the application. Supported values are Active and
Inactive.

ApplicationId

Numeric

Unique identifier of the application

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

99

Chapter 4: Application Management

ModelId

Numeric

Identifier of the Device Model

ModelName

String

Name of the Device Model

C# Sample Code

using
using
using
using
using

System;
System.IO;
System.Net;
System.Text;
System.Xml.Serialization;

namespace AirwatchApiClient
{
class Program
{
#region Constants
private const string
private const string
private const string
private const string
private const string

USER_NAME = "UserName1";
PASSWORD = "Password1";
API_TENANT_CODE = "API-Key";
HOST = "https://host";
MIME_TYPE = "application/xml";

#endregion
public static void InitializeRequest(HttpWebRequest request)
{
request.Headers.Add("aw-tenant-code", API_TENANT_CODE);
request.Credentials = new NetworkCredential(USER_NAME, PASSWORD);
request.KeepAlive = false;
request.AddRange(1024);
request.Timeout = 10000;
}
public static void BeginInstall()
{
try
{
var appChunk = new InternalAppChunkTranscation();
appChunk.TransactionId = "782ae0ef-b6ee-4e4c-929e881f30bdef40";
appChunk.ApplicationName = "testapp";
appChunk.LocationGroupId = 661;
appChunk.DeviceType = "Android";
appChunk.PushMode = "Auto";
appChunk.AutoUpdateVersion = Boolean;
var supportedmodels = new SupportedModels();
appChunk.SupportedModels = supportedmodels;
var models = new ApplicationSupportedModel[1];
var model = new ApplicationSupportedModel();
supportedmodels.Model = models;
model.ModelName = "Android";

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

100

Chapter 4: Application Management

models[0] = model;
var request =
WebRequest.Create(HOST +
"/api/mam/apps/internal/begininstall") as
HttpWebRequest;
request.Method = "POST";
InitializeRequest(request);
request.ContentType = MIME_TYPE;
var xmlSerializer = new XmlSerializer(typeof
(InternalAppChunkTranscation));
string inputString;
using (var writer = new StringWriter())
{
var xmlNamespace = new XmlSerializerNamespaces();
xmlNamespace.Add(string.Empty, Metadata.RESOURCE_NAMESPACE);
xmlSerializer.Serialize(writer, appChunk, xmlNamespace);
inputString = writer.ToString();
}
byte[] requestBytes = Encoding.UTF8.GetBytes(inputString);
request.ContentLength = inputString.Length;
Stream requestStream = request.GetRequestStream();
requestStream.Write(requestBytes, 0, requestBytes.Length);
requestStream.Close();
var response = (HttpWebResponse)request.GetResponse();
Console.WriteLine(new StreamReader(response.GetResponseStream
()).ReadToEnd());
response.Close();
}
catch (WebException e)
{
if (e.Response != null)
{
var errorMessageStream = e.Response.GetResponseStream();
string message = new StreamReader
(errorMessageStream).ReadToEnd();
Console.WriteLine(message);
}
else
{
Console.WriteLine(e.Message);
}
}
catch (Exception e)
{
Console.WriteLine(e.Message);
}
}
}
}

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

101

Chapter 4: Application Management

Insert Public Application (iOS and Android)
Functionality – Inserts the public application selected by searching for the bundle ID (Android) or external ID (iOS) in the
app market.
HTTP Method – POST
API URI – https://host/api/mam/apps/public

Request Payload
XML


String
String
String
Numeric
String
Numeric
String



Numeric
String



String
Boolean
String


JSON

{
"ApplicationName":"String",
"ApplicationUrl" : "String",
"AssignmentStatus" : "String",
"BundleId":"String",
"ExternalId":"String",
"Platform":Numeric,
"LocationGroupId":Numeric,
"PushMode":Numeric
"CategoryList":
{

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

102

Chapter 4: Application Management

"Category":
[{
"CategoryId":Numeric,
"Name":"String"
}]
},
"Comments":"String",
"IsReimbursable":Boolean
}

Request Tag Details
Tag

Mandatory

Description

ApplicationName

Yes

Desired application name

BundleId

Yes

Bundle ID of the application from the Play Store for Android

ExternalId

Yes

Track ID of the application from the App Store for iOS

Platform

Yes

Desired Platform ID

LocationGroupId

Yes

Unique ID of the organization group where the application is uploaded

PushMode

Yes

Mode of application deployment. For example: "Auto", "OnDemand"

CategoryList

No

Array of applicable categories the application belongs to

CategoryId

No

Unique numeric ID of the application category

Name

No

Name of the application category

Comments

No

Desired comments for the application

IsReimbursable

No

Denotes if the application is reimbursable

ApplicationUrl

Yes*

URL of the application

AssignmentStatus

No

Status of the application assignment

Note*: While passing value for , if the url has "&", replace it with "&". This prevents from
obtaining de-serialization error.

Response Payload
XML


Numeric
String

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

103

Chapter 4: Application Management

String
Numeric



Numeric
String



String
Boolean
String
Numeric
Numeric
Numeric
Numeric
Numeric


JSON

{
"Id" : Numeric,
"ApplicationName" : "String",
"ApplicationUrl" : "String",
"AssignedDeviceCount" : Numeric,
"BundleId" : "String",
"CategoryList" : {
"Category" : [
{
"CategoryId" : Numeric,
"Name" : "String"
}
]
},
"Comments" : "String",
"InstalledDeviceCount" : Numeric,
"IsReimbursable" : Boolean,
"LocationGroupId" : Numeric,
"NotInstalledDeviceCount" : Numeric,
"Platform" : Numeric,
"PushMode" : Numeric
}

Response Tag Details
Tag

Type

Description

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

104

Chapter 4: Application Management

Id

Numeric

Unique identifier of the application

ApplicationName

String

Desired application name

ApplicationUrl

String

URL of the application

AssignedDeviceCount

Numeric

Number of devices assigned with the application

BundleId

String

Bundle ID of the application from the Play Store for Android

CategoryId

Numeric

Unique numeric ID of the application category

Name

String

Name of the application category

Comments

String

Desired comments for the application

InstalledDeviceCount

Numeric

Number of devices with application installed

IsReimbursable

Boolean

Denotes if the application is reimbursable

LocationGroupId

Numeric

Unique ID of the organization group where the application is uploaded

NotInstalledDeviceCount

Numeric

Number of devices with application not installed

Platform

Numeric

Platform of the device

PushMode

Numeric

Mode of application deployment. For example: "Auto", "OnDemand"

C# Sample Code

using
using
using
using
using

System;
System.IO;
System.Net;
System.Text;
System.Xml.Serialization;

namespace AirwatchApiClient
{
class Program
{
#region Constants
private const string
private const string
private const string
private const string
private const string

USER_NAME = "UserName1";
PASSWORD = "Password1";
API_TENANT_CODE = "API-Key";
HOST = "https://host";
MIME_TYPE = "application/xml";

#endregion
public static void InitializeRequest(HttpWebRequest request)
{
request.Headers.Add("aw-tenant-code", API_TENANT_CODE);
request.Credentials = new NetworkCredential(USER_NAME, PASSWORD);
request.KeepAlive = false;
request.AddRange(1024);
request.Timeout = 10000;

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

105

Chapter 4: Application Management

}
public static void InsertPublicApplication()
{
try
{
var appEntity = new ApplicationEntity();
appEntity.ApplicationName = "DesiredApplicationName";
appEntity.ExternalId = "Unique ID of the application on the
Application store";
appEntity.Platform = "Platform ID";
appEntity.CategoryList = new CategoryList();
var categoryList = new CategoryList();
var categories = new Category[1];
var category = new Category();
category.Name = "Games";
categories[0] = category;
categoryList.Category = categories;
appEntity.LocationGroupId = 661;
appEntity.PushMode = PushMode.auto;
var request =
WebRequest.Create(HOST + "/api/mam/apps/public") as
HttpWebRequest;
request.Method = "POST";
InitializeRequest(request);
request.ContentType = MIME_TYPE;
var xmlSerializer = new XmlSerializer(typeof
(ApplicationEntity));
string inputString;
using (var writer = new StringWriter())
{
var xmlNamespace = new XmlSerializerNamespaces();
xmlNamespace.Add(string.Empty, Metadata.RESOURCE_NAMESPACE);
xmlSerializer.Serialize(writer, appEntity, xmlNamespace);
inputString = writer.ToString();
}
byte[] requestBytes = Encoding.UTF8.GetBytes(inputString);
request.ContentLength = inputString.Length;
Stream requestStream = request.GetRequestStream();
requestStream.Write(requestBytes, 0, requestBytes.Length);
requestStream.Close();
var response = (HttpWebResponse)request.GetResponse();
Console.WriteLine(new StreamReader(response.GetResponseStream
()).ReadToEnd());
response.Close();
}
catch (WebException e)
{
if (e.Response != null)

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

106

Chapter 4: Application Management

{
var errorMessageStream = e.Response.GetResponseStream();
string message = new StreamReader
(errorMessageStream).ReadToEnd();
Console.WriteLine(message);
}
else
{
Console.WriteLine(e.Message);
}
}
catch (Exception e)
{
Console.WriteLine(e.Message);
}
}
}
}

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

107

Chapter 4: Application Management

Update Public Application (*Refactored)
Functionality – Updates the public application selected by searching for the bundle ID (Android) or external ID (iOS) in the
app market.
HTTP Method – POST
Deprecated API URI – https://host/api/mam/apps/public/{applicationid}/update. This URI will be deprecated soon.
Start using the *Supported API URI henceforth.
*Supported API URI – https://host/api/mam/apps/public/applicationid (HTTP method Used – PUT)
Response Payload – NA

Request Payloads
XML


String
String
String
String
String
String
Numeric
String
String



Numeric
String


Numeric
String



String
Boolean
String
Numeric
String
String
String
String
Numeric
Numeric
Numeric

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

108

Chapter 4: Application Management

Numeric


JSON

{
"ActualFileVersion" : "String",
"AppType" : "String",
"AppVersion" : "String",
"ApplicationName" : "String",
"ApplicationSize" : "String",
"ApplicationUrl" : "String",
"AssignedDeviceCount" : Numeric,
"AssignmentStatus" : "String",
"BundleId" : "String",
"CategoryList" : {
"Category" : [
{
"CategoryId" : Numeric,
"Name" : "String"
}
]
},
"Comments" : "String",
"ExternalId" : "String",
"InstalledDeviceCount" : Numeric,
"IsReimbursable" : Boolean,
"LargeIconUri" : "String",
"LocationGroupId" : Numeric,
"MediumIconUri" : "String",
"NotInstalledDeviceCount" : Numeric,
"Platform" : Numeric,
"PushMode" : Numeric,
"SmallIconUri" : "String",
"Status" : "String"
}

Request Tag Details
Tag

Mandatory

Description

ActualFileVersion

Yes

Actual version of the file

AppType

Yes

Type of the application

AppVersion

Yes

Version of the application

ApplicationName

Yes

Name of the application

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

109

Chapter 4: Application Management

ApplicationSize

Yes

Size of the application

ApplicationUrl

Yes

URI of the application

AssignedDeviceCount

Yes

Number of devices assigned with the application

AssignmentStatus

No

Status of the application assignment

BundleId

Yes

Bundle ID of the application from the Play Store for Android

CategoryId

Yes

Unique identifier of the application category

Name

No

Name of the application category

Comments

No

Desired comments for the application

ExternalId

No

Track ID of the application from the App Store for iOS

InstalledDeviceCount

No

Number of devices with assigned application installed

IsReimbursable

No

Is the Paid Application Reimbursable

LargeIconUri

No

URI of the large icon for the application

LocationGroupId

Yes

Unique Numeric ID of the Organization Group where the application is
present

MediumIconUri

No

URI of the medium icon for the application

NotInstalledDeviceCount

No

Number of devices with no assigned application installed

Platform

Yes

Platform ID of the application. Refer Tables for the List of Platform IDs

PushMode

Yes

Deployment mode for the applications. The values are 'Auto' and 'On
Demand'

SmallIconUri

No

URI of the small icon for the application

Status

No

Current Status of the application. "Active" or "Inactive"

Note*: While passing value for , if the url has "&", replace it with "&". This prevents from
obtaining de-serialization error.

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

110

Chapter 4: Application Management

Search Applications
Functionality – Searches and retrieves the details for both internal and external applications.
HTTP Method – GET
API URI – https://host//api/mam/apps/search?type={type}&applicationtype={applicationtype}&applicationname=
{applicationname}&category={category}&locationgroupid={locationgroupid}&bundleid={bundleid}&platform=
{platform}&model={model}&status={status}&orderby={orderby}&page={page}&pagesize={pagesize}
l

l

Exact Match Parameter – type, applicationtype, platform, model, status
Pattern (Contains) Match Parameter – applicationname, Category, locationgroupid, bundleid, page, pagesize,
orderby

Request Body – NA

URI Parameters
Tag

Type

Description

type

String

The product type - app or book

Application Type

String

Type of the application - internal or public

applicationname

String

Name of the application. Partial search string is allowed

category

String

Category of the application. For example: Games

locationgroupid

String

Unique numeric ID of the organization group where the application is
present

ApplicationType

String

Indicates if the application is "Internal" or "Public"

bundleid

String

Bundle ID of the application

platform

String

Application platform. For example: Android, iOS

model

String

Application model. For example: iPad

status

String

Returns the application status. All, Active, Inactive, Retired

orderby

String

The order of the search result. Any of the column parameters
mentioned above can be sent as a parameter

page

Numeric

Page number of the retrieved response

pagesize

Numeric

Page Size of the retrieved response

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

111

Chapter 4: Application Management

Response Payload
XML


Numeric
Numeric
Numeric


Numeric
String
Numeric
String
String
String
String
Numeric



Numeric
String



String
String



Numeric
String





Numeric
String


String
Boolean
String
Numeric
Numeric
Numeric

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

112

Chapter 4: Application Management

String
String
String
String
Numeric
Numeric
Numeric
String
String
String
String
String
String
Boolean
Numeric
Boolean
String
String

String
Numeric
Numeric
Numeric

Boolean




String

String
String
Numeric
Numeric
Numeric
Numeric


String
String
Numeric
Numeric
Numeric

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

113

Chapter 4: Application Management

Numeric
String


String
String
String
String

String


Numeric
Numeric
Numeric


String
String
Boolean
String
Numeric
Numeric
Numeric
String
String


Boolean
String


String

String
String
Numeric
Numeric
Numeric
Numeric


String
String
Numeric
Numeric
Numeric

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

114

Chapter 4: Application Management

Numeric
String


String
String
String
String

String



String
String
Numeric
Numeric






String
Numeric




String
Numeric




String
Numeric
String
String



Boolean

String

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

115

Chapter 4: Application Management

String
Numeric








JSON

{
"ApplicationName" : "String",
"BundleId" : "String",
"AppVersion" : "String",
"ActualFileVersion" : "String",
"AppType" : "String",
"Status" : "String",
"Platform" : Numeric,
"SupportedModels" : {
"Model" : [
{
"ApplicationId" : Numeric,
"ModelId" : Numeric,
"ModelName" : "String"
}
]
},
"AssignmentStatus" : "String",
"ApplicationSize" : "String",
"CategoryList" : {
"Category" : [
{
"CategoryId" : Numeric,
"Name" : "String"
}
]
},
"SmartGroups" : [
{
"Id" : Numeric,
"Name" : "String"
}
],
"Comments" : "String",
"IsReimbursable" : Boolean,
"ApplicationUrl" : "String",

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

116

Chapter 4: Application Management

"ApplicationSource" : Numeric,
"LocationGroupId" : Numeric,
"ExternalId" : "String",
"LargeIconUri" : "String",
"MediumIconUri" : "String",
"SmallIconUri" : "String",
"PushMode" : Numeric,
"AppRank" : Numeric,
"AssignedDeviceCount" : Numeric,
"InstalledDeviceCount" : Numeric,
"NotInstalledDeviceCount" : Numeric,
"Description" : "String",
"SupportEmail" : "String",
"SupportPhone" : "String",
"Developer" : "String",
"DeveloperEmail" : "String",
"DeveloperPhone" : "String",
"AutoUpdateVersion" : Boolean,
"EnableProvisioning" : Boolean,
"SupportedProcessorArchitecture" : "String",
"MsiDeploymentParamModel" : {
"CommandLineArguments" : "String",
"InstallTimeoutInMinutes" : Numeric,
"RetryCount" : Numeric,
"RetryIntervalInMinutes" : Numeric
},
"IsDependencyFile" : Boolean,
"DeploymentOptions" : {
"WhenToInstall" : {
"DataContingencies" : [
{
"CriteriaType" : "Unknown",
"AppCriteria" : {
"ApplicationIdentifier" : "String",
"VersionCondition" : "Unknown",
"MajorVersion" : Numeric,
"MinorVersion" : Numeric,
"RevisionNumber" : Numeric,
"BuildNumber" : Numeric
},
"FileCriteria" : {
"Path" : "String",
"VersionCondition" : "Unknown",
"MajorVersion" : Numeric,
"MinorVersion" : Numeric,
"RevisionNumber" : Numeric,
"BuildNumber" : Numeric,
"ModifiedOn" : "String"
},
"RegistryCriteria" : {
"Path" : "String",

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

117

Chapter 4: Application Management

"KeyName" : "String",
"KeyType" : "Unknown",
"KeyValue" : "String"
},
"LogicalCondition" : "Unknown"
},
{
"CriteriaType" : "Unknown",
"AppCriteria" : {
"ApplicationIdentifier" : "String",
"VersionCondition" : "Unknown",
"MajorVersion" : Numeric,
"MinorVersion" : Numeric,
"RevisionNumber" : Numeric,
"BuildNumber" : Numeric
},
"FileCriteria" : {
"Path" : "String",
"VersionCondition" : "Unknown",
"MajorVersion" : Numeric,
"MinorVersion" : Numeric,
"RevisionNumber" : Numeric,
"BuildNumber" : Numeric,
"ModifiedOn" : "String"
},
"RegistryCriteria" : {
"Path" : "String",
"KeyName" : "String",
"KeyType" : "Unknown",
"KeyValue" : "String"
},
"LogicalCondition" : "Unknown"
}
],
"DiskSpaceRequiredInKb" : Numeric,
"DevicePowerRequired" : Numeric,
"RamRequiredInMb" : Numeric
},
"HowToInstall" : {
"InstallContext" : "Unknown",
"InstallCommand" : "String",
"AdminPrivileges" : Boolean,
"DeviceRestart" : "Unknown",
"RetryCount" : Numeric,
"RetryIntervalInMinutes" : Numeric,
"InstallTimeoutInMinutes" : Numeric,
"InstallerRebootExitCode" : "String",
"InstallerSuccessExitCode" : "String"
},
"WhenToCallInstallComplete" : {
"UseAdditionalCriteria" : Boolean,

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

118

Chapter 4: Application Management

"IdentifyApplicationBy" : "Unknown",
"CriteriaList" : [
{
"CriteriaType" : "Unknown",
"AppCriteria" : {
"ApplicationIdentifier" : "String",
"VersionCondition" : "Unknown",
"MajorVersion" : Numeric,
"MinorVersion" : Numeric,
"RevisionNumber" : Numeric,
"BuildNumber" : Numeric
},
"FileCriteria" : {
"Path" : "String",
"VersionCondition" : "Unknown",
"MajorVersion" : Numeric
"MinorVersion" : Numeric,
"RevisionNumber" : Numeric,
"BuildNumber" : Numeric,
"ModifiedOn" : "String"
},
"RegistryCriteria" : {
"Path" : "String",
"KeyName" : "String",
"KeyType" : "Unknown",
"KeyValue" : "String"
},
"LogicalCondition" : "Unknown"
}
],
"CustomScript" : {
"ScriptType" : "Unknown",
"CommandToRunTheScript" : "String",
"CustomScriptFileBlodId" : Numeric
"SuccessExitCode" : Numeric
}
}
},
"FilesOptions" : {
"AppDependenciesList" : [
{
"Name" : "String",
"ApplicationDependencyId" : Numeric
}
],
"AppTransformsList" : [
{
"TransformFileName" : "String",
"TransformBlobId" : Numeric
}
],

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

119

Chapter 4: Application Management

"AppPatchesList" : [
{
"PatchFileName" : "String",
"PatchBlobId" : Numeric,
"PatchType" : "Unknown",
"BuildVersion" : "String"
}
],
"ApplicationUnInstallProcess" : {
"UseCustomScript" : Boolean,
"CustomScript" : {
"CustomScriptType" : "Unknown",
"UninstallCommand" : "String",
"UninstallScriptBlobId" : Numeric
}
}
},
"Id" : {
"Value" : Numeric
}
}
],
"Page" : Numeric,
"PageSize" : Numeric,
"Total" : Numeric
}

Response Tag Details
Tag

Type

Description

ApplicationName

String

Name of the application

BundleId

Numeric

Bundle ID of the application

AppVersion

String

Version of the application

AppType

String

Type of the application. "Public" or "Internal"

Status

String

Current Status of the application. "Active" or "Inactive"

Platform

Numeric

Platform ID of the application. Refer Tables for the List of Platform
IDs

ModelId

Numeric

ID of the Device Model. Refer Tables for the List of Model IDs

ModelName

String

Name of the Device Model

AssignmentStatus

String

Current assignment state of the application. "Assigned" or "Not
Assigned"

ApplicationSize

Numeric

Size of the application. Bytes, KB, MB, GB

CategoryId

Numeric

Numeric ID of the Category of the application

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

120

Chapter 4: Application Management

Name

String

Category name of the application

SmartGroups Id

Numeric

Numeric ID of the smart group

SmartGroups Name

String

Unique name of the smart group

Comments

String

The comments associated with the public applications

IsReimbursable

Boolean

Is the Paid Application Reimbursable. True or False

ApplicationUrl

String

URL of a Public Application

LocationGroupId

Numeric

Unique Numeric ID of the Organization Group where the
application is present

ExternalId

Numeric

Is the track ID of the application from the App Store for iOS

PushMode

String

Deployment mode for the applications. The values are 'Auto' and
'On Demand'

Page

Numeric

Page Number

PageSize

Numeric

Size of the current page

Total

Numeric

Total Results obtained from the search

LargeIconUri

String

URL of the large icon for the application

SmallIconUri

String

URL of the small icon for the application

MediumIconUri

String

URL of the medium icon for the application

AssignedDeviceCount

Numeric

Number of devices with application assigned

InstalledDeviceCount

Numeric

Number of devices with assigned application installed

NotInstalledDeviceCount

Numeric

Number of devices with no assigned application installed

SupportEmail

String

User defined email address of support

SupportPhone

String

User defined phone number of support

Developer

String

Name of the developer

DeveloperEmail

String

Email address of the developer

DeveloperPhone

Numeric

Phone number of the developer

AutoUpdateVersion

Boolean

Is auto update of devices required. True or False

EnableProvisioning

Booelan

Provisioning status. Supported value is True or False.

SupportedProcessorArchitecture String

The architecture type of the end user devices that the application
supports

CommandLineArguments

String

Command-line options to be used when calling MSIEXEC.exe

InstallTimeoutInMinutes

Numeric

Amount of time, in minutes that the installation process can run
before the installer. Considers the installation may have failed and
no longer monitors the installation operation.

RetryCount

Numeric

The number of times the download and installation operation will
be retried before the installation will be marked as failed.

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

121

Chapter 4: Application Management

RetryIntervalInMinutes

Numeric

Amount of time, in minutes between retry operations.

CriteriaType

String

Unique smart group type configured to the smart group

ApplicationIdentifier

String

Unique identifier of the application (Bundle ID or External ID)

VersionCondition

String

Version conditions

MajorVersion

Numeric

Major version of the application

MinorVersion

Numeric

Minor version of the application

BuildNumber

Numeric

Build version of the application

RevisionNumber

Numeric

Fix version of the application

FileCriteria

String

File criteria

Path

String

Path of the file

VersionCondition

String

Version Conditions

MajorVersion

Numeric

Major version of the file

MinorVersion

Numeric

Minor version of the file

RevisionNumber

Numeric

Fix version of the application

BuildNumber

Numeric

Build version of the application

ModifiedOn

String

Date on which the file was last modified

RegistryCriteria

String

Registry criteria

Path

String

Path of the key in the registry

Keyname

String

Name of the key to be created in the registry

Keytype

String

Type of key to be created in the registry

KeyValue

String

Value of the key to be created in the registry

ScriptType

String

Script Type. Supported script types are JScript, PowerShell, and
VBScript.

CommandToRunTheScript

String

Command to run the script

CustomScriptFileBlodId

Numeric

Blob ID of the script file associated. Supported file types are js,
.jse, .ps1, .ps1xml, .psc1, .psd1, .psm1, .pssc, .cdxml, .vbs, .vbe,
.wsf, and .wsc.

SuccessExitCode

Numeric

Success exit code

Name

String

File name

ApplicationDependencyId

Numeric

Application dependency identifier

TransformFileName

String

File name of the trasnform

TransformBlobId

Numeric

Blob ID of the uploaded Transform

PatchFileName

String

Name of the patch file

PatchBlobId

Numeric

Blob ID of the uploaded Patch

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

122

Chapter 4: Application Management

PatchType

String

Type of the uploaded patch

BuildVersion

String

Build version of the application

UseCustomScript

Boolean

Value indicating whether custom script is used or not

CustomScriptType

String

Custom script type. Supported values are Input and Upload

UninstallCommand

String

Application uninstall command provided

UninstallScriptBlobId

Numeric

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

123

Chapter 4: Application Management

Search Play Store for Applications (*Refactored)
Functionality – Searches Google Play Store for the applications with the specified search string and returns the details.
The Bundle ID returned can then be used in the "BundleId " parameter in the Insert Public application API.
HTTP Method – GET
Deprecated API URI – https://host/api/mam/apps/playstoresearch?appname={name}. This URI will be deprecated
soon. Start using the *Supported API URI .
l

Pattern (Contains) Match Parameter – appname

*Supported API URI – https://host/api/mam/apps/playstore/search (HTTP Method Used – GET)
Request Body – NA

URI Parameters
Tag

Type

Description

name

String

Application name to be searched in Play Store

Response Payload
XML




String
String
String




JSON

{
"Applications":[{
"BundleID":"String",
"ApplicationName":"String",
"CurrentVersion":"String"
}]
}

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

124

Chapter 4: Application Management

Response Tag Details
Tag

Type

Description

BundleID

String

Package ID of the Android application

ApplicationName

String

Name of the application

CurrentVersion

String

Current version of the application

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

125

Chapter 4: Application Management

Search Windows App Store for Applications (*Refactored)
Functionality – Searches Windows Store for the applications with the specified search string and returns the details. The
Bundle ID returned can then be used in the "BundleId " parameter in the Insert Public application API.
HTTP Method – GET
Deprecated API URI – https://host/api/mam/apps/windowsstoresearch?appname={appname}&platform={platform}.
l

Exact Match Parameter – platform

l

Pattern (Contains) Match Parameter – appname

This URI will be deprecated soon. Start using the *Supported API URI.
*Supported API URI – https://host/api/mam/apps/windowsstore/search (HTTP Method Used – GET)
Request Body – NA

URI Parameters
Tag

Type

Description

appname

String

Name of the application to be searched

platform

String

Platform of the device

Response Payload
XML




String
String
String




JSON

{
"Applications":[{
"BundleID":"String",
"ApplicationName":"String",

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

126

Chapter 4: Application Management

"CurrentVersion":"String"
}]
}

Response Tag Details
Tag

Type

Description

BundleID

String

Bundle ID of the Windows application

ApplicationName

String

Name of the application

CurrentVersion

String

Current version of the application

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

127

Chapter 4: Application Management

Search Apple App Store for Applications (*Refactored)
Functionality – Searches Apple Store for the applications with the specified search string and returns the details. The
External ID returned in this APIs response can be used in the "ExternaID" parameter in the Insert Public application API.
HTTP Method – GET
Deprecated API URI – https://host/api/mam/apps/applestoresearch?appname={name}. This URI will be deprecated
soon. Start using the *Supported API URI henceforth.
l

Pattern (Contains) Match Parameter – appname

*Supported API URI – https://host/api/mam/apps/applestore/search (HTTP Method Used – GET)
Request Body – NA

URI Parameters
Tag

Type

Description

appname

String

Name of the application to be searched

Response Payload
XML




String
String
String
Numeric




JSON

{
"Applications":[{
"BundleID":"String",
"ApplicationName":"String",
"CurrentVersion":"String",
"ExternalID":Numeric,
}]

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

128

Chapter 4: Application Management

}

Response Tag Details
Tag

Type

Description

BundleID

Numeric

Bundle ID of the iOS Application

ApplicationName

String

Name of the application

CurrentVersion

String

Current version of the application

ExternalID

Numeric

Numeric Track ID of the iOS application in the app store.

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

129

Chapter 4: Application Management

Activate Internal Application
Functionality – Activates an internal application identified by its application ID.
HTTP Method – POST
API URI – https://host/api/mam/apps/Internal/{Applicationid}/Activate
Request Body – NA
Response Obtained – NA

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

130

Chapter 4: Application Management

Update Internal Application
Functionality – Updates the internal application identified by application ID.
HTTP Method – PUT
API URI – https://host/api/mam/apps/internal/{applicationId}

URI Parameter
Tag

Type

Description

applicationid

Numeric

Unique internal application identifier to be updated

Response Obtained – NA

Request Payload
XML


String
Numeric
String
String
String
String
String
String
String
Boolean
Boolean
String

String
Numeric
Numeric
Numeric

Boolean




String


VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

131

Chapter 4: Application Management

String
String
Numeric
Numeric
Numeric
Numeric


String
String
Numeric
Numeric
Numeric
Numeric
String


String
String
String
String

String


String

String
String
Numeric
Numeric
Numeric
Numeric


String
String
Numeric
Numeric
Numeric
Numeric
String


String
String
String
String

String


VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

132

Chapter 4: Application Management


Numeric
Numeric
Numeric


String
String
Boolean
String
Numeric
Numeric
Numeric
String
String


Boolean
String


String

String
String
Numeric
Numeric
Numeric
Numeric


String
String
Numeric
Numeric
Numeric
Numeric
String


String
String
String
String

String


String


VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

133

Chapter 4: Application Management

String
String
Numeric
Numeric
Numeric
Numeric


String
String
Numeric
Numeric
Numeric
Numeric
String


String
String
String
String

String



String
String
Numeric
Numeric






String
Numeric


String
Numeric




String
Numeric


String

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

134

Chapter 4: Application Management

Numeric




String
Numeric
String
String


String
Numeric
String
String



Boolean

String
String
Numeric





JSON

{
"AppRank" : Numeric,
"ApplicationName" : "String",
"ApplicationSource" : Numeric,
"AutoUpdateVersion" : Boolean,
"DeploymentOptions" : {
"HowToInstall" : {
"AdminPrivileges" : Boolean,
"DeviceRestart" : "String",
"InstallCommand" : "String",
"InstallContext" : "String",
"InstallTimeoutInMinutes" : Numeric,
"InstallerRebootExitCode" : "String",
"InstallerSuccessExitCode" : "String",
"RetryCount" : Numeric,
"RetryIntervalInMinutes" : Numeric
},

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

135

Chapter 4: Application Management

"WhenToInstall" : {
"DataContingencies" : [
{
"AppCriteria" : {
"ApplicationIdentifier" : "String",
"BuildNumber" : Numeric,
"MajorVersion" : Numeric,
"MinorVersion" : Numeric,
"RevisionNumber" : Numeric,
"VersionCondition" : "String"
},
"CriteriaType" : "String",
"FileCriteria" : {
"BuildNumber" : Numeric,
"MajorVersion" : Numeric,
"MinorVersion" : Numeric,
"ModifiedOn" : "String",
"Path" : "String",
"RevisionNumber" : Numeric,
"VersionCondition" : "String"
},
"LogicalCondition" : "String",
"RegistryCriteria" : {
"KeyName" : "String",
"KeyType" : "String",
"KeyValue" : "String",
"Path" : "String"
}
}
],
"DevicePowerRequired" : Numeric,
"DiskSpaceRequiredInKb" : Numeric,
"RamRequiredInMb" : Numeric
}
},
"Description" : "String",
"Developer" : "String",
"DeveloperEmail" : "String",
"DeveloperPhone" : "String",
"EnableProvisioning" : Boolean,
"FilesOptions" : {
"AppDependenciesList" : [
{
"ApplicationDependencyId" : Numeric
}
],
"AppPatchesList" : [
{
"PatchBlobId" : Numeric,
"PatchType" : "String"
}

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

136

Chapter 4: Application Management

],
"AppTransformsList" : [
{
"TransformBlobId" : Numeric
}
],
"ApplicationUnInstallProcess" : {
"CustomScript" : {
"CustomScriptType" : "String",
"UninstallCommand" : "String",
"UninstallScriptBlobId" : Numeric
},
"UseCustomScript" : Boolean
}
},
"IsDependencyFile" : Boolean,
"MsiDeploymentParamModel" : {
"CommandLineArguments" : "String",
"InstallTimeoutInMinutes" : Numeric,
"RetryCount" : Numeric,
"RetryIntervalInMinutes" : Numeric
},
"PushMode" : String,
"SupportEmail" : "String",
"SupportPhone" : "String",
"SupportedProcessorArchitecture" : "String"
}

Request Tag Details
Tag

Description

AppRank

Application Rank

ApplicationName

Desired Application Name

ApplicationSource

Application Source

AutoUpdateVersion

Defines if the application can be updated automatically. Boolean/False

DeploymentOptions

Deployment options for the application

AdminPrivileges

Whether or not the installation should be initiated with logged-in user privileges or
with stepped up administrative permissions

DeviceRestart

Restart the device after the application is installed

InstallCommand

Install program to meet your deployment criteria

InstallContext

Indicate whether the app should be configured and installed for just enrolled users
or for all users on each of your devices

InstallTimeoutInMinutes

Amount of time, in minutes, that the installation process can run before the
installation is considered as failed

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

137

Chapter 4: Application Management

InstallerRebootExitCode

Integer code returned by the installer to indicate that the app has been
successfully installed once the device has been rebooted. This will be used in
conjunction with the 'Device Restart' option specified above.

InstallerSuccessExitCode

Integer code returned by the installer that marks the success of the operation

RetryCount

Number of retries for installing application before the installation is marked as
failed

RetryIntervalInMinutes

Amount of time, in minutes, between retries for installing application

AppCriteria

Application criteria

ApplicationIdentifier

Unique identifier of the application (Bundle ID or External ID)

BuildNumber

Build version of the application

MajorVersion

Major version of the application

MinorVersion

Minor version of the application

RevisionNumber

Fix version of the application

VersionCondition

Version condition. Supported values are Any, EqualTo, GreaterThan, and
LessThan.

CriteriaType

Criteria type. Supported values are AppExists, AppDoesNotExist, FileExists,
FileDoesNotExist, RegistryExists, and RegistryDoesNotExist.

FileCriteria

File Criteria

BuildNumber

Build version of the file

MajorVersion

Major version of the file

MinorVersion

Minor version of the file

ModifiedOn

Date on which the file was last modified

Path

Path of the file

RevisionNumber

Fix version of the application

VersionCondition

Version condition. Supported values are Any, EqualTo, GreaterThan, and
LessThan.

LogicalCondition

Logical condition. Supported values are And and Or.

RegistryCriteria

Registry Criteria

KeyType

Type of key to be created in the registry. Supported values are String, Binary,
DWord, QWord, MultiString, and ExpandableString.

KeyValue

Value of the key to be created in the registry

Path

Path of the key in the registry

CommandToRunTheScrip

Command to run the script

CustomScriptFileBlodId

Blob ID of the script file associated. Supported file types are .js, .jse, .ps1, .ps1xml,
.psc1, .psd1, .psm1, .pssc, .cdxml, .vbs, .vbe, .wsf, and .wsc.

ScriptType

Script Type. Supported script types are JScript, PowerShell, and VBScript.
VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

138

Chapter 4: Application Management

SuccessExitCode

Success exit code

IdentifyApplicationBy

The way by which an application can be identified. Supported Values are
DefiningCriteria and UsingCustomScript.

UseAdditionalCriteria

Msi apps are detected on the device by product code and version. Use this option
to perform additional actions to ensure your app is successfully installed on your
end users' devices.

DataContingencies

Define and set one or more conditions when apps should be installed on your end
users’ devices. If multiple conditions exist, they will be executed in priority order
from top to bottom.

DevicePowerRequired

The minimum percentage of power required by the device for installing the
application

DiskSpaceRequiredInKb

The amount of disk space required for the successful installation of the application

RamRequiredInMb

RAM (in MB) required for installing the application

Description

Description of the application on what the application does and how it can be used

Developer

Name of the developer

DeveloperEmail

Email address of the developer

DeveloperPhone

Phone number of the developer

DeviceType

Numeric Platform identifier of the Device Application

EnableProvisioning

Provisioning status. Supported value is Boolean/False.

FileName

File name along with the extension

FilesOptions

Application files options

AppDependenciesList

List of application dependency identifiers

ApplicationDependencyId

Application dependency identifier

AppPatchesList

List of uploaded patch files

PatchBlobId

Blob ID of the uploaded Patch

PatchType

Type of the uploaded patch

AppTransformsList

List of uploaded transform files

TransformBlobId

Blob ID of the uploaded Transform

ApplicationUnInstallProcess

Application uninstallation process

CustomScript

Custom script

CustomScriptType

Custom script type. Supported values: Input, Upload.

UninstallCommand

Application uninstall command provided

UninstallScriptBlobId

Gets or sets the identifier value of the uninstall script file uploaded on the console.
Supported file types are .js, .jse, .ps1, .ps1, .xml, .psc1, .psd1, .psm1, .pssc, .cdxml,
.vbs, .vbe, .wsf,and .wsc.

UseCustomScript

Value indicating whether custom script is used or not
VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

139

Chapter 4: Application Management

IsDependencyFile

Indicates whether uploaded file is a dependency file

LocationGroupId

Location group identifier

MsiDeploymentParamModel

Msi deployment Parameter model. This is valid only for MSI files when Software
Distribution is not enabled.

CommandLineArguments

Command-line options to be used when calling MSIEXEC.exe

InstallTimeoutInMinutes

Amount of time, in minutes that the installation process can run before the
installer. Considers the installation may have failed and no longer monitors the
installation operation. Range : 0-60.

RetryCount

The number of times the download and installation operation will be retried before
the installation will be marked as failed. With a limit of ‘10' attempts.

RetryIntervalInMinutes

Amount of time, in minutes between retry operations. The range is 0 through 10.

PushMode

Deployment mode for the applications. The values are 'auto' and 'ondemand’.

SupportEmail

User defined email address of support

SupportPhone

User defined phone number of support

SupportedProcessorArchitecture

The architecture type of the end user devices that the application supports

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

140

Chapter 4: Application Management

Activate Public Application
Functionality – Activates a public application identified by its application ID.
HTTP Method – POST
API URI – https://host/api/mam/apps/Public/{Applicationid}/Activate
Request Body – NA
Response Obtained – NA

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

141

Chapter 4: Application Management

Deactivate Internal Application
Functionality – Deactivates an internal application identified by its application ID.
HTTP Method – POST
API URI – https://host/api/mam/apps/Internal/{Applicationid}/Deactivate
Response Obtained – NA
Request payload – NA

Deactivate Public Application
Functionality – Deactivates a public application identified by its application ID.
HTTP Method – POST
API URI – https://host/api/mam/apps/Public/{Applicationid}/Deactivate
Response Obtained – NA
Request payload – NA

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

142

Chapter 4: Application Management

Retire Internal Application
Functionality – Retires an internal application identified by its application ID.
HTTP Method – POST
API URI – https://host/api/mam/apps/Internal/{Applicationid}/retire
Request Body – NA
Response Obtained – NA

Unretire Internal Application
Functionality – Unretires an internal application identified by its application ID.
HTTP Method – POST
API URI – https://host/api/mam/apps/Internal/{Applicationid}/unretire
Request Body – NA
Response Obtained – NA

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

143

Chapter 4: Application Management

Assign Smart Group to an Internal Application (*Refactored)
Functionality – Assigns a smart group to an internal application.
HTTP Method – POST
Deprecated API URI – https://host/api/mam/apps/internal/{ApplicationId}/addsmartgroup/{SmartgroupId}. This URI
will be deprecated soon. Start using the *Supported API URI.
*Supported API URI – https://host/api/mam/apps/internal/{applicationid}/smartgroups/{smartgroupid} (HTTP
Method Used – POST)
Request Body – NA
Response Obtained – NA

URI Parameters
Tag

Type

Description

ApplicationId

Numeric

Unique identifier of the application

SmartGroupId

Numeric

Unique identifier of the Smart Group

Assign Smart Group to a Public Application (*Refactored)
Functionality – Assigns a smart group to a public application.
HTTP Method – POST
Deprecated API URI – https://host/api/mam/apps/public/{ApplicationId}/addsmartgroup/{SmartgroupId}. This URI will
be deprecated soon. Instead, use the *Supported API URI.
*Supported API URI – https://host/api/mam/apps/public/{applicationid}/smartgroups/{smartgroupid} (HTTP Method
Used – POST)
Request Body – NA
Response Obtained – NA

URI Parameters
Tag

Type

Description

ApplicationId

Numeric

Unique numeric ID of the application

SmartGroupId

Numeric

Unique numeric ID of the Smart Group

Assign Smart Group to BSP Application (Version 2)
Functionality – Assigns smart groups to an BSP application.
HTTP Method – POST
API URI – https://host/api/mam/apps/public/{applicationid}/bspsmartgroups?offlinesmartgroupid=
{offlinesmartgroupid}?&onlinesmartgroupid={onlinesmartgroupid}&type={type}
URI Parameters
VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

144

Chapter 4: Application Management

Tag

Type

Description

applicationId

Numeric

Unique identifier of the application

offlinesmartgroupid

String

Offline smart group Identifier

onlinesmartgroupid

String

Online smart group Identifier

type

String

Type is {harmony/airwatch}

Request Payload – NA
Response Obtained – NA

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

145

Chapter 4: Application Management

Remove Smart Group Assignment From an Internal Application (*Refactored)
Functionality – Removes a smart group assigned to an internal application.
HTTP Method – POST
Deprecated API URI – https://host/api/mam/apps/internal/{ApplicationId}/deletesmartgroup/{SmartgroupId}. This URI
will be deprecated soon. Start using the *Supported API URI.
*Supported API URI – https://host/api/mam/apps/internal/{applicationid}/smartgroups/{smartgroupid} (HTTP
Method Used – DELETE)
Request Body – NA
Response Obtained – NA

URI Parameters
Tag

Type

Description

ApplicationId

Numeric

Unique numeric ID of the application

SmartGroupId

Numeric

Unique numeric ID of the Smart Group

Remove Smart Group Assignment From a Public Application (*Refactored)
Functionality – Removes a smart group assigned to a public application.
HTTP Methods – POST
Deprecated API URI – https://host/api/mam/apps/public/{ApplicationId}/deletesmartgroup/{SmartgroupId}. This URI
will be deprecated soon. Instead, use the *Supported API URI.
*Supported API URI – https://host/api/mam/apps/public/{applicationid}/smartgroups/{smartgroupid} (HTTP Method
Used – DELETE)
Request Body – NA
Response Obtained – NA

URI Parameters
Tag

Type

Description

ApplicationId

Numeric

Unique numeric ID of the application

SmartGroupId

Numeric

Unique numeric ID of the Smart Group

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

146

Chapter 4: Application Management

Install Internal Application on Device
Functionality – Installs an internal application the device.
HTTP Method – POST
API URI – https://host/api/mam/apps/internal/{applicationid}/install
Response Obtained – NA

Request Payload
XML


Numeric
String
String
String


JSON

{
"DeviceId":Numeric,
"Udid":"String",
"SerialNumber":"String",
"MacAddress":"String"
}

Request Tag Details
Tag

Mandatory

Description

DeviceId

No

Unique numeric ID of the device

Udid

No

UDID of the device

SerialNumber

No

Serial number of device

MacAddress

No

MAC address of device

Important: The user needs to pass only one of the above device parameters in the Request Payload.

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

147

Chapter 4: Application Management

Install Public Application on Device
Functionality – Installs a public application on a device.
HTTP Method – POST
API URI – https://host/api/mam/apps/public/{applicationid}/install
Response Obtained – NA

Request Payload
XML


Numeric
String
String
String


JSON

{
"DeviceId":Numeric,
"Udid":"String",
"SerialNumber":"String",
"MacAddress":"String"
}

Request Tag Details
Tag

Mandatory

Description

DeviceId

No

Unique numeric ID of the device

Udid

No

UDID of the device

SerialNumber

No

Serial number of device

MacAddress

No

MAC address of device

Important: The user needs to pass only one of the above device parameters in the Request Payload.

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

148

Chapter 4: Application Management

Install Purchased Application on the Device
Functionality – Installs the specified purchased application on the device.
HTTP Method – POST
API URI – https://host/api/mam/apps/purchased/{applicationid}/install
Response Obtained – NA

Request Payload
XML


Numeric
String
String
String


JSON

{
"DeviceId":Numeric,
"Udid":"String",
"SerialNumber":"String",
"MacAddress":"String"
}

Request Tag Details
Tag

Mandatory

Description

DeviceId

No

Unique identification number of the device

Udid

No

Udid of the device

SerialNumber

No

Serial number of the device

MacAddress

No

Mac address of the device

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

149

Chapter 4: Application Management

Uninstall Internal Application From the Device
Functionality – Removes an internal application from a device.
HTTP Method – POST
API URI – https://host/api/mam/apps/internal/{applicationid}/uninstall
Response Obtained – NA

Request Payload
XML


Numeric
String
String
String


JSON

{
"DeviceId":Numeric,
"Udid":"String",
"SerialNumber":"String",
"MacAddress":"String"
}

Request Tag Details
Tag

Mandatory

Description

DeviceId

No

Unique numeric ID of the device

Udid

No

UDID of the device

SerialNumber

No

Serial number of device

MacAddress

No

MAC address of device

Important: The user needs to pass only one of the above device parameters in the Request Payload.

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

150

Chapter 4: Application Management

Uninstall Public Application From the Device
Functionality – Removes a public application from a device.
HTTP Method – POST
API URI – https://host/api/mam/apps/public/{applicationid}/uninstall
Response Obtained – NA

Request Payload
XML


Numeric
String
String
String


JSON

{
"DeviceId":Numeric,
"Udid":"String",
"SerialNumber":"String",
"MacAddress":"String"
}

Request Tag Details
Tag

Mandatory

Description

DeviceId

No

Unique numeric ID of the device

Udid

No

UDID of the device

SerialNumber

No

Serial number of the device

MacAddress

No

MAC address of the device

Important: The user needs to pass only one of the above device parameters in the Request Payload.

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

151

Chapter 4: Application Management

Uninstall Purchased Application From the Device
Functionality – Uninstalls the specified purchased application from a device.
HTTP Method – POST
API URI – https://host/api/mam/apps/purchased/{applicationid}/uninstall
Response Obtained – NA

Request Payload
XML


Numeric
String
String
String


JSON

{
"DeviceId":Numeric,
"Udid":"String",
"SerialNumber":"String",
"MacAddress":"String"
}

Request Tag Details
Tag

Mandatory

Description

DeviceId

No

Unique identification number of the device

Udid

No

Udid of the device

SerialNumber

No

Serial number of the device

MacAddress

No

Mac address of the device

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

152

Chapter 4: Application Management

View Internal Application Status on the Device
Functionality – Indicates the status of an internal application on a device.
HTTP Method – POST
API URI – https://host/api/mam/apps/Internal/{applicationid}/status?deviceid={deviceid}&macaddress=
{macaddress}&serialnumber={serialnumber}&udid={udid}
l

Pattern (Contains) Match Parameter – deviceid, macaddress, serialnumber, udid

Request Payload – NA

URI Parameters
Tag

Mandatory

Description

DeviceId

No

Unique numeric ID of the device

Udid

No

UDID of the device

SerialNumber

No

Serial number of the device

MacAddress

No

MAC address of the device

Important: The user needs to pass only one of the above device parameters in the URL.

Response Payload
XML

String

JSON

{
"String"
}

Response Tag Details
Tag

Type

Description

String

String

Status of the internal application

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

153

Chapter 4: Application Management

View Public Application Status on the Device
Functionality – Indicates the status of a public application on a device.
HTTP Method – POST
API URI – https://host/api/mam/apps/public/{applicationid}/status?deviceid={deviceid}&macaddress=
{macaddress}&serialnumber={serialnumber}&udid={udid}
l

Pattern (Contains) Match Parameter – deviceid, macaddress, serialnumber, udid

Request Payload – NA

URI Parameters
Tag

Mandatory

Description

DeviceId

No

Unique numeric ID of the device

Udid

No

UDID of the device

SerialNumber

No

Serial number of the device

MacAddress

No

MAC address of the device

Important: The user needs to pass only one of the above device parameters in the URL.

Response Payload
XML

String

JSON

{
"String"
}

Response Tag Details
Tag

Type

Description

String

String

Status of the internal application

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

154

Chapter 4: Application Management

View Purchased Application Status on Device
Functionality – Indicates the status of the specified purchased application on a device.
HTTP Method – GET
API URI – https://host/api/mam/apps/purchased/{applicationid}/status?deviceid={deviceid}&macaddress=
{macaddress}&serialnumber={serialnumber}&udid={udid}
l

Pattern (Contains) Match Parameter – deviceid, macaddress, serialnumber, udid

Request – N/A

URL Parameters
Tag

Mandatory

Description

DeviceId

No

Unique numeric ID of the device

Udid

No

UDID of the device

SerialNumber

No

Serial number of the device

MacAddress

No

MAC address of the device

Important: The user needs to pass only one of the above device parameters in the URL.

Response Payload
XML

String

JSON

"String"

Response Tag Details
Tag

Type

Description

String

String

The status of the device

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

155

Chapter 4: Application Management

Retrieve Application Details
Functionality – Retrieves the application details.
HTTP Method – GET
Deprecated API URI – https://host/api/mam/apps/{udid}/{appId}/{appType}/{deviceType}/appDetails. Start using the
*Supported API URI.
*Supported API URI – https://host/api/mam/apps/udid/appid/apptype/devicetype
Request Body – NA

URI Parameters
Tag

Type

Description

udid

String

Udid of the device

appId

Numeric

Unique identifier of the application

apptype

String

Type of the application

deviceType

String

Device Type

Response Payload
XML



Numeric
String
String
String
String

String
String



Numeric
Numeric
Numeric
String
Datetime




VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

156

Chapter 4: Application Management


String
String

Boolean
String
Numeric

String


JSON

{
"appDetails": {
"Id":Numeric,
"Type":"String",
"Name":"String",
"InstallState":"String",
"Description":"String",
"Screenshots":[
"String",
"String"
],
"Reviews":[
{
"UserId":Numeric,
"UserRatingId":Numeric,
"Rating":Numeric,
"Comments":"String",
"Date:"Datetime"
}
],
"Support": {
"Email":"String",
"Phone":"String"
},
"DetailsLoaded":Boolean,
"Version":"String",
"Size":Numeric
},
"developerMessage":"String"
}

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

157

Chapter 4: Application Management

Response Tag Details
Tag

Type

Description

Id

Numeric

Unique identifier of the application

Type

String

Type of the application

Name

String

Name of the application

InstallState

String

Status of application installation on the device

Description

String

Description about the application

Screenshots

String

Screenshots of the application

UserId

Numeric

Unique identifier of the user

UserRatingId

Numeric

Unique identifier of the user rating

Rating

Numeric

Rating given to the application

Comments

String

Comments provided to the application

Date

Datetime

Time stamp when the reviews were given to the application

Email

String

Email address of the user

Phone

String

Phone number of the user

DetailsLoaded

Boolean

Details loaded for the application. True or False

Version

String

Version of the application

Size

Numeric

Application size in bytes

developerMessage

String

Developer message for the application

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

158

Chapter 4: Application Management

Get Application Management Status (*Refactored)
Functionality – Retrieves the application management status, i.e. the application with bundle id passed is managed by
AirWatch or not.
HTTP Method – GET
Deprecated API URI – https://host/api/mam/apps/getmanagementstatus?managementid=
{managementid}&bundleid={bundleid}. This URI will be deprecated soon. Start using the *Supported API URI.
l

Exact Match Parameter – managementid, bundleid

l

Pattern (Contains) Match Parameter – managementid, bundleid

*Supported API URI – https://host/api/mam/apps/managementstatus
Request – N/A

URI Parameters
Tag

Type

Description

managementid

Numeric

Management identifier

bundleid

Numeric

Application bundle identifier

Response Payloads
XML


Numeric


JSON

{
"Status":Numeric
}

Response Tag Details
Tag

Type

Description

Status

Numeric

Status of the application whether it is managed by AirWatch or not

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

159

Chapter 4: Application Management

Retrieve Assigned Devices (Internal Application) (*Refactored)
Functionality – Provides a list of devices that have been assigned the specified internal application.
HTTP Method – GET
Deprecated API URI – https://host/api/mam/apps/internal/{applicationid}/assigneddevices?locationgroupid=
{locationgroupid}&page={page}&pagesize={pagesize}. This URI will be deprecated soon. Start using the *Supported API
URI.
*Supported API URI – https://host/api/mam/apps/internal/applicationid/devices
Request Payload – NA

URI Parameters
Tag

Type

Description

ApplicationID

Numeric

Unique numeric ID of an internal application

locationgroupid

Numeric

Unique numeric ID of the organization group where the application is
present

page

Numeric

Page number

pagesize

Numeric

Size of the page to show records

Response Payload
XML


Numeric
Numeric
Numeric
Numeric
Numeric


JSON

{
"Page":Numeric,

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

160

Chapter 4: Application Management

"PageSize":Numeric,
"Total":Numeric,
"DeviceId":Numeric,
}

Response Tag Details
Tag

Type

Description

DeviceId

Numeric

Unique numeric ID of the device

Page

Numeric

Page number of the device result

PageSize

Numeric

Maximum number of records per page

Total

Numeric

Total Results obtained

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

161

Chapter 4: Application Management

Retrieve Assigned Devices (Public Application) (*Refactored)
Functionality – Retrieves the numeric IDs of devices to which a public application is assigned.
HTTP Method – GET
Deprecated API URI – https://host/api/mam/apps/Public/{applicationid}/assigneddevices?locationgroupid=
{locationgroupid}&page={page}&pagesize={pagesize} . This URI will be deprecated soon. Start using the *Supported API
URI.
*Supported API URI – https://host/api/mam/apps/public/applicationid/devices
Request Payload – NA

URI Parameters
Tag

Type

Description

ApplicationID

Numeric

Unique numeric ID of a public application

locationgroupid

Numeric

Unique numeric ID of the organization group where the application is
present

page

Numeric

Page number

pagesize

Numeric

Size of the page to show records

Response Payload
XML


Numeric
Numeric
Numeric
Numeric
Numeric


JSON

{
"Page":Numeric,

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

162

Chapter 4: Application Management

"PageSize":Numeric,
"Total":Numeric,
"DeviceId":Numeric,
}

Response Tag Details
Tag

Type

Description

DeviceId

Numeric

Unique numeric ID of the device

Page

Numeric

Page number of the device result

PageSize

Numeric

Maximum number of records per page

Total

Numeric

Total Results obtained

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

163

Chapter 4: Application Management

Retrieve Assigned Devices With Purchased Application (*Refactored)
Functionality – Provides a list of devices that have been assigned the specified purchased application.
HTTP Method – GET
Deprecated API URI – https://host/api/mam/apps/purchased/{applicationid}/assigneddevices?locationgroupid=
{locationgroupid}&page={page}&pagesize={pagesize}
This URI will be deprecated soon. Start using the *Supported API URI.
*Supported API URI – https://host/api/mam/purchased/applicationid/devices (HTTP Method Used – GET)
Request – N/A

URI Parameters
Tag

Type

Description

ApplicationID

Numeric

Unique numeric ID of a purchased application

locationgroupid

Numeric

Unique numeric ID of the organization group where the application is
present

page

Numeric

Page number

pagesize

Numeric

Size of the page to show records

Response Payload
XML


Numeric
Numeric
Numeric
Numeric
Numeric


VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

164

Chapter 4: Application Management

JSON

{
"Page":Numeric,
"PageSize":Numeric,
"Total":Numeric,
"DeviceId":Numeric,
}

Response Tag Details
Tag

Type

Description

DeviceId

Numeric

Unique numeric ID of the device

Page

Numeric

Page number of the device result

PageSize

Numeric

Maximum number of records per page

Total

Numeric

Total Results obtained

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

165

Chapter 4: Application Management

Retrieve Installed Devices (Internal Application) (*Refactored)
Functionality – Provides a list of devices that have the specified internal application installed.
HTTP Method – POST
Deprecated API URI – https://host/api/mam/apps/internal/{applicationid}/installeddevices?locationgroupid=
{locationgroupid}&page={page}&pagesize={pagesize}. This URI will be deprecated soon. Start using the *Supported API
URI.
*Supported API URI – https://host/api/mam/apps/internal/applicationid/devices
Request Payload – NA

URI Parameters
Tag

Type

Description

ApplicationID

Numeric

Unique numeric ID of an internal application

locationgroupid

Numeric

Unique numeric ID of the organization group where the application is
present

page

Numeric

Page number

pagesize

Numeric

Size of the page to show records

status

String

status - installed/assigned

Response Payload
XML


Numeric
Numeric
Numeric
Numeric
Numeric


VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

166

Chapter 4: Application Management

JSON

{
"Page":Numeric,
"PageSize":Numeric,
"Total":Numeric,
"DeviceId":Numeric,
}

Response Tag Details
Tag

Type

Description

DeviceId

Numeric

Unique numeric ID of the device

Page

Numeric

Page number of the device result

PageSize

Numeric

Maximum number of records per page

Total

Numeric

Total Results obtained

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

167

Chapter 4: Application Management

Retrieve Installed Devices (Public Application) (*Refactored)
Functionality – Retrieves the numeric IDs of devices on which a public application is installed.
HTTP Method – POST
Deprecated API URI – https://host/api/mam/apps/public/{applicationid}/installeddevices?locationgroupid=
{locationgroupid}&page={page}&pagesize={pagesize}. This URI will be deprecated soon. Start using the *Supported API
URI.
*Supported API URI – https://host/api/mam/apps/public/applicationid/devices
Request Payload – NA

URI Parameters
Tag

Type

Description

ApplicationID

Numeric

Unique numeric ID of a public application

locationgroupid

Numeric

Unique numeric ID of the organization group where the application is
present

page

Numeric

Page number

pagesize

Numeric

Size of the page to show records

Response Payload
XML


Numeric
Numeric
Numeric
Numeric
Numeric


JSON

{
"Page":Numeric,

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

168

Chapter 4: Application Management

"PageSize":Numeric,
"Total":Numeric,
"DeviceId":Numeric,
}

Response Tag Details
Tag

Type

Description

DeviceId

Numeric

Unique numeric ID of the device

Page

Numeric

Page number of the device result

PageSize

Numeric

Maximum number of records per page

Total

Numeric

Total Results obtained

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

169

Chapter 4: Application Management

Retrieve Installed Devices With Purchased Application (*Refactored)
Functionality – Provides a list of devices that have the specified purchased application installed.
HTTP Method – GET
Deprecated API URI – https://host/api/mam/apps/purchased/{applicationid}/installeddevices?locationgroupid=
{locationgroupid}&page={page}&pagesize={pagesize}
This URI will be deprecated soon. Start using the *Supported API URI.
*Supported API URI – https://host/api/mam/purchased/applicationid/devices (HTTP Method Used – GET)
Request payload – N/A

URI Parameters
Tag

Type

Description

ApplicationID

Numeric

Unique numeric ID of a purchased application

locationgroupid

Numeric

Unique numeric ID of the organization group where the application is
present

page

Numeric

Page number

pagesize

Numeric

Size of the page to show records

Response Payload
XML


Numeric
Numeric
Numeric
Numeric
Numeric


VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

170

Chapter 4: Application Management

JSON

{
"Page":Numeric,
"PageSize":Numeric,
"Total":Numeric,
"DeviceId":Numeric,
}

Response Tag Details
Tag

Type

Description

DeviceId

Numeric

Unique numeric ID of the device

Page

Numeric

Page number of the device result

PageSize

Numeric

Maximum number of records per page

Total

Numeric

Total Results obtained

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

171

Chapter 4: Application Management

Retrieve Devices with Internal Application Installed or Assigned
Functionality – Provides a list of devices that have the specified internal application installed or assigned.
HTTP Method – GET
API URI – https://host/api/mam/apps/internal/{applicationid}/devices?status={status}&locationgroupid=
{locationgroupid}&page={page}&pagesize={pagesize}
l

Exact Match Parameter – status

l

Pattern (Contains) Match Parameter – applicationid, locationgroupid, page, pagesize

Request Payload – N/A

URI Parameters
Tag

Type

Description

status

String

Status of the internal application; Installed or Assigned

ApplicationID

Numeric

Unique numeric ID of a internal application

locationgroupid

Numeric

Unique numeric ID of the organization group where the application is
present

page

Numeric

Page number

pagesize

Numeric

Size of the page to show records

Response Payload
XML


Numeric
Numeric
Numeric
Numeric
Numeric


VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

172

Chapter 4: Application Management

JSON

{
"DeviceId" : [
Numeric,
Numeric
],
"Page" : Numeric,
"PageSize" : Numeric,
"Total" : Numeric
}

Response Tag Details
Tag

Type

Description

DeviceId

Numeric

Unique numeric ID of the device

Page

Numeric

Page number of the device result

PageSize

Numeric

Maximum number of records per page

Total

Numeric

Total Results obtained

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

173

Chapter 4: Application Management

Retrieve Devices with Public Application Installed or Assigned
Functionality – Provides a list of devices that have the specified public application installed or assigned.
HTTP Method – GET
API URI – https://host/api/mam/apps/public/{applicationid}/devices?status={status}&locationgroupid=
{locationgroupid}&page={page}&pagesize={pagesize}
l

Exact Match Parameter – status

l

Pattern (Contains) Match Parameter – applicationid, locationgroupid, page, pagesize

Request Payload – N/A

URI Parameters
Tag

Type

Description

status

String

Status of the public application; Installed or Assigned

ApplicationID

Numeric

Unique numeric ID of a public application

locationgroupid

Numeric

Unique numeric ID of the organization group where the application is
present

page

Numeric

Page number

pagesize

Numeric

Size of the page to show records

Response Payload
XML


Numeric
Numeric
Numeric
Numeric
Numeric


VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

174

Chapter 4: Application Management

JSON

{
"DeviceId" : [
Numeric,
Numeric
],
"Page" : Numeric,
"PageSize" : Numeric,
"Total" : Numeric
}

Response Tag Details
Tag

Type

Description

DeviceId

Numeric

Unique numeric ID of the device

Page

Numeric

Page number of the device result

PageSize

Numeric

Maximum number of records per page

Total

Numeric

Total Results obtained

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

175

Chapter 4: Application Management

Retrieve Devices with Purchased Application Installed or Assigned
Functionality – Provides a list of devices that have the specified purchased application installed or assigned.
HTTP Method – GET
API URI – https://host/api/mam/purchased/{applicationid}/devices?status={status}&locationgroupid=
{locationgroupid}&page={page}&pagesize={pagesize}
l

Exact Match Parameter – status

l

Pattern (Contains) Match Parameter – applicationid, locationgroupid, page, pagesize

Request Payload – N/A

URI Parameters
Tag

Type

Description

status

String

Status of the purchased application; Installed or Assigned

ApplicationID

Numeric

Unique numeric ID of a purchased application

locationgroupid

Numeric

Unique numeric ID of the organization group where the application is
present

page

Numeric

Page number

pagesize

Numeric

Size of the page to show records

Response Payload
XML


Numeric
Numeric
Numeric
Numeric
Numeric


VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

176

Chapter 4: Application Management

JSON

{
"DeviceId" : [
Numeric,
Numeric
],
"Page" : Numeric,
"PageSize" : Numeric,
"Total" : Numeric
}

Response Tag Details
Tag

Type

Description

DeviceId

Numeric

Unique numeric ID of the device

Page

Numeric

Page number of the device result

PageSize

Numeric

Maximum number of records per page

Total

Numeric

Total Results obtained

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

177

Chapter 4: Application Management

Delete Internal Application
Functionality – Deletes an internal application identified by its application ID from the console.
HTTP Method – DELETE
API URI – https://host/api/mam/apps/Internal/{Applicationid}
Response Obtained – NA
Request payload – NA

Delete Public Application
Functionality – Deletes a public application identified by its application ID from the console.
HTTP Method – DELETE
API URI – https://host/api/mam/apps/public/{Applicationid}
Response Obtained – NA
Request payload – NA

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

178

Chapter 4: Application Management

Add Assignments to Internal Application
Functionality – Adds assignments along with the flexible deployment parameters to an internal application.
HTTP Method – POST
API URI – https://host/api/mam/apps/internal/{applicationid}/assignments
Response Obtained – N/A

URI Parameters
Tag

Type

Description

applicationId

Numeric

Unique numeric ID of an internal application

Request Payload
XML



Numeric


String
Datetime
Boolean
Boolean
Boolean
Boolean

Numeric




JSON

{
"DeploymentParameters" : {
"AdaptiveManagement" : Boolean,
"ApplicationBackup" : Boolean,
"ApplicationTransformIds" : [
Numeric
],

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

179

Chapter 4: Application Management

"AutoUpdateDevicesWithPreviousVersion" : Boolean,
"EffectiveDate" : "Datetime",
"PushMode" : "String",
"RemoveOnUnEnroll" : Boolean
},
"SmartGroupIds" : [
Numeric
]
}

Request Tag Details
Tag

Mandatory

Description

DeploymentParameters

No

Internal application deployment parameters

AdaptiveManagement

No

Management of devices for receiving the application. If
disabled, you can make the application available to endusers without AirWatch management of devices. Values are
True or False

ApplicationBackup

No

Is internal application backup is required. True or False

ApplicationTransformIds

No

Unique internal application transform identifiers

AutoUpdateDevicesWithPreviousVersion No

Is auto update of devices with previous version of internal
application required. True or False

EffectiveDate

No

Time stamp when the application was effective

PushMode

Yes

Deployment mode of the application. Example: "Auto",
"OnDemand"

RemoveOnUnEnroll

No

Unenroll the device on removing the application

SmartGroupIds

Yes

Smart group ids of the app assignment to be added

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

180

Chapter 4: Application Management

Edit Assignment of Internal Application
Functionality – Edits assignments along with the flexible deployment parameters associated with an internal application.
HTTP Method – PUT
API URI – https://host/api/mam/apps/internal/{applicationid}/assignments
Response Obtained – N/A

URI Parameters
Tag

Type

Description

applicationId

Numeric

Unique numeric ID of an internal application

Request Payload
XML



Numeric


Numeric


String
Datetime
Boolean
Boolean
Boolean
Boolean

Numeric




JSON

{
"DeploymentParameters" : {
"AdaptiveManagement" : Boolean,
"ApplicationBackup" : Boolean,

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

181

Chapter 4: Application Management

"ApplicationTransformIds" : [
Numeric
],
"AutoUpdateDevicesWithPreviousVersion" : Boolean,
"EffectiveDate" : "Datetime",
"PushMode" : "String",
"RemoveOnUnEnroll" : Boolean
},
"SmartGroupIds" : [
Numeric
],
"SmartGroupIdsForDeletion" : [
Numeric
]
}

Request Tag Details
Tag

Mandatory

Description

DeploymentParameters

No

Internal application deployment parameters

AdaptiveManagement

No

Management of devices for receiving the application. If
disabled, you can make the application available to endusers without AirWatch management of devices. Values are
True or False

ApplicationBackup

No

Is internal application backup is required. True or False

AutoUpdateDevicesWithPreviousVersion No

Is auto update of devices with previous version of internal
application required. True or False

EffectiveDate

No

Time stamp when the application was effective

PushMode

Yes

Deployment mode of the application. Example: "Auto",
"OnDemand"

RemoveOnUnEnroll

No

Unenroll the device on removing the application

SmartGroupIds

Yes

Smart group ids of the app assignment to be edited

SmartGroupIdsForDeletion

No

Number of smart group ids to be deleted

ApplicationTransformIds

No

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

182

Chapter 4: Application Management

Delete Application Assignment From Smart Group
Functionality – Deletes application assignment from smart group(s).
HTTP Method – DELETE
API URI – https://host/api/mam/apps/internal/{applicationid}/assignments
Response Obtained – N/A

Request Payload
XML



Numeric
Numeric



JSON

{
"SmartGroupIds" : [
Numeric,
Numeric
]
}

Request Tag Details
Tag

Mandatory

Description

SmartGroupIds

Yes

Smart group ids of the app assignment to be deleted

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

183

Chapter 4: Application Management

Retrieve Internal Application Details
Functionality – Retrieves the details of an internal app identified by ID.
HTTP Method – GET
API URI – https://host/api/mam/apps/internal/{applicationid}
Request Payload – N/A

URI Parameters
Tag

Type

Description

applicationId

Numeric

Unique numeric ID of an internal application

Response Payload
XML


Numeric
String
String
String
String
String
String
String
String
String


Numeric
String


String
Numeric


Numeric
String


String
String

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

184

Chapter 4: Application Management

String
Numeric
Numeric
Numeric
Numeric
Numeric
String
Datetime


Numeric
Numeric
String
String
Datetime
String
String
String
String
Numeric
Numeric
String


Numeric
String
String
String



Numeric




String
Numeric
Numeric
Numeric

Boolean




String

String
String

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

185

Chapter 4: Application Management

Numeric
Numeric
Numeric
Numeric


String
String
Numeric
Numeric
Numeric
Numeric
String


String
String
String
String

String


Numeric
Numeric
Numeric


String
String
Boolean
String
Numeric
Numeric
Numeric
String
String


Boolean
String


String

String
String
Numeric
Numeric
Numeric

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

186

Chapter 4: Application Management

Numeric


String
String
Numeric
Numeric
Numeric
Numeric
String


String
String
String
String

String



String
String
Numeric
Numeric






String
Numeric




Numeric
String
Numeric




Numeric
String
Numeric
String



VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

187

Chapter 4: Application Management


Boolean

String
String
Numeric





JSON

{
"ApplicationName" : "String",
"AppId" : "String",
"ActualFileVersion" : "String",
"BuildVersion" : "String",
"AirwatchAppVersion" : "String",
"Status" : "String",
"ManagedBy" : "String",
"AssumeManagementOfUserInstalledApp" : "String",
"Platform" : "String",
"SupportedModels" : [
{
"Name" : "String",
"id" : Numeric
}
],
"MinimumOperatingSystem" : "String",
"AppSizeInKB" : Numeric,
"CategoryList" : [
{
"Name" : "String",
"id" : Numeric
}
],
"Comments" : "String",
"ApplicationUrl" : "String",
"Sdk" : "String",
"SdkProfileId" : Numeric,
"DevicesAssignedCount" : Numeric,
"DevicesInstalledCount" : Numeric,
"DevicesNotInstalledCount" : Numeric,
"Rating" : Numeric,
"ChangeLog" : "String",
"RenewalDate" : "Datetime",

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

188

Chapter 4: Application Management

"Assignments" : [
{
"SmartGroupId" : Numeric,
"SmartGroupName" : "String",
"PushMode" : "String",
"EffectiveDate" : "Datetime",
"RemoveOnUnEnroll" : "String",
"ApplicationBackup" : "String",
"AutoUpdateDevicesWithPreviousVersion" : "String",
"PerAppVpn" : "String",
"VpnProfileId" : Numeric,
"Rank" : Numeric,
"AppConfig" : "String",
"AppConfigs" : [
{
"Key" : "String",
"Value" : "String",
"Type" : "String",
"id" : Numeric
}
],
"ApplicationTransformIds" : [
Numeric
],
"id" : Numeric
}
],
"DeploymentOptions" : {
"HowToInstall" : {
"AdminPrivileges" : Boolean,
"DeviceRestart" : "String",
"InstallCommand" : "String",
"InstallContext" : "String",
"InstallTimeoutInMinutes" : Numeric,
"InstallerRebootExitCode" : "String",
"InstallerSuccessExitCode" : "String",
"RetryCount" : Numeric,
"RetryIntervalInMinutes" : Numeric
},
"WhenToCallInstallComplete" : {
"CriteriaList" : [
{
"AppCriteria" : {
"ApplicationIdentifier" : "String",
"BuildNumber" : Numeric,
"MajorVersion" : Numeric,
"MinorVersion" : Numeric,
"RevisionNumber" : Numeric,
"VersionCondition" : "String"
},
"CriteriaType" : "String",

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

189

Chapter 4: Application Management

"FileCriteria" : {
"BuildNumber" : Numeric,
"MajorVersion" : Numeric,
"MinorVersion" : Numeric,
"ModifiedOn" : "String",
"Path" : "String",
"RevisionNumber" : Numeric,
"VersionCondition" : "String"
},
"LogicalCondition" : "String",
"RegistryCriteria" : {
"KeyName" : "String",
"KeyType" : "String",
"KeyValue" : "String",
"Path" : "String"
}
}
],
"CustomScript" : {
"CommandToRunTheScript" : "String",
"CustomScriptFileBlodId" : Numeric,
"ScriptType" : "String",
"SuccessExitCode" : Numeric
},
"IdentifyApplicationBy" : "String",
"UseAdditionalCriteria" : Boolean
},
"WhenToInstall" : {
"DataContingencies" : [
{
"AppCriteria" : {
"ApplicationIdentifier" : "String",
"BuildNumber" : Numeric,
"MajorVersion" : Numeric,
"MinorVersion" : Numeric,
"RevisionNumber" : Numeric,
"VersionCondition" : "String"
},
"CriteriaType" : "String",
"FileCriteria" : {
"BuildNumber" : Numeric,
"MajorVersion" : Numeric,
"MinorVersion" : Numeric,
"ModifiedOn" : "String",
"Path" : "String",
"RevisionNumber" : Numeric,
"VersionCondition" : "String"
},
"LogicalCondition" : "String",
"RegistryCriteria" : {
"KeyName" : "String",

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

190

Chapter 4: Application Management

"KeyType" : "String",
"KeyValue" : "String",
"Path" : "String"
}
}
],
"DevicePowerRequired" : Numeric,
"DiskSpaceRequiredInKb" : Numeric,
"RamRequiredInMb" : Numeric
}
},
"Description" : "String",
"Developer" : "String",
"DeveloperEmail" : "String",
"DeveloperPhone" : "String",
"DeviceType" : "String",
"EnableProvisioning" : Boolean,
"FileName" : "String",
"FilesOptions" : {
"AppDependenciesList" : [
{
"Name" : "String",
"ApplicationDependencyId" : Numeric
}
],
"AppPatchesList" : [
{
"PatchId" : Numeric,
"PatchFileName" : "String",
"PatchBlobId" : Numeric,
"PatchType" : "String"
}
],
"AppTransformsList" : [
{
"TransformId" : Numeric,
"TransformFileName" : "String",
"TransformBlobId" : Numeric
}
],
"ApplicationUnInstallProcess" : {
"UseCustomScript" : Boolean,
"CustomScript" : {
"CustomScriptType" : "String",
"UninstallCommand" : "String",
"UninstallScriptBlobId" : Numeric
},
"UseCustomScript" : Boolean
}
},
"IsDependencyFile" : Boolean,

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

191

Chapter 4: Application Management

"LocationGroupId" : Numeric,
"MsiDeploymentParamModel" : {
"CommandLineArguments" : "String",
"InstallTimeoutInMinutes" : Numeric,
"RetryCount" : Numeric,
"RetryIntervalInMinutes" : Numeric
},
}

Response Tag Details
Tag

Type

Description

ApplicationName

String

Name of the internal application

AppId

String

Unique identifier of the internal application

ActualFileVersion

String

Actual file version of the internal application

BuildVersion

String

Build version of the internal application

AirwatchAppVersion

String

Version of the AirWatch application

Status

String

Status of the internal application

ManagedBy

String

Unique Organization Group that manages the internal
application

AssumeManagementOfUserInstalledApp String

Option that takes over management of a user installed iOS
application

Platform

String

Platform of the device

SupportedModels Name

String

Name of the supported device model for internal application

SupportedModels id

Numeric

Unique identifier of the supported devices for internal
application

MinimumOperatingSystem

String

Minimum operating system of the device for internal
application

AppSizeInKB

Numeric

Internal application size in KB

CategoryList Name

String

Name of the category list

CategoryList id

Numeric

Unique identifier of the category list

Comments

String

Comments for the internal application

ApplicationUrl

String

URL of the internal application

Sdk

String

SDK of the internal application

SdkProfileId

Numeric

Unique identifier of the SDK profile

DevicesAssignedCount

Numeric

Number of the assigned devices with the application

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

192

Chapter 4: Application Management

DevicesInstalledCount

Numeric

Number of the devices with the application installed

DevicesNotInstalledCount

Numeric

Number of the devices with the application not installed

Rating

Numeric

Rating of the application

ChangeLog

String

Change log of the application

RenewalDate

Datetime

Time stamp of the app renewal date

SmartGroupId

Numeric

Smart group ID of the assignment

SmartGroupName

String

Name of the smart group

PushMode

String

Deployment mode for the applications. Supported values are
auto and ondemand.

EffectiveDate

Datetime

Time stamp when the application was effective

RemoveOnUnEnroll

String

Unenroll the device on removing the application

ApplicationBackup

String

Backup of the application

AutoUpdateDevicesWithPreviousVersion String

Automatically update the devices with previous version of
the application

PerAppVpn

String

Per-app VPN that needed to be configured on the device

VpnProfileId

Numeric

Unique identifier of the VPN profile

Rank

Numeric

Rank of the assignment

AppConfig Key

String

Key of the app configuration

AppConfig Value

String

Value of the app configuration

AppConfig Type

String

App configuration type

AppConfigid

Numeric

Unique identifier of the app configuration

ApplicationTransformIds

Numeric

Identifier of the application transform files

AdminPrivileges

Boolean

Whether or not the installation should be initiated with
logged-in user privileges or with stepped up administrative
permissions

DeviceRestart

String

Restart the device after the application is installed

InstallCommand

String

Install program to meet your deployment criteria

InstallContext

String

Indicate whether the app should be configured and installed
for just enrolled users or for all users on each of your devices

InstallTimeoutInMinutes

Numeric

Amount of time, in minutes, that the installation process can
run before the installation is considered as failed

InstallerRebootExitCode

String

Integer code returned by the installer to indicate that the
app has been successfully installed once the device has been
rebooted. This will be used in conjunction with the 'Device
Restart' option specified above.

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

193

Chapter 4: Application Management

InstallerSuccessExitCode

String

Integer code returned by the installer that marks the success
of the operation

RetryCount

Numeric

Number of retries for installing application before the
installation is marked as failed

RetryIntervalInMinutes

Numeric

Amount of time, in minutes, between retries for installing
application

ApplicationIdentifier

String

Unique identifier of the application (Bundle ID or External ID)

BuildNumber

Numeric

Build version of the application

MajorVersion

Numeric

Major version of the application

MinorVersion

Numeric

Minor version of the application

RevisionNumber

Numeric

Fix version of the application

VersionCondition

String

Version conditions

CriteriaType

String

Unique smart group type configured to the smart group

FileCriteria

String

File Criteria

BuildNumber

Numeric

Build version of the application

MajorVersion

Numeric

Major version of the application

MinorVersion

Numeric

Minor version of the application

ModifiedOn

String

Date on which the application was last modified

Path

String

Path of the application

RevisionNumber

Numeric

Fix version of the application

VersionCondition

String

Version Conditions

LogicalCondition

String

Logical condition. Supported values are 'And' and 'Or'.

KeyName

String

Name of the key

KeyType

String

Type of key to be created in the registry. Supported values
are String, Binary, DWord, QWord, MultiString, and
ExpandableString.

KeyValue

String

Value of the key to be created in the registry

Path

String

Path of the key in the registry

CommandToRunTheScript

String

Command to run the script

CustomScriptFileBlodId

Numeric

Blob ID of the script file associated.
Supported file types are .js, .jse, .ps1, .ps1xml, .psc1, .psd1,
.psm1, .pssc, .cdxml, .vbs, .vbe, .wsf, and .wsc.

ScriptType

String

Script Type. Support script types are JScript, PowerShell, and
VBScript.

SuccessExitCode

Numeric

Success exit code

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

194

Chapter 4: Application Management

IdentifyApplicationBy

String

The way by which an application can be identified. Supported
Values are DefiningCriteria and UsingCustomScript.

UseAdditionalCriteria

Boolean

Msi apps are detected on the device by product code and
version. Use this option to perform additional actions to
ensure your app is successfully installed on your end users'
devices.

ApplicationIdentifier

String

Unique identifier of the application (Bundle ID or External ID)

BuildNumber

Numeric

Build version of the application

MajorVersion

Numeric

Major version of the application

MinorVersion

Numeric

Minor version of the application

RevisionNumber

Numeric

Date on which the application was last modified

VersionCondition

String

Version condition. Supported values are Any, EqualTo,
GreaterThan, and LessThan.

CriteriaType

String

Criteria type. Supported values are AppExists,
AppDoesNotExist, FileExists, FileDoesNotExist, RegistryExists,
and RegistryDoesNotExist.

BuildNumber

Numeric

Build version of the file

MajorVersion

Numeric

Major version of the file

MinorVersion

Numeric

Minor version of the file

ModifiedOn

String

Date on which the file was last modified

Path

String

Path of the file

RevisionNumber

Numeric

Fix version of the file

VersionCondition

String

Version condition. Supported values are Any, EqualTo,
GreaterThan, and LessThan.

LogicalCondition

String

Logical condition. Supported values are And and or.

KeyName

String

Name of the key

KeyType

String

Type of key to be created in the registry. Supported values
are String, Binary, DWord, QWord, MultiString,
ExpandableString.

KeyValue

String

Value of the key to be created in the registry

Path

String

Path of the key in the registry

DevicePowerRequired

Numeric

The minimum percentage of power required by the device
for installing the application

DiskSpaceRequiredInKb

Numeric

Disk space required by the application

RamRequiredInMb

Numeric

RAM (in MB) required for installing the application

Description

String

Desired description of the application

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

195

Chapter 4: Application Management

Developer

String

Name of the developer

DeveloperEmail

String

Email address of the developer

DeveloperPhone

String

Phone number of the developer

DeviceType

String

Numeric Platform identifier of the Device application

EnableProvisioning

Boolean

Provisioning status. Supported value is Boolean/False.

FileName

String

File name along with the extension

AppDependenciesList

String

List of application dependency identifiers

AppDependenciesListName

String

Name of the list of application dependency identifiers

ApplicationDependencyid

Numeric

Application dependency identifier

PatchId

Numeric

Identifier of the uploaded patch

PatchFileName

String

Name of the patch file

AppPatchesList

String

List of the application patches

PatchBlobId

Numeric

Blob ID of the uploaded Patch

PatchType

String

Type of the uploaded patch

TransformId

Numeric

Identifier of the uploaded transform files

TransformFileName

String

Name of the transform files

TransformBlobId

Numeric

Blob ID of the uploaded Transform

UseCustomScript

Boolean

Use custom script

CustomScript

String

Custom script

CustomScriptType

String

Custom script type. Supported values: Input, Upload.

UninstallCommand

String

Application uninstall command provided

UninstallScriptBlobId

Numeric

Gets or sets the ID value of the uninstall script file uploaded
on the console.
Supported file types are .js, .jse, .ps1, .ps1, .xml, .psc1,
.psd1, .psm1, .pssc, .cdxml, .vbs, .vbe, .wsf, and .wsc.

UseCustomScript

Boolean

Value indicating whether custom script is used or not

IsDependencyFile

Boolean

Indicates whether uploaded file is a dependency file

LocationGroupId

Numeric

Location group identifier

MsiDeploymentParamModel

String

Msi deployment Parameter model. This is valid only for MSI
files when Software Distribution is not enabled.

CommandLineArguments

String

Command-line options to be used when calling MSIEXEC.exe

InstallTimeoutInMinutes

Numeric

Amount of time, in minutes that the installation process can
run before the installer. Considers the installation may have
failed and no longer monitors the installation operation.
Range: 0 - 60.

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

196

Chapter 4: Application Management

RetryCount

Numeric

The number of times the download and installation
operation will be retried before the installation will be
marked as failed. With a limit of ‘10' attempts.

RetryIntervalInMinutes

Numeric

Amount of time, in minutes between retry operations. The
range is 0 through 10.

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

197

Chapter 4: Application Management

Create Application Group (*Refactored)
Functionality – Creates an Application Group in the desired Organization Group.
HTTP Method – POST
Deprecated API URI – https://host/api/mam/apps/appgroups/create. This URI will be deprecated soon. Instead, use the
*Supported API URI.
*Supported API URI – https://host/api/mam/apps/appgroups (HTTP Method Used – POST)

Request Payload
XML


String
String
String
String
Numeric


Numeric
String




Numeric
String


String
String
String
Boolean
String


String
Numeric




VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

198

Chapter 4: Application Management

JSON

{
"ApplicationGroupID" : "String",
"Name":"String",
"Platform":"String",
"AppGroupType":"String",
"Description":"String",
"ManagedByOrganizationGroupID":"String",
"OrganizationGroups":[{
"Name" : "String",
"Id":Numeric
}],
"UserGroups":[{
"Name" : "String",
"Id":Numeric
}],
"DeviceOwnership":"String",
"DeviceModel":"String",
"DeviceOperatingSystem":"String",
"IsActive" : true,
"AppCount" : "Text value",
"Applications":[{
"Name":"String",
"BundleId":Numeric
}]
}

Request Tag Details
Tag

Mandatory

Description

ApplicationGroupID

Yes

Unique identifier of the application

Name

Yes

Name of the application assigned to the device

Platform

Yes

Name of the device platform. "Android", "Apple"

AppGroupType

Yes

Type of the application group

Description

No

Description of the application group

ManagedByOrganizationGroupID Yes

Unique identification of the organization group which manages the
application group

OrganizationGroups Id

Yes

Unique numeric identifier of the organization group

OrganizationGroups

No

Unique name of the organization groupp

UserGroups Id

No

Unique numeric identifier of the user group

UserGroups Name

No

Unique name of the user group

DeviceOwnership

No

Type of ownership of the device

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

199

Chapter 4: Application Management

DeviceModel

No

Model of the device

DeviceOperatingSystem

No

Operating System of the device

Applications Name

Yes (atleast1)

Name of the application

Applications BundleId

Yes (atleast1)

Bundle ID of the application

IsActive

No

State of the application

AppCount

No

Number of the applications in the device

Response Payload
XML


String
String
String
String
String
String


String
Numeric




String
Numeric


String
String
String
Boolean
String


String
Numeric




VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

200

Chapter 4: Application Management

JSON

{
"ApplicationGroupID":"String",
"Name":"String",
"Platform":"String",
"AppGroupType":"String",
"Description":"String",
"ManagedByOrganizationGroupID":"String",
"OrganizationGroups":[{
"Name":"String",
"Id":Numeric
}],
"UserGroups":[{
"Name":"String",
"Id":Numeric
}],
"DeviceOwnership":"String",
"DeviceModel":"String",
"DeviceOperatingSystem":"String",
"IsActive":Boolean,
"AppCount":"String",
"Applications":[{
"Name":"String",
"BundleId":Numeric
}]
}

Response Tag Details
Tag

Type

Description

ApplicationGroupID

String

Unique Id of the application

Name

String

Name of the application assigned to the device

Platform

String

Name of the device platform.

AppGroupType

String

Type of the application group

Description

String

Description of the application group

ManagedByOrganizationGroupID String

Unique identification of the organization group which manages the
application group

OrganizationGroups Name

String

Name of the organization group

OrganizationGroups Id

Numeric

Unique numeric identifier of the organization group.

UserGroups Name

String

Name of the User group

UserGroups Id

Numeric

Unique numeric identifier of the user group

DeviceOwnership

String

Type of ownership of the device

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

201

Chapter 4: Application Management

DeviceModel

String

Model of the device

DeviceOperatingSystem

String

Operating System of the device

Applications Name

String

Name of the application

Applications BundleId

Numeric

Bundle ID of the application

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

202

Chapter 4: Application Management

Retrieve Application Group Details
Functionality – Retrieves the Application group details based on the application group id.
HTTP Method – GET
API URI – https://host/api/mam/apps/appgroups/{appgroupid}
Request Body – NA

Response Payload
XML


String
String
String
String
String
String


String
String




String
String


String
String
String


String
String




VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

203

Chapter 4: Application Management

JSON

{
"ApplicationGroupID":Numeric,
"Name":"String",
"Platform":"String",
"AppGroupType":"String",
"Description":"String",
"ManagedByOrganizationGroupID":"String",
"OrganizationGroups":[{
"Name":"String",
"Id":Numeric
}],
"UserGroups":[{
"Name":"String",
"Id":Numeric
}],
"DeviceOwnership":"String",
"DeviceModel":"String",
"DeviceOperatingSystem":"String",
"Applications":[{
"Name":"String",
"BundleId":Numeric
}]
}

Response Tag Details
Tag

Type

Description

ApplicationGroupID

Numeric

Unique numeric ID of the application

Name

String

Name of the application

Platform

String

Platform of the device

AppGroupType

String

Type of the application group

Description

String

Description of the application group

ManagedByOrganizationGroupID Numeric

Unique identification of the organization group which manages the
application group

OrganizationGroups Name

String

Name of the organization group

OrganizationGroups Id

Numeric

Unique identification of the organization group from where the
devices are filtered

UserGroups Name

String

Name of the User group

UserGroups Id

Numeric

Unique numeric identification of the user group

DeviceOwnership

String

Type of ownership of the device

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

204

Chapter 4: Application Management

DeviceModel

String

Model of the device

DeviceOperatingSystem

String

Operating System of the device

Applications Name

String

Name of the application

Applications BundleId

String

Bundle ID of the application

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

205

Chapter 4: Application Management

Search Application Group (*Refactored)
Functionality – Searches for the Application Groups based on the query information provided.
HTTP Method – GET
Deprecated API URI – https://host/api/mam/apps/appgroupsearch?name={appgroupname}&organizationgroupid=
{organizationgroupid}&plaform={platform}&appgrouptype={appgrouptype}&orderby={orderby}&sortorder=
{sortorder}&page={page}&pagesize={pagesize}
l

Exact Match Parameter – platform, appgrouptype, sortorder

l

Pattern (Contains) Match Parameter – name, organizationgroupid, orderby, page, pagesize

This URI will be deprecated soon. Start using the *Supported API URI.
*Supported API URI – https://host/api/mam/apps/appgroups/search (HTTP Method Used – GET)
Request Body – NA

URI Parameters
Tag

Type

Description

appgroupname

String

Application Group Name

organizationgroupid

Numeric

Id of the Organization group

platform

String

Platform of the application group

appgrouptype

String

Application group type. "Whitelisted", "Blacklisted", "Required"

orderby

String

The column by which the results will be ordered.

sortorder

String

Sorting order. Values ASC or DESC. Defaults to ASC

page

Numeric

Page number of the device result. The first page has pagenumber=0

pagesize

Numeric

Maximum number of records per page

Response Payload
XML


Numeric
Numeric
Numeric

Numeric
String
String

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

206

Chapter 4: Application Management

String
String
Numeric


String
Numeric




String
Numeric


String
String
String
Boolean
String


String
Numeric




Numeric
String
String
String
String
Numeric


String
Numeric




String
Numeric


String
String
String
Boolean
String

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

207

Chapter 4: Application Management



String
Numeric





JSON

{
"Page":Numeric,
"PageSize":Numeric,
"Total":Numeric,
"AppGroups":{
"ApplicationGroupID":Numeric,
"Name":"String",
"Platform":"String",
"AppGroupType":"String",
"Description":"String",
"ManagedByOrganizationGroupID":Numeric,
"OrganizationGroups":[{
"Name":"String",
"Id":Numeric
}],
"UserGroups":[{
"Name":"String",
"Id":Numeric
}],
"DeviceOwnership":"String",
"DeviceModel":"String",
"DeviceOperatingSystem":"String",
"IsActive":Boolean,
"AppCount":"String",
"Applications":[{
"Name":"String",
"BundleId":Numeric
}]
}
}

Response Tag Details
Tag

Type

Description

Page

Numeric

Page number of the retrieved response

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

208

Chapter 4: Application Management

PageSize

Numeric

Size of the current page

Total

Numeric

Total Results obtained from the search

ApplicationGroupID

Numeric

Unique group Id of the application

Name

String

Name of the application assigned to the device

Platform

String

Numeric ID of the device platform. Refer Tables for the platform IDs

AppGroupType

String

Type of the application group

Description

String

Description of the application group

ManagedByOrganizationGroupID Numeric

Unique identification of the organization group which manages the
application group

OrganizationGroups Name

String

Name of the organization group

OrganizationGroups Id

Numeric

Unique identification of the organization group from where the
devices are filtered

UserGroups Name

String

Name of the User group

UserGroups Id

Numeric

Unique numeric identification of the user group

DeviceOwnership

String

Type of ownership of the device

DeviceModel

String

Model of the device

DeviceOperatingSystem

String

Operating System of the device

IsActive

Boolean

Status of the application group

AppCount

Numeric

Number of applications assigned to the App Group

Applications Name

String

Name of the application

Applications BundleId

Numeric

Bundle ID of the application

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

209

Chapter 4: Application Management

Search SDK Analytics
Functionality – Retrieves SDK analytics based on the query information provided.
HTTP Method – GET
API URI – https://host/api/mam/apps/sdkanalytics?organizationgroupid={organizationgroupid}&applicationid=
{applicationid}&eventname={eventname}&startdatetime={startdatetime}&enddatetime={enddatetime}&searchby=
{searchtype}&page={page}&pagesize={pagesize}
l

Pattern (Contains) Match Parameter – organizationgroupid, applicationid, eventname, startdatetime, enddatetime,
searchtype, page, pagesize

URI Parameters
Tag

Description

organizationgroupid

OrganizationGroup Identifier

applicationid

Application Identifier

eventname

Event name search parameter

startdatetime

Sample Starttime

enddatetime

Sample Endtime

searchtype

Search by Device Identifier types (DeviceId, MacAddress, Udid, SerialNumber, and
ImeiNumber)

page

Page index

pagesize

Records per page

Request Payloads
XML



String
String



VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

210

Chapter 4: Application Management

JSON

{
"BulkValues":{
"Value":["String"]
}
}

Request Tag Details
Tag

Mandatory

Description

Value

Yes

Represents the unique identification of the application

Response Payload
XML


Numeric
Numeric
Numeric


Numeric
Datetime
String
String
String
String
String
String




JSON

{
"Page":Numeric,
"PageSize":Numeric,
"Total":Numeric,
"ApplicationEventSamples":[{

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

211

Chapter 4: Application Management

"ApplicationID":"String",
"DeviceID":Numeric,
"EventData":"String",
"EventName":"String",
"FriendlyName":"String",
"SampleTime":"Datetime",
"UserName":"String",
"Version":"String"
}]
}

Response Tag Details
Tag

Type

Description

Page

Numeric

Page number of the retrieved response

PageSize

Numeric

Page Size of the retrieved response

Total

Numeric

Total Results obtained from the search

ApplicationID

String

Unique identification of the application

DeviceID

Numeric

Unique identification number of the device

EventData

String

Data of the event

EventName

String

Name of the event

FriendlyName

String

Friendly name of the device

SampleTime

Datetime

Time stamp of the sample time

UserName

String

Username of the device

Version

String

Version of the application

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

212

Chapter 4: Application Management

Update Application Group (*Refactored)
Functionality – Updates the metadata of the application group specified by its numeric ID.
HTTP Method – POST
Deprecated API URI – https://host/api/mam/apps/appgroups/{appgroupid}/update. This URI will be deprecated soon.
Start using the *Supported API URI.
*Supported API URI – https://host/api/mam/apps/appgroups/appgroupid (HTTP Method Used – PUT)
Response Obtained – NA

Request Payload
XML


String
String
String
String
String
Numeric


String
Numeric




String
Numeric


String
String
String
Boolean
String


String
Numeric


String
Numeric



VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

213

Chapter 4: Application Management



JSON

{
"ApplicationGroupID" : "String",
"Name":"String",
"Platform":"String",
"AppGroupType":"String",
"Description":"String",
"ManagedByOrganizationGroupID":Numeric,
"OrganizationGroups":[{
"Name":"String",
"Id":"Numeric"
}],
"UserGroups":[{
"Name":"String",
"Id":"Numeric"
}],
"DeviceOwnership":"String",
"DeviceModel":"String",
"DeviceOperatingSystem":"String",
"IsActive" : Boolean,
"AppCount" : "String",
"Applications":[{
"Name":"String",
"BundleId":Numeric
}]
}

Request Tag Details
Tag

Mandatory

Description

ApplicationGroupID

No

Unique identifier of the application

Name

No

Name of the application assigned to the device

Platform

No

Numeric ID of the device platform. Refer Tables for the platform IDs

AppGroupType

No

Type of the application group

Description

No

Description of the application group

ManagedByOrganizationGroupID No

Unique identification of the organization group which manages the
application group

OrganizationGroups Name

Name of the organization group

No

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

214

Chapter 4: Application Management

OrganizationGroups Id

No

Unique identification of the organization group from where the
devices are filtered

UserGroups Name

No

Name of the User group

UserGroups Id

No

Unique numeric identification of the user group

DeviceOwnership

No

Type of ownership of the device

DeviceModel

No

Model of the device

DeviceOperatingSystem

No

Operating System of the device

isActive

No

State of the application in the device

AppCount

No

Number of applications

Applications Name

No

Name of the application

Applications BundleId

No

Bundle ID of the application

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

215

Chapter 4: Application Management

Delete Application Group (*Refactored)
Functionality – Deletes application groups identified by the application group identifiers.
HTTP Method – POST
Deprecated API URI – https://host/api/mam/apps/appgroups/delete. This URI will be deprecated soon. Start using the
*Supported API URI.
*Supported API URI – https://host/api/mam/apps/appgroups (HTTP Method Used – DELETE)

Request Payload
XML




String
String




JSON

{
"BulkValues":{
"Value":["String"]
}
}

Request Tag Details
Tag

Mandatory

Description

Values

Yes (at least 1) Represents the unique numeric ID of the Application Group

Response Payload
XML


Numeric

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

216

Chapter 4: Application Management

Numeric
Numeric

Numeric

Numeric
String
String




JSON

{
"TotalItems":Numeric,
"AcceptedItems":Numeric,
"FailedItems":Numeric,
"Faults":{
"ActivityId":Numeric,
"Fault":{
"ErrorCode":Numeric,
"ItemValue":"String",
"Message":"String"
}
}
}

Response Tag Details
Tag

Type

Description

TotalItems

Numeric

Total Number of Items sent in the request for deletion

AcceptedItems

Numeric

Number of Application Groups successfully deleted

FailedItems

Numeric

Number of Application Groups not deleted.

Faults

Numeric

This chunk of XML/JSON indicates the cause of failure in deletion for
some App Groups.

ActivityId

Numeric

Indicates the Numeric ID of the Fault.

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

217

Chapter 4: Application Management

Add Application to an Application Group (*Refactored)
Functionality – Adds applications to the specified application group.
HTTP Method – POST
Deprecated API URI – https://host/api/mam/apps/appgroups/{appgroupid}/addapplications. This URI will be
deprecated soon. Start using the *Supported API URI.
*Supported API URI – https://host/api/mam/apps/appgroups/appgroupid/applications (HTTP Method Used – POST)
Response Obtained – NA

Request Payload
XML




String
Numeric




JSON

{
"Applications":[{
"Name":"String",
"BundleId":Numeric,
}]
}

Request Tag Details
Tag

Mandatory

Description

Name

Yes

Name of the application

BundleId

Yes

Bundle Id of the application

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

218

Chapter 4: Application Management

Delete Application from the Application Group (*Refactored)
Functionality – Deletes one of more applications from the specified application group.
HTTP Method – POST
Deprecated API URI – https://host/api/mam/apps/appgroups/{appgroupid}/deleteapplications. This URI will be
deprecated soon. Start using the *Supported API URI.
*Supported API URI – https://host/api/mam/apps/appgroups/appgroupid/applications (HTTP Method Used – DELETE)
Response Obtained – NA

Request Payload
XML




String


String




JSON

{
"Applications":[{
"BundleId":"String"
}]
}

Request Tag Details
Tag

Mandatory

Description

BundleId

Yes

PackageId of the application

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

219

Chapter 4: Application Management

Create VPP Application Allocation (*Refactored)
Functionality – Create a new VPP Licensed App allocation.
HTTP Method – POST
Deprecated API URI – https://host/api/mam/apps/purchased/{applicationid}/assignmentcreate
This URI will be deprecated soon. Start using the *Supported API URI.
*Supported API URI – https://host/api/mam/apps/purchased/applicationid/assignment (HTTP Method Used – POST)
Response Obtained – N/A

Request Payload
XML




Numeric
Numeric



String
Boolean
Boolean
Boolean

Boolean


Numeric
String
String
String




JSON

{
"AppConfigList" : [
{
"Key" : "String",
"Type" : "String",

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

220

Chapter 4: Application Management

"Value" : "String"
}
],
"Assignments" : [
{
"Allocated" : Numeric,
"SmartGroupId" : Numeric
}
],
"Deployment" : {
"AssignmentType" : "String",
"PreventApplicationBackup" : Boolean,
"RemoveOnUnenroll" : Boolean,
"UseVPN" : Boolean
},
"SendApplicationConfiguration" : Boolean
}

Request Tag Details
Tag

Type

Description

AssignmentType

String

Type of the assignment

PreventApplicationBackup

Boolean

Defines if the application backup to be prevented. Boolean/False

RemoveOnUnenroll

Boolean

Defines to unenroll the device on removing the VPP application

UseVPN

Boolean

Defines to use VPN for VPP assignment

AppConfigList Key

String

Key for Application Configuration list

AppConfigList Type

String

Type of Application Configuration list

AppConfigList Value

String

Value of Application Configuration list

Assignments id

Numeric

ID of the assignment

Assignments Allocated

Numeric

Assignment allocation

Assignments SmartGroupId

Numeric

Smart Group ID to which the assignment is configured

SendApplicationConfiguration

Boolean

Defines if the application configuration must be sent

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

221

Chapter 4: Application Management

Delete VPP Application
Functionality – Deletes the specified purchased app.
HTTP Method – DELETE
API URI – https://host/api/mam/apps/purchased/{applicationid}
Request – N/A
Response – N/A

Delete VPP Application Smart Group Assignment (*Refactored)
Functionality – Delete Assignment
HTTP Method – DELETE
Deprecated API URI – https://host/api/mam/apps/purchased/{applicationid}/deletesmartgroup/{smartgroupid}. This
URI will be deprecated soon. Start using the *Supported API URI henceforth.
*Supported API URI – https://host/api/mam/apps/purchased/{applicationid}/smartgroups/{smartgroupid}

URI Parameter
Tag

Type

Description

applicationid

Numeric

Unique application identifier

smartgroupid

Numeric

Unique smart group identifier

Request Payload – N/A
Response Obtained – N/A

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

222

Chapter 4: Application Management

Search VPP Application (*Refactored)
Functionality – Search and retrieve details for purchased applications.
HTTP Method – GET
Deprecated API URI – https://host/api/mam/apps/purchasedappsearch?applicationname=
{applicationname}&locationgroupid={locationgroupid}&bundleid={bundleid}&platform={platform}&model=
{model}&status={status}&isassigned={isassigned}&orderby={orderby}&page={page}&pagesize={pagesize}
l

Exact Match Parameter – platform, model, status, isassigned

l

Pattern (Contains) Match Parameter – applicationname, locationgroupid, bundleid, orderby, page, pagesize

This URI will be deprecated soon. Start using the *Supported API URI.
*Supported API URI – https://host/api/mam/apps/purchased/search (HTTP Method Used – GET)
Request – N/A

Response Payloads
XML


Numeric
Numeric
Numeric


Numeric
String
String
String
String
String
String
Numeric



Numeric
String


Numeric
String



String

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

223

Chapter 4: Application Management

String



Numeric
String


Numeric
String





Numeric
String


Numeric
String


String
Boolean
String
Numeric
String
String
String
String
auto
Numeric
Numeric
Numeric




JSON

{
"Page":Numeric,
"PageSize":Numeric,
"Total":Numeric,
"Application":[{
"Id":Numeric,
"ActualFileVersion":"String",

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

224

Chapter 4: Application Management

"AppType":"String",
"AppVersion":"String",
"ApplicationName":"String",
"ApplicationSize":"String",
"ApplicationUrl":"String",
"AssignedDeviceCount":Numeric,
"AssignmentStatus":"String",
"BundleId":"String",
"CategoryList":{
"Category":[{
"CategoryId":Numeric,
"Name":"String"
}]
},
"Comments":"String",
"ExternalId":"String",
"InstalledDeviceCount":Numeric,
"IsReimbursable":Boolean,
"LargeIconUri":"String",
"LocationGroupId":Numeric,
"MediumIconUri":"String",
"NotInstalledDeviceCount":Numeric,
"Platform":Numeric,
"PushMode":0,
"SmallIconUri":"String",
"SmartGroups":[{
"Id":Numeric,
"Name":"String"
}],
"Status":"String",
"SupportedModels":{
"Model":[{
"ApplicationId":Numeric,
"ModelId":Numeric,
"ModelName":"String"
}]
}
}]
}

Response Tag Details
Tag

Type

Description

Page

Numeric

Page number of the search result

PageSize

Numeric

Number of device VPP apps shown on each page

Total

Numeric

Total number of VPP applications on the device

ApplicationName

String

Name of the VPP application

BundleId

String

Unique bundle identification of the VPP application

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

225

Chapter 4: Application Management

AppVersion

String

Version of the VPP application

ActualFileVersion

String

Version of the application file

AppType

String

Type of the application. "Public" ,"Internal", or "Purchased"

Status

String

Current Status of the application. "Active" or "Inactive"

Platform

Numeric

Device platform

ModelId

Numeric

ID of the Device Model. Refer Tables for the List of Model IDs

ModelName

String

Name of the Device Model

AssignmentStatus

String

Current assignment state of the application. "Assigned" or "Not
Assigned"

ApplicationSize

String

Application size in bytes

CategoryId

Numeric

Numeric ID of the Category of the VPP application

Name

String

Name of the Category of the VPP application

Comments

String

Comments associated with the purchased applications

ApplicationUrl

String

URL of a purchased Application

LocationGroupId

Numeric

Unique Numeric ID of the Organization Group where the
application is present

ExternalId

Numeric

Is the track ID of the application from the App Store for iOS

AssignedDeviceCount

Numeric

Number of the assigned devices with the application

InstalledDeviceCount

Numeric

Number of the devices with the application installed

NotInstalledDeviceCount

Numeric

Number of the devices with the application not installed

IsReimbursable

Boolean/Numeric Is the purchased application reimbursable

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

226

Chapter 4: Application Management

Get VPP Allocation Details
Functionality – Returns VPP Licensed Application allocation details by AppId.
HTTP Method – GET
API URI – https://host/api/mam/apps/purchased/{applicationid}
Request Payload – N/A

Response Payloads
XML


Numeric

Numeric
Numeric
Numeric
Numeric
Numeric
Numeric


Numeric
Numeric
Numeric
Numeric
Numeric
Numeric



String
Numeric
String
Numeric
Numeric
Numeric
String


String
Numeric
String
Numeric
Numeric
Numeric
String


VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

227

Chapter 4: Application Management



String
Boolean
Boolean
Boolean



JSON

{
"Assignments":[{
"Allocated":Numeric,
"AssignmentRuleType":"String",
"LocationGroupId":"String",
"Redeemed":Numeric,
"SmartGroupId":Numeric,
"Status":"String",
"Users":Numeric
}],
"Deployment":{
"AssignmentType":"String",
"PreventApplicationBackup":Boolean,
"RemoveOnUnenroll":Boolean,
"UseVPN":Boolean
},
"Licenses":{
"Allocated":Numeric,
"ExternallyRedeemed":Numeric,
"OnHold":Numeric,
"Redeemed":Numeric,
"TotalLicenses":Numeric,
"Unallocated":Numeric
},
"ManagedBy":Numeric,
"Orders":{
"Allocated":Numeric,
"ExternallyRedeemed":Numeric,
"OnHold":Numeric,
"Redeemed":Numeric,
"TotalLicenses":Numeric,
"Unallocated":Numeric
}
}

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

228

Chapter 4: Application Management

Response Tag Details
Tag

Type

Description

Allocated

Numeric

Number of assignments allocated to the device

AssignmentRuleType

String

Type of the assignment rule

LocationGroupId

Numeric

Unique identification of the organization group

Redeemed

Numeric

Number of assignments redeemed

SmartGroupId

Numeric

Unique identification of the smart group

Status

String

Status of the assignment rule

Users

Numeric

Number of the device users with the VPP licensed application
assignment rule

AssignmentType

String

Type of the assignment

PreventApplicationBackup

Boolean

Defines if the application backup to be prevented. True/False

RemoveOnUnenroll

Boolean

Defines the unenrollment of the device on the removal of the
application. True/False

UseVPN

Boolean

Use VPN for deployment. True/False.

Licenses Allocated

Numeric

Number of VPP licenses allocated

Licenses ExternallyRedeemed

Numeric

Number of externally redeemed licenses

Licenses OnHold

Numeric

Number of on-hold licenses

Licenses Redeemed

Numeric

Number of redeemed licenses

Licenses TotalLicenses

Numeric

Total number of licenses

Licenses Unallocated

Numeric

Number of unallocated licenses

Orders Allocated

Numeric

Number of allocated VPP orders

Orders ExternallyRedeemed

Numeric

Number of externally redeemed orders

Orders OnHold

Numeric

Number of on-hold orders

Orders Redeemed

Numeric

Number of redeemed orders

Orders TotalLicenses

Numeric

Total number of orders

Orders Unallocated

Numeric

Number of unallocated orders

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

229

Chapter 4: Application Management

Update VPP Licensed Application Assignment (*Refactored)
Functionality – Updates VPP licensed application assignment.
HTTP Method – POST
Deprecated API URI – https://host/api/mam/apps/purchased/{applicationid}/update. This URI will be deprecated soon.
Start using the *Supported API URI.
*Supported API URI – https://host/api/mam/apps/purchased/applicationid (HTTP Method Used – PUT)
Response Obtained – NA

URI Parameter
Tag

Type

Description

applicationid

Numeric

Unique VPP application identifier

Request Payload
XML


Numeric

Numeric
Numeric
Numeric
Numeric
Numeric
Numeric


Numeric
Numeric
Numeric
Numeric
Numeric
Numeric



Boolean
Numeric
Numeric
Numeric
Numeric

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

230

Chapter 4: Application Management



Boolean


String
String
String




JSON

{
"AppConfigList" : [
{
"Key" : "Text value",
"Type" : "Text value",
"Value" : "Text value"
"ManagedBy" : Numeric,
}
],
"Orders" : {
"TotalLicenses" : Numeric,
"OnHold" : Numeric,
"Allocated" : Numeric,
"Unallocated" : Numeric,
"Redeemed" : Numeric,
"ExternallyRedeemed" : Numeric
},
"Licenses" : {
"TotalLicenses" : Numeric,
"OnHold" : Numeric,
"Allocated" : Numeric,
"Unallocated" : Numeric,
"Redeemed" : Numeric,
"ExternallyRedeemed" : Numeric
},
"ManagedBy" : Numeric,
"Assignments" : [
{
"Status" : "Boolean",
"SmartGroupId" : Numeric,
"Users" : Numeric,
"Allocated" : Numeric,
"Redeemed" : Numeric
}

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

231

Chapter 4: Application Management

]
"SendApplicationConfiguration" : Boolean
}

Request Tag Details
Tag

Type

Description

Orders TotalLicenses

Numeric

Total number of orders

Orders OnHold

Numeric

Number of on-hold orders

Orders Allocated

Numeric

Number of allocated VPP orders

Orders Unallocated

Numeric

Number of unallocated orders

Orders Redeemed

Numeric

Number of redeemed orders

Orders ExternallyRedeemed

Numeric

Number of externally redeemed orders

Licenses TotalLicenses

Numeric

Total number of licenses

Licenses OnHold

Numeric

Number of on-hold licenses

Licenses Allocated

Numeric

Number of VPP licenses allocated

Licenses Unallocated

Numeric

Number of unallocated licenses

Licenses Redeemed

Numeric

Number of redeemed licenses

Licenses ExternallyRedeemed

Numeric

Number of externally redeemed licenses

Status

Boolean

Status of the assignment rule

SmartGroupId

Numeric

Unique identifier of the smart group

Allocated

Numeric

Number of assignments allocated to the device

Redeemed

Numeric

Number of assignments redeemed

SendApplicationConfiguration

Boolean

Defines if the application configuration must be sent

ManagedBy

Numeric

Group ID of the Organization Group

AppConfigList key

String

Key for Application Configuration list

AppConfigList Type

String

Type of Application Configuration list

AppConfigList Value

String

Value of Application Configuration list

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

232

Chapter 4: Application Management

Queues Sync Assets for VPP Applications
Functionality – Queues up Sync Assets job for Apple VPP applications.
HTTP Method – PUT
API URI – https://host/api/mam/apps/purchased/VppSyncAssets/{locationGroupId}

URI Parameters
Tag

Type

Description

locationGroupId

Numeric

Organization group of which sync is requested

Request Payload – NA

Response Payload
JSON

{}

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

233

Chapter 4: Application Management

Resets the Client Context
Functionality – Resets the client context for the account at passed organization group.
HTTP Method – PUT
API URI – https://host/api/mam/apps/purchased/ResetClientAcontextForAccount/{locationGroupId:int}

URI Parameters
Tag

Type

Description

locationGroupId

Numeric

Organization group Id for the account where reset action is intended

Request Payload – NA

Response Payload
JSON

{}

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

234

Chapter 4: Application Management

Get VPP Sync Assets Status
Functionality – Retrieves the status and details of the VPP Sync Assets for the VPP Account at passed organization group.
HTTP Method – GET
API URI – https://host/api/mam/apps/purchased/GetVppSyncAssetsStatus/{locationGroupId:int}

URI Parameters
Tag

Type

Description

locationGroupId

Numeric

Organization group Id for the account where reset action is intended

Request Payload – NA

Response Payload
JSON

{}

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

235

Chapter 4: Application Management

Enable Device Based Assignment For VPP Applications
Functionality – Enables the device based Assignment for the VPP applications.
HTTP Method – PUT
API URI – https://host/api/mam/apps/purchased/EnableDeviceAssignmentForVppApp/{AppId:int}

URI Parameters
Tag

Type

Description

appId

Numeric

app Id for which device based assignment needs to be enabled

Request Payload – NA

Response Payload
JSON

{}

Update Application on Devices Having Device Based Licenses
Functionality – Updates the application on devices having device based licenses for the application if an update is
available.
HTTP Method – POST
API URI – https://host/api/mam/apps/purchased/{appId}
Request Payload – NA
Response Obtained – N/A

URI Parameters
Tag

Type

Description

appId

Numeric

Unique identifier of the application

Auto Update Flag for Device based VPP App
Functionality – Sets the value of the auto update flag for a device based VPP application.
HTTP Method – PATCH
API URI – https://host/api/mam/apps/purchased/{appId}
Response Obtained – N/A

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

236

Chapter 4: Application Management

URI Parameters
Tag

Type

Description

appId

Numeric

Unique identifier of the application

Request Payload
XML


Boolean


JSON

{
"IsAutoUpdateEnabled" : Boolean
}

Request Tag Details
Tag

Mandatory

Description

IsAutoUpdateEnabled

Yes

Whether the auto update flag for device based VPP application is
enabled or not. Value: True or False.

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

237

Chapter 4: Application Management

Get VPP Invite Status (*Refactored)
Functionality – Gets User's VPP invite status.
HTTP Method – GET
Deprecated API URI – https://host/api/mam/apps/purchased/{applicationid}/getvppinvitestatus/{deviceid}. This URI
will be deprecated soon. Start using the *Supported API URI.
*Supported API URI – https://host/api/mam/apps/purchased/applicationid/vppinvitestatus/deviceid (HTTP Method
Used – GET)
Request Payload – N/A

URI Parameters
Tag

Type

Description

applicationid

Numeric

Unique VPP application identifier

deviceid

Numeric

Unique device identifier

Response Payload
XML


Numeric
Numeric
String


JSON

{
"ApplicationId":Numeric,
"DeviceId":Numeric,
"Status":"String"
}

Response Tag Details
Tag

Type

Description

ApplicationId

Numeric

Unique identification number of the VPP application

DeviceId

Numeric

Unique identifier of the device

Status

String

Status of the application

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

238

Chapter 4: Application Management

Send Bulk VPP Invite (*Refactored)
Functionality – Sends VPP invites to the users.
HTTP Method – POST
Deprecated API URI – https://host/api/mam/apps/purchased/{applicationid}/sendvppinvite. This URI will be
deprecated soon. Start using the *Supported API URI.
*Supported API URI – https://host/api/mam/apps/purchased/applicationid/vppinvite (HTTP Method Used – POST)

Request Payload
XML



String
String



JSON

{
"BulkValues":{
"Value":["String"]
}
}

Request Tag Details
Tag

Mandatory

Description

Value

Yes (at least
1)

Represents the unique device ID of the VPP application

Response Payload
XML


Numeric

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

239

Chapter 4: Application Management

Numeric
Numeric

String

Numeric
String
String


Numeric
String
String




JSON

{
"AcceptedItems":Numeric,
"FailedItems":Numeric,
"Faults":{
"Fault":[{
"ErrorCode":Numeric,
"ItemValue":"String",
"Message":"String"
}]
},
"TotalItems":Numeric
}

Response Tag Details
Tag

Type

Description

TotalItems

Numeric

Total number of VPP invite request sent

AcceptedItems

Numeric

Number of VPP invites successfully sent

FailedItems

Numeric

Number of VPP invites not sent

ActivityId

Numeric

Indicates the Numeric ID of the Fault.

Fault

Numeric

This chunk of XML/JSON indicates the cause of failure in sending VPP
invites.

ErrorCode

Numeric

HTTP status code for the failed element

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

240

Chapter 4: Application Management

Retrieve Windows App Dependency
Functionality – Gets the details of an Windows app dependency identified by ID.
HTTP Method – GET
API URI – https://host/api/mam/apps/internal/windowsappdependency/{windowsAppDependencyId}
Request Payload – NA

URI Parameters
Tag

Type

Description

windowsAppDependencyId

Numeric

Identifier of the Windows app dependency to be retrieved

Response Payload
XML


Numeric
String
Numeric
Boolean
Numeric
String
String
String
String




String

String
String
Numeric
Numeric
Numeric
Numeric


String

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

241

Chapter 4: Application Management

String
Numeric
Numeric
Numeric
Numeric
String


String
String
String
String

String


Numeric
Numeric
Numeric


String
String
Boolean
String
Numeric
Numeric
Numeric
String
String


Boolean
String


String

String
String
Numeric
Numeric
Numeric
Numeric


String
String
Numeric
Numeric

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

242

Chapter 4: Application Management

Numeric
Numeric
String


String
String
String
String

String



String
String
Numeric
Numeric






String
Numeric




String
Numeric




String
Numeric
String
String



Boolean

String
String
Numeric


VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

243

Chapter 4: Application Management





JSON

{
"id" : "Numeric,
"BlobId" : "String",
"DeploymentOptions" : {
"HowToInstall" : {
"AdminPrivileges" : Boolean,
"InstallCommand" : "String",
},
"WhenToCallInstallComplete" : {
"CriteriaList" : [
{
"AppCriteria" : {
"ApplicationIdentifier" : "String",
"BuildNumber" : Numeric,
"MajorVersion" : Numeric,
"MinorVersion" : Numeric,
"RevisionNumber" : Numeric,
"VersionCondition" : "String"
},
"CriteriaType" : "String",
"FileCriteria" : {
"BuildNumber" : Numeric,
"MajorVersion" : Numeric,
"MinorVersion" : Numeric,
"ModifiedOn" : "String",
"Path" : "String",
"RevisionNumber" : Numeric,
"VersionCondition" : "String"
},
"LogicalCondition" : "String",
"RegistryCriteria" : {
"KeyName" : "String",
"KeyType" : "String",
"KeyValue" : "String",
"Path" : "String"
}
}
],
"CustomScript" : {
"CommandToRunTheScript" : "String",
"CustomScriptFileBlodId" : Numeric,
"ScriptType" : "String",

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

244

Chapter 4: Application Management

"SuccessExitCode" : Numeric
},
"IdentifyApplicationBy" : "String",
"UseAdditionalCriteria" : Boolean
},
"WhenToInstall" : {
"DataContingencies" : [
{
"AppCriteria" : {
"ApplicationIdentifier" : "String",
"BuildNumber" : Numeric,
"MajorVersion" : Numeric,
"MinorVersion" : Numeric,
"RevisionNumber" : Numeric,
"VersionCondition" : "String"
},
"CriteriaType" : "String",
"FileCriteria" : {
"BuildNumber" : Numeric,
"MajorVersion" : Numeric,
"MinorVersion" : Numeric,
"ModifiedOn" : "String",
"Path" : "String",
"RevisionNumber" : Numeric,
"VersionCondition" : "String"
},
"LogicalCondition" : "String",
"RegistryCriteria" : {
"KeyName" : "String",
"KeyType" : "String",
"KeyValue" : "String",
"Path" : "String"
}
}
],
"DevicePowerRequired" : Numeric,
"DiskSpaceRequiredInKb" : Numeric,
"RamRequiredInMb" : Numeric
}
},
"Description" : "String",
"Developer" : "String",
"DeveloperEmail" : "String",
"DeveloperPhone" : "String",
"DeviceType" : "String",
"EnableProvisioning" : Boolean,
"FileName" : "String",
"FilesOptions" : {
"AppDependenciesList" : [
{
"ApplicationDependencyId" : Numeric

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

245

Chapter 4: Application Management

}
],
"AppPatchesList" : [
{
"PatchBlobId" : Numeric,
"PatchType" : "String"
}
],
"AppTransformsList" : [
{
"TransformBlobId" : Numeric
}
],
"ApplicationUnInstallProcess" : {
"CustomScript" : {
"CustomScriptType" : "String",
"UninstallCommand" : "String",
"UninstallScriptBlobId" : Numeric
},
"UseCustomScript" : Boolean
}
},
"IsSystemApp" : Boolean,
"LocationGroupId" : Numeric,
"Name" : "String",
"PackageFamilyName" : "String",
"PackageId" : "String",
"ProcessorArchitecture" : "String",
"Version" : "String"

}

Response Tag Details
Tag

Type

Description

BlobId

String

Unique blob ID of the application

AdminPrivileges

Boolean

Whether or not the installation should be initiated with logged-in user
privileges or with stepped up administrative permissions.

InstallCommand

String

Install command for the application

ApplicationIdentifier

String

Unique identifier of the application

BuildNumber

Numeric

Build number of the application

MajorVersion

Numeric

Major version of the application

MinorVersion

Numeric

Minor version of the application

RevisionNumber

Numeric

Revision number of the application

VersionCondition

String

Version condition of the application

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

246

Chapter 4: Application Management

CriteriaType

String

Type of the criteria

ModifiedOn

Datetime

Timestamp when the application was last modified

Path

String

The path and name of a file that has to be verified on your end user’s
devices

LogicalCondition

String

Logical condition of the application

KeyName

String

For registry criteria, enter the key name

KeyValue

String

For registry criteria, enter the key value

KeyType

String

For registry criteria, enter the key type

Path

String

Registry path in the format "HKLM\Software\.."

CommandToRunTheScrip

String

Command to run the script

CustomScriptFileBlodId

Numeric

Blob ID of the custom script file

ScriptType

String

Type of the script

SuccessExitCode

Numeric

Code of the success exit

IdentifyApplicationBy

String

Specify how to identify the application

UseAdditionalCriteria

Boolean

Specify additional criteria

DevicePowerRequired

Numeric

Specify the required device power

DiskSpaceRequiredInKb

Numeric

Specify the disc space required in Kb

RamRequiredInMb

Numeric

Specify the device ram required in Mb

Description

String

Description of the application

Developer

String

Developer of the application

DeveloperEmail

String

Email ID of the developer

DeveloperPhone

String

Phone number of the developer

DeviceType

String

Type of the device used

EnableProvisioning

Boolean

Is provisioning needs to be enabled or not. Supported values are True
and False.

FileName

String

Name of the file

ApplicationDependencyId

Numeric

Unique application dependency identifier

PatchBlobId

Numeric

Blob ID of the application patch

PatchType

String

Application patch type

TransformBlobId

Numeric

Blob ID of app transformation list

CustomScriptType

String

For application uninstall process, specify the type of custom script

UninstallCommand

String

Specify the uninstall command for application uninstall process

UninstallScriptBlobId

Numeric

Specify the blob ID of the uninstall script for application uninstall
process

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

247

Chapter 4: Application Management

UseCustomScript

Boolean

Whether to use custom script or not

IsSystemApp

Boolean

Indicate if the application is a seeded dependency application within
the AirWatch system

LocationGroupId

Numeric

Unique identifier of the Organization Group

Name

String

Name of the application

PackageFamilyName

String

Name of the package family

PackageId

String

Unique identifier of the package

ProcessorArchitecture

String

The architecture type of the end user devices that the application
supports

Version

String

Version of the application

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

248

Chapter 4: Application Management

Retrieve List of Windows App Dependency Files
Functionality – Retrieves the list of saved Windows app dependency files for current organization group and child
Organization Groups.
HTTP Method – GET
API URI – https://host/api/mam/apps/internal/windowsappdependencies/{organizationGroupId}
Request Payload – NA

URI Parameters
Tag

Type

Description

organizationGroupId

Numeric

Identifier of the Organization Group

Response Payload
XML



Numeric
String
Numeric
Boolean
Numeric
String
String
String
String



VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

249

Chapter 4: Application Management

JSON

[
{
"id" : Numeric,
"BlobId" : Numeric,
"IsSystemApp" : Boolean,
"LocationGroupId" : Numeric,
"Name" : "String",
"PackageFamilyName" : "String",
"PackageId" : "String",
"ProcessorArchitecture" : "String",
"Version" : "String"
}
]

Response Tag Details
Tag

Type

Description

BlobId

Numeric

Unique identifier obtained from the "Upload Blob" API response

IsSystemApp

Boolean

Indicate if the application is a seeded dependency application within
the AirWatch system

LocationGroupId

Numeric

Numeric ID of the organization group to retrieve list of Windows
application dependency files

Name

String

Name of the application

PackageFamilyName

String

Name of the package family

PackageId

String

Unique identifier of the package

ProcessorArchitecture

String

The architecture type of the end user devices that the application
supports

Version

String

Version of the application

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

250

Chapter 4: Application Management

Delete Windows Dependency Application
Functionality – Deletes the Windows dependency application specified by ID.
HTTP Method – DELETE
API URI – https://host/api/mam/apps/internal/windowsappdependency/{windowsAppDependencyId}

URI Parameters
Tag

Type

Description

windowsAppDependencyId

Numeric

Identifier of the dependency to be deleted

Request Payload – NA
Response Obtained – NA

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

251

Chapter 4: Application Management

Search and Retrieve Removal Logs for Internal Applications
Functionality – Searches and retrieves removal logs for internal applications.
If the number of remove application commands queued in a set time interval exceeds the configured threshold, the
commands are put in locked state. This API method returns the details of the commands that are put in locked state.
HTTP Method – GET
API URI – https://host/api/mam/apps/removallogs?organizationgroupid={organizationgroupid}&bundleid=
{bundleid}&status={status}&page={page}&pagesize={pagesize}&orderby={orderby}
Response Payload – N/A

URI Parameters
Tag

Type

Description

bundleid

String

Bundle ID or package ID of the application

organizationgroupid

String

Unique identifier of the Organization Group

status

String

Status of the command

page

String

Page number

pagesize

String

Number of records per page

orderby

String

Order by column name

Response Payload
XML



Numeric


Numeric


Datetime
Datetime
String
Numeric
Numeric
Numeric


VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

252

Chapter 4: Application Management




JSON

{
"ResultSet" : [
{
"CreatedOn" : "Datetime",
"ModifiedOn" : "Datetime",
"Identifier" : "String",
"Source" : Numeric,
"ThresholdStatus" : Numeric,
"ThresholdId" : Numeric
}
],
"AdditionalInfo" : {
"Links" : [],
"id" : Numeric
},
"TotalResults" : Numeric
}

Response Tag Details
Tag

Type

Description

CreatedOn

Datetime

Timestamp when the internal application was last created

ModifiedOn

Datetime

Timestamp when the internal application was last modified

Identifier

String

Unique identifier of the application

Source

Numeric

Source of the internal application

ThresholdStatus

Numeric

Indicates the action taken or to be taken by the administrator on the
held commands. The values can be Held for admin approval,
Commands released to devices, and Commands dismissed from the
queue.

ThresholdId

Numeric

Identifier for the log record. This should be passed as an input in the
‘PUT’ request body to take action on the held remove commands.

Links

String

Link to download the application

id

Numeric

Unique identifier of the Organization Group

TotalResults

Numeric

Total results shown per page

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

253

Chapter 4: Application Management

Update Removal Logs
Functionality – Updates the action taken on the threshold. Either unlock/clear the threshold. On unlock, the commands
are sent to the device. On clear, the commands are purged from the queue.
Note:Add the assignments back to the application if you choose to dismiss the remove commands. This is to prevent
the applications from being removed from devices on subsequent checks for assignment or entitlement.
HTTP Method – PUT
API URI – https://host/api/mam/apps/removallogs?organizationgroupid={organizationgroupid}

URI Parameters
Tag

Type

Description

organizationgroupid

String

Unique identifier of the Organization Group

Response Obtained – NA

Request Payload
XML


Numeric
Numeric


JSON

{
"ThresholdId" : Numeric,
"NewThresholdStatus" : Numeric
}

Request Tag Details
Tag

Mandatory

Description

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

254

Chapter 4: Application Management

ThresholdId

Yes

Identifier for the log record. This should be passed as an input in the
‘PUT’ request body to take action on the held remove commands.

NewThresholdStatus

Yes

Indicates the action to be taken by the administrator on the held
commands. The values can be one of the following: Release
commands to devices, Dismiss commands from the queue.

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

255

Chapter 5:
Content Management
Overview

258

Personal Content Overview

258

Retrieve List of Files and Folders

259

Move Files to Target Folder

263

Delete a File

267

Retrieve File Metadata

268

Share Content

271

Download File

273

Remove File Sharing

274

Get File Sharing Information

275

Update File Metadata Information

277

Upload Content/Files

282

Explicit Upload Initialize

286

Explicit Upload Finalize

288

Retrieve Folder Information

291

Create Folder

294

Update Folder

298

Move Folder

302

Delete Folder

306

Return Sharing Metadata

307

Retrieve Collaborator List

309

Remove Sharing

311
VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

256

Chapter 5: Content Management

Share Folder with Users or UserGroups

312

Update Collaborator

316

Remove Sharing on Collaborator Folder

320

Update Collaborator of Shared Folder

322

Retrieve Admin Storage Information

326

Managed Content Overview

327

Retrieve All Categories

328

Create New Category

330

Delete Category

332

Update Category

333

Upload AirWatch Managed Content

335

Download AirWatch Managed Content

340

Delete AirWatch Managed Content

341

Retrieve AirWatch Managed Content

342

Update AirWatch Managed Content

347

Retrieve List of AirWatch Managed Content

354

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

257

Chapter 5: Content Management

Overview
AirWatch REST APIs provide the ability to access and manage both Personal Content and AirWatch Managed Content.
You need to have separate API account types to access Personal Content APIs and Managed Content APIs.
Note: Personal Content APIs only support Basic Authentication. For more details, please refer API Authentication on
page 32. For more details on configuring Personal Content APIs and Managed Content APIs, see Enabling Personal
Content API Access on page 29.

Personal Content Overview
With Enrollment User as account type, you can access all the Personal Content APIs. To do this, navigate to Groups
& Settings > All Settings > System > Advanced > API > REST API, and select Add, to generate API key for the service and
account type as Enrollment User. Using Personal Content APIs, you can add, move, share, and delete Files and Folders.
Personal Content details can be viewed on the AirWatch Self Service Portal:
l

Personal Content – Self Service Portal > My Content.

Personal Content APIs are divided into three parts:
l

l

l

Contents – Personal Content APIs perform operations to obtain information about the files and folder structure
within AirWatch Personal Content.
Files – Personal Content Files APIs perform operations to obtain information about the files and to perform actions
on them.
Folders – Personal Content Folder APIs perform operations to obtain information about the folders and to perform
actions on them.

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

258

Chapter 5: Content Management

Retrieve List of Files and Folders
Functionality – Retrieves the list of Files and Folders.
HTTP Method – GET
API URI – https://host/api/mcm/contents?queryString={queryString}&folderId={folderId}&mimeType=
{mimeType}&includeTrashed={includeTrashed}&isShared={isShared}&modifiedSince={modifiedSince}&pageSize=
{pageSize}&startIndex={startIndex}
Request Payload – NA

URI Parameters
Tag

Type

Description

queryString

String

Searches for the string value in the File or Folder Name

folderId

Numeric

The unique identifier for the Folder being queried. If the Folder ID is not
provided, the Contents at the Root Level are displayed

mimeType

String

Filter contents by Mime Type

includeTrashed

Boolean

Include Content that has already been moved to the Trash Folder

isShared

Boolean

Filter by shared contents. If set to 'True', only Shared Content is
returned

modifiedSince

Datetime

Filter by Content that has been modified on or after the specified Date

startIndex

Numeric

Start index of page

pageSize

Numeric

Specifies the number of results returned per Page

Response Payload
XML



Numeric


String
String



Numeric



VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

259

Chapter 5: Content Management

Numeric


String
String
String


String
String
String
String
String
String
Boolean
Boolean
Boolean
String
Boolean
Boolean
String
String
String
String
String
Numeric
Datetime
Datetime





JSON

{
"AdditionalInfo": {
"Links":[{
"Href":"String",
"Rel":"String",
}],
},
"TotalResults":Numeric
"content":[
{

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

260

Chapter 5: Content Management

"Links":[{
"Href":"String",
"Rel":"String",
}],
"contentId":"String",
"parentId":"String",
"name":"String",
"mimeType":"String",
"sharingRole":"String",
"owner":"String",
"isFavorite":Boolean,
"isTrashed":Boolean,
"isShared":Boolean,
"downloadMethod":"String",
"downloadWhileRoaming":Boolean,
"forceEncryption":Boolean,
"currentVersionNumber":"String",
"description":"String",
"notes":"String",
"subject":"String",
"downloadLink":"String",
"size":Numeric,
"createdOn":"Datetime
"modifiedOn":"Datetime
},
],
}

Response Tag Details
Tag

Type

Description

contentId

String

Unique identifier for the content

parentId

String

Unique identifier of the parent organization group

name

String

Name of the content

mimeType

String

Type of the MIME to filter contents

sharingRole

String

Type of the sharing role; Co-owner, Editor, or Reader

owner

String

Owner of the content

isFavorite

Boolean

Is the content favorite. True or False

isTrashed

Boolean

Is the content trashed. True or False

isShared

Boolean

Is the content shared. True or False

downloadMethod

String

Method used to download the content

downloadWhileRoaming

Boolean

Whether to download content while roaming. True or False

forceEncryption

Boolean

Whether to force encrypt the content. True or False

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

261

Chapter 5: Content Management

currentVersionNumber

String

The current version of the content

description

String

Description about the content

notes

String

Additional notes regarding the content

subject

String

Subject of the content

downloadLink

String

Link to download the content

size

Numeric

Size of the content

createdOn

Datetime

Time stamp when the content was created

modifiedOn

Datetime

Time stamp when the content was last modified

AdditionalInfo

String

Additional information about the content

TotalResults

Numeric

Total results shown per page

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

262

Chapter 5: Content Management

Move Files to Target Folder
Functionality – Moves given file to destination folder given in the request.
HTTP Method – PATCH
API URI – https://host/api/mcm/contents/files/{id}

URI Parameters
Tag

Type

Description

id

String

Unique identifier of the file

Request Payload
XML


Numeric
String
String
String
String
String
String
Boolean
Boolean
String
Boolean
Boolean
String
String
String
String
String
Numeric
Datetime
Datetime


VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

263

Chapter 5: Content Management

JSON

{
"contentId":"String"
}

Request Tag Details
Tag

Mandatory

Description

contentId

Yes

Unique identifier for the content

Response Payload
XML


Numeric


String
String


String
String
String
String
String
String
Boolean
Boolean
Boolean
String
Boolean
Boolean
String
String
String
String
String
Numeric
Datetime
Datetime

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

264

Chapter 5: Content Management



JSON

{
"Links":[{
"Href":"String",
"Rel":"String",
}],
"contentId":"String",
"parentId":"String",
"name":"String",
"mimeType:"String",
"sharingRole":"String",
"owner":"String",
"isFavorite":Boolean,
"isTrashed":Boolean,
"isShared":Boolean,
"downloadMethod":"String",
"downloadWhileRoaming":Boolean,
"forceEncryption":Boolean,
"currentVersionNumber":"String",
"description":"String",
"notes":"String",
"subject":"String",
"downloadLink":"String",
"size":Numeric,
"createdOn":"Datetime
"modifiedOn":"Datetime
}

Response Tag Details
Tag

Type

Description

contentId

String

Unique identifier for the content

parentId

String

Unique identifier of the parent organization group

name

String

Name of the content

mimeType

String

Type of the MIME to filter contents

sharingRole

String

Type of the sharing role; Co-owner, Editor, or Reader

owner

String

Owner of the content

isFavorite

Boolean

Is the content favorite. True or False

isTrashed

Boolean

Is the content trashed. True or False

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

265

Chapter 5: Content Management

isShared

Boolean

Is the content shared. True or False

downloadMethod

String

Method used to download the content

downloadWhileRoaming

Boolean

Whether to download content while roaming. True or False

forceEncryption

Boolean

Whether to force encrypt the content. True or False

currentVersionNumber

String

The current version of the content

description

String

Description about the content

notes

String

Additional notes regarding the content

subject

String

Subject of the content

downloadLink

String

Link to download the content

size

Numeric

Size of the content

createdOn

Datetime

Time stamp when the content was created

modifiedOn

Datetime

Time stamp when the content was last modified

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

266

Chapter 5: Content Management

Delete a File
Functionality – Deletes a file.
HTTP Method – DELETE
API URI – https://host/api/mcm/contents/files/{id}

URI Parameters
Tag

Type

Description

id

String

Unique identifier of the file

Request Payload – NA

Response Payload
JSON

{}

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

267

Chapter 5: Content Management

Retrieve File Metadata
Functionality – Retrieves the file metadata.
HTTP Method – GET
API URI – https://host/api/mcm/contents/files/{id}/info
Request Payload – NA

URI Parameters
Tag

Type

Description

id

String

Unique identifier of the file

Response Payload
XML


Numeric


String
String


String
String
String
String
String
String
Boolean
Boolean
Boolean
String
Boolean
Boolean
String
String
String
String
String
Numeric
Datetime

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

268

Chapter 5: Content Management

Datetime


JSON

{
"Links":[{
"Href":"String",
"Rel":"String"
}],
"contentId":"String",
"parentId":"String",
"name":"String",
"mimeType:"String",
"sharingRole":"String",
"owner":"String",
"isFavorite":Boolean,
"isTrashed":Boolean,
"isShared":Boolean,
"downloadMethod":"String",
"downloadWhileRoaming":Boolean,
"forceEncryption":Boolean,
"currentVersionNumber":"String",
"description":"String",
"notes":"String",
"subject":"String",
"downloadLink":"String",
"size":Numeric,
"createdOn":"Datetime
"modifiedOn":"Datetime
"id":Numeric
}

Response Tag Details
Tag

Type

Description

contentId

String

Unique identifier for the content

parentId

String

Unique identifier of the parent organization group

name

String

Name of the content

mimeType

String

Type of the MIME to filter contents

sharingRole

String

Type of the sharing role; Co-owner, Editor, or Reader

owner

String

Owner of the content

isFavorite

Boolean

Is the content favorite. True or False

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

269

Chapter 5: Content Management

isTrashed

Boolean

Is the content trashed. True or False

isShared

Boolean

Is the content shared. True or False

downloadMethod

String

Method used to download the content

downloadWhileRoaming

Boolean

Whether to download content while roaming. True or False

forceEncryption

Boolean

Whether to force encrypt the content. True or False

currentVersionNumber

String

The current version of the content

description

String

Description about the content

notes

String

Additional notes regarding the content

subject

String

Subject of the content

downloadLink

String

Link to download the content

size

Numeric

Size of the content

createdOn

Datetime

Time stamp when the content was created

modifiedOn

Datetime

Time stamp when the content was last modified

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

270

Chapter 5: Content Management

Share Content
Functionality – Create a shared link for a file.
HTTP Method – POST
API URI – https://host/api/mcm/contents/files/{id}/shares

URI Parameters
Tag

Type

Description

id

String

Unique identifier of the file

Request Payload – NA

Response Payload
XML


Numeric
String
String
String
String
String
String
Boolean
Boolean
Boolean
Numeric


JSON

{
"currentDownloads" : Numeric,
"expiryDays" : "String",
"isDaysExpired" : Boolean,
"isDeactivated" : Boolean,
"isDownloadExpired" : Boolean,
"link" : "String",
"maxDownloadCount" : "String",
"password" : "String",
"token" : "String",
"viewOnly" : "String"

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

271

Chapter 5: Content Management

}

Response Tag Details
Tag

Type

Description

currentDownloads

Numeric

Number of content downloads

expiryDays

String

Number of days set to expire the content

isDaysExpired

Boolean

Whether the content is expired. Values: True, False

isDeactivated

Boolean

Whether the content is deactivated. Values: True, False

isDownloadExpired

Boolean

Whether the downloaded content is expired. Values: True, False

link

String

Link to download the content

maxDownloadCount

String

Maximum number of content download counts

password

String

Password to open the content

token

String

Token of the content

viewOnly

String

Content only viewable

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

272

Chapter 5: Content Management

Download File
Functionality – Downloads a file.
HTTP Method – GET
API URI – https://host/api/mcm/contents/files/{id}

URI Parameters
Tag

Type

Description

id

String

Unique identifier of blob

Request Body – NA
Response Obtained – NA

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

273

Chapter 5: Content Management

Remove File Sharing
Functionality – Remove sharing on a file if you are the owner.
HTTP Method – DELETE
API URI – https://host/api/mcm/contents/files/{id}/shares

URI Parameters
Tag

Type

Description

id

String

Unique identifier of the file

Request Body – NA
Response Obtained – NA

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

274

Chapter 5: Content Management

Get File Sharing Information
Functionality – Getting sharing information on a file if you are the owner.
HTTP Method – GET
API URI – https://host/api/mcm/contents/files/{id}/shares
Request Body – NA

URI Parameters
Tag

Type

Description

id

String

Unique identifier of the file

Response Payload
XML


Numeric
String
String
String
String
String
String
Boolean
Boolean
Boolean
Numeric


JSON

{
"currentDownloads" : Numeric,
"expiryDays" : "String",
"isDaysExpired" : Boolean,
"isDeactivated" : Boolean,
"isDownloadExpired" : Boolean,
"link" : "String",
"maxDownloadCount" : "String",
"password" : "String",
"token" : "String",
"viewOnly" : "String"

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

275

Chapter 5: Content Management

}

Response Tag Details
Tag

Type

Description

currentDownloads

Numeric

Number of current downloads

expiryDays

String

Number of days for file expiry

isDaysExpired

Boolean

True or False if the file is expired

isDeactivated

Boolean

True of False of the file is deactivated

isDownloadExpired

Boolean

True or false if the file download expired

link

String

Link to download the file

maxDownloadCount

String

Count of maximum number of downloads

password

String

Password to access file

token

String

File token

viewOnly

String

File can only be viewed

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

276

Chapter 5: Content Management

Update File Metadata Information
Functionality – Updates the file metadata information (name, description, notes and subject).
HTTP Method – PUT
API URI – https://host/api/mcm/contents/files/{id}/info

URI Parameters
Tag

Type

Description

id

String

Unique identifier of the file

Request Payload
XML


Numeric
String
String
String
String
String
String
Boolean
Boolean
Boolean
String
Boolean
Boolean
String
String
String
String
String
Numeric
Datetime
Datetime


JSON

{
"name":"String",

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

277

Chapter 5: Content Management

"description":"String",
"notes":"String",
"subject":"String",
}

Request Tag Details
Tag

Mandatory

Description

name

No

Name of the content

description

No

Description about the content

notes

No

Additional notes regarding the content

subject

No

Subject of the content

Response Payload
XML


Numeric


String
String


String
String
String
String
String
String
Boolean
Boolean
Boolean
String
Boolean
Boolean
String
String
String
String

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

278

Chapter 5: Content Management

String
Numeric
Datetime
Datetime


VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

279

Chapter 5: Content Management

JSON

{
"Links":[{
"Href":"String",
"Rel":"String",
}],
"contentId":"String",
"parentId":"String",
"name":"String",
"mimeType:"String",
"sharingRole":"String",
"owner":"String",
"isFavorite":Boolean,
"isTrashed":Boolean,
"isShared":Boolean,
"downloadMethod":"String",
"downloadWhileRoaming":Boolean,
"forceEncryption":Boolean,
"currentVersionNumber":"String",
"description":"String",
"notes":"String",
"subject":"String",
"downloadLink":"String",
"size":Numeric,
"createdOn":"Datetime
"modifiedOn":"Datetime
"id":Numeric
}

Response Tag Details
Tag

Type

Description

contentId

String

Unique identifier for the content

parentId

String

Unique identifier of the parent organization group

name

String

Name of the content

mimeType

String

Type of the MIME to filter contents

sharingRole

String

Type of the sharing role; Co-owner, Editor, or Reader

owner

String

Owner of the content

isFavorite

Boolean

Is the content favorite. True or False

isTrashed

Boolean

Is the content trashed. True or False

isShared

Boolean

Is the content shared. True or False

downloadMethod

String

Method used to download the content

downloadWhileRoaming

Boolean

Whether to download content while roaming. True or False

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

280

Chapter 5: Content Management

forceEncryption

Boolean

Whether to force encrypt the content. True or False

currentVersionNumber

String

The current version of the content

description

String

Description about the content

notes

String

Additional notes regarding the content

subject

String

Subject of the content

downloadLink

String

Link to download the content

size

Numeric

Size of the content

createdOn

Datetime

Time stamp when the content was created

modifiedOn

Datetime

Time stamp when the content was last modified

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

281

Chapter 5: Content Management

Upload Content/Files
Functionality – Uploads small files to the database using simple upload method. This method is used when Rfs is not
configured and the file is relatively small.

Important Note
Use this approach to send file metadata along with file binary in the same request.
l

l

Sample request header – "Content-Type: multipart/form-data; boundary=CUSTOM_BOUNDARY".
Sample request body – "CUSTOM_BOUNDARY Content-Disposition: form-data; name="fileMetadata" Content-Type:
application/json {"Title":"Pic1.jpg", "Description":"First upload attempt"} CUSTOM_BOUNDARY ContentDisposition: form-data; name="fileBinary"; filename="Pic1.jpg" Content-Type: image/jpeg Content-Length: 23548 ....
file binary here .... CUSTOM_BOUNDARY

HTTP Method – POST
API URI – https://host/api/mcm/contents/files/simpleupload

Request Payload
XML



JSON

{}

Request Sample

POST /contents/files HTTP/1.1
Host: String
Authorization: String
aw-tenant-code: String
aw-groupid: String
Content-Type: multipart/form-data; boundary=---WebKitFormBoundary7MA4YWxkTrZu0gW
Accept: application/json
Cache-Control: no-cache
Postman-Token: String

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

282

Chapter 5: Content Management

----WebKitFormBoundary
Content-Disposition: form-data; name="fileMetadata"
Content-Type: application/json
{"Title":"Pic1.jpg", "Description":"First upload attempt"}
----WebKitFormBoundary
Content-Disposition: form-data; name="fileBinary"; filename="Pic1.jpg"
Content-Type: image/jpeg
Content-Length: Numeric
.... file binary here ....
----WebKitFormBoundary

Response Payload
XML


Numeric


String
String


String
String
String
String
String
String
Boolean
Boolean
Boolean
String
Boolean
Boolean
String
String
String
String
String
Numeric
Datetime
Datetime

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

283

Chapter 5: Content Management



JSON

{
"Links":[{
"Href":"String",
"Rel":"String",
}],
"contentId":"String",
"parentId":"String",
"name":"String",
"mimeType:"String",
"sharingRole":"String",
"owner":"String",
"isFavorite":Boolean,
"isTrashed":Boolean,
"isShared":Boolean,
"downloadMethod":"String",
"downloadWhileRoaming":Boolean,
"forceEncryption":Boolean,
"currentVersionNumber":"String",
"description":"String",
"notes":"String",
"subject":"String",
"downloadLink":"String",
"size":Numeric,
"createdOn":"Datetime
"modifiedOn":"Datetime
}

Response Tag Details
Tag

Type

Description

contentId

String

Unique identifier for the content

parentId

String

Unique identifier of the parent organization group

name

String

Name of the content

mimeType

String

Type of the MIME to filter contents

sharingRole

String

Type of the sharing role; Co-owner, Editor, or Reader

owner

String

Owner of the content

isFavorite

Boolean

Is the content favorite. True or False

isTrashed

Boolean

Is the content trashed. True or False

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

284

Chapter 5: Content Management

isShared

Boolean

Is the content shared. True or False

downloadMethod

String

Method used to download the content

downloadWhileRoaming

Boolean

Whether to download content while roaming. True or False

forceEncryption

Boolean

Whether to force encrypt the content. True or False

currentVersionNumber

String

The current version of the content

description

String

Description about the content

notes

String

Additional notes regarding the content

subject

String

Subject of the content

downloadLink

String

Link to download the content

size

Numeric

Size of the content

createdOn

Datetime

Time stamp when the content was created

modifiedOn

Datetime

Time stamp when the content was last modified

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

285

Chapter 5: Content Management

Explicit Upload Initialize
Functionality – Explicit upload is the approach that you can use to upload big files to Rfs. Also you have to update the
metadata of the file in a separate request.
Explicit upload is carried out in three steps:
1. Initalize step – Initialize the upload operation by sending file name, size, folder id (optional), server responds with
upload url and finalize url.
2. Upload step – Upload the file using upload url that you have got from the server. You will get the file hash in this
step.
3. Finalize step – Expose the Finalize url after substituting hash place holder '$hash$' with the actual hash that you
have got from step# 2. This is the Initialize step endpoint, you will get Rfs Upload Url and Finalize Url from this step.
HTTP Method – POST
API URI – https://host/api/mcm/contents/files/explicitupload/initialize?name={name}&folderId=
{folderId}&contentLength={contentLength}
Request Payload – NA

URI Parameters
Tag

Type

Description

name

String

File name along with the Extension

folderId

Numeric

Numeric identifier of the folder to which you want to upload the file.
Root folder is the default

contentLength

Long

File size in bytes

Response Palyload
XML


String
String


VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

286

Chapter 5: Content Management

JSON

{
"UploadUrl":"String",
"FinalizeUrl":"String"
}

Response Tag Details
Tag

Type

Description

UploadUrl

String

URL to upload the file

FinalizeUrl

String

URL to finalize the procedure and to expose the file

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

287

Chapter 5: Content Management

Explicit Upload Finalize
Functionality – Explicit upload is the approach that you can use to upload big files to Rfs. Also you have to update the
metadata of the file in a separate request.
Explicit upload is carried out in three steps:
1. Initalize step – Initialize the upload operation by sending file name, size, folder id (optional), server responds with
upload url and finalize url.
2. Upload step – Upload the file using upload url that you have got from the server. You will get the file hash in this
step.
3. Finalize step – Expose the Finalize url after substituting hash place holder '$hash$' with the actual hash that you
have got from step# 2. This is the Finalize step endpoint, when you expose it successfully, you should see the file in
the personal content repository.
HTTP Method – POST
API URI – https://host/api/mcm/contents/files/explicitupload/finalize?name={name}&folderId=
{folderId}&contentLength={contentLength}&externalFileID={externalFileID}&externalFileHash={externalFileHash}
Request Payload – NA

URI Parameters
Tag

Type

Description

name

String

File name along with the Extension

folderId

Numeric

Numeric identifier of the folder to which you want to upload the file.
Root folder is the default

contentLength

Long

File size in bytes

externalFileID

String

External file id for the file you've uploaded it to Rfs

externalFileHash

String

External file hash for the file you've uploaded it to Rfs

Response Payload
XML


Numeric


String

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

288

Chapter 5: Content Management

String


String
String
String
String
String
String
Boolean
Boolean
Boolean
String
Boolean
Boolean
String
String
String
String
String
Numeric
Datetime
Datetime


JSON

{
"Links":[{
"Href":"String",
"Rel":"String",
}],
"contentId":"String",
"parentId":"String",
"name":"String",
"mimeType:"String",
"sharingRole":"String",
"owner":"String",
"isFavorite":Boolean,
"isTrashed":Boolean,
"isShared":Boolean,
"downloadMethod":"String",
"downloadWhileRoaming":Boolean,
"forceEncryption":Boolean,
"currentVersionNumber":"String",
"description":"String",
"notes":"String",

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

289

Chapter 5: Content Management

"subject":"String",
"downloadLink":"String",
"size":Numeric,
"createdOn":"Datetime
"modifiedOn":"Datetime
}

Response Tag Details
Tag

Type

Description

contentId

String

Unique identifier for the content

parentId

String

Unique identifier of the parent organization group

name

String

Name of the content

mimeType

String

Type of the MIME to filter contents

sharingRole

String

Type of the sharing role; Co-owner, Editor, or Reader

owner

String

Owner of the content

isFavorite

Boolean

Is the content favorite. True or False

isTrashed

Boolean

Is the content trashed. True or False

isShared

Boolean

Is the content shared. True or False

downloadMethod

String

Method used to download the content

downloadWhileRoaming

Boolean

Whether to download content while roaming. True or False

forceEncryption

Boolean

Whether to force encrypt the content. True or False

currentVersionNumber

String

The current version of the content

description

String

Description about the content

notes

String

Additional notes regarding the content

subject

String

Subject of the content

downloadLink

String

Link to download the content

size

Numeric

Size of the content

createdOn

Datetime

Time stamp when the content was created

modifiedOn

Datetime

Time stamp when the content was last modified

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

290

Chapter 5: Content Management

Retrieve Folder Information
Functionality – Retrieves the folder information.
HTTP Method – GET
API URI – https://host/api/mcm/contents/folders/{id}/info
Request Payload – NA

URI Parameters
Tag

Type

Description

id

String

Unique Identifier for the Folder being queried

Response Payload
XML


Numeric


String
String


String
String
String
String
String
String
Boolean
Boolean
Boolean
String
Boolean
Boolean
String
String
String
String
String
Numeric
Datetime

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

291

Chapter 5: Content Management

Datetime


JSON

{
"Links":[{
"Href":"String",
"Rel":"String",
}],
"contentId":"String",
"parentId":"String",
"name":"String",
"mimeType:"String",
"sharingRole":"String",
"owner":"String",
"isFavorite":Boolean,
"isTrashed":Boolean,
"isShared":Boolean,
"downloadMethod":"String",
"downloadWhileRoaming":Boolean,
"forceEncryption":Boolean,
"currentVersionNumber":"String",
"description":"String",
"notes":"String",
"subject":"String",
"downloadLink":"String",
"size":Numeric,
"createdOn":"Datetime
"modifiedOn":"Datetime
}

Response Tag Details
Tag

Type

Description

contentId

String

Unique identifier for the folder

parentId

String

Unique identifier of the parent organization group

name

String

Name of the folder

mimeType

String

Type of the MIME to filter folder

sharingRole

String

Type of the sharing role; Co-owner, Editor, or Reader

owner

String

Owner of the folder

isFavorite

Boolean

Is the folder favorite. True or False

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

292

Chapter 5: Content Management

isTrashed

Boolean

Is the folder trashed. True or False

isShared

Boolean

Is the folder shared. True or False

downloadMethod

String

Method used to download the content

downloadWhileRoaming

Boolean

Whether to download content while roaming. True or False

forceEncryption

Boolean

Whether to force encrypt the content. True or False

currentVersionNumber

String

The current version of the content

description

String

Description about the content

notes

String

Additional notes regarding the content

subject

String

Subject of the content

downloadLink

String

Link to download the content

size

Numeric

Size of the folder

createdOn

Datetime

Time stamp when the content was created

modifiedOn

Datetime

Time stamp when the content was last modified

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

293

Chapter 5: Content Management

Create Folder
Functionality – Creates a folder.
HTTP Method – POST
API URI – https://host/api/mcm/contents/folders

Request Payload
XML


Numeric
String
String
Boolean
Boolean
String


JSON

{
"name":"String",
"parentFolderId":"String",
"downloadWhileRoaming":Boolean,
"allowEncryption":Boolean,
"downloadMethod":"String"
}

Request Tag Details
Tag

Mandatory

Description

name

Yes

Name of the folder

parentFolderId

Yes

Unique identifier of the parent folder

downloadWhileRoaming

Yes

Whether to download content while roaming. True or False

allowEncryption

Yes

Whether to allow encryption of the folder and its contents

downloadMethod

Yes

Method used to download the content

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

294

Chapter 5: Content Management

Response Payload
XML


Numeric


String
String


String
String
String
String
String
String
Boolean
Boolean
Boolean
String
Boolean
Boolean
String
String
String
String
String
Numeric
Datetime
Datetime


JSON

{
"Links":[{
"Href":"String",
"Rel":"String",
}],
"contentId":"String",
"parentId":"String",
"name":"String",
"mimeType:"String",

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

295

Chapter 5: Content Management

"sharingRole":"String",
"owner":"String",
"isFavorite":Boolean,
"isTrashed":Boolean,
"isShared":Boolean,
"downloadMethod":"String",
"downloadWhileRoaming":Boolean,
"forceEncryption":Boolean,
"currentVersionNumber":"String",
"description":"String",
"notes":"String",
"subject":"String",
"downloadLink":"String",
"size":Numeric,
"createdOn":"Datetime
"modifiedOn":"Datetime
}

Response Tag Details
Tag

Type

Description

contentId

String

Unique identifier for the folder

parentId

String

Unique identifier of the parent organization group

name

String

Name of the folder

mimeType

String

Type of the MIME to filter folder

sharingRole

String

Type of the sharing role; Co-owner, Editor, or Reader

owner

String

Owner of the folder

isFavorite

Boolean

Is the folder favorite. True or False

isTrashed

Boolean

Is the folder trashed. True or False

isShared

Boolean

Is the folder shared. True or False

downloadMethod

String

Method used to download the content

downloadWhileRoaming

Boolean

Whether to download content while roaming. True or False

forceEncryption

Boolean

Whether to force encrypt the content. True or False

currentVersionNumber

String

The current version of the content

description

String

Description about the content

notes

String

Additional notes regarding the content

subject

String

Subject of the content

downloadLink

String

Link to download the content

size

Numeric

Size of the folder

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

296

Chapter 5: Content Management

createdOn

Datetime

Time stamp when the content was created

modifiedOn

Datetime

Time stamp when the content was last modified

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

297

Chapter 5: Content Management

Update Folder
Functionality – Updates the folder metadata.
HTTP Method – PUT
API URI – https://host/api/mcm/contents/folders/{id}/info

URI Parameters
Tag

Type

Description

id

String

Unique identifier of the folder

Request Payload
XML


Numeric
String
String
Boolean
Boolean
String


JSON

{
"name":"String",
"parentFolderId":"String",
"downloadWhileRoaming":Boolean,
"allowEncryption":Boolean,
"downloadMethod":"String"
}

Request Tag Details
Tag

Mandatory

Description

name

Yes

Name of the folder

parentFolderId

Yes

Unique identifier of the parent folder

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

298

Chapter 5: Content Management

downloadWhileRoaming

Yes

Whether to download content while roaming. True or False

allowEncryption

Yes

Whether to allow encryption of the folder and its contents

downloadMethod

Yes

Method used to download the content

Response Payload
XML


Numeric


String
String


String
String
String
String
String
String
Boolean
Boolean
Boolean
String
Boolean
Boolean
String
String
String
String
String
Numeric
Datetime
Datetime


JSON

{
"Links":[{
"Href":"String",
"Rel":"String",
}],

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

299

Chapter 5: Content Management

"contentId":"String",
"parentId":"String",
"name":"String",
"mimeType:"String",
"sharingRole":"String",
"owner":"String",
"isFavorite":Boolean,
"isTrashed":Boolean,
"isShared":Boolean,
"downloadMethod":"String",
"downloadWhileRoaming":Boolean,
"forceEncryption":Boolean,
"currentVersionNumber":"String",
"description":"String",
"notes":"String",
"subject":"String",
"downloadLink":"String",
"size":Numeric,
"createdOn":"Datetime
"modifiedOn":"Datetime
}

Response Tag Details
Tag

Type

Description

contentId

String

Unique identifier for the folder

parentId

String

Unique identifier of the parent organization group

name

String

Name of the folder

mimeType

String

Type of the MIME to filter folder

sharingRole

String

Type of the sharing role; Co-owner, Editor, or Reader

owner

String

Owner of the folder

isFavorite

Boolean

Is the folder favorite. True or False

isTrashed

Boolean

Is the folder trashed. True or False

isShared

Boolean

Is the folder shared. True or False

downloadMethod

String

Method used to download the content

downloadWhileRoaming

Boolean

Whether to download content while roaming. True or False

forceEncryption

Boolean

Whether to force encrypt the content. True or False

currentVersionNumber

String

The current version of the content

description

String

Description about the content

notes

String

Additional notes regarding the content

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

300

Chapter 5: Content Management

subject

String

Subject of the content

downloadLink

String

Link to download the content

size

Numeric

Size of the folder

createdOn

Datetime

Time stamp when the content was created

modifiedOn

Datetime

Time stamp when the content was last modified

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

301

Chapter 5: Content Management

Move Folder
Functionality – Moves a folder to the destination folder given in the request.
HTTP Method – PATCH
API URI – https://host/api/mcm/contents/folders/{id}

URI Parameters
Tag

Type

Description

id

String

Unique identifier of the folder

Request Payload
XML


Numeric
String
String
String
String
String
String
Boolean
Boolean
Boolean
String
Boolean
Boolean
String
String
String
String
String
Numeric
Datetime
Datetime


VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

302

Chapter 5: Content Management

JSON

{
"contentId":"String",
}

Request Tag Details
Tag

Mandatory

Description

contentId

Yes

Unique identifier for the folder

Response Payload
XML


Numeric


String
String


String
String
String
String
String
String
Boolean
Boolean
Boolean
String
Boolean
Boolean
String
String
String
String
String
Numeric
Datetime
Datetime

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

303

Chapter 5: Content Management



JSON

{
"Links":[{
"Href":"String",
"Rel":"String",
}],
"contentId":"String",
"parentId":"String",
"name":"String",
"mimeType:"String",
"sharingRole":"String",
"owner":"String",
"isFavorite":Boolean,
"isTrashed":Boolean,
"isShared":Boolean,
"downloadMethod":"String",
"downloadWhileRoaming":Boolean,
"forceEncryption":Boolean,
"currentVersionNumber":"String",
"description":"String",
"notes":"String",
"subject":"String",
"downloadLink":"String",
"size":Numeric,
"createdOn":"Datetime
"modifiedOn":"Datetime
}

Response Tag Details
Tag

Type

Description

contentId

String

Unique identifier for the folder

parentId

String

Unique identifier of the parent organization group

name

String

Name of the folder

mimeType

String

Type of the MIME to filter folder

sharingRole

String

Type of the sharing role; Co-owner, Editor, or Reader

owner

String

Owner of the folder

isFavorite

Boolean

Is the folder favorite. True or False

isTrashed

Boolean

Is the folder trashed. True or False

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

304

Chapter 5: Content Management

isShared

Boolean

Is the folder shared. True or False

downloadMethod

String

Method used to download the content

downloadWhileRoaming

Boolean

Whether to download content while roaming. True or False

forceEncryption

Boolean

Whether to force encrypt the content. True or False

currentVersionNumber

String

The current version of the content

description

String

Description about the content

notes

String

Additional notes regarding the content

subject

String

Subject of the content

downloadLink

String

Link to download the content

size

Numeric

Size of the folder

createdOn

Datetime

Time stamp when the content was created

modifiedOn

Datetime

Time stamp when the content was last modified

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

305

Chapter 5: Content Management

Delete Folder
Functionality – Deletes a folder.
HTTP Method – DELETE
API URI – https://host/api/mcm/contents/folders/{id}

URI Parameters
Tag

Type

Description

id

String

Unique identifier of the folder

Request Body – NA
Response Obtained – NA

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

306

Chapter 5: Content Management

Return Sharing Metadata
Functionality – Returns sharing metadata for the folder.
HTTP Method – GET
API URI – https://host/api/mcm/contents/folders/{id}/shares

URI Parameters
Tag

Type

Description

id

String

Unique identifier of the folder

Response Payload
XML


Numeric


String
String
String


String
Numeric
String


Numeric
String
String
String
String
Dateime




VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

307

Chapter 5: Content Management

JSON

{
"Links":[{
"Href":"String",
"Rel":"String",
}],
"folderId":"String",
"ownerUserId":Numeric,
"ownerName":"String",
"collaborators":[
{
"id":Numeric,
"name":"String",
"email":"String",
"type":"String",
"role":"String",
"actknowledgedAt":"Datetime
}
],
}

Response Tag Details
Tag

Type

Description

folderId

String

Unique identifier of the folder

ownerUserId

Numeric

Unique identifier of the owner who is sharing the folder

ownerName

String

Name of the owner who is sharing the folder

collaborator id

Numeric

Unique identifier of the collaborator

collaborator name

String

Name of the collaborator

collaborator email

String

Email address of the collaborator

collaborator type

String

Type of the collaborator

collaborator role

String

Role of the collaborator (Co-Owner, Reader, or Editor)

actknowledgedAt

Datetime

Time stamp when the folder was shared

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

308

Chapter 5: Content Management

Retrieve Collaborator List
Functionality – Retrieves the prospective collaborators list for the given folder.
HTTP Method – GET
API URI – https://host/api/mcm/contents/folders/{id}/collaborators?searchText={searchText}&type=
{type}&startIndex={startIndex}&pageSize={pageSize}

URI Parameters
Tag

Type

Description

id

String

Unique identifier of the folder

Response Payload
XML



Numeric


String
String
String



Numeric


Numeric
String
String
String
String
Datetime




VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

309

Chapter 5: Content Management

JSON

{
"AdditionalInfo": {
"Links":[{
"Href":"String",
"Rel":"String",
}],
},
"collaborators":[
{
"id":Numeric,
"name":"String",
"email":"String",
"type":"String",
"role":"String",
"actknowledgedAt":"Datetime
}
],
"TotalResults":Numeric
}

Response Tag Details
Tag

Type

Description

id

Numeric

Unique identifier of the collaborator

email

String

Email address of the collaborator

type

String

Type of the collaborator

role

String

Role of the collaborator (Co-Owner, Reader, or Editor)

actknowledgedAt

Datetime

Time stamp when the folder was shared

TotalResults

Numeric

Total results returned per page

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

310

Chapter 5: Content Management

Remove Sharing
Functionality – Removes sharing on folder if you are the owner. Otherwise, leave the folder.
HTTP Method – DELETE
API URI – https://host/api/mcm/contents/folders/{id}/shares

URI Parameters
Tag

Type

Description

id

String

Unique identifier of the folder

Request Payload – NA

Response Payload
JSON

{}

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

311

Chapter 5: Content Management

Share Folder with Users or UserGroups
Functionality – Shares a folder with users or usergroups. The API expects User Id or User Group Id, Role and Type to
share accordingly.
Important: If no userid present and emailid is mentioned then the user is considered to be external userid. This end
point accepts the collaborators list and shares the folder to them assuming that the folder is not shared to anyone
else yet.
HTTP Method – POST
API URI – https://host/api/mcm/contents/folders/{id}/shares

URI Parameters
Tag

Type

Description

id

String

Unique identifier of the folder

Request Payload
XML


Numeric


String
String
String


String
Numeric
String


Numeric
String
String
String
String
Dateime




VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

312

Chapter 5: Content Management

JSON

{
"collaborators":[
{
"id":Numeric,
"email":"String",
"type":"String",
"role":"String",
}
]
}

Request Tag Details
Tag

Mandatory

Description

folderId

Yes

Unique identifier of the folder

ownerUserId

Yes

Unique identifier of the owner who is sharing the folder

ownerName

Yes

Name of the owner who is sharing the folder

collaborator id

Yes

Unique identifier of the collaborator

collaborator name

Yes

Name of the collaborator

collaborator email

Yes

Email address of the collaborator

collaborator type

No

Type of the collaborator

collaborator role

Yes

Role of the collaborator (Co-Owner, Reader, or Editor)

actknowledgedAt

No

Time stamp when the folder was shared

Response Payload
XML


Numeric


String
String
String


String
Numeric

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

313

Chapter 5: Content Management

String


Numeric
String
String
String
String
Dateime




JSON

{
"Links":[{
"Href":"String",
"Rel":"String",
}],
"folderId":"String",
"ownerUserId":Numeric,
"ownerName":"String",
"collaborators":[
{
"id":Numeric,
"name":"String",
"email":"String",
"type":"String",
"role":"String",
"actknowledgedAt":"Datetime
}
],
}

Response Tag Details
Tag

Type

Description

folderId

String

Unique identifier of the folder

ownerUserId

Numeric

Unique identifier of the owner who is sharing the folder

ownerName

String

Name of the owner who is sharing the folder

collaborator id

Numeric

Unique identifier of the collaborator

collaborator name

String

Name of the collaborator

collaborator email

String

Email address of the collaborator

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

314

Chapter 5: Content Management

collaborator type

String

Type of the collaborator

collaborator role

String

Role of the collaborator (Co-Owner, Reader, or Editor)

actknowledgedAt

Datetime

Time stamp when the folder was shared

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

315

Chapter 5: Content Management

Update Collaborator
Functionality – Updates a Collaborator. You can only update Role of the Collaborator. The API expects User Id or User
Group Id, Role and Type to share accordingly.
Important: If no userid present and emailid is mentioned then the user is considered to be external userid.
HTTP Method – PUT
API URI – https://host/api/mcm/contents/folders/{id}/shares/collaborators

URI Parameters
Tag

Type

Description

id

String

Unique identifier of the folder

Request Payload
XML


Numeric


String
String
String


String
Numeric
String


Numeric
String
String
String
String
Dateime




VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

316

Chapter 5: Content Management

JSON

{
{
"id":Numeric,
"type":"String",
"role":"String",
}
]
}

Request Tag Details
Tag

Mandatory

Description

folderId

Yes

Unique identifier of the folder

ownerUserId

Yes

Unique identifier of the owner who is sharing the folder

ownerName

Yes

Name of the owner who is sharing the folder

collaborator id

Yes

Unique identifier of the collaborator

collaborator name

Yes

Name of the collaborator

collaborator email

Yes

Email address of the collaborator

collaborator type

No

Type of the collaborator

collaborator role

Yes

Role of the collaborator (Co-Owner, Reader, or Editor)

actknowledgedAt

No

Time stamp when the folder was shared

Response Payload
XML


Numeric


String
String
String


String
Numeric

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

317

Chapter 5: Content Management

String


Numeric
String
String
String
String
Dateime




JSON

{
"Links":[{
"Href":"String",
"Rel":"String",
}],
"folderId":"String",
"ownerUserId":Numeric,
"ownerName":"String",
"collaborators":[
{
"id":Numeric,
"name":"String",
"email":"String",
"type":"String",
"role":"String",
"actknowledgedAt":"Datetime
}
],
}

Response Tag Details
Tag

Type

Description

folderId

String

Unique identifier of the folder

ownerUserId

Numeric

Unique identifier of the owner who is sharing the folder

ownerName

String

Name of the owner who is sharing the folder

collaborator id

Numeric

Unique identifier of the collaborator

collaborator name

String

Name of the collaborator

collaborator email

String

Email address of the collaborator

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

318

Chapter 5: Content Management

collaborator type

String

Type of the collaborator

collaborator role

String

Role of the collaborator (Co-Owner, Reader, or Editor)

actknowledgedAt

Datetime

Time stamp when the folder was shared

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

319

Chapter 5: Content Management

Remove Sharing on Collaborator Folder
Functionality – Remove one or more collaborators from a shared folder.
HTTP Method – DELETE
API URI – https://host/api/mcm/contents/folders/{id}/shares/collaborators

URI Parameters
Tag

Type

Description

id

String

Unique identifier of the folder

Request Payload
XML



Numeric
String


Numeric
String



JSON

[
{
"id":Numeric,
"type":"String"
},
{
"id":Numeric,
"type":"String"
}
]

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

320

Chapter 5: Content Management

Request Tag Details
Tag

Mandatory

Description

id

Yes

Unique identifier of the folder

type

Yes

Type of the folder

Response Payload
JSON

{}

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

321

Chapter 5: Content Management

Update Collaborator of Shared Folder
Functionality – Update collaborators of shared folder. This end point will add or update or delete the collaborators.
HTTP Method – PUT
API URI – https://host/api/mcm/contents/folders/{id}/shares
Response Obtained – NA

URI Parameters
Tag

Type

Description

id

String

Unique identifier of the folder

Request Payload
XML


Numeric


String
String
String


String
Numeric
String


Numeric
String
String
String
String
Dateime




VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

322

Chapter 5: Content Management

JSON

{
{
"id":Numeric,
"email":"String",
"type":"String",
"role":"String"
}
]
}

Request Tag Details
Tag

Mandatory

Description

folderId

Yes

Unique identifier of the folder

ownerUserId

Yes

Unique identifier of the owner who is sharing the folder

ownerName

Yes

Name of the owner who is sharing the folder

collaborator id

Yes

Unique identifier of the collaborator

collaborator name

Yes

Name of the collaborator

collaborator email

Yes

Email address of the collaborator

collaborator type

No

Type of the collaborator

collaborator role

Yes

Role of the collaborator (Co-Owner, Reader, or Editor)

actknowledgedAt

No

Time stamp when the folder was shared

Response Payload
XML


Numeric


String
String
String


String
Numeric

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

323

Chapter 5: Content Management

String


Numeric
String
String
String
String
Dateime




JSON

{
"Links":[{
"Href":"String",
"Rel":"String",
}],
"folderId":"String",
"ownerUserId":Numeric,
"ownerName":"String",
"collaborators":[
{
"id":Numeric,
"name":"String",
"email":"String",
"type":"String",
"role":"String",
"actknowledgedAt":"Datetime
}
],
}

Response Tag Details
Tag

Type

Description

folderId

String

Unique identifier of the folder

ownerUserId

Numeric

Unique identifier of the owner who is sharing the folder

ownerName

String

Name of the owner who is sharing the folder

collaborator id

Numeric

Unique identifier of the collaborator

collaborator name

String

Name of the collaborator

collaborator email

String

Email address of the collaborator

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

324

Chapter 5: Content Management

collaborator type

String

Type of the collaborator

collaborator role

String

Role of the collaborator (Co-Owner, Reader, or Editor)

actknowledgedAt

Datetime

Time stamp when the folder was shared

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

325

Chapter 5: Content Management

Retrieve Admin Storage Information
Functionality – Returns admin storage information of the organization group.
HTTP Method – GET
API URI – https://host/api/mcm/storage
Request Payload – NA

Response Payload
XML


Numeric
 Numeric
 Numeric
 Numeric
 Numeric
Boolean


JSON

{
"storageCapacity" : Numeric,
"usedStorage" : Numeric,
"usedStoragePercentage" : Numeric,
"maxFileSizeAllowed" : Numeric,
"overageAllowed" : Numeric,
"fileEncryption" : Boolean,
}

Response Tag Details
Tag

Type

Description

storageCapacity

Numeric

Storage capacity of the organization group

usedStorage

Numeric

Volume of the storage capacity utilized

usedStoragePercentage

Numeric

Volume of the storage capacity utilized in percentage

maxFileSizeAllowed

Numeric

Allowed maximum file size

overageAllowed

Numeric

Allowed overage

fileEncryption

Boolean

Is file encryption allowed. True or False

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

326

Chapter 5: Content Management

Managed Content Overview
With Admin as account type, you can access all the managed content APIs. To do this, navigate to Groups & Settings >
All Settings > System > Advanced > API > REST API, and select Add, to generate API key for the service and account
type as Admin.
Using managed content APIs, you can perform various operations such as to upload, download, update, delete, and
retrieve files that are AirWatch managed. The list of available AirWatch managed content APIs are:
l

Retrieve all categories

l

Create new category

l

Delete category

l

Update category

l

Upload AirWatch Managed Content

l

Download AirWatch Managed Content

l

Delete AirWatch Managed Content

l

Retrieve AirWatch Managed Content

l

Update AirWatch Managed Content

l

Retrieve List of AirWatch Managed Content

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

327

Chapter 5: Content Management

Retrieve All Categories
Functionality – Retrieve all categories available for the organization group.
HTTP Method – GET
API URI – https://host/api/mcm/categories?locationgroupcode={locationgroupcode}&locationgroupid=
{locationgroupid}
Request Payload – NA

URI Parameters
Tag

Type

Description

locationgroupcode

String

Location group code

locationgroupid

Numeric

Location group id

Response Payload
XML



String
String
String
Boolean
Numeric
String



JSON

[
{
"categoryId" : "String",
"parentId" : "String",
"name" : "String",

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

328

Chapter 5: Content Management

"description" : "String",
"hasSubCategories" : Boolean,
"locationGroupId" : Numeric
}
]

Response Tag Details
Tag

Type

Description

categoryId

String

Unique identification number of the category

parentId

String

Unique identifier of the parent organization group

name

String

Name of the category

description

String

Description for the category

hasSubCategories

Boolean

Does the category has sub categories. True or False

locationGroupId

Numeric

Unique identifier of the organization group

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

329

Chapter 5: Content Management

Create New Category
Functionality – Create new category under the specified organization group.
HTTP Method – POST
API URI – https://host/api/mcm/categories

Request Payload
XML


String
String
Numeric
String


JSON

{
"parentId" : "String",
"name" : "String",
"description" : "String",
"locationGroupId" : Numeric
}

Request Tag Details
Tag

Mandatory

Description

categoryId

Yes

Unique identification number of the category

parentId

Yes

Unique identifier of the parent organization group

name

Yes

Name of the category

description

No

Description for the category

locationGroupId

Yes

Unique identifier of the organization group

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

330

Chapter 5: Content Management

Response Payload
XML


String
String
String
Boolean
Numeric
String


JSON

{
"categoryId" : "String",
"parentId" : "String",
"name" : "String",
"description" : "String",
"hasSubCategories" : Boolean,
"locationGroupId" : Numeric
}

Response Tag Details
Tag

Type

Description

categoryId

String

Unique identification number of the category

parentId

String

Unique identifier of the parent organization group

name

String

Name of the category

description

String

Description for the category

hasSubCategories

Boolean

Does the category has sub categories. True or False

locationGroupId

Numeric

Unique identifier of the organization group

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

331

Chapter 5: Content Management

Delete Category
Functionality – Deletes a category specified by the Id.
HTTP Method – DELETE
API URI – https://host/api/mcm/categories/{id}

URI Parameters
Tag

Type

Description

id

String

Unique id of the category

Request Payload – NA
Response Obtained – NA

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

332

Chapter 5: Content Management

Update Category
Functionality – Updates the category metadata.
HTTP Method – PUT
API URI – https://host/api/mcm/categories/{id}

URI Parameters
Tag

Type

Description

id

String

Unique id of the category

Request Payload
XML


String
String


JSON

{
"name" : "String",
"description" : "String"
}

Request Tag Details
Tag

Mandatory

Description

name

Yes

Name of the category

description

No

Description for the category

Response Payload
XML


String
String
String
Boolean

String


JSON

{
"categoryId" : "String",
"parentId" : "String",
"name" : "String",
"description" : "String",
"hasSubCategories" : Boolean,
"locationGroupId" : Numeric
}

Response Tag Details
Tag

Type

Description

categoryId

String

Unique identification number of the category

parentId

String

Unique identifier of the parent organization group

name

String

Name of the category

description

String

Description for the category

hasSubCategories

Boolean

Does the category has sub categories. Boolean or False

locationGroupId

Numeric

Unique identifier of the organization group

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

334

Chapter 5: Content Management

Upload AirWatch Managed Content
Functionality – Uploads AirWatch managed content.
HTTP Method – POST
API URI – https://host/api/mcm/awcontents?fileName={fileName}&categoryId={categoryId}&effectiveDate=
{effectiveDate}&locationGroupId={locationGroupId}&locationGroupCode={locationGroupCode}
Request Payload – NA

URI Parameters
Tag

Type

Description

fileName

String

File name along with the extension

categoryId

String

Unique identifier of the category

effectiveDate

String

Effective date for the file being uploaded

locationGroupId

String

Location group id

locationGroupCode

String

Location group code

Response Payload
XML


String
Datetime
String
v
String
String
String
String
Numeric


String
String


String
Boolean

String

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

335

Chapter 5: Content Management

String
String
Numeric
String
String
String
String
String
String


Boolean
Boolean
Boolean
Boolean
Boolean
Boolean
Boolean
Boolean


Boolean
String
Boolean
String
Boolean
Boolean
Datetime
Datetime
Datetime



JSON

{
"contentId" : "String",
"name" : "String",
"description" : "String",
"mimeType" : "String",
"isActive" : Boolean,
"importance" : "String",
"locationGroupId" : Numeric,
"createdOn" : "Datetime",
"createdBy" : "String",
"modifiedOn" : "Datetime",
"modifiedBy" : "String",
"Categories" : [

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

336

Chapter 5: Content Management

{
"categoryId" : "String",
"name" : "String"
},
{
"categoryId" : "String",
"name" : "String"
}
],
"ContentVersion" : {
"contentVersionId" : "String",
"version" : "String",
"notes" : "String",
"size" : Numeric,
"hash" : "String",
"author" : "String",
"subject" : "String",
"keywords" : "String",
"downloadLink" : "String",
"hashAlgorithm" : "String",
},
"SecuritySettings" : {
"allowViewOnline" : Boolean,
"forceEncryption" : Boolean,
"allowOpenInEmail" : Boolean,
"allowOpenInThirdPartyApps" : Boolean,
"allowSavingToOtherRepositories" : Boolean,
"enableWaterMark" : Boolean,
"allowPrint" : Boolean,
"allowEdit" : Boolean,
},
"DeploymentSettings" : {
"downloadWhileRoaming" : Boolean,
"downloadMethod" : "String",
"forceDownload" : Boolean,
"downloadPriority" : "String",
"isRequired" : Boolean,
"isFeaturedContent" : Boolean,
"effectiveDate" : "Datetime",
"expirationDate" : "Datetime",
"downloadDate" : "Datetime",
}
}

Response Tag Details
Tag

Type

Description

contentId

Numeric

Unique identification number of the content

name

String

Name of the content

description

String

Description for the content

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

337

Chapter 5: Content Management

mimeType

String

Type of the MIME to filter contents

isActive

Boolean

Is the content active. True of False

importance

String

Importance of the content

locationGroupId

Numeric

Unique identification number of the location group

createdOn

Datetime

Time stamp when the content was created

createdBy

String

Name of the author who created the content

modifiedOn

Datetime

Time stamp when the content was last modified

modifiedBy

String

Name of the author who modified the content

categoryId

Numeric

Unique identifier for the category

name

String

Name of the category

contentVersionId

String

Unique identifier of the content version

version

String

Version of the content

notes

String

Notes for the content

size

Numeric

Size of the content

hash

String

Computed hash for the content

author

String

Author of the content

subject

String

Subject of the content

keywords

String

Keywords to search the content

downloadLink

String

Link to download the content

hashalgorithm

String

Algorithm used to compute hash

allowViewOnline

Boolean

Whether to allow content to view online. True or False

forceEncryption

Boolean

Whether to force encrypt the content. True or False

allowOpenInEmail

Boolean

Whether to allow content to open in emails. True or False

allowOpenInThirdPartyApps

Boolean

Whether to allow content to open in third party applications. True
or False

allowSavingToOtherRepositories Boolean

Whether to allow content to get saved in other repositories. True or
False

enableWaterMark

Boolean

Whether to enable water mark on the content. True or False

allowPrint

Boolean

Whether to allow to print the content. True or False

allowEdit

Boolean

Whether to allow editing the content. True or False

downloadWhileRoaming

Boolean

Whether to download content while roaming. True or False

downloadMethod

String

Method used to download the content

forceDownload

Boolean

Whether to force download the content. True or False

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

338

Chapter 5: Content Management

downloadPriority

String

Priority set to the content. Values: High, Normal, and Low

isRequired

Boolean

Whether deployment settings are required or not. True or False

effectiveDate

Datetime

Datetime when the content will be effective

expirationDate

Datetime

Expiration date of the content

downloadDate

Datetime

Download date of the content

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

339

Chapter 5: Content Management

Download AirWatch Managed Content
Functionality – Downloads AirWatch managed contents.
HTTP Method – GET
API URI – https://host/api/mcm/awcontents/{id}

URI Parameters
Tag

Type

Description

id

String

Unique identifier of the content

Request Payload – NA
Response Obtained – NA

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

340

Chapter 5: Content Management

Delete AirWatch Managed Content
Functionality – Deletes AirWatch managed contents.
HTTP Method – DELETE
API URI – https://host/api/mcm/awcontents/{id}

URI Parameters
Tag

Type

Description

id

String

Unique identifier of the content

Request Payload – NA
Response Obtained – NA

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

341

Chapter 5: Content Management

Retrieve AirWatch Managed Content
Functionality – Retrieves AirWatch managed content.
HTTP Method – GET
API URI – https://host/api/mcm/awcontents/{id}/info
Request Payload – NA

URI Parameters
Tag

Type

Description

id

String

Unique identifier of the content

Response Payload
XML


Numeric
String
Datetime
String
v
String
String
String
String
Numeric


String
String


String
Boolean

String
String
String
Numeric
String
String
String
String

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

342

Chapter 5: Content Management

String
String


Boolean
Boolean
Boolean
Boolean
Boolean
Boolean
Boolean
Boolean


Boolean
String
Boolean
String
Boolean
Boolean
Datetime
Datetime
Datetime



JSON

{
"contentId" : "String",
"name" : "String",
"description" : "String",
"mimeType" : "String",
"isActive" : Boolean,
"importance" : "String",
"locationGroupId" : Numeric,
"createdOn" : "Datetime",
"createdBy" : "String",
"modifiedOn" : "Datetime",
"modifiedBy" : "String",
"Categories" : [
{
"categoryId" : "String",
"name" : "String"
},
{
"categoryId" : "String",
"name" : "String"

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

343

Chapter 5: Content Management

}
],
"ContentVersion" : {
"contentVersionId" : "String",
"version" : "String",
"notes" : "String",
"size" : Numeric,
"hash" : "String",
"author" : "String",
"subject" : "String",
"keywords" : "String",
"downloadLink" : "String",
"hashAlgorithm" : "String",
},
"SecuritySettings" : {
"allowViewOnline" : Boolean,
"forceEncryption" : Boolean,
"allowOpenInEmail" : Boolean,
"allowOpenInThirdPartyApps" : Boolean,
"allowSavingToOtherRepositories" : Boolean,
"enableWaterMark" : Boolean,
"allowPrint" : Boolean,
"allowEdit" : Boolean,
},
"DeploymentSettings" : {
"downloadWhileRoaming" : Boolean,
"downloadMethod" : "String",
"forceDownload" : Boolean,
"downloadPriority" : "String",
"isRequired" : Boolean,
"isFeaturedContent" : Boolean,
"effectiveDate" : "Datetime",
"expirationDate" : "Datetime",
"downloadDate" : "Datetime",
}
}

Response Tag Details
Tag

Type

Description

contentId

String

Unique identification number of the content

name

String

Name of the content

description

String

Description for the content

mimeType

String

Type of the MIME to filter contents

isActive

Boolean

Is the content active. True of False

importance

String

Importance of the content

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

344

Chapter 5: Content Management

locationGroupId

Numeric

Unique identification number of the location group

createdOn

Datetime

Time stamp when the content was created

createdBy

String

Name of the author who created the content

modifiedOn

Datetime

Time stamp when the content was last modified

modifiedBy

String

Name of the author who modified the content

categoryId

Numeric

Unique identifier for the category

name

String

Name of the category

contentVersionId

String

Unique identifier of the content version

version

String

Version of the content

notes

String

Notes for the content

size

Numeric

Size of the content

hash

String

Computed hash for the content

author

String

Author of the content

subject

String

Subject of the content

keywords

String

Keywords to search the content

downloadLink

String

Link to download the content

hashAlgorithm

String

Algorithm used to compute hash

allowViewOnline

Boolean

Whether to allow the content to be viewed online. True or False

forceEncryption

Boolean

Whether to force to encrypt the content. True or False

allowOpenInEmail

Boolean

Whether to allow content to open in emails. True or False

allowOpenInThirdPartyApps

Boolean

Whether to allow content to open in third-party applications. True
or False

allowSavingToOtherRepositories Boolean

Whether to allow content to get saved in other repositories. True or
False

enableWaterMark

Boolean

Whether to enable water mark on the content. True or False

allowPrint

Boolean

Whether to allow the content to be printed. True or False

allowEdit

Boolean

Whether to allow editing the content. True or False

downloadWhileRoaming

Boolean

Whether to download content while roaming. True or False

downloadMethod

String

Method used to download the content

forceDownload

Boolean

Whether to force download the content. True or False

downloadPriority

String

Priority set to the content. Values: High, Normal, and Low

isRequired

Boolean

Whether deployment settings are required or not. True or False

effectiveDate

Datetime

Datetime when the content is effective

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

345

Chapter 5: Content Management

expirationDate

Datetime

Expiration date of the content

downloadDate

Datetime

Download date of the content

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

346

Chapter 5: Content Management

Update AirWatch Managed Content
Functionality – Updates AirWatch managed content.
HTTP Method – PUT
API URI – https://host/api/mcm/awcontents/{id}/info
Request Payload – NA

URI Parameters
Tag

Type

Description

id

String

Unique identifier of the content

Request Payload
XML


String
String
String


String


Boolean

Boolean
Boolean
Boolean
Boolean
Boolean
Boolean
Boolean
Boolean


Boolean
String
Boolean
String
Boolean
Boolean
Datetime

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

347

Chapter 5: Content Management

Datetime
Datetime



JSON

{
"name" : "String",
"description" : "String",
"isActive" : Boolean,
"importance" : "String",
"Categories" : [
{
"categoryId" : "String",
},
{
"categoryId" : "String",
}
],
"SecuritySettings" : {
"allowViewOnline" : Boolean,
"forceEncryption" : Boolean,
"allowOpenInEmail" : Boolean,
"allowOpenInThirdPartyApps" : Boolean,
"allowSavingToOtherRepositories" : Boolean,
"enableWaterMark" : Boolean,
"allowPrint" : Boolean,
"allowEdit" : Boolean,
},
"DeploymentSettings" : {
"downloadWhileRoaming" : Boolean,
"downloadMethod" : "String",
"forceDownload" : Boolean,
"downloadPriority" : "String",
"isRequired" : Boolean,
"isFeaturedContent" : Boolean,
"effectiveDate" : "Datetime",s
"expirationDate" : "Datetime",
"downloadDate" : "Datetime",
}
}

Request Tag Details
Tag

Mandatory

Description

name

No

Name of the content

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

348

Chapter 5: Content Management

description

No

Description for the content

isActive

No

Is the content active. True of False

importance

No

Importance of the content

categoryId

Yes

Unique identifier for the category

allowViewOnline

No

Whether to allow content to view online. True or False

forceEncryption

No

Whether to force encrypt the content. True or False

allowOpenInEmail

No

Whether to allow content to open in emails. True or False

allowOpenInThirdPartyApps

No

Whether to allow content to open in third party applications. True
or False

allowSavingToOtherRepositories No

Whether to allow content to get saved in other repositories. True or
False

enableWaterMark

No

Whether to enable water mark on the content. True or False

allowPrint

No

Whether to allow to print the content. True or False

allowEdit

No

Whether to allow editing the content. True or False

downloadWhileRoaming

No

Whether to download content while roaming. True or False

downloadMethod

No

Method used to download the content

forceDownload

No

Whether to force download the content. True or False

downloadPriority

No

Priority set to the content. Values: High, Normal, and Low

isRequired

No

Whether deployment settings are required or not. True or False

effectiveDate

Yes

Datetime when the content will be effective

expirationDate

Yes

Expiration date of the content

downloadDate

Yes

Download date of the content

Response Payload
XML


String
Datetime
String
v
String
String
String
String

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

349

Chapter 5: Content Management

Numeric


String
String


String
Boolean

String
String
String
Numeric
String
String
String
String
String
String


Boolean
Boolean
Boolean
Boolean
Boolean
Boolean
Boolean
Boolean


Boolean
String
Boolean
String
Boolean
Boolean
Datetime
Datetime
Datetime



JSON

{
"contentId" : "String",

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

350

Chapter 5: Content Management

"name" : "String",
"description" : "String",
"mimeType" : "String",
"isActive" : Boolean,
"importance" : "String",
"locationGroupId" : Numeric,
"createdOn" : "Datetime",
"createdBy" : "String",
"modifiedOn" : "Datetime",
"modifiedBy" : "String",
"Categories" : [
{
"categoryId" : "String",
"name" : "String"
},
{
"categoryId" : "String",
"name" : "String"
}
],
"ContentVersion" : {
"contentVersionId" : "String",
"version" : "String",
"notes" : "String",
"size" : Numeric,
"hash" : "String",
"author" : "String",
"subject" : "String",
"keywords" : "String",
"downloadLink" : "String",
"hashAlgorithm" : "String",
},
"SecuritySettings" : {
"allowViewOnline" : Boolean,
"forceEncryption" : Boolean,
"allowOpenInEmail" : Boolean,
"allowOpenInThirdPartyApps" : Boolean,
"allowSavingToOtherRepositories" : Boolean,
"enableWaterMark" : Boolean,
"allowPrint" : Boolean,
"allowEdit" : Boolean,
},
"DeploymentSettings" : {
"downloadWhileRoaming" : Boolean,
"downloadMethod" : "String",
"forceDownload" : Boolean,
"downloadPriority" : "String",
"isRequired" : Boolean,
"isFeaturedContent" : Boolean,
"effectiveDate" : "Datetime",
"expirationDate" : "Datetime",

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

351

Chapter 5: Content Management

"downloadDate" : "Datetime",
}
}

Response Tag Details
Tag

Type

Description

contentId

Numeric

Unique identification number of the content

name

String

Name of the content

description

String

Description for the content

mimeType

String

Type of the MIME to filter contents

isActive

Boolean

Is the content active. True of False

importance

String

Importance of the content

locationGroupId

Numeric

Unique identification number of the location group

createdOn

Datetime

Time stamp when the content was created

createdBy

String

Name of the author who created the content

modifiedOn

Datetime

Time stamp when the content was last modified

modifiedBy

String

Name of the author who modified the content

categoryId

Numeric

Unique identifier for the category

name

String

Name of the category

contentVersionId

String

Unique identifier of the content version

version

String

Version of the content

notes

String

Notes for the content

size

Numeric

Size of the content

hash

String

Computed hash for the content

author

String

Author of the content

subject

String

Subject of the content

keywords

String

Keywords to search the content

downloadLink

String

Link to download the content

hashAlgorithm

String

Algorithm used to compute hash

allowViewOnline

Boolean

Whether to allow content to view online. True or False

forceEncryption

Boolean

Whether to force encrypt the content. True or False

allowOpenInEmail

Boolean

Whether to allow content to open in emails. True or False

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

352

Chapter 5: Content Management

allowOpenInThirdPartyApps

Boolean

Whether to allow content to open in third party applications. True
or False

allowSavingToOtherRepositories Boolean

Whether to allow content to get saved in other repositories. True or
False

enableWaterMark

Boolean

Whether to enable water mark on the content. True or False

allowPrint

Boolean

Whether to allow to print the content. True or False

allowEdit

Boolean

Whether to allow editing the content. True or False

downloadWhileRoaming

Boolean

Whether to download content while roaming. True or False

downloadMethod

String

Method used to download the content

forceDownload

Boolean

Whether to force download the content. True or False

downloadPriority

String

Priority set to the content. Values: High, Normal, and Low

isRequired

Boolean

Whether deployment settings are required or not. True or False

effectiveDate

Datetime

Datetime when the content will be effective

expirationDate

Datetime

Expiration date of the content

downloadDate

Datetime

Download date of the content

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

353

Chapter 5: Content Management

Retrieve List of AirWatch Managed Content
Functionality – Retrieves list of AirWatch managed content.
HTTP Method – GET
API URI – https://host/api/mcm/awcontents?locationgroupcode={locationgroupcode}&locationgroupid=
{locationgroupid}&queryString={queryString}&categoryId={categoryId}&mimeType={mimeType}&expiresIn=
{expiresIn}&sortBy={sortBy}&sortAscending={sortAscending}&pageSize={pageSize}&startIndex={startIndex}
Request Payload – NA

URI Parameters
Tag

Type

Description

locationgroupcode

String

Location group code

locationgroupid

Numeric

Location group id

queryString

String

Searches for the string value in the File Name

categoryId

Numeric

The unique identifier for the Category being queried

mimeType

String

Filter contents by Mime Type

expiresIn

Numeric

Filter by Contents that are going to expire within days specified

sortBy

String

Sort by what column, it accepts "Name", "Size", "Author",
"DownloadPriority", "IsRequired", "IsActive", "EffectiveDate",
"ExpirationDate", "ModifiedOn", or "ModifiedBy". By default it sorts by
"Name"

sortAscending

Boolean

Sort direction. By default it sorts Ascending

startIndex

Numeric

Start index of page

pageSize

Numeric

Specifies the number of results returned per Page

Response Payload
XML



Numeric


String
String
String


VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

354

Chapter 5: Content Management



Numeric


Numeric


String
String
String


String
String
String
String
String
String
Boolean
Boolean
Boolean
String
Boolean
Boolean
String
String
String
String
String
Numeric
Datetime
Datetime




JSON

{
"AdditionalInfo" : {
"Links" : [
{
"Href" : "String",

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

355

Chapter 5: Content Management

"Rel" : "String",
"Title" : "String"
}
]
},
"TotalResults" : Numeric,
"content" : [
{
"id" : Numeric,
"Links" : [
{
"Href" : "String",
"Rel" : "String",
"Title" : "String"
}
],
"contentId" : "String",
"createdOn" : "Datetime",
"currentVersionNumber" : "String",
"description" : "String",
"downloadLink" : "String",
"downloadMethod" : "String",
"downloadWhileRoaming" : Boolean,
"forceEncryption" : Boolean,
"isFavorite" : Boolean,
"isShared" : Boolean,
"isTrashed" : Boolean,
"mimeType" : "String",
"modifiedOn" : "Datetime,
"name" : "String",
"notes" : "String",
"owner" : "String",
"parentId" : "String",
"sharingRole" : "String",
"size" : Numeric,
"subject" : "String"
}
]
}

Response Tag Details
Tag

Type

Description

contentId

String

Unique identifier for the content

createdOn

Datetime

Time stamp when the content was created

currentVersionNumber

String

The current version of the content

description

String

Description about the content

downloadLink

String

Link to download the content

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

356

Chapter 5: Content Management

downloadMethod

String

Method used to download the content

downloadWhileRoaming

Boolean

Whether to download content while roaming. True or False

forceEncryption

Boolean

Whether to force encrypt the content. True or False

isFavorite

Boolean

Is the content favorite. True or False

isShared

Boolean

Is the content shared. True or False

isTrashed

Boolean

Is the content trashed. True or False

mimeType

String

Type of the MIME to filter contents

modifiedOn

Datetime

Time stamp when the content was last modified

name

String

Name of the content

notes

String

Additional notes regarding the content

owner

String

Owner of the content

parentId

String

Unique identifier of the parent organization group

sharingRole

String

Type of the sharing role; Co-owner, Editor, or Reader

size

Numeric

Size of the content

subject

String

Subject of the content

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

357

Chapter 6:
Device Management
Overview

361

Retrieve Application Details From the Device

361

Retrieve Admin Application Details

364

Retrieve Device Bulk Settings

366

Retrieve Certificate Details From the Device

368

Retrieve Compliance Details of the Device

370

Retrieve Compliance Attributes

372

Save Compliance Attributes for a List of Devices

374

Retrieve Content Details of the Device

377

Retrieve Device Information

379

Retrieve Bulk Device Information

383

Retrieve Device Application Status

388

Retrieve Event Logs From the Device

390

Retrieve GPS Co-ordinates of the Device

393

Retrieve Bulk GPS Co-ordinates From the Device

395

Execute Bulk GPS Coordinates

398

Retrieve Network Information of the Device

400

Retrieve Profile Details of the Device

404

Retrieve Enrollment User Details of the Device

407

Retrieve Enrolled Device Count

409

Retrieve Smart Group details

411

Retrieve Device Associated Smart Groups

415
VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

358

Chapter 6: Device Management

Retrieve Security Information

417

Change Device Passcode (*Refactored)

419

Clear Passcode on the Device (*Refactored)

420

Enterprise Wipe a Device (*Refactored)

421

Enterprise Wipe in Bulk (*Refactored)

422

Find Device (*Refactored)

424

Lock Device (*Refactored)

426

Lock Devices in Bulk (*Refactored)

427

Query Device (*Refactored)

430

Device Wipe (*Refactored)

431

Delete Device

432

Delete Devices in Bulk (*Refactored)

433

Sync Device (*Refactored)

436

Send Email to the Device Enrollment User (*Refactored)

437

Send Email in Bulk (*Refactored)

439

Send SMS to the Device (*Refactored)

441

Send SMS in Bulk (*Refactored)

443

Send Push Message to the Device (*Refactored)

445

Bulk Push Message to the Devices (*Refactored)

447

Push Notification (*Refactored)

449

Execute Device Commands

451

Execute Bulk Device Commands

452

Schedule OS Update Command

454

Bulk Schedule OS Update Command

455

Start Airplay

458

Send Remote Control Action Command (*Refactored)

460

Add Note to the Device (*Refactored)

461

Delete Note From the Device

463

Retrieve Notes From the Device

464

Retrieve a Specific Note From the Device

466

Update Note onto the Device (*Refactored)

468

Search Device Details

470
VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

359

Chapter 6: Device Management

Search Compliance Policy

477

Device Extensive Search

480

Search Security Information

484

Search Network Information

486

Device Extensive Search (Lite)

488

Custom Attribute Search

491

Search Changes Made To Custom Attribute

493

Update Device Custom Attribute (*Refactored)

495

Delete Custom Attribute (*Refactored)

498

Edit Device Details

501

Managed Settings

503

Change Device Organization Group

504

Create Offline Device Record

505

Create Relay Server

506

Create Relay Servers in Bulk

510

Delete Relay Server

516

Retrieve Relay Server Details

517

Update Relay Server

521

Create Staging Bundle

525

Delete Staging Bundle

528

Retrieve Staging Bundle

529

Update Staging Bundle

532

Retrieve Printer Details Using Identifier

534

Retrieve Printer Details Using Location Group

536

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

360

Chapter 6: Device Management

Overview
AirWatch REST APIs allows you to manage all the functionalities of Mobile Device Management (MDM). The
functionalities that are included but not limited to are device commands, retrieval of compliance, profile, network,
location, and event log details. Device details can be viewed in the following path on the AirWatch Console:
l

Device Dashboard – Devices > List View.

Retrieve Application Details From the Device
Functionality – Retrieves the details of the applications that are present on the device.
HTTP Method – GET
API URI – https://host/api/mdm/devices/{id}/apps? page={page}&pagesize={pagesize}
The user can obtain the application details using the following parameter:
l

Alternate device ID type – https://host/api/mdm/devices/apps?searchby={searchby}&id={id}&page=
{page}&pagesize={pagesize}

Pattern (Contains) Match Parameter – id, page, pagesize, searchby

URI Parameters
Tag

Description

searchby

The alternate id type (Macaddress, Udid, Serialnumber, ImeiNumber)

id

Device alternate id

page

The specific page number to get

pagesize

Max records per page

Deprecated API URIs:
l

MAC Address – https://host/api/mdm/devices/macaddress/{macaddress}/apps

l

Serial Number – https://host/api/mdm/devices/serialnumber/{SerialNumber}/apps

l

UDID – https://host/api/mdm/devices/UDID/{UDID}/apps

Response Payload
XML


Numeric
Numeric
Numeric

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

361

Chapter 6: Device Management


Numeric
String
Numeric
Numeric
String

Numeric
Numeric
String
String
String



JSON

{
"DeviceApps": [
{
"ApplicationName": "String",
"Version": Numeric,
"BuildVersion": Numeric,
"Status": Numeric,
"Size": Numeric,
"ApplicationIdentifier": Numeric,
"Type": "String",
"IsManaged":String
"Id":Numeric}]
"DeviceId":{
},
"Page":Numeric,
"PageSize":Numeric,
"Total":Numeric,
}

Response Tag Details
Tag

Type

Description

Page

Numeric

Page number of the search result

PageSize

Numeric

Number of device apps shown on each page

Total

Numeric

Total number of applications on the device

Id

Numeric

Application ID of a managed device

ApplicationName

String

Name of the application

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

362

Chapter 6: Device Management

Version

Numeric

Version of the application

BuildVersion

Numeric

Build version of the application

Status

String

Current status of the application of the device (Installed, Pending
Install etc). Refer Tables.

Size

Numeric

Size of the application in bytes

ApplicationIdentifier

Numeric

Unique ID of the application (Bundle ID or External ID)

Type

String

Type of application; Internal or Public

IsManaged

String

Denotes if the application is managed by MDM. The values obtained is
either True or False

Deviceid

Numeric

Unique identification number of the device

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

363

Chapter 6: Device Management

Retrieve Admin Application Details
Functionality – Retrieves admin applications details for the passed device ID.
HTTP Method – GET
API URI – https://host/api/mdm/devices/{id}/adminapps
Request Payload – N/A

URI Parameters
Tag

Type

Description

Id

Numeric

Unique numeric ID of the device

Response Payload
XML




String
String
String


String
String
String




JSON

{
"DeviceAdminApps" : [
{
"Name" : "String",
"Version" : "String",
"Identifier" : "String"
},
{
"Name" : "String",

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

364

Chapter 6: Device Management

"Version" : "String",
"Identifier" : "String"
}
]
}

Response Tag Details
Tag

Type

Description

Name

String

Name of the device admin application

Version

String

Version of the application

Identifier

String

Unique identifier of the application

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

365

Chapter 6: Device Management

Retrieve Device Bulk Settings
Functionality – Retrieves the values for bulk management settings done on the AirWatch Console.
HTTP Method – GET
API URI – https://host/api/mdm/devices/bulksettings

Response Payload
XML


String
String
String
String
String


JSON

{
"SendMessage":String,
"EnterpriseWipe":String,
"DeleteDevice":String,
"GPS":String,
"LockDevice":String
}

Response Tag Details
Tag

Type

Description

SendMessage

String

Maximum number of devices to which message can be sent in bulk

EnterpriseWipe

String

Maximum number of devices which can be enterprise wiped in bulk

DeleteDevice

String

Maximum number of devices which can be deleted from the console in
bulk

GPS

String

Maximum number of devices for which the location details can be
obtained in bulk

LockDevice

String

Maximum number of devices which can be locked in bulk

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

366

Chapter 6: Device Management

Note: Bulk settings can be viewed in the following path in the AirWatch Console : Settings > Devices & Users >
Advanced > Bulk Management.

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

367

Chapter 6: Device Management

Retrieve Certificate Details From the Device
Functionality – Retrieves the details of the certificates that are present on the device.
HTTP Method – GET
API URI – https://host/api/mdm/devices/{id}/certificates?page={page}&pagesize={pagesize}
You can obtain the device certificate details using the following parameter:
l

Alternate device ID type – https://host/api/mdm/devices/certificates?searchby={searchby}&id={id}&page=
{page}&pagesize={pagesize}

Pattern (Contains) Match Parameter – id, page, pagesize, searchby

URI Parameters
Tag

Description

searchby

The alternate id type (Macaddress, Udid, Serialnumber, ImeiNumber)

id

Device alternate id

page

The specific page number to get

pagesize

Max records per page

Deprecated API URIs:
l

MAC Address – https://host/api/mdm/devices/macaddress/{macaddress}/certificates

l

Serial Number – https://host/api/mdm/devices/serialnumber/{SerialNumber}/certificates

l

UDID – https://host/api/mdm/devices/UDID/{UDID}/certificates

Response Payload
XML


Numeric 
Numeric
Numeric

Numeric
Datetime
Datetime 
Numeric
String
Datetime
String
String

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

368

Chapter 6: Device Management




JSON

{"DeviceCertificates": [
{
"FirstSampleTime": "Datetime",
"LastSampleTime": "Datetime",
"DeviceId": {"Id": {"Value": Numeric} },
"Name": "String ",
"ExpiresOn": "Datetime",
"IssuedBy": "String",
"Status": String,
"Id": {"Value": Numeric}
},]
"Page": Numeric,
"PageSize": Numeric,
"Total": Numeric
}

Response Tag Details
Tag

Type

Description

FirstSampleTime

Datetime

Time stamp of the time the first certificate sample was received

LastSampleTime

Datetime

Time stamp of the time the last certificate sample was received

DeviceId

Numeric

Unique identification of the device

Name

String

Name of the certificate

ExpiresOn

Datetime

Date of expiry of the certificate

IssuedBy

String

Issuer of the certificate

Status

String

Current Status of the certificate on the device (Installed, Pending Install
etc)

Id

Numeric

Unique ID of the certificate

Page

Numeric

Page number of the search result

PageSize

Numeric

Number of device certificates shown on each page

Total

Numeric

Total number of certificates on the device

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

369

Chapter 6: Device Management

Retrieve Compliance Details of the Device
Functionality – Retrieves the details of the compliance policies that are present on a device.
HTTP Method – GET
API URI – https://host/api/mdm/devices/{id}/compliance? page={page}&pagesize={pagesize}
You can obtain the device compliance policy details using the following parameter:
l

Alternate device ID type – https://host/api/mdm/devices/compliance?searchby={searchby}&id={id}&page=
{page}&pagesize={pagesize}

Pattern (Contains) Match Parameter – id, page, pagesize, searchby

URI Parameters
Tag

Description

searchby

The alternate id type (Macaddress, Udid, Serialnumber, IMEI number)

id

id of the device for which remote control action needs to be initiated

Deprecated API URIs:
l

MAC Address – https://host/api/mdm/devices/macaddress/{macaddress}/compliance

l

Serial Number – https://host/api/mdm/devices/serialnumber/{SerialNumber}/compliance

l

UDID – https://host/api/mdm/devices/UDID/{UDID}/compliance

Response Payload
XML


Numeric
Numeric
Numeric
String

Numeric

String

String
String
String
Datetime
Datetime



VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

370

Chapter 6: Device Management

JSON

{ "DeviceCompliance": [ {
"CompliantStatus": String,
"PolicyName": "String ",
"PolicyDetail": "String ",
"LastComplianceCheck": "Datetime",
"NextComplianceCheck": "Datetime",
"ActionTaken": [String],
"Id": { Value": Numeric} } ],
"Page": Numeric,
"PageSize": Numeric,
"Total": Numeric}

Response Tag Details
Tag

Type

Description

CompliantStatus

String

Compliance status of the specific policy

PolicyName

String

Name of the compliance policy

PolicyDetail

String

Details of the compliance policy

LastComplianceCheck

Datetime

Time stamp of the last compliance check

NextComplianceCheck

Datetime

Scheduled time of the next compliance check

ActionTaken

String

Action taken on the device for the policy

Id

Numeric

Unique ID of the compliance policy

Page

Numeric

Page number of the search result

PageSize

Numeric

Number of compliance polices shown on each page

Total

Numeric

Total number of policies on the device

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

371

Chapter 6: Device Management

Retrieve Compliance Attributes
Functionality – Gets the list compliance attributes configured for an organizational group based on the vendor name.
HTTP Method – GET
API URI – https://host/api/mdm/complianceattributes/organizationgroupcomplianceattributes?vendorname=
{vendorname}

URI Parameters
Tag

Type

Description

vendorname

String

Name of the vendor

Request Payload – NA

Response Payload
XML



String
String
String
String

String
String




JSON

{
"ComplianceAttributes" : [
{
"FriendlyName" : "String",
"Key" : "String",
"OperatorTypes" : [
"String",
"String"

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

372

Chapter 6: Device Management

],
"Values" : [
"String",
"String"
]
}
]
}

Response Tag Details
Tag

Type

Description

FriendlyName

String

Friendly name of the custom attribute

Key

String

Key for the custom attribute to be retrieved

OperatorTypes

String

Operator type for the custom attribute

Values

String

Unique value for the custom attribute to be retrieved

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

373

Chapter 6: Device Management

Save Compliance Attributes for a List of Devices
Functionality – Saves a list of compliance attributes for a list of devices. Also, evaluates compliance status for devices if
admin has setup policies for these devices.
HTTP Method – PUT
API URI – https://host/api/mdm/complianceattributes/devicecomplianceattributes

Request Payload
XML

DeviceComplianceAttributeListModel
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.airwatch.com/webapi/resources">

String

String
String




JSON

{
"DeviceComplianceAttributes" : [
{
"SerialNumber" : "String",
"ComplianceAttributes" : [
{
"Name" : "String",
"Value" : "String"
}
]
}
]
}

Request Tag Details
Tag

Mandatory

Description

SerialNumber

Yes

The serial number of the device

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

374

Chapter 6: Device Management

Name

No

Compliance attribute name

Value

Yes

Compliance attribute value

Response Payload
XML


Numeric
Numeric
Numeric

String

Numeric
String
String




JSON

{
"TotalItems" : Numeric,
"AcceptedItems" : Numeric,
"FailedItems" : Numeric,
"Faults" : {
"Fault" : [
{
"ErrorCode" : Numeric,
"ItemValue" : "String",
"Message" : "String"
}
]
}
}

Response Tag Details
Tag

Type

Description

TotalItems

Numeric

Total number of compliance attributes

AcceptedItems

Numeric

Accepted compliance policies

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

375

Chapter 6: Device Management

FailedItems

Numeric

Failed compliance policies

ErrorCode

Numeric

Error code of the failed compliance policy

ItemValue

String

Value of the compliance attribute

Message

String

Message displayed during the failure of a compliance policy

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

376

Chapter 6: Device Management

Retrieve Content Details of the Device
Functionality – Retrieves the details of the content that is present on a device.
HTTP Method – GET
API URI – https://host/api/mdm/devices/{id}/content? page={page}&pagesize={pagesize}
The user can obtain the device content details using the following parameter:
l

Alternate device ID type – https://host/api/mdm/devices/content?searchby={searchby}&id={id}&page=
{page}&pagesize={pagesize}

URI Parameters
Tag

Description

searchby

The alternate id type (Macaddress, Udid, Serialnumber, IMEI number)

id

id of the device for which remote control action needs to be initiated

Deprecated API URIs:
l

MAC Address – https://host/api/mdm/devices/macaddress/{macaddress}/content

l

Serial Number – https://host/api/mdm/devices/serialnumber/{SerialNumber}/content

l

UDID – https://host/api/mdm/devices/UDID/{UDID}/content

Response Payload
XML


Numeric 
Numeric
Numeric
Numeric

Numeric
String
String
String
String
String



VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

377

Chapter 6: Device Management

JSON

{"DeviceId": {"Id": {"Value": Numeric},},
"DeviceContents": [
{
"ContentName": " String ",
"Status": String,
"DownloadPriority": String.,
"DeployMode": String,
"ContentType": String,
"Id": {"Value": Numeric }
},]
"Page": Numeric,
"PageSize": Numeric,
"Total":Numeric }

Response Tag Details
Tag

Type

Description

Id

Numeric

Unique ID of the content

ContentName

String

Name for the content

Status

String

Current Status of the content: Installed/Pending Install/Never Installed
etc

DownloadPriority

String

Priority set to the content. Values: High, Normal, and Low

DeployMode

String

Deployment mode of the content on the device. Values: On Demand,
Automatic

ContentType

String

Content Type (.doc,.pdf etc.)

Page

Numeric

Page number of the search result

PageSize

Numeric

Number of content details shown on each page

Total

Numeric

Total number of documents on the device

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

378

Chapter 6: Device Management

Retrieve Device Information
Functionality – Retrieves details of the device identified by device ID.
HTTP Method – GET
API URI – https://host/api/mdm/devices/{id}
You can obtain the device information using the following parameter:
l

Alternate device ID type – https://host/api/mdm/devices?searchby={searchby}&id={id}

URI Parameters
Tag

Description

searchby

The alternate id type (Macaddress, Udid, Serialnumber, ImeiNumber, EasId)

Deprecated API URIs:
l

MAC Address – https://host/api/mdm/devices/macaddress/{macaddress}

l

Serial Number – https://host/api/mdm/devices/serialnumber/{SerialNumber}

l

UDID – https://host/api/mdm/devices/UDID/{UDID}

Request Body – NA

Response Payload
XML


Numeric
String
String
String
String
String
String
String
Numeric
String
String
String
String
Numeric
String
Numeric
String
String
String

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

379

Chapter 6: Device Management

Datetime
String
String
String
Datetime
Datetime
Datetime


Numeric
Boolean
String
String
Datetime
Datetime

unknown



Boolean
String
String
Numeric
Numeric
String


JSON

{
"Id":Numeric,
"AcLineStatus":Numeric,
"AssetNumber":"String",
"ComplianceStatus":"String",
"ComplianceSummary":{
"DeviceCompliance":[{
"Id":Numeric,
"ActionTaken":[{
"ActionType":Boolean
}],
"CompliantStatus":Boolean,
"LastComplianceCheck":"Datetime",
"NextComplianceCheck":"Datetime",
"PolicyDetail":"String",
"PolicyName":"String"
}]
},

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

380

Chapter 6: Device Management

"CompromisedStatus":Boolean,
"DataEncryptionYN":"String",
"DeviceFriendlyName":"String",
"EasId":"String",
"EnrollmentStatus":"String",
"Imei":"String",
"IsRemoteManagementEnabled":"String",
"IsSupervised":Boolean,
"LastComplianceCheckOn":"Datetime",
"LastCompromisedCheckOn":"Datetime",
"LastEnrolledOn":"Datetime",
"LastSeen":"Datetime",
"LocationGroupId": {
"Id": { "Value":Numeric} },
"Name": "String"
},
"LocationGroupName":"String",
"MacAddress":"String",
"Model":"String",
"ModelId":{
"Id": { "Value": Numeric },
"Name": "String"
},
"OEMInfo":"String",
"OperatingSystem":"String",
"Ownership":"String",
"PhoneNumber":"String",
"Platform":"String",
"PlatformId":{
"Id": { "Value": Numeric },
"Name": "String"
},
"SerialNumber":"String",
"Udid":"TString",
"UserEmailAddress":"String",
"UserId":{
"Id": { "Value": Numeric },
"Name": "String"
},
"UserName":"String",
"VirtualMemory":Numeric
}

Response Tag Details
Tag

Type

Description

Udid

String

UDID of the device

SerialNumber

String

Serial number of the device

MacAddress

String

MAC address of the device

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

381

Chapter 6: Device Management

Imei

String

IMEI number of the device

AssetNumber

String

Asset number of the device

DeviceFriendlyName

String

Friendly name assigned to the device

LocationGroupId Id

Numeric

ID of the organization group to which the device is assigned

LocationGroupName

String

Name of the organization group to which the device is assigned

UserName

String

Name of the enrollment user to whom the device is assigned

UserEmailAddress

String

Email address of the enrollment user

Ownership

String

Ownership type of the device. Values: Corporate-Shared, CorporateDedicated, Employee Owned

PlatformId

Numeric

Unique identification associated with the platform

Platform

String

Name of the platform

ModelId

Numeric

Unique identification associated with the model

Model

String

OEM model name

OperatingSystem

String

Operating System version on the model

PhoneNumber

String

Phone number of the device

LastSeen

Datetime

Last seen time stamp of the device

EasId

String

Unique identification of the Exchange Active Sync

EnrollmentStatus

String

Current enrollment status of the device. For example, Enrolled,
Unenrolled etc

ComplianceStatus

String

Overall compliance status of the device

CompromisedStatus

String

Compromised status of the device. Values: True/False

LastEnrolledOn

Datetime

Time stamp of the last enrollment of the device

LastComplianceCheckOn

Datetime

Time stamp of the last compliance check

LastCompromisedCheckOn

Datetime

Time stamp of the last compromised status check

Id

Numeric

Unique identification of the device

VirtualMemory

Numeric

Virtual memory of the device

OEMInfo

String

OEM information of the device

IsRemoteManagementEnabled String

Remote management status of the device

IsSupervised

Boolean

The supervised status of the device

CompliantStatus

Boolean

Complaint status of the device

PolicyDetail

String

Details of the compliance policy action taken on the device

PolicyName

String

Name of the compliance policy

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

382

Chapter 6: Device Management

Retrieve Bulk Device Information
Functionality – Retrieves information about multiple devices identified by the specified Id type.
HTTP Method – POST
API URI – https://host/api/mdm/devices/id
You can obtain the bulk device details using the following parameters:
l

Alternate device ID type – https://host/api/mdm/devices?searchby={searchby}

URI Parameters
Tag

Description

searchby

The alternate id type (Macaddress, Udid, Serialnumber, ImeiNumber)

Deprecated API URIs:
l

MAC Address – https://host/api/mdm/devices/macaddress

l

Serial Number – https://host/api/mdm/devices/serialnumber

l

UDID – https://host/api/mdm/devices/UDID

Request Payloads
XML



Numeric/String
Numeric/String



JSON

{
"BulkValues":{"value": ["Numeric/String","Numeric/String"]}
}

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

383

Chapter 6: Device Management

Request Tag Details
Tag

Mandatory

Description

Value

Yes( at least 1) Desired device parameter. "DeviceID","MAC Address", "Serial Number"
or "UDID"

Response Payloads
XML


Numeric
String
String
String
String
String
String
String
Numeric
String
String
String
String
Numeric
String
Numeric
String
String
String
Datetime
String
String
String
Datetime
Datetime
Datetime


Numeric
Boolean
String
String
Datetime
Datetime

unknown

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

384

Chapter 6: Device Management




Boolean

String
String

String
String
Numeric
Numeric
String



JSON

{
"Id":Numeric,
"AcLineStatus":Numeric,
"AssetNumber":"String",
"ComplianceStatus":"String",
"ComplianceSummary":{
"DeviceCompliance":[{
"Id":Numeric,
"ActionTaken":[{
"ActionType":Boolean
}],
"CompliantStatus":Boolean,
"LastComplianceCheck":"Datetime",
"NextComplianceCheck":"Datetime",
"PolicyDetail":"String",
"PolicyName":"String"
}]
},
"CompromisedStatus":Boolean,
"DataEncryptionYN":"String",
"DeviceFriendlyName":"String",
"EasId":"String",
"EnrollmentStatus":"String",
"Imei":"String",
"IsRemoteManagementEnabled":"String",
"IsSupervised":Boolean,
"LastComplianceCheckOn":"Datetime",
"LastCompromisedCheckOn":"Datetime",
"LastEnrolledOn":"Datetime",
"LastSeen":"Datetime",

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

385

Chapter 6: Device Management

"LocationGroupId": { "Id": { "Value":Numeric} },
"LocationGroupName":"String",
"MacAddress":"String",
"Model":"String",
"ModelId":{
"Id": { "Value": Numeric },
"Name": "String"
},
"OEMInfo":"String",
"OperatingSystem":"String",
"Ownership":"String",
"PhoneNumber":"String",
"Platform":"String",
"PlatformId":{
"Id": { "Value": Numeric },
"Name": "String"
},
"SerialNumber":"String",
"Udid":"TString",
"UserEmailAddress":"String",
"UserId":{
"Id": { "Value": Numeric },
"Name": "String"
},
"UserName":"String",
"VirtualMemory":Numeric
}

Response Tag Details
Tag

Type

Description

Udid

String

UDID of the device

SerialNumber

String

Serial number of the device

MacAddress

String

MAC address of the device

Imei

String

IMEI number of the device

AssetNumber

String

Asset number of the device

DeviceFriendlyName

String

Friendly name assigned to the device

LocationGroupId Id

Numeric

Unique identification of the organization group to which the device is
assigned

LocationGroupName

String

Name of the organization group to which the device is assigned

UserName

String

Name of the enrollment user to whom the device is assigned

UserEmailAddress

String

Email address of the enrollment user

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

386

Chapter 6: Device Management

Ownership

String

Ownership type of the device. Values: Corporate-Shared, CorporateDedicated, Employee Owned

PlatformId

Numeric

Unique identification associated with the platform

Platform

String

Name of the platform

ModelId

Numeric

Unique identification associated with the model

Model

String

OEM model name

OperatingSystem

String

Operating system version on the model

PhoneNumber

String

Phone number of the device

LastSeen

Datetime

Last seen time stamp of the device

EnrollmentStatus

String

Current enrollment status of the device. For example, Enrolled,
Unenrolled etc

ComplianceStatus

String

Overall compliance status of the device

CompromisedStatus

String

Compromised status of the device. Values: True/False

LastEnrolledOn

Datetime

Time stamp of the last enrollment of the device

LastComplianceCheckOn

Datetime

Time stamp of the last compliance check

LastCompromisedCheckOn

Datetime

Time stamp of the last compromised status check

Id

Numeric

Unique identification of the device

VirtualMemory

Numeric

Virtual memory of the device

OEMInfo

String

OEM information of the device

IsRemoteManagementEnabled String

Remote management status of the device

IsSupervised

Boolean

The supervised status of the device

CompliantStatus

Boolean

Complaint status of the device

PolicyDetail

String

Details of the compliance policy action taken on the device

PolicyName

String

Name of the compliance policy

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

387

Chapter 6: Device Management

Retrieve Device Application Status
Functionality – Retrieves the application status for a combination of input elements.
HTTP Method – GET
API URI – https://host/api/mdm/devices/appstatus?searchby={searchBy}&id={id}&groupid={groupid}&bundleId=
{bundleId}&version={version}&deviceType={deviceType}

URI Parameters
Tag

Type

Description

searchBy

string

The alternate id type (macaddress, udid, serialnumber, imeiNumber etc)

id

string

The alternate id

groupid

string

GroupId is location group's customer code

bundleId

string

Bundle id of the application

version

string

Version of the application

deviceType

string

Type of the device

Request Payload – NA

Response Payload
XML


Numeric


String
String



Boolean
String



VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

388

Chapter 6: Device Management

JSON

{
"appstatus" : Numeric,
"devicestatus" : [
{
"setting" : "String",
"value" : "String"
}
],
"authentication" : {
"ssoenabled" : Boolean,
"authenticationurl" : "String"
}
}

Response Tag Details
Tag

Type

Description

appstatus

Numeric

Status of the application in device

setting

String

Device status setting

value

String

Value for the device status

ssoenabled

Boolean

Is SSO enable for the application. Values are: True, False

authenticationurl

String

URL for the authentication

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

389

Chapter 6: Device Management

Retrieve Event Logs From the Device
Functionality – Retrieves the event log details of the device.
HTTP Method – GET
API URI – https://host/api/mdm/devices/{id}/eventlog?page={page}&pagesize={pagesize}&severity=
{severity}&dayrange={dayrange}
l

Exact Match Parameter – severity

l

Pattern (Contains) Match Parameter – id, page, pagesize, dayrange

You can also retrieve event log of the device using the following parameter:
l

Alternate device id – https://host/api/mdm/devices/eventlog?searchby={searchby}&id={id}&page=
{page}&pagesize={pagesize}&severity={severity}&dayrange={dayrange}
o

Exact Match Parameter – severity

o

Pattern (Contains) Match Parameter – searchby, id, page, pagesize, dayrange

URI Parameters
Tag

Description

searchby

The alternate id type (Macaddress, Udid, Serialnumber, ImeiNumber)

Note: The Severity (Warning, Information, Notice, Debug) of the event logs can be specified by the severity filter. The
DayRange filter specifies the number of days of logging prior to the current time sent in the response.
Deprecated API URIs:
l

MAC Address – https://host/api/mdm/devices/macaddress/{macaddress}/eventlog

l

Serial Number – https://host/api/mdm/devices/serialnumber/{SerialNumber}/eventlog

l

UDID – https://host/api/mdm/devices/UDID/{UDID}/eventlog

Response Payload
XML


Numeric
Numeric
Numeric

Numeric

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

390

Chapter 6: Device Management


Numeric
String
Numeric
Numeric

String
Datetime
String
String
String



JSON

{
"DeviceEventLogEntries":{
"Id":Numeric,
"EventDataList":{"Id": Numeric,
"EventDataType":" String ",
"OldValue":Numeric,
"NewValue":Numeric},
"Severity":" String",
"TimeStamp":"Datetime ",
"Source":"String",
"Event":" String ",
"AdminAccount":" String"
"Page": Numeric,
"PageSize": Numeric,
"Total": Numeric }
}

Response Tag Details
Tag

Type

Description

Id

Numeric

Unique identification of the logged event

EventDataList Id

Numeric

Unique identification of the event data

EventDataType

String

Type of event data. For example, Compromised Status, Content
Status, etc

OldValue

Numeric

Existing value of the logged event

NewValue

Numeric

Modified value of the logged event

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

391

Chapter 6: Device Management

Severity

String

Severity of the logged event. For example, Information ,Debug,
Warning etc

TimeStamp

Datetime

Time stamp of the logged event

Source

String

Whether the events are triggered from a 'Server' or an 'Device'

Event

String

Details of the event logged

AdminAccount

String

Name of the admin who triggered the logged event

Page

Numeric

Page number of the search result

PageSize

Numeric

Number of content details shown on each page

Total

Numeric

Total number of documents on the device

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

392

Chapter 6: Device Management

Retrieve GPS Co-ordinates of the Device
Functionality – Retrieves the GPS co-ordinates of the device.
HTTP Method – GET
API URI – https://host/api/mdm/devices/{id}/gps?dayrange={dayrange}
You can obtain the device information using the following parameter:
l

Alternate device ID type – https://host/api/mdm/devices/gps?searchby={searchby}&id={id}&dayrange=
{dayRange}

URI Parameters
Tag

Description

searchby

The alternate id type (Macaddress, Udid, Serialnumber, IMEI number)

id

id of the device for which remote control action needs to be initiated

Note: The DayRange filter specifies the number of days of logging prior to the current time sent in the response.
Deprecated API URIs:
l

MAC Address – https://host/api/mdm/devices/macaddress/{macaddress}/gps

l

Serial Number – https://host/api/mdm/devices/serialnumber/{SerialNumber}/gps

l

UDID – https://host/api/mdm/devices/UDID/{UDID}/gps

Response Payload
XML



Numeric
Datetime
Numeric
Numeric
Numeric 
Numeric
String
Numeric 



VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

393

Chapter 6: Device Management

JSON

[ { "SampleTime": "Datetime",
"Latitude": Numeric,
"Longitude": Numeric,
"Elevation": Numeric,
"Speed": Numeric,
"Note": "String",
"DeviceId": {"Value": Numeric },
"Id": {"Value":Numeric}
}]

Response Tag Details
Tag

Type

Description

SampleTime

Datetime

Time stamp of the obtained GPS sample

Latitude

Numeric

Latitude in decimal degrees

Longitude

Numeric

Longitude in decimal degrees

Elevation

Numeric

Elevation in decimal degrees

Speed

Numeric

Rate of change of the device position

DeviceId

Numeric

Unique identification of the device

Id

Numeric

Unique identification for the obtained GPS co-ordinate

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

394

Chapter 6: Device Management

Retrieve Bulk GPS Co-ordinates From the Device
Functionality – Retrieves the GPS co-ordinates of a list of devices.
HTTP Method – POST
API URI – https://host/api/mdm/devices/gps/search?searchby={searchby}&startdatetime=
{startdatetime}&enddatetime={enddatetime}&dayrange={dayrange}
l

Pattern (Contains) Match Parameter – searchby, startdatetime, enddatetime, dayrange

Deprecated API URIs:
l

MAC Address – https://host/api/mdm/devices/macaddress/gps

l

Serial Number – https://host/api/mdm/devices/serialnumber/gps

l

UDID – https://host/api/mdm/devices/UDID/gps

URI Parameters
Tag

Description

searchby

Search by device identifier types (DeviceId, MacAddress, Udid, SerialNumber, and
ImeiNumber)

startdatetime

Start Date time

enddatetime

End Date time

daterange

Number of days in which range device location details needs to be returned

Request Payloads
XML



Numeric
Numeric



VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

395

Chapter 6: Device Management

JSON

{
"BulkValues":{"value": [Numeric,Numeric]}
}

Request Tag Details
Tag

Mandatory

Description

Value

Yes

The device parameter. For example, DeviceID , MAC Address , Serial
Number or UDID

Response Payload
XML



Numeric
Datetime
Numeric
Numeric
Numeric 
Numeric
String
Numeric



JSON

[ { "SampleTime": "Datetime",
"Latitude": Numeric,
"Longitude": Numeric,
"Elevation": Numeric,
"Speed": Numeric,
"Note": "String",
"DeviceId": {"Value": Numeric },
"Id": {"Value":Numeric}
}]

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

396

Chapter 6: Device Management

Response Tag Details
Tag

Type

Description

SampleTime

Datetime

Time stamp of the obtained GPS sample

Latitude

Numeric

Latitude in decimal degrees

Longitude

Numeric

Longitude in decimal degrees

Elevation

Numeric

Elevation in decimal degrees

Speed

Numeric

Rate of change of the device position

DeviceId

Numeric

Unique identification of the device

Id

Numeric

Unique identification for the GPS co-ordinate obtained

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

397

Chapter 6: Device Management

Execute Bulk GPS Coordinates
Functionality – Executes bulk gps coordinates by device and alternate id.
HTTP Method – POST
API URI – https://host/api/mdm/devices/gps?searchby={searchBy}

URI Parameters
Tag

Description

searchby

Search by device identifier types (DeviceId, MacAddress, Udid, SerialNumber, and
ImeiNumber)

startdatetime

Start Date time

enddatetime

End Date time

daterange

Number of days in which range device location details needs to be returned

Request Payloads
XML



Numeric
Numeric



JSON

{
"BulkValues":{"value": [Numeric,Numeric]}
}

Request Tag Details
Tag

Mandatory

Description

Value

Yes

The device parameter. For example, DeviceID , MAC Address , Serial
Number or UDID

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

398

Chapter 6: Device Management

Response Payload
XML



Numeric
Datetime
Numeric
Numeric
Numeric 
Numeric
String
Numeric



JSON

[ { "SampleTime": "Datetime",
"Latitude": Numeric,
"Longitude": Numeric,
"Elevation": Numeric,
"Speed": Numeric,
"Note": "String",
"DeviceId": {"Value": Numeric },
"Id": {"Value":Numeric}
}]

Response Tag Details
Tag

Type

Description

SampleTime

Datetime

Time stamp of the obtained GPS sample

Latitude

Numeric

Latitude in decimal degrees

Longitude

Numeric

Longitude in decimal degrees

Elevation

Numeric

Elevation in decimal degrees

Speed

Numeric

Rate of change of the device position

DeviceId

Numeric

Unique identification of the device

Id

Numeric

Unique identification for the GPS co-ordinate obtained

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

399

Chapter 6: Device Management

Retrieve Network Information of the Device
Functionality – Retrieves the network information of the device.
HTTP Method – GET
API URI – https://host/api/mdm/devices/{id}/network
The user can obtain the network details using the following parameter:
l

Alternate device ID type – https://host/api/mdm/devices/network?searchby={searchby}&id={id}

URI Parameters
Tag

Description

searchby

The alternate id type [Macaddress, Udid, Serialnumber, ImeiNumber]

id

Device alternate id

Deprecated API URIs:
l

MAC Address – https://host/api/mdm/devices/macaddress/{macaddress}/network

l

Serial Number – https://host/api/mdm/devices/serialnumber/{serialNumber}/network

l

UDID – https://host/api/mdm/devices/udid/{udid}/network

Response Payload
XML


Numeric

String
Boolean
Boolean
Boolean

String
String
String


None

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

400

Chapter 6: Device Management

String
String


String


String
String

String
String


String
String



String
String



JSON

{
"phonenumber" : "String",
"roamingstatus" : Boolean,
"dataroamingenabled" : Boolean,
"voiceroamingenabled" : Boolean,
"ipaddress" : {
"WifiIPAddress" : "String",
"CellularIPAddress" : "String",
"EthernetIPAddress" : "String"
},
"cellularnetworkinfo" : {
"CellularTechnology" : Numeric,
"CurrentOperator" : "String",
"CurrentSIM" : "String",
"ApprovedSims" : [

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

401

Chapter 6: Device Management

{
"SimCardId" : "String"
},
{
"SimCardId" : "String"
}
],
"CarrierVersion" : "String",
"SignalStrength" : "String",
"DeviceMCC" : {
"SIMMCC" : "String",
"CurrentMCC" : "String"
}
"DeviceMNC" : {
"SimMNC" : "String",
"CurrentMNC" : "String"
}
},
"wifiinfo" : {
"WifiMacAddress" : "String",
"SignalStrength" : "String"
},
"Links" : [],
"id" : Numeric
}

Response Tag Details
Tag

Type

Description

PhoneNumber

String

Phone number of the device

RoamingStatus

Boolean

The current roaming status. Values: True or False

DataRoamingEnabled

Boolean

Denotes if the data roaming is enabled. Values: True or False

VoiceRoamingEnabled

Boolean

Denotes if the voice roaming is enabled. Values: True or False

WifiIPAddress

String

The IP address for Wi-Fi connectivity

CellularIPAddress

String

The IP address for cellular connectivity

EthernetIPAddress

String

The IP address for Ethernet connectivity

CellularTechnology

Numeric

The current cellular technology

CurrentOperator

String

Name of the current operator

CurrentSIM

String

Current SIM number of the device

SimCardId

String

Unique identification number of the SIM card

CarrierVersion

String

Version of the SIM Carrier

SignalStrength

String

Signal strength of the SIM

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

402

Chapter 6: Device Management

SIMMCC

String

SIM MCC number

CurrentMCC

String

Current MCC Number

SimMNC

String

SIM MNC number

CurrentMNC

String

Current MNC number

wifiinfo SignalStrength

String

Signal strength of the wifi connectivity

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

403

Chapter 6: Device Management

Retrieve Profile Details of the Device
Functionality – Retrieves the profile related information of the device.
HTTP Method – GET
API URI – https://host/api/mdm/devices/{id}/profiles?page={page}&pagesize={pagesize}
l

Pattern (Contains) Match Parameter – page, pagesize

You can obtain the device profile details using the following parameter:
l

Alternate Device Id – https://host/api/mdm/devices/profiles?searchby={searchby}&id={id}&page=
{page}&pagesize={pagesize}
o

Pattern (Contains) Match Parameter – id, page, pagesize, searchby

URI Parameters
Tag

Description

searchby

The alternate id type (Macaddress, Udid, Serialnumber, IMEI number)

id

id of the device for which remote control action needs to be initiated

Deprecated API URIs:
l

MAC Address – https://host/api/mdm/devices/macaddress/{macaddress}/profiles

l

Serial Number – https://host/api/mdm/devices/serialnumber/{SerialNumber}/profiles

l

UDID – https://host/api/mdm/devices/UDID/{UDID}/profiles

Response Payload
XML


Numeric 
Numeric
Numeric
Numeric

Numeric 
String
String
String
Numeric
Numeric
String



VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

404

Chapter 6: Device Management

JSON

"DeviceProfiles": [ {
"Status":Numeric,
"Name": " String ",
"Description": " String ",
"LocationGroupId": {"Id": {"Value": Numeric}},
"CurrentVersion": Numeric
"AssignmentType": Numeric,
"Id": {"Value": Numeric}
}]
"Page": Numeric,
"PageSize":Numeric,
"Total": Numeric
}

Response Tag Details
Tag

Type

Description

Device Id

Numeric

Unique identification of the device

Status

String/Numeric Current status of the profile on device. Status should be of string for
XML response. For example, Installed, Pending Removal etc. Status
should be of Numeric for JSON response. Values for JSON response
are:
0 = unknown
1 = pendinginstall
2 = unconfirmedinstall
3 = confirmedinstall
4 = pendingremoval
5 = unconfirmedremoval
6 = confirmedremoval

Name

String

Name of the profile

Description

String

Description of the profile

LocationGroupId

Numeric

Unique identification of the organization group to which the profile is
assigned

CurrentVersion

Numeric

Current version of the profile

AssignmentType

String/Numeric Assignment type of the profile. Values are: Auto, Optional, Interactive,
Compliance. Should be String for XML response and Numeric for JSON
response.

Id

Numeric

Unique identification of the profile

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

405

Chapter 6: Device Management

Page

Numeric

Page number of the search result

PageSize

Numeric

Number of profile details shown on each page

Total

Numeric

Total number of profiles on the device

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

406

Chapter 6: Device Management

Retrieve Enrollment User Details of the Device
Functionality – Retrieves the details of the enrollment user associated to the device.
HTTP Method – GET
API URI – https://host/api/mdm/devices/{id}/user
You can obtain the device enrollment user details using the following parameter:
l

Alternate Device Id – https://host/api/mdm/devices/user?searchby={searchby}&id={id}

URI Parameters
Tag

Description

searchby

The alternate id type (Macaddress, Udid, Serialnumber, IMEI number)

id

id of the device for which remote control action needs to be initiated

Deprecated API URIs:
l

MAC Address – https://host/api/mdm/devices/macaddress/{macaddress}/user

l

Serial Number – https://host/api/mdm/devices/serialnumber/{SerialNumber}/user

l

UDID – https://host/api/mdm/devices/UDID/{UDID}/user

Response Payload
XML



Numeric
String
String
String
Boolean
String
String
String
String
String
String
String
String
String
String



VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

407

Chapter 6: Device Management

JSON

{
"DeviceUser":{"Id": Numeric,
"UserName":" String ",
"FirstName":" String ",
"LastName":" String ",
"Status": Boolean,
"Email":" String ",
"SecurityType": String,
"ContactNumber":" String ",
"Group":" String ",
"Role":" String ",
"MessageType": String,
"EmailUserName" : "String",
"EnrolledDevicesCount":"String",
"LocationGroupId" : "String",
"ExternalId" : "String"
}
}

Response Tag Details
Tag

Type

Description

DeviceUser Id

Numeric

Unique identification associated with the enrollment user

UserName

String

Username of the enrollment user

Status

Boolean

Denotes if the user is active. Values include True or False

Email

String

Email of the enrollment user

SecurityType

String/Numeric Security type of the enrollment User. In XML payload, you can pass
String values ("Basic" for a basic enrollment User, and "Directory" for
a directory enrollment user) and Numeric values (1 for directory
enrollment users and 2 for Basic enrollment users). For JSON payload,
you can pass only Numeric values.

ContactNumber

String

Contact number of the enrollment user

Group

String

Unique identification of the Organization Group associated with the
enrollment user

Role

String

Role of the enrollment user

MessageType

String

The type of message. Values include Email, SMS, None

EnrolledDevicesCount

String

Number of devices enrolled to the user

EmailUserName

String

Email username of the enrollment user

Group

String

Group of the enrollment user

ExternalId

String

Track Id of the device enrollment user

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

408

Chapter 6: Device Management

Retrieve Enrolled Device Count
Functionality – Retrieves count of all enrolled devices based on any or all of the OG ids, tag names, and devices
registered after 'SeenSince' datetime until the 'SeenTill' datetime.
HTTP Method – POST
API URI – https://host/api/mdm/devices/enrolleddevicescount

Request Payload
XML


Numeric
String
String
String
String

Numeric



JSON

{
"OrganizationGroupId" : "String",
"TagName" : "String",
"DeviceSeenSince" : "String",
"DeviceSeenTill" : "String",
"id" : Numeric
}

Request Tag Details
Tag

Mandatory

Description

OrganizationGroupId

Yes

Unique identifier of the organization group the device is enrolled to

TagName

Yes

Desired unique name of the device tag

DeviceSeenSince

No

Devices seen after the seensince datetime will be returned if present

DeviceSeenTill

No

Devices seen till the seentill datetime will be returned if present

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

409

Chapter 6: Device Management

id

Yes

Unique identifier of the device

Response Payload
XML


Numeric
Numeric


JSON

{
"DevicesCount" : Numeric,
"id" : Numeric
}

Response Tag Details
Tag

Type

Description

DevicesCount

Numeric

Number of enrolled devices

id

Numeric

Unique identifier of the device

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

410

Chapter 6: Device Management

Retrieve Smart Group details
Functionality – Retrieves the smart group details created in an organization group.
HTTP Method – GET
API URI – https://host/api/mdm/smartgroups/{id}
Request Body – NA

Response Payload
XML


String
Numeric
Numeric
Numeric
String
Numeric
String
Numeric


String
Numeric




String
Numeric




String



String


String


String




VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

411

Chapter 6: Device Management

String
String
String




Numeric
String




Numeric
String/Name>




Numeric
String




Numeric
String




JSON

{
"Name" : "String",
"Devices":Numeric,
"Exclusions":Numeric,
"Assignments":Numeric,
"SmartGroupID":Numeric,
"CriteriaType" : "String",
"ManagedByOrganizationGroupId":Numeric,
"OrganizationGroups":[{
"Name":"String",
"Id":Numeric
}],
"UserGroups":[{
"Name":"String",
"Id":Numeric

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

412

Chapter 6: Device Management

}],
"Ownerships":["String"],
"Platforms":["String"],
"Models":["String"],
"OperatingSystems":[{
"DeviceType":"String",
"Operator":"String",
"Value":"String"
}],
"Tags":[{
"Id":"String",
}],
"UserAdditions":[{
"Id":Numeric
"Name":"String"
}],
"DeviceAdditions":[{
"Id":Numeric,
"Name":"String"
}],
"UserExclusions":[{
"Id":Numeric,
"Name":"String"
}],
"DeviceExclusions":[{
"Id":Numeric,
"Name":"String"
}]
}

Response Tag Details
Tag

Type

Description

Name

String

Unique name of the smart group

Devices

Numeric

Number of devices filtered by the smart group

Exclusions

Numeric

Number of devices that are excluded from the smart group’s list
of devices

Assignments

Numeric

Number of application assignments made to the smart group

CriteriaType

String

Unique smart group type configured to the smart group

SmartGroupID

Numeric

Unique numeric ID of the smart group

ManagedByOrganizationGroupId

Numeric

Unique identification of the organization group where the smart
group is managed

ManagedByOrganizationGroupName String

Name of the organization group where the smart group is
managed

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

413

Chapter 6: Device Management

OrganizationGroups Id

Numeric

Unique identification of the organization group from which
devices are filtered

UserGroups Id

Numeric

Unique identification of the user groups assigned to the smart
group

Ownerships

String

The ownership type of the devices

Platforms

String

The platform of the device. Refer Tables for complete list of
device platforms

Models

String

The model of the device. Refer Tables for complete list of device
models

OperatingSystems DeviceType

String

The platform of the device. Refer Tables for complete list of
device platforms

OperatingSystems Operator

String

Operator applied to the operating system value. Allowed values
are "Equals", "GreaterThan", "LessThan",
"GreaterThanOrEqualTo", and "LessThanOrEqualTo"

OperatingSystems Value

String

The value of the operating system. Refer Tables for the complete
list of operating systems

UserAdditions Id

Numeric

Unique identification of the enrollment users whose devices
need to be added to the smart group in addition to the devices
added by the smart group filters

UserAdditions Name

String

Name of the enrollment users whose devices need to be added
to the smart group in addition to the devices added by the smart
group filters

DeviceAdditions Id

Numeric

Unique identification of the devices that need to be added to the
smart group in addition to the devices added by the smart group
filters

DeviceAdditions Name

String

The friendly name of the devices that need to be added to the
smart group in addition to the devices added by the smart group
filters

UserExclusions Id

Numeric

Unique identification of the enrollment users whose devices
need to be removed from the smart group device list

UserExclusions Name

String

The name of the enrollment users whose devices need to be
removed from the smart group device list

DeviceExclusions Id

Numeric

ID of the devices that need to be removed from the smart group
device list

DeviceExclusions Name

String

Friendly name of the devices that need to be removed from the
smart group device list

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

414

Chapter 6: Device Management

Retrieve Device Associated Smart Groups
Functionality – Retrieves all the smart groups associated with the device.
HTTP Method – GET
API URI – https://host/api/mdm/devices/{id}/smartgroups

URI Parameters
Tag

Type

Description

id

Numeric

Unique device identifier

Request Payload – NA

Response Payload
XML



Numeric
String



JSON

{
"SmartGroup" : [
{
"SmartGroupId" : {
"Value" : Numeric
},
"SmartGroupName" : "String"
}
]
}

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

415

Chapter 6: Device Management

Response Tag Details
Tag

Type

Description

Value

Numeric

The numeric value of the smart group identifier

SmartGroupName

String

The smart group name

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

416

Chapter 6: Device Management

Retrieve Security Information
Functionality – Retrieves the security information of the device identified by device ID.
HTTP Method – GET
API URI – https://host/api/mdm/devices/{id}/security
The user can retrieve security information of the device using the following parameter:
l

Alternate Device Id – https://host/api/mdm/devices/security?searchby={searchby}&id={id}
o

Pattern (Contains) Match Parameter – searchby, id

URI Parameters
Tag

Type

Description

searchBy

String

The alternate id type [Macaddress, Udid, Serialnumber, ImeiNumber]

id

String

Device alternate id

Deprecated API URIs:
l

MAC Address – https://host/api/mdm/devices/macaddress/{macaddress}/security

l

Serial Number –https://host/api/mdm/devices/serialnumber/{serialnumber}/security

l

UDID – https://host/api/mdm/devices/udid/{udid}/security

Request Body – NA

Response Payload
XML


Boolean
Boolean
Boolean
Boolean
Boolean
Boolean


VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

417

Chapter 6: Device Management

JSON

{
"IsCompromised":Boolean,
"DataProtectionEnabled":Boolean,
"BlockLevelEncryption":Boolean,
"FileLevelEncryption":Boolean,
"IsPasscodePresent":Boolean,
"IsPasscodeCompliant":Boolean
}

Response Tag Details
Tag

Type

Description

IsCompromised

Boolean

Indicates if the device is compromised

DataProtectionEnabled

Boolean

Indicates if Data Protection is Enabled on the device

BlockLevelEncryption

Boolean

Indicates if Block Level encryption is enabled on the device

FileLevelEncryption

Boolean

Indicates if File Level encryption is enabled on the device

IsPasscodePresent

Boolean

Indicates if Passcode is present on the device

IsPasscodeCompliant

Boolean

Indicates if the devices complies to the passcode compliance policy

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

418

Chapter 6: Device Management

Change Device Passcode (*Refactored)
Functionality – Changes the passcode of device which is used for unlocking it.
HTTP Method – POST
Deprecated API URI – https://host/api/mdm/devices/{id}/changepasscode. This URI will be deprecated soon. Start
using the *Supported API URI .
*Supported API URI – https://host/api/mdm/devices/commands/id/changepasscode (HTTP Method Used – POST)
You can also change the device passcode using the following parameter:
l

Alternate device ID type – https://host/api/mdm/devices/commands/changepasscode?searchby={searchBy}&id=
{id}

URL Parameters
Tag

Description

searchby

The alternate id type (Macaddress, Udid, Serialnumber, ImeiNumber)

id

Device identifier for which passcode needs to be changed

passcode

New passcode value which needs to be set in the device

deviceid

The alternate id

Response Obtained – NA

Request Payload
XML


String


JSON

{
"Passcode":"String"
}

Request Tag Details
Tag

Mandatory

Description

Passcode

No

New passcode value which needs to be set in the device

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

419

Chapter 6: Device Management

Clear Passcode on the Device (*Refactored)
Functionality – Clears passcode of the device.
HTTP Method – POST
Deprecated API URI – https://host/api/mdm/devices/{id}/clearpasscode. This URI will be deprecated soon. Start using
the *Supported API URI.
*Supported API URI – https://host/api/mdm/devices/{deviceid}/commands (HTTP Method Used – POST)

URI Parameters
Tag

Description

deviceid

AirWatch Device Id

command

The command to execute [Lock, EnterpriseWipe, DeviceWipe, DeviceQuery,
ClearPasscode, SyncDevice, StopAirPlay].

Deprecated API URIs:
l

MAC Address – https://host/api/mdm/devices/macaddress/{macaddress}/clearpasscode

l

Serial Number – https://host/api/mdm/devices/serialnumber/{SerialNumber}/clearpasscode

l

UDID – https://host/api/mdm/devices/UDID/{UDID}/clearpasscode

Request Body – NA
Response Obtained – NA

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

420

Chapter 6: Device Management

Enterprise Wipe a Device (*Refactored)
Functionality – Sends an Enterprise Wipe command to the device identified by device ID.
HTTP Method – POST
Deprecated API URI – https://host/api/mdm/devices/{id}/enterprisewipe. This URI will be deprecated soon. Start using
the *Supported API URI.
*Supported API URI – https://host/api/mdm/devices/deviceid/commands (HTTP Method Used – POST)
Deprecated API URIs:
l

MAC Address – https://host/api/mdm/devices/macaddress/{macaddress}/enterprisewipe

l

Serial Number – https://host/api/mdm/devices/serialnumber/{SerialNumber}/enterprisewipe

l

UDID – https://host/api/mdm/devices/UDID/{UDID}/enterprisewipe

Response Obtained – NA
Request payload – NA

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

421

Chapter 6: Device Management

Enterprise Wipe in Bulk (*Refactored)
Functionality – Sends an Enterprise Wipe command to multiple devices identified by device ID and alternate id.
HTTP Method – POST
Deprecated API URI – https://host/api/mdm/devices/enterprisewipe. This URI will be deprecated soon. Start using the
*Supported API URI.
*Supported API URI – https://host/api/mdm/devices/commands/enterprisewipe (HTTP Method Used – POST)
You can enterprise wipe bulk devices using the following parameter:
l

Alternate device ID type – https://host/api/mdm/devices/commands/enterprisewipe?searchby=deviceid

URI Parameters
Tag

Description

searchby

The alternate id type (Macaddress, Udid, Serialnumber, IMEI number)

id

id of the device for which remote control action needs to be initiated

Deprecated API URIs:
l

MAC Address – https://host/api/mdm/devices/macaddress/enterprisewipe

l

Serial Number – https://host/api/mdm/devices/serialnumber/enterprisewipe

l

UDID – https://host/api/mdm/devices/UDID/enterprisewipe

Request Payload
XML



Numeric
Numeric



JSON

{
"BulkValues":{"value": [Numeric,Numeric]}
}

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

422

Chapter 6: Device Management

Request Tag Details
Tag

Mandatory

Description

Value

Yes ( at least 1) Desired device parameter. "DeviceID","MAC Address", "Serial Number"
or "UDID"

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

423

Chapter 6: Device Management

Find Device (*Refactored)
Functionality – Sends a Find Device command to the device.
HTTP Method – POST
Deprecated API URI – https://host/api/mdm/devices/{id}/finddevice. This URI will be deprecated soon. Start using the
*Supported API URI.
*Supported API URI – https://host/api/mdm/devices/deviceid/commands/finddevice (HTTP Method Used – POST)
You can also find a device using the following parameter:
l

Alternate device ID type – https://host/api/mdm/devices/commands/finddevice?searchby={searchby}&id={id}

URI Parameters
Tag

Description

searchby

The alternate id type (Macaddress, Udid, Serialnumber, ImeiNumber)

id

The alternate ID

finddevice

The find device request

deviceid

AirWatch Device Id

Response Obtained – NA

Request Payload
XML


String
String
String
Numeric
Numeric


JSON

{
"Platform":"String",
"Application":"String",
"Message":" String",
"NumberOfRepetitions":Numeric,
"GapBetweenRepetitions":Numeric

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

424

Chapter 6: Device Management

}

Request Tag Details
Tag

Mandatory

Description

Platform

Yes

The device platform. For example, Apple, Android etc.

Application

Yes

The command is sent to the AirWatch Agent

Message

Yes

Desired message to be sent to the device

NumberOfRepetitions

Yes

Desired message to be sent to the device

GapBetweenRepetitions

Yes

Gap between each repetition of the beep

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

425

Chapter 6: Device Management

Lock Device (*Refactored)
Functionality – Sends a Lock Device command to the device identified by device ID.
HTTP Method – POST
Deprecated API URI – https://host/api/mdm/devices/{id}/lockdevice. This URI will be deprecated soon. Start using the
*Supported API URI.
*Supported API URI – https://host/api/mdm/devices/deviceid/commands

URI Parameters
Tag

Description

id

device id

command

The command to execute [Lock, EnterpriseWipe, DeviceWipe, DeviceQuery,
ClearPasscode, SyncDevice, StopAirPlay].

Deprecated API URIs:
l

MAC Address – https://host/api/mdm/devices/macaddress/{macaddress}/lockdevice

l

Serial Number – https://host/api/mdm/devices/serialnumber/{SerialNumber}/lockdevice

l

UDID – https://host/api/mdm/devices/UDID/{UDID}/lockdevice

Request Body – NA
Response Obtained – NA

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

426

Chapter 6: Device Management

Lock Devices in Bulk (*Refactored)
Functionality – Locks a list of devices.
HTTP Method – POST
Deprecated API URI – https://host/api/mdm/devices/lockdevice. This URI will be deprecated soon. Start using the
*Supported API URI.
*Supported API URI – https://host/api/mdm/devices/{deviceid}/commands

URI Parameters
Tag

Description

id

Alternate id

command

The command to execute (lock, enterpriseWipe, devicewipe, devicequery,
clearpasscode, syncDevice, stopAirPlay)

Searchby

The alternate id type (macaddress, Udid, serialnumber, imeinumber)

Deprecated API URIs:
l

MAC Address – https://host/api/mdm/devices/macaddress/lockdevice

l

Serial Number – https://host/api/mdm/devices/serialnumber/lockdevice

l

UDID – https://host/api/mdm/devices/UDID/lockdevice

Request Payload
XML



Numeric
Numeric



JSON

{
"BulkValues":{"value": [Numeric,Numeric]}
}

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

427

Chapter 6: Device Management

Request Tag Details
Tag

Mandatory

Description

Value

Yes( at least 1) Desired device parameter. "DeviceID","MAC Address", "Serial Number"
or "UDID"

Response Payload
XML


Numeric
Numeric
Numeric

String

Numeric
Numeric
String




JSON

{
"TotalItems": Numeric,
"AcceptedItems": Numeric,
"FailedItems": Numeric,
"Faults": {
"Fault": [
{
"ErrorCode": Numeric,
"ItemValue": Numeric,
"Message": "String"
}]
}
}

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

428

Chapter 6: Device Management

Response Tag Details
Tag

Type

Description

TotalItems

Numeric

Total number of device parameters sent in the request

AcceptedItems

Numeric

Number of devices to which the lock command was successfully sent

FailedItems

Numeric

Number of devices that could not be locked

Faults

Array

Array of the "Fault" tag describing each detail of each failed instance

ErrorCode

Numeric

HTTP status code for the failed element

Message

String

Reason for the device not being locked

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

429

Chapter 6: Device Management

Query Device (*Refactored)
Functionality – Sends a Query Device command to the device identified by device ID.
HTTP Method – POST
Deprecated API URI – https://host/api/mdm/devices/{id}/query. This URI will be deprecated soon. Start using the
*Supported API URI.
*Supported API URI – https://host/api/mdm/devices/deviceid/commands

URI Parameters
Tag

Description

id

Device Id

command

The command to execute [Lock, EnterpriseWipe, DeviceWipe, DeviceQuery,
ClearPasscode, SyncDevice, StopAirPlay].

Deprecated API URIs:
l

MAC Address – https://host/api/mdm/devices/macaddress/{macaddress}/query

l

Serial Number – https://host/api/mdm/devices/serialnumber/{SerialNumber}/query

l

UDID – https://host/api/mdm/devices/UDID/{UDID}/query

l

IMEI Number – https://host/api/mdm/devices/imeinumber/{imei}/query

Request Body – NA
Response Obtained – NA

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

430

Chapter 6: Device Management

Device Wipe (*Refactored)
Functionality – Sends a Device Wipe command to the device identified by device ID.
HTTP Method – POST
Deprecated API URI – https://host/api/mdm/devices/{id}/devicewipe. This URI will be deprecated soon. Start using the
*Supported API URI.
*Supported API URI – https://host/api/mdm/devices/deviceid/commands

URI Parameters
Tag

Description

id

AirWatch Device Id

command

The command to execute [Lock, EnterpriseWipe, DeviceWipe, DeviceQuery,
ClearPasscode, SyncDevice, StopAirPlay].

Deprecated API URIs:
l

MAC Address – https://host/api/mdm/devices/macaddress/{macaddress}/devicewipe

l

Serial Number – https://host/api/mdm/devices/serialnumber/{SerialNumber}/devicewipe

l

UDID – https://host/api/mdm/devices/UDID/{UDID}/devicewipe

Response Obtained – NA
Request payload – NA

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

431

Chapter 6: Device Management

Delete Device
Functionality – Deletes the device information from the AirWatch Console and un-enrolls the device.
HTTP Method – DELETE
API URI – https://host/api/mdm/devices/{id}
You can delete a device using the following parameter:
l

Alternate device ID type – https://host/api/mdm/devices?searchby={searchby}&id={id}

URI Parameters
Tag

Description

searchby

The alternate id type (Macaddress, Udid, Serialnumber, ImeiNumber)

id

The alternate id of the device

Deprecated API URIs:
l

MAC Address – https://host/api/mdm/devices/macaddress/{macaddress}

l

Serial Number – https://host/api/mdm/devices/serialnumber/{SerialNumber}

l

UDID – https://host/api/mdm/devices/UDID/{UDID}

Response Obtained – NA
Request payload – NA

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

432

Chapter 6: Device Management

Delete Devices in Bulk (*Refactored)
Functionality – Deletes multiple devices identified by device ID or alternate ID.
HTTP Method – POST
Deprecated API URI – https://host/api/mdm/devices/delete. This URI will be deprecated soon. Start using the
*Supported API URI.
*Supported API URI – https://host/api/mdm/devices/bulk?searchby={searchby}

URI Parameters
Tag

Description

searchby

OPTIONAL. The alternate id type [Macaddress, Udid, Serialnumber, ImeiNumber] If
not included, device id is used.

Deprecated API URIs:
l

MAC Address – https://host/api/mdm/devices/macaddress/delete

l

Serial Number – https://host/api/mdm/devices/serialnumber/delete

l

UDID – https://host/api/mdm/devices/UDID/delete

Request Payload
XML



Numeric
Numeric



JSON

{
"BulkValues":{"value": [Numeric,Numeric]}
}

Request Tag Details
Tag

Mandatory

Description

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

433

Chapter 6: Device Management

Value

Yes( at least 1) Desired device parameter. "DeviceID","MAC Address", "Serial Number"
or "UDID"

Response Payload
XML


Numeric
Numeric
Numeric

String

Numeric
Numeric
String




JSON

{
"TotalItems": Numeric,
"AcceptedItems": Numeric,
"FailedItems": Numeric,
"Faults": {
"Fault": [
{
"ErrorCode": Numeric,
"ItemValue": Numeric,
"Message": "String"
}]
}
}

Response Tag Details
Tag

Type

Description

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

434

Chapter 6: Device Management

TotalItems

Numeric

Total number of device parameters sent in the request

AcceptedItems

Numeric

Number of devices to which delete command was successfully sent

FailedItems

Numeric

Number of devices that could not be deleted

Faults

Array

Array of the "Fault" tag describing each detail of each failed instance

ErrorCode

Numeric

HTTP status code for the failed element

Message

String

Reason for the device for not being deleted

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

435

Chapter 6: Device Management

Sync Device (*Refactored)
Functionality – Sends a Device Sync command to the device identified by device ID.
HTTP Method – POST
Deprecated API URI – https://host/api/mdm/devices/{id}/syncdevice. This URI will be deprecated soon. Start using the
*Supported API URI.
*Supported API URI – https://host/api/mdm/devices/deviceid/commands

URI Parameters
Tag

Description

id

device id

command

The command to execute [Lock, EnterpriseWipe, DeviceWipe, DeviceQuery,
ClearPasscode, SyncDevice, StopAirPlay].

Deprecated API URIs:
l

MAC Address – https://host/api/mdm/devices/macaddress/{macaddress}/syncdevice

l

Serial Number – https://host/api/mdm/devices/serialnumber/{SerialNumber}/syncdevice

l

UDID – https://host/api/mdm/devices/UDID/{UDID}/syncdevice

Request – NA
Response Obtained – NA

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

436

Chapter 6: Device Management

Send Email to the Device Enrollment User (*Refactored)
Functionality – Sends an email to the device enrollment user.
HTTP Method – POST
Deprecated API URI – https://host/api/mdm/devices/{id}/sendmessage/email. This URI will be deprecated soon. Start
using the *Supported API URI.
*Supported API URI – https://host/api/mdm/devices/{id}/messages/email (HTTP Method Used – POST)
The user can also send an email to the enrollment user using the following parameter:
l

Alternate device ID type – https://host/api/mdm/devices/messages/email?searchby={searchby}&id={id}

Deprecated API URIs:
l

Serial Number – https://host/api/mdm/devices/serialnumber/{serialnumber}/sendmessage/email

l

UDID – https://host/api/mdm/devices/udid/{udid}/sendmessage/email

l

Mac address – https://host/api/mdm/devices/macaddress/{macaddress}/sendmessage/email

URI Parameters
Tag

Description

searchby

The alternate id type (Macaddress, Udid, Serialnumber, ImeiNumber)

id

The alternate ID of the device

email

The email to send

Response Obtained – NA
Note: To make any email related API calls, it is necessary to have SMTP permissions set on the API server.

Request Payload
XML


String
String
String


VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

437

Chapter 6: Device Management

JSON

{
"MessageBody":"String",
"ToAddress":"String",
"Subject":"String"
}

Request Tag Details
Tag

Mandatory

Description

MessageBody

No

The content of the message

ToAddress

Yes

The recipients email address

Subject

No

The subject of the email

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

438

Chapter 6: Device Management

Send Email in Bulk (*Refactored)
Functionality – Sends the desired email to devices identified by devices ID.
HTTP Method – POST
Deprecated API URI – https://host/api/mdm/devices/sendmessage/email. This URI will be deprecated soon. Start using
the *Supported API URI.
*Supported API URI – https://host/api/mdm/devices/messages/bulkemail?searchby={searchby} (HTTP Method Used –
POST)
Deprecated API URIs:
l

Serial Number – https://host/api/devices/serialnumber/sendmessage/email

l

UDID – https://host/api/devices/udid/sendmessage/email

l

Mac address – https://host/api/devices/macaddress/sendmessage/email

URI Parameters
Tag

Description

searchby

The id type (Macaddress, Udid, Serialnumber, ImeiNumber, Deviceid)

Response Obtained – NA
Note: To make any email related API calls, it is necessary to have SMTP permissions set on the API server.

Request Payload
XML


String
Text value
String

Numeric
Numeric



VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

439

Chapter 6: Device Management

JSON

{
"MessageBody":"String",
"ToAddress": "String",
"Subject":"String",
"BulkValues":{"value": "String","String"}

}

Request Tag Details
Tag

Mandatory

Description

MessageBody

Yes

The content of the message

Subject

Yes

Subject of the email

Value

Yes( at least 1) Desired device parameter. "DeviceID","MAC Address", "Serial Number"
or "UDID"

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

440

Chapter 6: Device Management

Send SMS to the Device (*Refactored)
Functionality – Sends the SMS to the device enrollment user.
HTTP Method – POST
Deprecated API URI – https://host/api/mdm/devices/{id}/sendmessage/sms. This URI will be deprecated soon. Start
using the *Supported API URI.
*Supported API URI – https://host/api/mdm/devices/id/messages/sms (HTTP Method Used – POST)
The user can send SMS to a device using the following parameters:
l

Alternate device ID type – https://host/api/mdm/devices/messages/sms?searchby={searchby}&id={id}

Deprecated API URIS:
l

Serial Number – https://host/api/mdm/devices/serialnumber/{serialnumber}/sendmessage/sms

l

UDID – https://host/api/mdm/devices/udid/{udid}/sendmessage/sms

l

Mac address – https://host/api/mdm/devices/macaddress/{macaddress}/sendmessage/sms

URI Parameters
Tag

Description

searchby

The alternate id type (Macaddress, Udid, Serialnumber, ImeiNumber)

id

The alternate ID of the device

sms

The SMS message to send

Response Obtained – NA

Request Payload
XML


String
String


Important: When the Phone Number tag is not specified the mobile number of the device is used to send the SMS.

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

441

Chapter 6: Device Management

JSON

{
"MessageBody":"String",
"PhoneNumber":"String"
}

Request Tag Details
Tag

Mandatory

Description

MessageBody

Yes

The content of the message to be sent to the device

PhoneNumber

No

Phone number of the device

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

442

Chapter 6: Device Management

Send SMS in Bulk (*Refactored)
Functionality – Sends the SMS to a list of devices.
HTTP Method – POST
Deprecated API URI – https://host/api/mdm/devices/sendmessage/sms. This URI will be deprecated soon. Start using
the *Supported API URI.
*Supported API URI – https://host/api/mdm/devices/messages/bulksms?searchby=deviceid (HTTP Method Used –
POST)
Deprecated API URIs:
l

Serial Number – https://host/api/mdm/devices/serialnumber/sendmessage/sms

l

UDID – https://host/api/mdm/devices/udid/sendmessage/sms

l

Mac address – https://host/api/mdm/devices/macaddress/sendmessage/sms

URI Parameters
Tag

Description

searchby

The alternate id type (Macaddress, Udid, Serialnumber, ImeiNumber)

Response Obtained – NA

Request Payload
XML


String
String

Numeric
Numeric



JSON

{
"MessageBody":"String",
"PhoneNumber":"String",
"BulkValues":{"value": "String", "String"}

}

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

443

Chapter 6: Device Management

Request Tag Details
Tag

Mandatory

Description

MessageBody

Yes

Content of the message to be sent to the devices

Application

Yes

Application to which the push message needs to be sent. For
example, AirWatch Agent

Value

Yes (at least 1) Desired device parameter. For example, "DeviceID", "MAC Address",
"Serial Number", "IMEI Number", or "UDID"

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

444

Chapter 6: Device Management

Send Push Message to the Device (*Refactored)
Functionality – Sends a push message from the AirWatch Console to the device.
HTTP Method – POST
Deprecated API URI – https://host/api/mdm/devices/{id}/sendmessage
This URI will be deprecated soon. Start using the *Supported API URI.
*Supported API URI – https://host/api/mdm/devices/messages/commands/id/message (HTTP Method Used – POST)
You can also send push notification to a device using the following parameter:
l

Alternate device ID type – https://host/api/mdm/devices/messages/push?searchby={searchby}&id={id}

Deprecated API URIs:
l

Serial Number – https://host/api/mdm/devices/serialnumber/{serialnumber}/sendmessage/push

l

UDID – https://host/api/mdm/devices/udid/{udid}/sendmessage/push

l

Mac address – https://host/api/mdm/devices/macaddress/{macaddress}/sendmessage/push

URI Parameters
Tag

Description

searchby

The alternate id type (Macaddress, Udid, Serialnumber, ImeiNumber)

id

The alternate ID of the device

Response Obtained – NA

Request Payload
XML


String
String>
String


JSON

{
"MessageBody":"String",
"MessageType":"String",
"Application":"String"

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

445

Chapter 6: Device Management

}

Request Tag Details
Tag

Mandatory

Description

MessageBody

Yes

Content of the message to send to the device

Application

Yes

Application to which the notification is pushed (AirWatch Agent,
AirWatch Content Locker)

MessageType

Yes

Type of the message (Email, SMS. and Push)

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

446

Chapter 6: Device Management

Bulk Push Message to the Devices (*Refactored)
Functionality – Sends the desired push notifications to a list of devices.
HTTP Method – POST
Deprecated API URI – https://host/api/mdm/devices/sendmessage/push. This URI will be deprecated soon. Start using
the *Supported API URI.
*Supported API URI – https://host/api/mdm/devices/messages/bulkpush?searchby={searchby} (HTTP Method Used –
POST)
Deprecated API URIs:
l

Serial Number – https://host/api/devices/serialnumber/sendmessage/push

l

UDID – https://host/api/devices/udid/sendmessage/push

l

Mac address – https://host/api/devices/macaddress/sendmessage/push

URI Parameters
Tag

Description

searchby

The id type (Macaddress, Udid, Serialnumber, ImeiNumber, DeviceId)

Request Payload
XML


String
String>
String

Numeric
Numeric



JSON

{
"MessageBody":"String",
"Application":"String",
"MessageType":"String",

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

447

Chapter 6: Device Management

"BulkValues":{"value":[
"String",
"String"
]
}
}

Request Tag Details
Tag

Mandatory

Description

MessageBody

Yes

The content of the message to send to the devices

Application

Yes

Application to which the push message needs to be sent. Example,
AirWatch Agent

Value

Yes (at least 1) Desired device parameter. "DeviceID", "MAC Address", "Serial
Number", "IMEI Number" or "UDID"

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

448

Chapter 6: Device Management

Push Notification (*Refactored)
Functionality – Sends a push notification to the device identified by device ID. If not enrolled, sends an SMS message
instead.
HTTP Method – POST
Deprecated API URI – https://host/api/mdm/devices/{id}/sendmessage. This URI will be deprecated soon. Start using
the *Supported API URI.
*Supported API URI – https://host/api/mdm/devices/messages/{id}/message (HTTP Method Used – POST)
You can also send push notification using the following parameter:
l

Alternate device Id – https://host/api/mdm/devices/messages/message?searchby={searchby}&id={id}

URI Parameters
Tag

Description

id

The alternate device id

command

The command to execute [Lock, EnterpriseWipe, DeviceWipe, DeviceQuery,
ClearPasscode, SyncDevice, StopAirPlay].

Searchby

The alternate id type [DeviceId, Macaddress, Udid, Serialnumber].

Deprecated API URIs:
l

MAC Address – https://host/api/mdm/devices/macaddress/{macaddress}/sendmessage

l

Serial Number – https://host/api/mdm/devices/serialnumber/{SerialNumber}/sendmessage

l

UDID – https://host/api/mdm/devices/UDID/{UDID}/sendmessage

Response Obtained – NA

Request Payload
XML


String
String
String


VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

449

Chapter 6: Device Management

JSON

{
"MessageBody":"String",
"MessageType" : "String",
"ApplicationName":"String"
}

Request Tag Details
Tag

Mandatory

Description

MessageBody

Yes

Content of the message to be sent to the device

ApplicationName

Yes

Application name to which the push message needs to be sent. For
example - AirWatch Agent

MessageType

Yes

Type of the message

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

450

Chapter 6: Device Management

Execute Device Commands
Functionality – Executes command for the device.
HTTP Method – POST
API URI – https://host/api/mdm/devices/{deviceid}/commands?command={command}
You can execute device commands using the following parameter:
l

Alternate device ID type – https://host/api/mdm/devices/commands?command={command}&searchby=
{searchby}&id={id}

URI Parameters
Tag

Description

command

The command to execute (lock, unenroll, remotewipe, devicequery, clearpasscode,
syncdevice, enterpriseWipe, deviceWipe, stopAirplay, scheduleosupdate)

searchby

The alternate id type (Macaddress, Udid, Serialnumber, ImeiNumber, Easid)

id

The alternate id

Response Obtained – NA
Request Body – NA

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

451

Chapter 6: Device Management

Execute Bulk Device Commands
Functionality – Executes command for device by alternate id.
HTTP Method – POST
API URI – https://host/api/mdm/devices/commands/bulk?command={command}&searchby={searchby}

URI Parameters
Tag

Description

command

The command to execute (enterpriseWipe, lockdevice, scheduleosupdate)

searchby

The alternate id type (Macaddress, Udid, Serialnumber, ImeiNumber)

Request Payloads
XML



String
String



JSON

{
"BulkValues":{
"Value":["String"]
}
}

Request Tag Details
Tag

Mandatory

Description

Value

Yes

Unique ID of the newly created device command

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

452

Chapter 6: Device Management

Response Payload
XML


Numeric
Numeric
Numeric

String

Numeric
String
String




JSON

{
"AcceptedItems":Numeric,
"FailedItems":Numeric,
"Faults":{
"Fault":[{
"ErrorCode":Numeric,
"ItemValue":"String",
"Message":"String"
}]
},
"TotalItems":Numeric
}

Response Tag Details
Tag

Type

Description

AcceptedItems

Numeric

Number of commands successfully executed

FailedItems

Numeric

Number of commands that are not executed

Fault

Numeric

XML/JSON block providing the details of the commands that could not
be executed

Message

String

Reason for the commands for not being executed

TotalItems

Numeric

Total number of commands sent in the request

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

453

Chapter 6: Device Management

Schedule OS Update Command
Functionality – Executes the schedule Os update command on specified iOS device which is supervised, DEP, and has
version >= 9.
HTTP Method – POST
API URI – https://host/api/mdm/devices/commands/scheduleosupdate?searchby={searchBy}&id={id}&installaction=
{installAction}

URI Parameters
Tag

Description

id

The alternate id

searchby

The alternate id type (macaddress, udid, serialnumber, imeiNumber, easId,
deviceId)

installaction

The install action type [default, downloadOnly, installASAP]

Response Obtained – NA
Request Body – NA

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

454

Chapter 6: Device Management

Bulk Schedule OS Update Command
Functionality – Executes the Schedule Os Update command on list of iOS devices which are supervised, DEP and has
version >= 9.
HTTP Method – POST
API URI – https://host/api/mdm/devices/commands/bulk/scheduleosupdate?searchby={searchBy}&installaction=
{installAction}

URI Parameters
Tag

Description

searchby

The alternate id type (macaddress, udid, serialnumber, imeiNumber, easId,
deviceId)

installaction

Install action type (default, downloadOnly, installASAP)

Request Payload
XML



String
String



JSON

{
"BulkValues" : {
"Value" : [
"String",
"String"
]
}
}

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

455

Chapter 6: Device Management

Request Tag Details
Tag

Mandatory

Description

Value

Yes

Unique ID of the newly created device command

Response Payload
XML


Numeric
Numeric
Numeric

String

Numeric
String
String


Numeric
String
String




JSON

{
"TotalItems" : Numeric,
"AcceptedItems" : Numeric,
"FailedItems" : Numeric,
"Faults" : {
"Fault" : [
{
"ErrorCode" : Numeric,
"ItemValue" : "String",
"Message" : "String"
},
{
"ErrorCode" : Numeric,
"ItemValue" : "String",

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

456

Chapter 6: Device Management

"Message" : "String"
}
]
}
}

Response Tag Details
Tag

Type

Description

AcceptedItems

Numeric

Number of commands successfully executed

FailedItems

Numeric

Number of commands that are not executed

Fault

Numeric

XML/JSON block providing the details of the commands that could not
be executed

Message

String

Reason for the commands for not being executed

TotalItems

Numeric

Total number of commands sent in the request

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

457

Chapter 6: Device Management

Start Airplay
Functionality – Executes start airplay for a specific device.
HTTP Method – POST
API URI – https://host/api/mdm/devices/{deviceid}/commands/startairplay

URI Parameters
Tag

Description

device id

The unique identification number of the device

Response Obtained – NA

Request Payload
XML


String
String
String
String


JSON

{
"DestinationName" : "String",
"DestinationDeviceId" : "String",
"Passcode" : "String",
"Scantime" : "String"
}

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

458

Chapter 6: Device Management

Request Tag Details
Tag

Mandatory

Description

DestinationName

Yes

Name of the destination device

DestinationDeviceId

Yes

Unique identification number of the destination device

Passcode

Yes

Passcode of the device

Scantime

Yes

Scantime to perform airplay

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

459

Chapter 6: Device Management

Send Remote Control Action Command (*Refactored)
Functionality – Initiates the remote control action for the device identified by device ID, by sending the command string
to Device-Agent through AWCM.
HTTP Method – POST
Deprecated API URI – https://host/api/mdm/devices/{id}/remotecontrol. This URI will be deprecated soon. Start using
the *Supported API URI .
*Supported API URI – https://host/api/mdm/devices/commands/remotecontrol (HTTP Method Used – POST)
You can also send remote action command to devices using the following parameter:
l

Alternate device ID type – https://host/api/mdm/devices/commands/remotecontrol?searchby={searchby}&id={id}

URI Parameters
Tag

Description

searchby

The alternate id type (Macaddress, Udid, Serialnumber, IMEI number)

id

id of the device for which remote control action needs to be initiated

Deprecated API URI:
l

Mac address – https://host/api/mdm/devices/macaddress/{macaddress}/remotecontrol

l

Serial Number – https://host/api/mdm/devices/serialnumber/{serialnumber}/remotecontrol

l

UDID – https://host/api/mdm/devices/udid/{udid}/remotecontrol

Request Payload – NA
Response Obtained – NA

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

460

Chapter 6: Device Management

Add Note to the Device (*Refactored)
Functionality – Creates a note for the device identified by device ID.
HTTP Method – POST
Deprecated API URI – https://host/api/mdm/devices/{deviceid}/addnote. This URI will be deprecated soon. Start using
the *Supported API URI.
*Supported API URI – https://host/api/mdm/devices/{deviceId}/notes
The user can add notes to a device using the following parameter:
l

Alternate Device id – https://host/api/mdm/devices/notes?searchby={searchby}&id={id}

URI Parameters
Tag

Description

searchby

The alternate id type (Macaddress, Udid, Serialnumber, ImeiNumber)

id

Device alternate id

Deprecated API URIs:
l

MAC Address – https://host/api/mdm/devices/macaddress/{macaddress}/addnote

l

Serial Number – https://host/api/mdm/devices/serialnumber/{SerialNumber}/addnote

l

UDID – https://host/api/mdm/devices/UDID/{UDID}/addnote

Response Obtained – NA

Request Payload
XML


Numeric 
String


JSON

{
"DeviceId": Numeric ,
"Note":" String "
}

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

461

Chapter 6: Device Management

Request Tag Details
Tag

Mandatory

Description

DeviceId

Yes

Unique identification of the device

Note

Yes

Text of the note

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

462

Chapter 6: Device Management

Delete Note From the Device
Functionality – Deletes the specified note identified by its note ID from the device.
HTTP Method – DELETE
API URI – https://host/api/mdm/devices/{deviceid}/notes/{noteid}
The user can delete notes from the device using the following parameter:
l

Alternate Device id – https://host/api/mdm/devices/notes/{noteid}?searchby={searchby}&id={id}

URI Parameters
Tag

Description

searchby

The alternate id type (Macaddress, Udid, Serialnumber, ImeiNumber)

id

Device alternate id

Deprecated API URIs:
l

MAC Address – https://host/api/mdm/devices/macaddress/{macaddress}/notes/{noteid}

l

Serial Number –https://host/api/mdm/devices/serialnumber/{SerialNumber}/notes/{noteid}

l

UDID – https://host/api/mdm/devices/UDID/{UDID}/notes/{noteid}

Request Body – NA
Response Obtained – NA

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

463

Chapter 6: Device Management

Retrieve Notes From the Device
Functionality – Retrieves details of all the notes from the device.
HTTP Method – GET
API URI – https://host/api/mdm/devices/{id}/notes
The user can retrieve notes from the device using the following parameter:
l

Alternate Device id – https://host/api/mdm/devices/notes?searchby={searchby}&id={id}

URI Parameters
Tag

Description

searchby

The alternate id type (Macaddress, Udid, Serialnumber, ImeiNumber)

id

Device alternate id

Deprecated API URIs:
l

MAC Address – https://host/api/mdm/devices/macaddress/{macaddress}/notes

l

Serial Number – https://host/api/mdm/devices/serialnumber/{SerialNumber}/notes

l

UDID – https://host/api/mdm/devices/UDID/{UDID}/notes

Request Body – NA

Response Payload
XML


String


Numeric
Numeric
Numeric
String
Datetime
Datetime




VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

464

Chapter 6: Device Management

JSON

{
"DeviceId":{ Numeric},
"DeviceNotes":[{
"Id": Numeric,
"DeviceId": Numeric,
"TagId": Numeric,
"Note":" String ",
"CreatedOn":" Datetime ",
"ModifiedOn":" Datetime "
}]
}

Response Tag Details
Tag

Type

Description

DeviceId

Numeric

Unique identification of the device

Id

Numeric

Unique identification of the note

TagId

Numeric

Unique identification of the tag associated with the note

Note

String

Text of the note

CreatedOn

Datetime

Time stamp of note creation

ModifiedOn

Datetime

Time stamp of last modified date of the note

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

465

Chapter 6: Device Management

Retrieve a Specific Note From the Device
Functionality – Retrieves a particular note for the device identified by device ID.
HTTP Method – GET
API URI – https://host/api/mdm/devices/{deviceid}/notes/{noteid}
The user can retrieve a specific note from a device using the following parameter:
l

Alternate Device id – https://host/api/mdm/devices/notes/{noteid}?searchby={searchby}&id={id}

Deprecated API URIs:
l

MAC Address – https://host/api/mdm/devices/macaddress/{macaddress}/notes/{noteid}

l

Serial Number –https://host/api/mdm/devices/serialnumber/{serialnumber}/notes/{noteid}

l

UDID – https://host/api/mdm/devices/udid/{udid}/notes/{noteid}

URI Parameters
Tag

Description

searchby

The alternate id type (Macaddress, Udid, Serialnumber, ImeiNumber)

id

Device alternate id

Request Body – NA

Response Payload
XML


Numeric
Numeric
String
Datetime
Datetime


JSON

{
"Id":Numeric,
"DeviceId":Numeric,
"Note":"String",
"CreatedOn":"Datetime",

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

466

Chapter 6: Device Management

"ModifiedOn":"Datetime"
}

Response Tag Details
Tag

Type

Description

DeviceId

Numeric

Unique identification of the device

Id

Numeric

Unique identification of the note

Note

String

Text of the note

CreatedOn

Datetime

Time stamp of note creation

ModifiedOn

Datetime

Time stamp of last modified date of the note

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

467

Chapter 6: Device Management

Update Note onto the Device (*Refactored)
Functionality – Updates details of the specified note on the device.
HTTP Method – POST
Deprecated API URI – https://host/api/mdm/devices/{deviceid}/notes/{noteid}/update. This URI will be deprecated
soon. Start using the *Supported API URI.
*Supported API URI – https://host/api/mdm/devices/{deviceId}/notes/{noteid} (HTTP Method Used – PUT)
You can also update notes on a device using the following parameter:
l

Alternate Device id – https://host/api/mdm/devices/notes/{noteid}?searchby={searchby}&id={id}

URI Parameters
Tag

Description

searchby

The alternate id type (Macaddress, Udid, Serialnumber, ImeiNumber)

id

Device alternate id

Deprecated API URIs:
l

MAC Address – https://host/api/mdm/devices/macaddress/{macaddress}/notes/{noteid}/update

l

Serial Number –https://host/api/mdm/devices/serialnumber/{SerialNumber}/notes/{noteid}/update

l

UDID – https://host/api/mdm/devices/UDID/{UDID}/notes/{noteid}/update

Request Payload
XML


Numeric
Numeric
String


JSON

{
"DeviceId" : Numeric,
"Id" : Numeric,
"Note":"String"
}

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

468

Chapter 6: Device Management

Request Tag Details
Tag

Mandatory

Description

Note

Yes

Text of the note

Id

Yes

Unique identifier of the note

DeviceId

Yes

Unique identifier of the device

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

469

Chapter 6: Device Management

Search Device Details
Functionality – Searches for devices using the query information provided.
HTTP Method – GET
API URI – https://host/api/mdm/devices/search?user={user}&model={model}&platform={platform}&lastseen=
{lastseen}&ownership={ownership}&Igid={Igid}&compliantstatus={compliantstatus}&seensince={seensince}&page=
{page}&pagesize={pagesize}&orderby={orderby}&sortorder={sortorder}
l

Exact Match Parameter – model, platform, ownership, compliancestatus, sortorder

l

Pattern (Contains) Match Parameter – user, lastseen, Igid, seensince, page, pagesize, orderby

Request Body – NA

URI Parameters
Tag

Type

Description

user

String

Enrolled username

model

String

Device model

platform

String

Device platform

lastseen

Datetime

Last seen date string

ownership

String

Device ownership

Igid

Integer

Organization group to be searched, user's OG is considered if not sent

compliantstatus

Boolean

Complaint status

seensince

Datetime

Specifies the date filter for device search, which retrieves the devices
that are seen after this date

page

Numeric

Page number

pagesize

Numeric

Records per page

orderby

String

Order by column name

sortorder

String

Sorting order. Values ASC or DESC. Defaults to ASC.

Accepted DateTime formats: "yyyy/MM/dd", "yyyy-MM-dd", "MM/dd/yyyy", "MM-dd-yyyy", "yyyy/MM/dd
HH:mm:ss.fff", "yyyy-MM-dd HH:mm:ss.fff", "MM/dd/yyyy HH:mm:ss.fff", "MM-dd-yyyy HH:mm:ss.fff",
"yyyy/MM/ddTHH:mm:ss.fff", "yyyy-MM-ddTHH:mm:ss.fff", "MM/dd/yyyyTHH:mm:ss.fff", "MM-ddyyyyTHH:mm:ss.fff", "yyyy-MM-dd HH-mm-ss-tt"

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

470

Chapter 6: Device Management

Response Payload
XML


Numeric
Numeric
Numeric

Numeric
String
String
String
String
String
String
String
String
String

String
String
String
String
String
String
String
String
String
Datetime
String
Boolean
Boolean
Datetime
Datetime
Datetime


Numeric
Boolean
String
String
Datetime
Datetime

String


String



VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

471

Chapter 6: Device Management


Boolean



JSON

{
"Page":Numeric,
"PageSize":Numeric,
"Total":Numeric,
"Devices":{
"Id":Numeric,
"Udid":"String",
"SerialNumber":"String",
"MacAddress":"String",
"Imei":"String",
"AssetNumber":"String",
"DeviceFriendlyName":"String",
"LocationGroupId":{
},
"LocationGroupName":"String",
"UserId":{
},
"UserName":"String",
"UserEmailAddress":"String",
"Ownership":"String",
"PlatformId":{
},
"Platform":"String",
"ModelId":{
},
"Model":"String",
"OperatingSystem":"String",
"PhoneNumber":"String",
"LastSeen":"Datetime",
"EasId":"String",
"EnrollmentStatus":"String",
"ComplianceStatus":"Boolean",
"CompromisedStatus":Boolean,
"LastEnrolledOn":"Datetime",
"LastComplianceCheckOn":"Datetime",
"LastCompromisedCheckOn":"Datetime",
"ComplianceSummary":[{
"Id":Numeric,
"CompliantStatus":Boolean,
"PolicyName":"String"
"PolicyDetail":"String",

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

472

Chapter 6: Device Management

"LastComplianceCheck":"Datetime",
"NextComplianceCheck":"Datetime",
"ActionTaken":{
"ActionType":String
}
}],
"IsSupervised":Boolean
}
}

Response Tag Details
Tag

Type

Description

Id

Numeric

Unique identification number of the device

Udid

String

UDID of the device

SerialNumber

String

Serial number of the device

MacAddress

String

MAC address of the Device

Imei

String

IMEI number of the device

AssetNumber

String

Asset number of the device

DeviceFriendlyName

String

Friendly name assigned to the device

LocationGroupId

String

Unique identification of the organization group to which the device is
assigned

LocationGroupName

String

Name of the organization group to which the device is assigned

UserId

String

Id of the enrollment user to whom the device is assigned

UserName

String

Name of the enrollment user to whom the device is assigned

UserEmailAddress

String

Email address of the enrollment user

Ownership

String

Ownership type of the device. Values: Corporate-Shared, CorporateDedicated, Employee Owned

PlatformId

String

Unique identification associated with the platform

Platform

String

Name of the device platform

ModelId

String

Unique identification associated with the model

Model

String

OEM model name

OperatingSystem

String

Version of the operating system on the model

PhoneNumber

String

Phone number of the device

LastSeen

Datetime

Last seen time stamp of the device

EnrollmentStatus

String

Current enrollment status of the device. Enrolled, Unenrolled etc

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

473

Chapter 6: Device Management

ComplianceStatus

Boolean

Overall compliance status of the device

CompromisedStatus

Boolean

Compromised status of the device. Values: True/False

LastEnrolledOn

Datetime

Time stamp of the last enrollment of the device

LastComplianceCheckOn

Datetime

Time stamp of the last compliance check

LastCompromisedCheckOn

Datetime

Time stamp of the last compromised status check

Id

Numeric

Unique identification of the device

CompliantStatus

Boolean

Compliance status of the device

PolicyName

String

Name of the compliance policy

PolicyDetail

String

Details of the compliance policy

LastComplianceCheck

Datetime

Time stamp of the last compliance check

NextComplianceCheck

Datetime

Scheduled time of the next compliance check

ActionTaken

String

Compliance policy action taken on the device

ActionType

String

Type of compliance action taken on the device

IsSupervised

Boolean

Specifies if the device is supervised or not

Page

Numeric

Page number of the search result

PageSize

Numeric

Number of profile details shown on each page

Total

Numeric

Total number of profiles on the device

C# Sample Code

using
using
using
using
using

System;
System.IO;
System.Net;
System.Text;
System.Xml.Serialization;

namespace AirwatchApiClient
{
class Program
{
#region Constants
private const string USER_NAME = "UserName1";
private const string PASSWORD = "Password1";
private const string API_TENANT_CODE = "API-Key";
private const string HOST = "https://host";
private const string MIME_TYPE = "application/xml";
#endregion
public static void InitializeRequest(HttpWebRequest request)
{
request.Headers.Add("aw-tenant-code", API_TENANT_CODE);

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

474

Chapter 6: Device Management

request.Credentials = new NetworkCredential(USER_NAME, PASSWORD);
request.KeepAlive = false;
request.AddRange(1024);
request.Timeout = 10000;
}
public static void DeviceSearch()
{
try
{
var firstname = "";
var lastname = "";
var emailaddress = "";
var organizationgroupid = "";
var role = "";
var username = "";
var orderby = "";
var page = "";
var pagesize = "";
var sortorder = "";
var request =
WebRequest.Create(HOST + string.Format
("/api/system/admins/search?firstname={0}&lastname={1}&email=
{2}&organizationgroupid={3}&role={4}&" +
"username={5}&orderby={6}&page={7}&pagesize={8}&sortorder=
{9}", firstname, lastname, emailaddress, organizationgroupid,
role, username, orderby, page, pagesize, sortorder)) as
HttpWebRequest;
request.Method = "GET";
InitializeRequest(request);
request.Accept = MIME_TYPE;
var response = (HttpWebResponse)request.GetResponse();
var streamReader = new StreamReader(response.GetResponseStream
());
Console.WriteLine(streamReader.ReadToEnd());
streamReader.Close();
response.Close();
}
catch (WebException e)
{
if (e.Response != null)
{
var errorMessageStream = e.Response.GetResponseStream();
string message = new StreamReader
(errorMessageStream).ReadToEnd();
Console.WriteLine(message);
}
else
{
Console.WriteLine(e.Message);
}
}

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

475

Chapter 6: Device Management

catch (Exception e)
{
Console.WriteLine(e.Message);
}
}
}
}

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

476

Chapter 6: Device Management

Search Compliance Policy
Functionality – Searches for the compliance policies with the search parameters passed.
HTTP Method – GET
API URI – https://host/api/mdm/compliancepolicy/search?organizationgroupid={ogid}&page={page}&pagesize=
{pagesize}
Request Body – NA
URI Parameters
Tag

Type

Description

ogid

Numeric

Organization group id which is similar to selected organization
group selected in console.

page

Numeric

page number

pagesize

Numeric

Maximum results which should be returned in each page

Response Payload
XML


Numeric
Numeric
Numeric

Numeric
String
String
Boolean
String
Numeric
String
Numeric
Numeric
Numeric


Numeric
String
String
Boolean
String
Numeric
String
Numeric

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

477

Chapter 6: Device Management

Numeric
Numeric



JSON

{
"Page":Numeric,
"PageSize":Numeric,
"Total":Numeric,
"CompliancePolicy":[{
"AssignedDevices":Numeric,
"CompliantDevices":Numeric,
"Description":"String",
"DevicePolicyId":Numeric,
"IsActive":Boolean,
"Name":"String",
"NonCompliantDevices":Numeric,
"Platform":"String",
"RootLocationGroupId":Numeric,
"RootLocationGroupName":"String"
}]
}

Response Tag Details
Tag

Type

Description

Page

Numeric

The specific page number to be retrieved

PageSize

Numeric

Maximum records per page to be displayed

Total

Numeric

Total number of records present in the search result

CompliancePolicy

String

Type of the compliance policy to be searched for

AssignedDevices

Numeric

Number of devices assigned with the compliance policy

CompliantDevices

Numeric

Number of devices that are compliant

Description

String

Description of the compliance policy

DevicePolicyId

Numeric

Unique identification number of the device policy

IsActive

Boolean

True / False

Name

String

Name of the compliance policy

NonCompliantDevices

Numeric

Number of non-compliant devices

Platform

String

Platform of the device

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

478

Chapter 6: Device Management

RootLocationGroupId

Numeric

Unique identification number of the root location group where the
compliance policy is configured

RootLocationGroupName

String

Name of the root location group where the compliance policy is
configured

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

479

Chapter 6: Device Management

Device Extensive Search
Functionality – Search results containing the devices and their product assignment information.
HTTP Method – GET
API URI – https://host/api/mdm/devices/extensivesearch?organizationgroupid={organizationgroupid}&platform=
{platform}&startdatetime={startdatetime}&enddatetime={enddatetime}&deviceid={deviceid}&customattributes=
{customattributeslist}&enrollmentstatus={enrollmentstatus}&enrollmentstatuschangefrom=
{statuschangestarttime}&enrollmentstatuschangeto={statuschangeendtime}&page={page}&pagesize={pagesize}
l

l

Exact Match Parameter – platform, enrollmentstatus
Pattern (Contains) Match Parameter – organizationgroupid, startdatetime, enddatetime,deviceid,
customattributes, enrollmentstatuschangefrom, enrollmentstatuschangeto, page, pagesize

Request Body – NA

URI Parameters
Tag

Type

Description

organizationgroupid

Numeric

Organization Group to be searched, user's OG is considered if not sent

platform

String

Device platform

customattributeslist

String

Custom attribute names

startdatetime

Datetime

Filters devices such that devices with last seen after this date will be
returned

enddatetime

Datetime

Filters devices such that devices with last seen till this date will be
returned

deviceid

Numeric

Device Identifier

enrollmentstatus

Boolean

Filters devices based on their EnrollmentStatus

statuschangestarttime

Datetime

Filters the devices for which EnrollmentStatus has changed from
enrollmentstatuschangefrom datetime [Valid only in case of
enrollmentStatus filter = enrolled or unenrolled]

statuschangeendtime

Datetime

Filters the devices for which EnrollmentStatus has changed till
enrollmentstatuschangeto datetime [Valid only in case of
enrollmentStatus filter = enrolled or unenrolled]

page

Numeric

The specific page number to get

pagesize

Numeric

Max records per page

Accepted DateTime formats: "yyyy/MM/dd", "yyyy-MM-dd", "MM/dd/yyyy", "MM-dd-yyyy", "yyyy/MM/dd
HH:mm:ss.fff", "yyyy-MM-dd HH:mm:ss.fff", "MM/dd/yyyy HH:mm:ss.fff", "MM-dd-yyyy HH:mm:ss.fff",

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

480

Chapter 6: Device Management

"yyyy/MM/ddTHH:mm:ss.fff", "yyyy-MM-ddTHH:mm:ss.fff", "MM/dd/yyyyTHH:mm:ss.fff", "MM-ddyyyyTHH:mm:ss.fff", "yyyy-MM-dd HH-mm-ss-tt"

Response Payload
XML




Numeric
String
String
Numeric
String
Datetime
Datetime
Boolean
String
Boolean
Datetime


String
String
String




Numeric
String
String




Numeric
String




String
String




VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

481

Chapter 6: Device Management




JSON

{
"Page":Numeric,
"PageSize":Numeric,
"Total":Numeric,
"Devices":[{
"AssetNumber":"String",
"Compliant":Boolean,
"CustomAttributes":[{
"Name":"String",
"Value":"String"
}],
"DeviceFriendlyName":"String",
"DeviceId":Numeric,
"DeviceNetworkInfo":[{
"ConnectionType":"String",
"IPAddress":"String",
"MACAddress":"String"
}],
"EnrollmentDate":"Datetime",
"EnrollmentStatus":"Boolean",
"LastSeen":"Datetime",
"OrganizationGroupId":Numeric,
"Products":[{
"Name":"String",
"ProductId":Numeric,
"Status":"String"
}],
"SerialNumber":"String",
"SmartGroups":[{
"Name":"String",
"SmartGroupId":Numeric
}],
"Udid":"String",
"UnEnrolledDate":"Datetime",
"UserName":"String"
}]
}

Response Tag Details
Tag

Type

Description

DeviceId

Numeric

Unique numeric ID of the device

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

482

Chapter 6: Device Management

Udid

String

UDID of the device

DeviceFriendlyName

String

Friendly name of the device

OrganizationGroupId

Numeric

Unique identification of the organization group from where the devices
are filtered

UserName

String

Username of the device

LastSeen

Datetime

Last seen time stamp of the device

EnrollmentDate

Datetime

Time stamp of the device enrollment date

Compliant

Boolean

Status of the device compliant policy

DeviceNetworkInfo
ConnectionType

String

Name of the connection displayed on the device

DeviceNetworkInfo IPAddress

String

IP address of the device

DeviceNetworkInfo
MACAddress

String

MAC address of the device

ProductId

Numeric

Unique identification number of the product

Products Name

String

Name of the product

Products Status

String

Status of the product

SmartGroupId

Numeric

Unique identification number of the Smart group

SmartGroupId Name

String

Name of the smart group

CustomAttributes Name

String

Name of the custom attributes

CustomAttributes Value

String

Value of the custom attributes

EnrollmentStatus

String

Enrollment status on the device

UnEnrolledDate

Datetime

Time stamp of the device last enrollment date

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

483

Chapter 6: Device Management

Search Security Information
Functionality – Searches for device security information.
HTTP Method – GET
API URI – https://host/api/mdm/devices/securityinfosearch?organizationgroupid={organizationgroupid}&user=
{user}&model={model}&platform={platform}&lastseen={lastseen}&ownership={ownership}&compliantstatus=
{compliantstatus}&seensince={seensince}&page={page}&pagesize={pagesize}
l

Exact Match Parameter – model, platform, ownership, compliantstatus

l

Pattern (Contains) Match Parameter – organizationgroupid, user, lastseen, seensince, page, pagesize

Request Body – NA

URI Parameters
Tag

Type

Description

organizationgroupid

Numeric

Organization group to be searched, user's OG is considered if not sent

user

String

Enrolled username

model

String

Device model

platform

String

Device platform

lastseen

Datetime

Last seen date string

ownership

String

Ownership type of the device

compliantstatus

Boolean

Complaint status [True or False]

seensince

Datetime

Specifies the date filter for device search, which retrieves the devices
that are seen after this date

page

Numeric

The specific page number to get

pagesize

Numeric

Max records per page

Response Payload
XML


Numeric
Numeric
Numeric

Numeric
Boolean

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

484

Chapter 6: Device Management

Boolean
Boolean
Boolean



JSON

{
"Page":Numeric,
"PageSize":Numeric,
"Total":Numeric,
"SecurityInfo":[{
"CompromisedStatus":"Boolean",
"DeviceId":Numeric,
"EncryptionStatus":"Boolean",
"PasscodeComplianceStatus":"Boolean",
"PasscodeStatus":"Boolean"
}]
}

Response Tag Details
Tag

Type

Description

Page

Numeric

Page number of the search result

PageSize

Numeric

Number of content details shown on each page

Total

Numeric

Total number of documents on the device

CompromisedStatus

Boolean

Compromised status of the device. Values: True/False

DeviceId

Numeric

Unique identification number of the device to be searched for

EncryptionStatus

Boolean

Encryption status of the device. Values: True/False

PasscodeComplianceStatus

Boolean

Passcode compliance status of the device

PasscodeStatus

Boolean

Passcode status of the device

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

485

Chapter 6: Device Management

Search Network Information
Functionality – Returns device network information along with corresponding device ID.
HTTP Method – GET
API URI – https://host/api/mdm/devices/networkinfosearch?user={user}&model={model}&platform=
{platform}&lastseen={lastseen}&ownership={ownership}&lgid={lgid}&compliantstatus={compliantstatus}&seensince=
{seensince}&page={page}&pagesize={pagesize}&sortorder={sortorder}
l

Exact Match Parameter – model, platform, ownership, compliancestatus, sortorder

l

Pattern (Contains) Match Parameter – user, lastseen, lgid, seensince, page, pagesize

Request Body – NA

URI Parameters
Tag

Type

Description

user

String

Username of the Enrolled user

model

String

Device model

platform

String

Device platform

lastseen

Datetime

Last seen date string

ownership

String

Defines the ownership typeof the device

lgid

Numeric

Unique numeric Identifier of the Organization Group

compliantstatus

Boolean

Complaint status.(true/false)

seensince

Datetime

Specifies the date filter for device network info search, which retrieves
the devices that are seen after this date

page

Numeric

Page number

pagesize

Numeric

Records per page

sortorder

String

Sorting order. Values ASC or DESC. Defaults to ASC

Response Payload
XML


Numeric
Numeric
Numeric


VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

486

Chapter 6: Device Management


Numeric

String
String
String





JSON

{
"Page":Numeric,
"PageSize":Numeric,
"Total":Numeric,
"DeviceNetworkDetails":[{
"Id":{
"Value": Numeric,
"IPAddress":{
"WifiIPAddress":"String",
"CellularIPAddress":"String",
"EthernetIPAddress":"String"
}
}]
}

Response Tag Details
Tag

Type

Description

Page

Numeric

Page number of the retrieved response

PageSize

Numeric

Size of the current page

Total

Numeric

Total Results obtained from the search

DeviceNetwork Id

Numeric

Unique identification number of the Network

DeviceNetwork IPAddress

String

IP address of the device network

WifiIPAddress

String

The IP address of the Wi-Fi connectivity

CellularIPAddress

String

The IP address for cellular connectivity

EthernetIPAddress

String

The IP address for Ethernet connectivity

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

487

Chapter 6: Device Management

Device Extensive Search (Lite)
Functionality – Search results containing the devices and their product assignment information (Lite Version).
HTTP Method – GET
API URI – https://host/api/mdm/devices/litesearch?organizationgroupid={organizationgroupid}&platform=
{platform}&startdatetime={startdatetime}&enddatetime={enddatetime}&deviceid={deviceid}&customattributes=
{customattributeslist}&page={page}&pagesize={pagesize}
l

l

Exact Match Parameter – platform
Pattern (Contains) Match Parameter – organizationgroupid, startdatetime, enddatetime, deviceid,
customattributes, page, pagesize

Request Body – NA

URI Parameters
Tag

Type

Description

organizationgroupid

Numeric

Organization Group to be searched, user's OG is considered if not sent

platform

String

Device platform

customattributeslist

String

Custom attribute names

startdatetime

Datetime

Filters devices such that devices with last seen after this date will be
returned

enddatetime

Datetime

Filters devices such that devices with last seen till this date will be
returned

deviceid

Numeric

Device Identifier

page

Numeric

The specific page number to get

pagesize

Numeric

Max records per page

Accepted DateTime formats: "yyyy/MM/dd", "yyyy-MM-dd", "MM/dd/yyyy", "MM-dd-yyyy", "yyyy/MM/dd
HH:mm:ss.fff", "yyyy-MM-dd HH:mm:ss.fff", "MM/dd/yyyy HH:mm:ss.fff", "MM-dd-yyyy HH:mm:ss.fff",
"yyyy/MM/ddTHH:mm:ss.fff", "yyyy-MM-ddTHH:mm:ss.fff", "MM/dd/yyyyTHH:mm:ss.fff", "MM-ddyyyyTHH:mm:ss.fff", "yyyy-MM-dd HH-mm-ss-tt"

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

488

Chapter 6: Device Management

Response Payload
XML


Numeric
Numeric
Numeric


Numeric
String
String
Numeric


String
String
String


Datetime


String
String






JSON

{
"Page":Numeric,
"PageSize":Numeric,
"Total":Numeric,
"Devices":[{
"CustomAttributes":[{
"Name":"String",
"Value":"String"
}],
"DeviceFriendlyName":"String",
"DeviceId":Numeric,
"DeviceNetworkInfo":[{
"ConnectionType":"String",

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

489

Chapter 6: Device Management

"IPAddress":"String",
"MACAddress":"String"
}],
"LastSeen":"Datetime",
"OrganizationGroupId":Numeric,
"Udid":"String"
}]
}

Response Tag Details
Tag

Type

Description

CustomAttributes Name

String

Name of the custom attribute to be searched for

CustomAttributes Value

String

Value of the custom attribute passed to be searched for

DeviceFriendlyName

String

Friendly name of the device

DeviceId

Numeric

Unique identification number of the device

ConnectionType

String

Type of connection enabled by the payload

IPAddress

String

IP address of the device network

MACAddress

String

MAC address of the device network

LastSeen

Datetime

Last seen time stamp of the device

OrganizationGroupId

Numeric

Unique location group number of the device

Udid

String

UDID of the device

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

490

Chapter 6: Device Management

Custom Attribute Search
Functionality – Searches for device custom attributes.
HTTP Method – GET
API URI – https://host/api/mdm/devices/customattribute/search?organizationgroupid=
{organizationgroupid}&deviceid={deviceid}&serialnumber={serialnumber}&startdatetime=
{startdatetime}&enddatetime={enddatetime}
l

Pattern (Contains) Match Parameter – organizationgroupid, deviceid, serialnumbe, startdatetime, enddatetime

Request Body – NA
URI Parameters
Tag

Type

Description

organizationgroupid

Numeric

Organization group to be searched, user's OG is considered if
not sent.

deviceid

Numeric

Device ID to search for

serialnumber

String

Device serial number to search for

startdatetime

Datetime

DateTime, filters the custom attributes which are modified
by after this datetime

enddatetime

Datetime

DateTime, filters the custom attributes which are modified
by before this datetime

Response Payload
XML




Numeric
String
String
String
String


String
String
String
String



VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

491

Chapter 6: Device Management





JSON

{
"Devices":[{
"AssetNumber":"String",
"CustomAttributes":[{
"Application":"String",
"Name":"String",
"Value":"String"
"Source" : "String
}],
"DeviceId":Numeric,
"EnrollmentUserName":"String",
"SerialNumber":"String",
"Udid":"String"
}]
}

Response Tag Details
Tag

Type

Description

CustomAttributes Name

String

Name of the custom attribute to be searched for

AssetNumber

String

Asset number of the device

DeviceId

Numeric

Unique identification number of the device

EnrollmentUserName

String

Name of the device enrollment user

SerialNumber

String

Serial number of the device

Udid

String

UDID of the device

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

492

Chapter 6: Device Management

Search Changes Made To Custom Attribute
Functionality – Searches for changes made to device custom attributes.
HTTP Method – GET
API URI – https://host/api/mdm/devices/customattribute/changereport?organizationgroupid=
{organizationgroupid}&deviceid={deviceid}&startdatetime={startdatetime}&enddatetime={enddatetime}
Request Body – NA
URI Parameters
Tag

Type

Description

organizationgroupid

Numeric

Organization group to be searched, user's OG is considered if
not sent.

deviceid

Numeric

Device ID to search for

startdatetime

Datetime

DateTime, filters the custom attributes which are modified
by after this datetime

enddatetime

Datetime

DateTime, filters the custom attributes which are modified
by before this datetime

Response Payload
XML




String
String


String
String
String
String
String
String
String
String





VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

493

Chapter 6: Device Management



JSON

{
"DeviceCustomAttributeChanges" : [
{
"DeviceID" : "String",
"FriendlyName" : "String",
"CustomAttributeChanges" : [
{
"CustomAttributeName" : "String",
"OldValue" : "String",
"NewValue" : "String",
"ModifiedDate" : "String",
"LocationGroupID" : "String",
"LocationGroupName" : "String",
"ApplicationGroup" : "String",
"Source" : "String"
}
]
}]
}

Response Tag Details
Tag

Type

Description

DeviceID

String

Unique identification number of the device

FriendlyName

String

Friendly name of the device

CustomAttributeName

String

Name of the device custom attribute

OldValue

String

Old value of the custom attribute

NewValue

String

New value of the custom attribute

ModifiedDate

String

Timestamp of the last modified date of the custom attribute

LocationGroupID

String

Unique identifier of the organization group

LocationGroupName

String

Name of the organization group

ApplicationGroup

String

Name of the application group

Source

String

Source from where the changes are made to the custom attribute

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

494

Chapter 6: Device Management

Update Device Custom Attribute (*Refactored)
Functionality – Updates the device custom attribute value if already present for a device, else adds the same to the
device.
HTTP Method – PUT
Deprecated API URI – https://host/api/mdm/devices/{id}/updatecustomattributes. This will be deprecated soon. Start
using the Supported API URI.
*Supported API URI – https://host/api/mdm/devices/{id}/customattributes
You can also update device custom attributes using the following parameters:
l

Serial Number – https://host/api/mdm/devices/serialnumber/{serialnumber}/customattributes

l

Asset Number – https://host/api/mdm/devices/assetnumber/{assetnumber}/customattributes

Request Payload
XML




String
String
String




JSON

{
"CustomAttributes":[{
"Name":"String",
"Value":"String",
"ApplicationGroup" : "String"
}]
}

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

495

Chapter 6: Device Management

Request Tag Details
Tag

Mandatory

Description

Name

Yes

Name of the custom attribute to be updated

Value

Yes

Value of the custom attribute

ApplicationGroup

Yes

Application group of the device

Response Payload
XML


Numeric
Numeric
Numeric

String

Numeric
String
String




JSON

{
"AcceptedItems":Numeric,
"FailedItems":Numeric,
"Faults":{
"Fault":[{
"ErrorCode":Numeric,
"ItemValue":"String",
"Message":"String"
}]
},
"TotalItems":Numeric
}

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

496

Chapter 6: Device Management

Response Tag Details
Tag

Type

Description

TotalItems

Numeric

Total number of device parameters sent in the request

AcceptedItems

Numeric

Number of devices accepted for updating device custom attribute

FailedItems

Numeric

Number of devices that could not be updated with custom attribute

Faults

Array

Array of the "Fault" tag describing each detail of each failed instance

ErrorCode

Numeric

HTTP status code for the failed element

Message

String

Reason for the device not being updated

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

497

Chapter 6: Device Management

Delete Custom Attribute (*Refactored)
Functionality – Deletes the device custom attributes.
HTTP Method – Delete
Deprecated API URI – https://host/api/mdm/devices/{id}/deletecustomattributes. This will be deprecated soon. Start
using the Supported API URI.
*Supported API URI – https://host/api/mdm/devices/{id}/customattributes
You can delete the device custom attribute using the following parameter:
l

Serial Number – https://host/api/mdm/devices/serialnumber/{serialnumber}/customattributes

Request Payloads
XML




String
String
String




JSON

{
"CustomAttributes":[{
"Name":"String",
"Value":"String",
"ApplicationGroup":"String"
}]
}

Request Tag Details
Tag

Mandatory

Description

Value

Yes

The device parameter. For example, DeviceID , MAC Address , Serial
Number or UDID

Name

Yes

Name of the custom attribute to be updated

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

498

Chapter 6: Device Management

ApplicationGroup

Yes

Application group of the device

Response Payload
XML


Numeric
Numeric
Numeric

String

Numeric
String
String


Numeric
String
String




JSON

{
"AcceptedItems":Numeric,
"FailedItems":Numeric,
"Faults":{
"Fault":[{
"ErrorCode":Numeric,
"ItemValue":"String",
"Message":"String"
}]
},
"TotalItems":Numeric
}

Response Tag Details
Tag

Type

Description

Total Items

Numeric

Total number of delete device custom attribute requests sent

AcceptedItems

Numeric

Number of devices to which delete command was successfully sent

FailedItems

Numeric

Number of device custom attributes that could not be deleted

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

499

Chapter 6: Device Management

Faults

Array

Array of the "Fault" tag describing each detail of each failed instance

Errorcode

Numeric

HTTP status code for the failed element

Message

String

Reason for the custom attribute delete not being performed

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

500

Chapter 6: Device Management

Edit Device Details
Functionality – Edits the device details identified by device Id.
HTTP Method – POST
API URI – https://host/api/mdm/devices/{id}/editdevice
Response Body – NA

URI Parameters
Tag

Type

Description

id

Numeric

Device identifier for which details needs to be updated

device

String

Device details which needs to be updated

You can edit device details using the following parameters:
l

MAC Address – https://host/api/mdm/devices/macaddress/{macaddress}/editdevice

l

Serial Number –https://host/api/mdm/devices/serialnumber/{serialnumber}/editdevice

l

UDID – https://host/api/mdm/devices/udid/{udid}/editdevice

Request Payload
XML


String
String
String


JSON

{
"AssetNumber":"String",
"DeviceFriendlyName":"String",
"Ownership":"String"
}

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

501

Chapter 6: Device Management

Request Tag Details
Tag

Mandatory

Description

AssetNumber

No

Asset number of the device

DeviceFriendlyName

No

Friendly name assigned to the device

Ownership

No

Ownership type of the device

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

502

Chapter 6: Device Management

Managed Settings
Functionality – Sets the managed settings for an iOS device based on alternate id.
HTTP Method – POST
API URI – https://host/api/mdm/devices/managedsettings?searchby={searchby}&id={id}
Response Obtained – NA

URI Parameters
Tag

Description

searchby

The alternate id type (DeviceId, Macaddress, Udid, Serialnumber, ImeiNumber,
EasId)

id

The alternate ID of the device

Request Payload
XML


Boolean
Boolean
Boolean


JSON

{
"VoiceRoamingAllowed" : Boolean,
"DataRoamingAllowed" : Boolean,
"PersonalHotspotAllowed" : Boolean
}

Request Tag Details
Tag

Mandatory

Description

VoiceRoamingAllowed

No

Denotes if the voice roaming is enabled. Values: True, False

DataRoamingAllowed

No

Denotes if the data roaming is enabled. Values: True, False

PersonalHotspotAllowed

No

Denotes if the Personal Hotspot is enabled. Values: True, False

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

503

Chapter 6: Device Management

Change Device Organization Group
Functionality – Changes the organization group to which the device is assigned.
HTTP Method – POST
Deprecated API URI – https://host/API/mdm/devices/{id}/changeorganizationgroup/{organizationgroupid}. This URI
will be deprecated soon. Start using the *Supported API URI.
*Supported API URI – https://host/api/mdm/devices/{id}/commands/changeorganizationgroup/{organizationgroupid}
(HTTP Method Used – PUT)
You can also change the device organization group using the following parameter:
l

l

Alternate device ID type – https://host/api/mdm/devices/organizationgroup?searchby={searchby}&id={id}&ogid=
{ogid} (HTTP Method Used – POST). This URI will be deprecated soon. Start using the *Supported API URI.
*Supported API URI – https://host/api/mdm/devices/commands/changeorganizationgroup?searchby=
{searchby}&id={id}&ogid={ogid} (HTTP Method Used – POST)

URI Parameters
Tag

Description

OrganizationGroupID

Unique identification of the target organization group where the device can be
moved

searchby

The alternate id type (Macaddress, Udid, Serialnumber, ImeiNumber)

id

The unique identification number of the device

Response Obtained – NA
Request payload – NA

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

504

Chapter 6: Device Management

Create Offline Device Record
Functionality – Creates an offline device decord.
HTTP Method – POST
API URI – https://host/api/mdm/devices/createofflinedevice/{token}/token

URI Parameters
Tag

Type

Description

token

String

Enrollment token value

Request Body – NA

Response Payload
XML


Numeric
Numeric


JSON

{
"DeviceRecordId" : Numeric,
"Id" : {
"Value" : Numeric
}
}

Response Tag Details
Tag

Type

Description

DeviceRecordId

Numeric

Unique identifier of the device's record

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

505

Chapter 6: Device Management

Create Relay Server
Functionality – Creates a new relay server provided that valid values are given.
HTTP Method – POST
API URI – https://host/api/mdm/relayservers

Request Payload
XML



String
String
Numeric
String
String
String
Numeric
String


String

Numeric
Numeric


Numeric
Numeric



Numeric
String
Numeric
String
String
String
String
String


String
Numeric

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

506

Chapter 6: Device Management

String
Numeric
String
String
String
String
String


String
String
Numeric



JSON

{
"General" : {
"Name" : "String",
"Description" : "String",
"RelayServerTypeId" : Numeric,
"RestrictContentDeliveryWindow" : "String",
"StartTime" : "String",
"EndTime" : "String",
"RelayServerId" : Numeric,
"Active" : "String"
},
"Assignment" : {
"ManagedBy" : "String",
"StagingServer" : [
Numeric,
Numeric
],
"ProductionServer" : [
Numeric,
Numeric
]
},
"DeviceConnection" : {
"Protocol" : Numeric,
"Hostname" : "String",
"Port" : Numeric,
"User" : "String",
"Password" : "String",
"Path" : "String",
"PassiveMode" : "String",
"VerifyServer" : "String"

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

507

Chapter 6: Device Management

},
"ConsoleConnection" : {
"CopyValuesFromDeviceConnection" : "String",
"Protocol" : Numeric,
"Hostname" : "String",
"Port" : Numeric,
"User" : "String",
"Password" : "String",
"Path" : "String",
"PassiveMode" : "String",
"VerifyServer" : "String"
},
"PullConnection" : {
"PullLocalDirectory" : "String",
"PullDiscoveryText" : "String",
"PullFrequency" : Numeric
}
}

Request Tag Details
Tag

Mandatory

Description

Name

Yes

Name of the relay server

Description

No

Description of the relay server created

RelayServerTypeId

Yes

Unique identifier of the relay server type

RestrictContentDeliveryWindow

No

The time window which can be restricted for the content to be
delivered to the relay server

StartTime

Yes

Start of the time window for the content to be delivered to the
relay server

EndTime

Yes

End of the time window for the content to be delivered to the
relay server

RelayServerId

Yes

Unique identifier of the relay server

Active

No

Specify if the relay server active or not

ManagedBy

Yes

Unique Organization Group which manages the relay server

StagingServer

No

The organization group that uses the relay server for staging

ProductionServer

No

The organization group that uses the relay server for provisioning
content post enrollment

Protocol

Yes

Specify the protocol used for relay server to connect to devices

Hostname

Yes

Specify the host name for devices to connect to the relay server

Port

Yes

Specify the port number to connect devices with the relay server

User

Yes

User name to access the device to connect to the relay server

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

508

Chapter 6: Device Management

Password

Yes

Password of the relay server to connect with devices

Path

Yes

Specify the path for devices to connect with the relay server

PassiveMode

No

The server selects the data port on behalf of the device

VerifyServer

No

Ensures that the connection is trusted and there are no SSL errors

CopyValuesFromDeviceConnection Yes

For the console connection, copy all the values from the device
connection details

Protocol

Yes

Specify the protocol used for the relay server to connect to the
console

Hostname

Yes

Specify the hostname for console to connect to the relay server

Port

Yes

Specify the port number for the relay server to connect with the
console

User

Yes

User name to access the console and connect to the relay server

Password

Yes

Password of the relay server connection with the console

Path

Yes

Specify the path for the console to connect with the relay server

PassiveMode

No

The server selects the data port on behalf of the device

VerifyServer

No

Ensures that the connection is trusted and there are no SSL errors

PullLocalDirectory

Yes

For the pull connection, specify the pull local directory

PullDiscoveryText

Yes

Specify the text for the pull discovery

PullFrequency

Yes

Specify the pull frequency

Response Payload
XML

Numeric

JSON

Numeric

Response Tag Details
Tag

Type

Description

Value

Numeric

Newly created relay server id

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

509

Chapter 6: Device Management

Create Relay Servers in Bulk
Functionality – Creates new relay servers in bulk.
HTTP Method – POST
API URI – https://host/api/mdm/relayservers/bulk

Request Payload
XML




String
String
Numeric
String
String
String
Numeric
String


String

Numeric
Numeric


Numeric
Numeric



Numeric
String
Numeric
String
String
String
String
String



VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

510

Chapter 6: Device Management

String
Numeric
String
Numeric
String
String
String
String
String


String
String
Numeric




JSON

{
"General" : {
"Name" : "String",
"Description" : "String",
"RelayServerTypeId" : Numeric,
"RestrictContentDeliveryWindow" : "String",
"StartTime" : "String",
"EndTime" : "String",
"RelayServerId" : Numeric,
"Active" : "String"
},
"Assignment" : {
"ManagedBy" : "String",
"StagingServer" : [
Numeric,
Numeric
],
"ProductionServer" : [
Numeric,
Numeric
]
},
"DeviceConnection" : {
"Protocol" : Numeric,
"Hostname" : "String",
"Port" : Numeric,
"User" : "String",

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

511

Chapter 6: Device Management

"Password" : "String",
"Path" : "String",
"PassiveMode" : "String",
"VerifyServer" : "String"
},
"ConsoleConnection" : {
"CopyValuesFromDeviceConnection" : "String",
"Protocol" : Numeric,
"Hostname" : "String",
"Port" : Numeric,
"User" : "String",
"Password" : "String",
"Path" : "String",
"PassiveMode" : "String",
"VerifyServer" : "String"
},
"PullConnection" : {
"PullLocalDirectory" : "String",
"PullDiscoveryText" : "String",
"PullFrequency" : Numeric
}
}

Request Tag Details
Tag

Mandatory

Description

Name

Yes

Name of the relay server

Description

No

Description of the relay server created

RelayServerTypeId

Yes

Unique identifier of the relay server type

RestrictContentDeliveryWindow

No

The time window which can be restricted for the content to be
delivered to the relay server

StartTime

Yes

Start of the time window for the content to be delivered to the
relay server

EndTime

Yes

End of the time window for the content to be delivered to the
relay server

RelayServerId

Yes

Unique identifier of the relay server

Active

No

Specify if the relay server active or not

ManagedBy

Yes

Unique Organization Group which manages the relay server

StagingServer

Yes

Specifies the number of staging servers required

ProductionServer

Yes

Specifies the number of production servers required

Protocol

Yes

Specify the protocol used for the relay server to connect to
devices

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

512

Chapter 6: Device Management

Hostname

Yes

Specify the hostname for devices to connect to the relay server

Port

Yes

Specify the port number to connect devices with the relay server

User

Yes

User name to enter into the device to connect to the relay server

Password

Yes

Password for the relay server connection with devices

Path

Yes

Specify the path for devices to connect with the relay server

PassiveMode

No

The server selects the data port on behalf of the device

VerifyServer

No

Ensures that the connection is trusted and there are no SSL errors

CopyValuesFromDeviceConnection Yes

For the console connection, copy all the values from the device
connection details

Protocol

Yes

Specify the protocol used for the relay server to connect to the
console

Hostname

Yes

Specify the hostname for console to connect to the relay server

Port

Yes

Specify the port number to connect console with the relay server

User

Yes

User name to access the console to connect to the relay server

Password

Yes

Password for the relay server connection with the console

Path

Yes

Specify the path for console to connect with the relay server

PassiveMode

No

The server selects the data port on behalf of the device

VerifyServer

No

Ensures that the connection is trusted and there are no SSL errors

PullLocalDirectory

Yes

For the pull connection, specify the pull local directory

PullDiscoveryText

Yes

Specify the text for the pull discovery

PullFrequency

Yes

Specify the pull frequency

Response Payload
XML


1
2
3

String


VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

513

Chapter 6: Device Management

Numeric
String
String




Numeric
String




JSON

{
"Created" : [
{
"RelayServerID" : Numeric,
"Name" : "String"
}
],
"TotalItems" : Numeric,
"AcceptedItems" : Numeric,
"FailedItems" : Numeric,
"Faults" : {
"Fault" : [
{
"ErrorCode" : Numeric,
"ItemValue" : "String",
"Message" : "String"
}
]
}
}

Response Tag Details
Tag

Type

Description

RelayServerID

Numeric

Unique identifier of the relay server

Name

String

Unique name of the relay server

TotalItems

Numeric

Total number of invite requests sent

AcceptedItems

Numeric

Number of invites successfully sent

FailedItems

Numeric

Number of invites not sent

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

514

Chapter 6: Device Management

Faults

Numeric

This chunk of XML/JSON indicates the cause of failure in sending
invites.

ErrorCode

Numeric

HTTP status code for the failed element

Message

String

Reason for the relay server not being created in bulk

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

515

Chapter 6: Device Management

Delete Relay Server
Functionality – Deletes the relay server.
HTTP Method – DELETE
API URI – https://host/api/mdm/relayservers/{serverId}

URI Parameters
Tag

Description

serverId

Unique identifier of the relay server to be deleted

Request Payload – NA
Response Payload – NA

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

516

Chapter 6: Device Management

Retrieve Relay Server Details
Functionality – Retrieves the details of the existing relay server.
HTTP Method – GET
API URI – https://host/api/mdm/relayservers/{serverId}

URI Parameters
Tag

Description

serverId

Unique identifier of the relay server to be retrieved

Request Payload – NA

Response Payload
XML



String
String
Numeric
String
String
String
Numeric
String


String

Numeric
Numeric


Numeric
Numeric



Numeric
String
Numeric
String
String

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

517

Chapter 6: Device Management

String
String
String


String
Numeric
String
Numeric
String
String
String
String
String


String
String
Numeric



JSON

{
"General" : {
"Name" : "String",
"Description" : "String",
"RelayServerTypeId" : Numeric,
"RestrictContentDeliveryWindow" : "String",
"StartTime" : "String",
"EndTime" : "String",
"RelayServerId" : Numeric,
"Active" : "String"
},
"Assignment" : {
"ManagedBy" : "String",
"StagingServer" : [
Numeric,
Numeric
],
"ProductionServer" : [
Numeric,
Numeric
]
},
"DeviceConnection" : {

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

518

Chapter 6: Device Management

"Protocol" : Numeric,
"Hostname" : "String",
"Port" : Numeric,
"User" : "String",
"Password" : "String",
"Path" : "String",
"PassiveMode" : "String",
"VerifyServer" : "String"
},
"ConsoleConnection" : {
"CopyValuesFromDeviceConnection" : "String",
"Protocol" : Numeric,
"Hostname" : "String",
"Port" : Numeric,
"User" : "String",
"Password" : "String",
"Path" : "String",
"PassiveMode" : "String",
"VerifyServer" : "String"
},
"PullConnection" : {
"PullLocalDirectory" : "String",
"PullDiscoveryText" : "String",
"PullFrequency" : Numeric
}
}

Response Tag Details
Tag

Type

Description

Name

Yes

Name of the relay server

Description

No

Description of the relay server

RelayServerTypeId

Yes

Unique identifier of the relay server type

RestrictContentDeliveryWindow

No

The time window which can be restricted for the content to be
delivered to the relay server

StartTime

Yes

Start of the time window for the content to be delivered to the
relay server

EndTime

Yes

End of the time window for the content to be delivered to the relay
server

RelayServerId

Yes

Unique identifier of the relay server

Active

No

Specifies if the relay server is active or not

ManagedBy

Yes

Unique organization group which manages the relay server

StagingServer

Yes

Specifies the number of staging servers required

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

519

Chapter 6: Device Management

ProductionServer

Yes

Specifies the number of production servers required

Protocol

Yes

Specifies the protocol used for relay server to connect to devices

Hostname

Yes

Specifies the hostname for devices to connect to the relay server

Port

Yes

Specifies the port number to connect devices with the relay server

User

Yes

User name to enter into the device to connect to the relay server

Password

Yes

Password for the relay server connection with devices

Path

Yes

Specify the path for devices to connect with the relay server

PassiveMode

No

The server selects the data port on behalf of the device

VerifyServer

No

Ensures that the connection is trusted and there are no SSL errors

CopyValuesFromDeviceConnection Yes

For the console connection, copy all the values from the device
connection details

Protocol

Yes

Specify the protocol used for the relay server to connect to the
console

Hostname

Yes

Specify the hostname for the console to connect to the relay
server

Port

Yes

Specify the port number to connect console with the relay server

User

Yes

User name to enter in the console to connect to the relay server

Password

Yes

Password for the relay server connection with the console

Path

Yes

Specify the path for console to connect with the relay server

PassiveMode

No

The server selects the data port on behalf of the device

VerifyServer

No

Ensures the connection is trusted and there are no SSL errors

PullLocalDirectory

Yes

The specified pull local directory for the pull connection

PullDiscoveryText

Yes

The specified text for the pull discovery

PullFrequency

Yes

The specified frequency for the pull connection

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

520

Chapter 6: Device Management

Update Relay Server
Functionality – Updates the existing relay server details.
HTTP Method – PUT
API URI – https://host/api/mdm/relayservers
Response Obtained – NA

Request Payload
XML



String
String
Numeric
String
String
String
Numeric
String


String

Numeric
Numeric


Numeric
Numeric



Numeric
String
Numeric
String
String
String
String
String


String

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

521

Chapter 6: Device Management

Numeric
String
Numeric
String
String
String
String
String


String
String
Numeric



JSON

{
"General" : {
"Name" : "String",
"Description" : "String",
"RelayServerTypeId" : Numeric,
"RestrictContentDeliveryWindow" : "String",
"StartTime" : "String",
"EndTime" : "String",
"RelayServerId" : Numeric,
"Active" : "String"
},
"Assignment" : {
"ManagedBy" : "String",
"StagingServer" : [
1,
2
],
"ProductionServer" : [
1,
2
]
},
"DeviceConnection" : {
"Protocol" : Numeric,
"Hostname" : "String",
"Port" : Numeric,
"User" : "String",
"Password" : "String",
"Path" : "String",
"PassiveMode" : "String",

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

522

Chapter 6: Device Management

"VerifyServer" : "String"
},
"ConsoleConnection" : {
"CopyValuesFromDeviceConnection" : "String",
"Protocol" : Numeric,
"Hostname" : "String",
"Port" : Numeric,
"User" : "String",
"Password" : "String",
"Path" : "String",
"PassiveMode" : "String",
"VerifyServer" : "String"
},
"PullConnection" : {
"PullLocalDirectory" : "String",
"PullDiscoveryText" : "String",
"PullFrequency" : Numeric
}
}

Request Tag Details
Tag

Mandatory

Description

Name

Yes

Name of the relay server

Description

No

Description of the relay server

RelayServerTypeId

Yes

Unique identifier of the relay server type

RestrictContentDeliveryWindow

No

The time window which can be restricted for the content to be
delivered to the relay server.

StartTime

Yes

Start time of the relay server

EndTime

Yes

End time of the relay server

RelayServerId

Yes

Unique identifier of the relay server

Active

No

Is the relay server active or not.

ManagedBy

Yes

Unique organization group that manages the relay server

StagingServer

Yes

Specifies the number of staging servers required

ProductionServer

Yes

Specifies the number of production servers required

Protocol

Yes

Specifies the protocol used for relay server to connect to devices

Hostname

Yes

Specifies the hostname for devices to connect to the relay server

Port

Yes

Specifies the port number to connect devices with the relay
server

User

Yes

User name to enter into the device to connect to the relay server

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

523

Chapter 6: Device Management

Password

Yes

Password for the relay server connection with devices

Path

Yes

Specify the path for devices to connect with the relay server

PassiveMode

No

The server selects the data port on behalf of the device

VerifyServer

No

Ensures that the connection is trusted and there are no SSL errors

CopyValuesFromDeviceConnection Yes

For the console connection, copy all the values from the device
connection details

Protocol

Yes

Specify the protocol used for the relay server to connect to the
console

Hostname

Yes

Specify the hostname for the console to connect to the relay
server

Port

Yes

Specify the port number to connect console with the relay server

User

Yes

User name to enter in the console to connect to the relay server

Password

Yes

Password for the relay server connection with the console

Path

Yes

Specify the path for console to connect with the relay server

PassiveMode

No

The server selects the data port on behalf of the device

VerifyServer

No

Ensures that the connection is trusted and there are no SSL errors

PullLocalDirectory

Yes

The specified pull local directory for the pull connection

PullDiscoveryText

Yes

The specified text for the pull discovery

PullFrequency

Yes

The specified frequency for the pull connection

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

524

Chapter 6: Device Management

Create Staging Bundle
Functionality – Creates a new staging bundle provided valid values are given.
HTTP Method – POST
API URI – https://host/api/mdm/staging

URI Parameters
Tag

Description

stagingId

Valid staging bundle id

Request Payload
XML


Numeric

Numeric
String
String
String
String
String
Numeric




Numeric
Numeric
Numeric
Numeric
Numeric
String





VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

525

Chapter 6: Device Management

JSON

{
"PlatformId" : Numeric,
"General" : {
"StagingId" : Numeric,
"Name" : "String",
"Description" : "String",
"ManagedBy" : "String",
"EnrollmentUser" : "String",
"Password" : "String",
"AgentID" : Numeric
},
"Manifest" : {
"Steps" : [
{
"ProfileID" : Numeric,
"ApplicationID" : Numeric,
"FileActionsID" : Numeric,
"ExecutionTaskID" : Numeric,
"EventActionID" : Numeric,
"PersistThroughEnterpriseReset" : "String"
},
]
}
}

Request Tag Details
Tag

Mandatory

Description

PlatformId

Yes

Unique identifier of the platform

StagingId

Yes

Unique identifier of the staging

Name

Yes

Name of the newly created staging bundle

Description

No

Description of the newly created staging bundle

ManagedBy

Yes

Unique organization group that manages the staging bundle

EnrollmentUser

Yes

User name of the enrollment user using the staging bundle

Password

Yes

Password of the enrollment user

AgentID

Yes

Unique agent identifier

ProfileID

Yes

Unique profile identifier

ApplicationID

Yes

Unique application identifier

FileActionsID

Yes

Unique file actions identifier

ExecutionTaskID

Yes

Unique execution task identifier

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

526

Chapter 6: Device Management

EventActionID

Yes

PersistThroughEnterpriseReset No

Unique event action identifier
Specify reset for persist through enterprise

Response Payload
XML

Numeric

JSON

Numeric

Response Tag Details
Tag

Type

Description

Value

Numeric

Newly created staging bundle id

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

527

Chapter 6: Device Management

Delete Staging Bundle
Functionality – Delete the staging bundle identified by the staging bundle id provided it is valid.
HTTP Method – DELETE
API URI – https://host/api/mdm/staging/{stagingId}

URI Parameters
Tag

Description

stagingId

Valid staging bundle id to be deleted

Request Payload – NA
Response Obtained – NA

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

528

Chapter 6: Device Management

Retrieve Staging Bundle
Functionality – Gets the staging bundle identified by the staging bundle ID provided it is valid.
HTTP Method – GET
API URI – https://host/api/mdm/staging/{stagingId}
Request Payload – NA

URI Parameters
Tag

Description

stagingId

Valid staging bundle id

Response Payload
XML


Numeric

Numeric
String
String
String
String
String
Numeric




Numeric
Numeric
Numeric
Numeric
Numeric
String





VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

529

Chapter 6: Device Management

JSON

{
"PlatformId" : Numeric,
"General" : {
"StagingId" : Numeric,
"Name" : "String",
"Description" : "String",
"ManagedBy" : "String",
"EnrollmentUser" : "String",
"Password" : "String",
"AgentID" : Numeric
},
"Manifest" : {
"Steps" : [
{
"ProfileID" : Numeric,
"ApplicationID" : Numeric,
"FileActionsID" : Numeric,
"ExecutionTaskID" : Numeric,
"EventActionID" : Numeric,
"PersistThroughEnterpriseReset" : "String"
},
]
}
}

Response Tag Details
Tag

Type

Description

PlatformId

Numeric

Unique identifier of the platform

StagingId

Numeric

Unique identifier for the staging

Name

String

Name of the staging bundle

Description

String

Description of the staging bundle

ManagedBy

String

Unique Organization Group that manages the staging bundle

EnrollmentUser

String

User name of the enrollment user using the staging bundle

Password

String

Password of the enrollment user

AgentID

Numeric

Unique agent identifier

ProfileID

Numeric

Unique profile identifier

ApplicationID

Numeric

Unique application identifier

FileActionsID

Numeric

Unique file actions identifier

ExecutionTaskID

Numeric

Unique execution task identifier

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

530

Chapter 6: Device Management

EventActionID

Numeric

PersistThroughEnterpriseReset String

Unique event action identifier
Specified reset for persist through enterprise

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

531

Chapter 6: Device Management

Update Staging Bundle
Functionality – Updates the already existing staging bundle.
HTTP Method – PUT
API URI – https://host/api/mdm/staging
Response Obtained – NA

Request Payload
XML


Numeric

Numeric
String
String
String
String
String
Numeric




Numeric
Numeric
Numeric
Numeric
Numeric
String





JSON

{
"PlatformId" : Numeric,
"General" : {
"StagingId" : Numeric,

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

532

Chapter 6: Device Management

"Name" : "String",
"Description" : "String",
"ManagedBy" : "String",
"EnrollmentUser" : "String",
"Password" : "String",
"AgentID" : Numeric
},
"Manifest" : {
"Steps" : [
{
"ProfileID" : Numeric,
"ApplicationID" : Numeric,
"FileActionsID" : Numeric,
"ExecutionTaskID" : Numeric,
"EventActionID" : Numeric,
"PersistThroughEnterpriseReset" : "String"
},
]
}
}

Request Tag Details
Tag

Mandatory

Description

PlatformId

Yes

Unique identifier of the platform

StagingId

Yes

Unique identifier of the staging

Name

Yes

Name of the staging bundle

Description

No

Description of the staging bundle

ManagedBy

Yes

Unique organization group that manages the staging bundle

EnrollmentUser

Yes

User name of the enrollment user using the staging bundle

Password

Yes

Password of the enrollment user

AgentID

Yes

Unique agent identifier

ProfileID

Yes

Unique profile identifier

ApplicationID

Yes

Unique application identifier

FileActionsID

Yes

Unique file actions identifier

ExecutionTaskID

Yes

Unique execution task identifier

EventActionID

Yes

Unique event action identifier

PersistThroughEnterpriseReset Yes

Specified reset for persist through enterprise

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

533

Chapter 6: Device Management

Retrieve Printer Details Using Identifier
Functionality – Retrieves the printer details identified using identifier.
HTTP Method – GET
API URI – https://host/api/mdm/peripherals/printer/{deviceID}

URI Parameters
Tag

Description

deviceID

Unique identifier of the device

Request Payload – NA

Response Payload
JSON

{
"DeviceID" : Numeric,
"FriendlyName" : "String",
"DeviceTypeID" : Numeric,
"DeviceType" : "String",
"LastSeen" : "Datetime",
"EnrollmentStatusID" : Numeric,
"EnrollmentStatus" : "String",
"DeviceIdentifier" : "String",
"DisplayModel" : "String",
"EnrollmentDate" : "Datetime",
"UnenrollmentDate" : "Datetime",
"LocationGroupID" : Numeric,
"PrinterSample" : {}
}

Response Tag Details
Tag

Type

Description

DeviceID

Numeric

Unique identifier of the device

FriendlyName

String

Friendly name of the device

DeviceTypeID

Numeric

Unique device identifier type

DeviceType

String

Type of the device

LastSeen

Datetime

Timestamp when the device was last seen

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

534

Chapter 6: Device Management

EnrollmentStatusID

Numeric

Enrollment status identifier of the device for which printer details are
to be retrieved

EnrollmentStatus

String

Enrollment status of the device for which printer details are to be
retrieved

DeviceIdentifier

String

Unique device identifier

DisplayModel

String

Display model of the device

EnrollmentDate

Datetime

Timestamp when the device was enrolled

UnenrollmentDate

Datetime

Timestamp when the device was unenrolled

LocationGroupID

Numeric

Unique location group identifier

PrinterSample

String

Sample collected from the printer

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

535

Chapter 6: Device Management

Retrieve Printer Details Using Location Group
Functionality – Retrieves the printer details identified using location group identifier.
HTTP Method – GET
API URI – https://host/api/mdm/peripherals/printers/{locationGroupID}
The location group id retrieves the details of all the printers enrolled in the organization group. If there are multiple
printers enrolled in an organization group, the location group ID returns a unique response for each of the printers in the
organization group. To retrieve the details of a single printer, use the device id specific to the printer.

URI Parameters
Tag

Description

locationGroupID

Unique identifier of the location group

Request Payload – NA

Response Payload
JSON

{
"DeviceID" : Numeric,
"FriendlyName" : "String",
"DeviceTypeID" : Numeric,
"DeviceType" : "String",
"LastSeen" : "Datetime",
"EnrollmentStatusID" : Numeric,
"EnrollmentStatus" : "String",
"DeviceIdentifier" : "String",
"DisplayModel" : "String",
"EnrollmentDate" : "Datetime",
"UnenrollmentDate" : "Datetime",
"LocationGroupID" : Numeric,
"PrinterSample" : {}
}

Response Tag Details
Tag

Type

Description

DeviceID

Numeric

Unique identifier of the device

FriendlyName

String

Friendly name of the device

DeviceTypeID

Numeric

Unique device identifier type

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

536

Chapter 6: Device Management

DeviceType

String

Type of the device

LastSeen

Datetime

Timestamp when the device was last seen

EnrollmentStatusID

Numeric

Enrollment status identifier of the device for which printer details are
to be retrieved

EnrollmentStatus

String

Enrollment status of the device for which printer details are to be
retrieved

DeviceIdentifier

String

Unique device identifier

DisplayModel

String

Display model of the device

EnrollmentDate

Datetime

Timestamp when the device was enrolled

UnenrollmentDate

Datetime

Timestamp when the device was unenrolled

LocationGroupID

Numeric

Unique location group identifier

PrinterSample

String

Sample collected from the printer

Sample Code
The printer sample varies for different OEMs.

{
"DeviceID": 619,
"FriendlyName": "Printer-RL4",
"DeviceTypeID": 104,
"DeviceType": "DataMaxONeilPrinter",
"LastSeen": "2017-04-12T05:13:08.42",
"EnrollmentStatusID": 4,
"EnrollmentStatus": "Enrolled",
"DeviceIdentifier": "LB13560",
"DisplayModel": "RL4",
"EnrollmentDate": "2017-04-12T05:03:11",
"UnenrollmentDate": null,
"LocationGroupID": 646,
"PrinterSample": {
"Custom Settings": {},
"General": {
"PrinterInfo.PrinterName": "Printer-RL4",
"PrinterInfo.ModelNumber": "RL4",
"PrinterInfo.PrinterSerial#": "LB13560",
"PrinterInfo.DateTime": "04/02/1970 16:35:30",
"PrinterInfo.Boot1Version": " 1.26 0000",
"PrinterInfo.Boot1Architecture": "2.0",
"PrinterInfo.Boot2Version": " 2.26 0000",
"PrinterInfo.Boot2Architecture": "2.0",
"PrinterInfo.VersionInfo": "VER: RL4, 8.05_0066 0000 Apr 12 2015; AVR_VER:
04.2",
"PrinterInfo.FirmwareBuild": "S6866",
"PrinterInfo.BluetoothDeviceAddress": "000000000000",

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

537

Chapter 6: Device Management

},
"Battery": {
"sys.SmartBattery.Temperature": "299 K",
"sys.SmartBattery.Voltage": "13.50 V",
"sys.SmartBattery.Current": "0.399 A",
"sys.SmartBattery.AverageCurrent": "0.398 A",
"sys.SmartBattery.StateOfCharge": "3 %",
"PrinterInfo.WIFI_MAC_Address": "0017AC207ECB",
"PrinterInfo.WIFI_Type": "4",
"PrinterInfo.Odometer": "0"
"sys.SmartBattery.Status": "0x890",
"sys.SmartBattery.CycleCount": "20",
"sys.SmartBattery.SerialNumber": "17987",
"sys.SmartBattery.ManufactureDate": "2012/9/25"
},
"Auto Update": {
"sys.AutoUpdate.UpdateType": "5 (Airwatch)",
"sys.AutoUpdate.ConfigFilename": "/DO/config.cfg",
"sys.AutoUpdate.TFTP_SerIP_Addr": "0.0.0.0",
"sys.AutoUpdate.TFTP_SerPort": "69",
"sys.AutoUpdate.UpgradePackageVer": "",
"sys.AutoUpdate.BeeperEnabled": "1 (Yes)",
"sys.AutoUpdate.SC_FileFormat": "0 (Default)",
"sys.AutoUpdate.PrintStatus": "1 (No Rotate)",
"sys.AutoUpdate.FTP_UserName": "",
"sys.AutoUpdate.FTP_PASSWORD": "Write Only",
"sys.AutoUpdate.FTP_Server": "",
"sys.AutoUpdate.FTP_ServerPort": "21",
"sys.AutoUpdate.UserPrintJob": "",
"sys.AutoUpdate.PrintJobMode": "0 (Print Always)",
"sys.AutoUpdate.UserMenuName": "",
"sys.AutoUpdate.MenuMode": "1 (Display On Error)",
"sys.AutoUpdate.WriteFile": "",
"sys.AutoUpdate.FeedbackFtpEnable": "0 (Disabled)",
"sys.AutoUpdate.FeedbackDirectory": "",
"sys.AutoUpdate.PrintSerIP_Addr": "10.85.128.125",
"sys.AutoUpdate.PrintSerName": "NETira-CA",
"sys.AutoUpdate.PrintSerPort": "9090",
"sys.AutoUpdate.PrintSerConnMode": "0 (HTTP)"
},
"Bluetooth": {
"sys.Bluetooth.DeviceName": "Printer - RL4",
"sys.Bluetooth.ServiceName": "Printing Service",
"sys.Bluetooth.Discoverable": "1 (Yes)",
"sys.Bluetooth.Connectable": "1 (Yes)",
"sys.Bluetooth.Bondable": "1 (Yes)",
"sys.Bluetooth.AuthenticationReq": "0 (No)",
"sys.Bluetooth.Encryption": "0 (No)",
"sys.Bluetooth.Passkey": "Write Only",
"sys.Bluetooth.InactiveDisconnect": "60",
"sys.Bluetooth.PowerDownTime": "60",

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

538

Chapter 6: Device Management

"sys.Bluetooth.DeviceAddress": "000000000000",
"sys.Bluetooth.BluetoothEnable": "1 (Yes)"
},
"General Network": {
"sys.GeneralNetwork.ActiveInterface": "W (Wireless Ethernet)",
"sys.GeneralNetwork.NetworkPassword": "sysadm",
"sys.GeneralNetwork.SNMP_Enable": "0 (No)",
"sys.GeneralNetwork.TelnetEnable": "0 (No)",
"sys.GeneralNetwork.FTP_ServerEnable": "0 (No)",
"sys.GeneralNetwork.HTTP_ServerEnable": "1 (Yes)",
"sys.GeneralNetwork.LPD_PrintEnable": "1 (Yes)",
"sys.GeneralNetwork.TCP_PrintEnable": "1 (Yes)",
"sys.GeneralNetwork.NetCenterEnable": "0 (No)",
"sys.GeneralNetwork.GratuitousARP_Period": "0 (Disabled)",
"sys.GeneralNetwork.WIFI_OPTION_TYPE": "4",
"sys.GeneralNetwork.ConnectedState": "Yes",
"sys.GeneralNetwork.IpAcquired": "Yes",
"sys.GeneralNetwork.NetworkReady": "Yes"
},
"Media Label": {
"sys.MediaLabel.UnitsOfMeasure": "I (Imperial)",
"sys.MediaLabel.PresentDistance": "0 (1/100 inches)",
"sys.MediaLabel.AllowPrsentBackup": "D (Disabled)",
"sys.MediaLabel.LabelLength": "67 (1/100 inches)",
"sys.MediaLabel.MaximumLabelLength": "1000 (1/100 inches)",
"sys.MediaLabel.SensorType": "G (Gap)",
"sys.MediaLabel.GapAlternateMode": "D (Disabled)",
"sys.MediaLabel.BackAfterPrint": "N (No)",
"sys.MediaLabel.LabelWidth": "412 (1/100 inches)",
"sys.MediaLabel.PaperOutDistance": "45 (1/100 inches)",
"sys.MediaLabel.TOF_Precedence": "N (No)",
"sys.MediaLabel.CleanHeadCounter": "0 (1/100 inches)",
"sys.MediaLabel.AutoAlign": "N (No)",
"sys.MediaLabel.StopLocation": "H (Host)",
"sys.MediaLabel.AbsoluteCounter": "1148",
"sys.MediaLabel.AbsoluteCounterDate": "Not Found",
"sys.MediaLabel.ResettableCounter": "1148",
"sys.MediaLabel.ResettableCounterDate": "Not Found"
},
"Miscellaneous": {
"sys.Miscellaneous.PresentSensor": "A (Auto)",
"sys.Miscellaneous.Cutter": "A (Auto)",
"sys.Miscellaneous.ControlCodes": "Standard Codes",
"sys.Miscellaneous.FeedbackCharacters": "N (No)",
"sys.Miscellaneous.PauseMode": "N (No)",
"sys.Miscellaneous.PeelMode": "N (No)",
"sys.Miscellaneous.HeatCommand": "Y (Yes)",
"sys.Miscellaneous.SpeedCommands": "Y (Yes)",
"sys.Miscellaneous.TofSensingCommands": "Y (Yes)",
"sys.Miscellaneous.BritishPound": "N (No)",
"sys.Miscellaneous.Cntrl-codes": "N (No)",

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

539

Chapter 6: Device Management

"sys.Miscellaneous.STX-V_SW_Settings": "N (No)",
"sys.Miscellaneous.MaxLengthCommand": "N (No)",
"sys.Miscellaneous.ProcessSOH": "D (Disabled)",
"sys.Miscellaneous.WD": "N (No)",
"sys.Miscellaneous.DelayRate": "0",
"sys.Miscellaneous.USB_DeviceClass": "2 (Composite)",
"sys.Miscellaneous.DNS_DisplayMode": "4 (Host Name & IP Addr)"
},
"Print Control": {
"sys.PrintControl.RowOffset": "44 (1/100 inches)",
"sys.PrintControl.ColumnOffset": "44 (1/100 inches)",
"sys.PrintControl.Darkness": "12",
"sys.PrintControl.Heat": "10",
"sys.PrintControl.ReverseSpeed": "30 (1/10 inches)",
"sys.PrintControl.FeedSpeed": "40 (1/10 inches)",
"sys.PrintControl.PrintSpeed": "40 (1/10 inches)",
"sys.PrintControl.SlewSpeed": "40 (1/10 inches)",
"sys.PrintControl.BackupDelay": "0",
"sys.PrintControl.ColumnAdjust": "0",
"sys.PrintControl.PresentAdjust": "0",
"sys.PrintControl.RowAdjust": "0",
"sys.PrintControl.Contrast": "12",
"sys.PrintControl.DotDensity": "203",
"sys.PrintControl.HeadWidth": "864",
"sys.PrintControl.MediaLatch": "Close",
"sys.PrintControl.MediaLoaded": "No",
"sys.PrintControl.PrintSpeedMax": "40",
"sys.PrintControl.PrintSpeedMin": "20"
},
"RS232": {
"sys.RS232.BaudRate": "96 (9600)",
"sys.RS232.Protocol": "B (Both)",
"sys.RS232.Parity": "N (None)",
"sys.RS232.DataBits": "8",
"sys.RS232.StopBits": "1"
},
"System Settings": {
"sys.SystemSettings.EscSequences": "N (No)",
"sys.SystemSettings.SingleByteSymbols": "PM (PC-850 MULTILINGUAL)",
"sys.SystemSettings.DoubleByteSymbols": "UC (Unicode)",
"sys.SystemSettings.FormatAttributes": "X (XOR)",
"sys.SystemSettings.SopEmulation": "D (Disabled)",
"sys.SystemSettings.DefaultModule": "D (D)",
"sys.SystemSettings.ImagingMode": "M (Multiple Label)",
"sys.SystemSettings.DpiEmulation": "000 (Disabled)",
"sys.SystemSettings.HostTimeout": "10",
"sys.SystemSettings.MenuLanguage": "English",
"sys.SystemSettings.ScaleableFontCache": "511",
"sys.SystemSettings.FaultHandlingLevel": "1",
"sys.SystemSettings.FaultHandlingRetryCount": "1",
"sys.SystemSettings.FaultHandlingVoidDistance": "50",

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

540

Chapter 6: Device Management

"sys.SystemSettings.FaultHandlingRetract": "N",
"sys.SystemSettings.ColumnEmulation": "203",
"sys.SystemSettings.RowEmulation": "203",
"sys.SystemSettings.SymbolSetCommand": "N (No)",
"sys.SystemSettings.FontEmulation": "0 (Standard Fonts)",
"sys.SystemSettings.InputMode": "9 (Auto)",
"sys.SystemSettings.AutoToggleMode": "1",
"sys.SystemSettings.RetractDelay": "70",
"sys.SystemSettings.LabelRotation": "N (No)",
"sys.SystemSettings.LabelStore": "F (Fields Only)",
"sys.SystemSettings.Buzzer": "N (No)",
"sys.SystemSettings.MenuMode": "U (User Menu)",
"sys.SystemSettings.SYS_SleepTime": "30",
"sys.SystemSettings.SYS_PowerDownTime": "120",
"sys.SystemSettings.RF_PowerDownTime": "0",
"sys.SystemSettings.BacklightMode": "6 (Auto When Charging)",
"sys.SystemSettings.BackltAutoOnTimer": "10",
"sys.SystemSettings.RadioPowerState": "1 (Enabled)",
"sys.SystemSettings.UserLabelMode": "N (No)",
"sys.SystemSettings.StartupScript": "",
"sys.SystemSettings.RunOnceScript": "",
"sys.SystemSettings.StartupConfig": "",
"sys.SystemSettings.TopLevelMenu": "",
"sys.SystemSettings.EncryptedFileKey": "Write Only",
"sys.SystemSettings.EncryptedFileAlgorithm": "None (None)"
},
"WIFI": {
"sys.WIFI.EnableStaticDNS": "N (No)",
"sys.WIFI.PreferredDNS_Server": "0.0.0.0",
"sys.WIFI.SecondaryDNS_Server": "0.0.0.0",
"sys.WIFI.DNS_Suffix": "",
"sys.WIFI.InActiveTimeout": "30",
"sys.WIFI.IpAddressMethod": "Y (Use DHCP)",
"sys.WIFI.ActiveIP_Address": "10.85.192.158",
"sys.WIFI.ActiveSubnetMask": "255.255.240.0",
"sys.WIFI.ActiveGateway": "10.85.192.1",
"sys.WIFI.PrinterDNS_Name": "",
"sys.WIFI.RegisterToDNS": "N (No)",
"sys.WIFI.UseDNS_Suffix": "N (No)",
"sys.WIFI.UDP_Port": "9200",
"sys.WIFI.TCP_Port": "9100",
"sys.WIFI.ConnStatusReport": "N (No)",
"sys.WIFI.DHCP_UserClassOption": "",
"sys.WIFI.StaticIP_Address": "0.0.0.0",
"sys.WIFI.StaticSubnetMask": "0.0.0.0",
"sys.WIFI.StaticGateway": "0.0.0.0",
"sys.WIFI.LPD_Port": "515",
"sys.WIFI.LPD_Enable": "1 (Yes)",
"sys.WIFI.NetworkType": "P (Infrastructure)",
"sys.WIFI.ESSID": "AWCORP",
"sys.WIFI.NetworkAuthenType": "5 (WPA2 PSK)",

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

541

Chapter 6: Device Management

"sys.WIFI.EAP_Type": "25 (PEAP)",
"sys.WIFI.Phase2Method": "2 (EAP MSCHAPV2)",
"sys.WIFI.UserName": "Write Only",
"sys.WIFI.Password": "Write Only",
"sys.WIFI.PassPhrase": "Write Only",
"sys.WIFI.WEP_DataEncryption": "2 (Disabled)",
"sys.WIFI.WEP_AP_Authen": "0 (Open)",
"sys.WIFI.WEP_SelectedKey": "1",
"sys.WIFI.WEP_Key#1": "Write Only",
"sys.WIFI.WEP_Key#2": "Write Only",
"sys.WIFI.WEP_Key#3": "Write Only",
"sys.WIFI.WEP_Key#4": "Write Only",
"sys.WIFI.SignalIndicator": "N (No)",
"sys.WIFI.PowerSavingMode": "0 (Disabled)",
"sys.WIFI.GroupCipher": "4 (WEP104)",
"sys.WIFI.MAC_Address": "0017AC207ECB",
"sys.WIFI.RegulatoryDomain": "0",
"sys.WIFI.RadioPhysicalMode": "2 (802.11BG)",
"sys.WIFI.MinimumDwellTime": "105",
"sys.WIFI.MaximumDwellTime": "105",
"sys.WIFI.ScanChannelSelection": "0",
"sys.WIFI.HexadecimalPassPha": "Write Only",
"sys.WIFI.UseHexadecimalPass": "0 (No)",
"sys.WIFI.WIFI_TestingMode": "N (No)",
"sys.WIFI.UseClientCertifica": "N (No)",
"sys.WIFI.WifiSignalstrength": "-54",
"sys.WIFI.SSL_Port": "9101",
"sys.WIFI.DHCP_Option12": "",
"sys.WIFI.DHCP_Option77": "",
"sys.WIFI.WIFI_Enable": "1 (Enabled)"
}
}

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

542

Chapter 7:
Enrollment User Management
Overview

545

Add Enrollment User (Basic)

545

Add Enrollment User (Directory)

550

Retrieve Enrollment User's Details

553

Update Enrollment User's Details

556

Delete List of Enrollment Users

558

Delete Specified Enrollment User

560

Bulk Delete Enrollment Users

561

Search Enrollment Users

563

Search Enrolled Device

566

Search Device Enrollment Token

570

Register Device for an Enrollment User

573

Search Registered Device

578

Delete Registered Devices

581

Change Organization Group of an Enrollment User

584

Activate an Enrollment User

585

Bulk Activate Enrollment Users

586

Deactivate an Enrollment User

588

Bulk Deactivate Enrollment Users

589

Upload S/MIME Certificates to an Enrollment User

591

Create Custom Attribute

593

Update Custom Attribute

596
VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

543

Chapter 7: Enrollment User Management

Delete Custom Attribute

599

Retrieve Authenticated Enrollment User Information

602

Retrieve AirWatch Version and API URLs

605

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

544

Chapter 7: Enrollment User Management

Overview
AirWatch REST APIs enables you to create and manage device enrollment users. Device enrollment user's details can be
viewed in the following path on the AirWatch Console :
l

Enrollment User Details – Accounts > Users > List View.

l

Enrollment Status – Accounts > Users > Enrollment Status.

Add Enrollment User (Basic)
Functionality – Adds a basic device enrollment user to the desired organization group.
HTTP Method – POST
API URI – https://host/api/system/users/adduser

Request Payload
XML


String
String
String
String
Boolean
String
Numeric
String
String
Numeric
Numeric
String
String
Numeric


JSON

{
"UserName":"String",
"Password":"String",
"FirstName":"String",
"LastName":"String",
"Status":"Boolean",
"Email":"String",

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

545

Chapter 7: Enrollment User Management

"SecurityType":Numeric,
"ContactNumber":"String",
"MobileNumber":"String",
"Group":Numeric,
"LocationGroupId":Numeric,
"Role":"String",
"MessageType":"String",
"MessageTemplateId":Numeric
}

Request Tag Details
Tag

Mandatory

Description

UserName

Yes

Desired unique user name of the device enrollment user

Password

Yes

Desired password of the enrollment user

FirstName

Yes

First name of the user

LastName

Yes

Last name of the user

Status

No

"True" for this field creates an Active user, "False" creates an Inactive
user

Email

Yes

Desired email address of the enrollment user

SecurityType

Yes

Security type of the enrollment User. In XML payload, you can pass
String values ("Basic" for a basic enrollment User, and "Directory" for a
directory enrollment user) and Numeric values (1 for directory
enrollment users and 2 for Basic enrollment users). For JSON payload,
you can pass only Numeric values.

ContactNumber

No

Desired contact number of the enrollment User. e.g.+1234567890

MobileNumber

No

Desired mobile number of the enrollment user

Group

No

Unique identification number of the organization group where the
user will be created

LocationGroupId

No

Unique identification number of the organization group where the
user will be created

Role

No

Role associated with the user. Allowed values are "Basic Access" and
"Full Access"

MessageType

No

Type of the message sent to the enrollment user. Allowed Values are:
Email, SMS, None

MessageTemplateId

No

Unique ID of the template of the confirmation Email/SMS sent to the
user

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

546

Chapter 7: Enrollment User Management

Important: Firstname, lastname, password, and email fields are picked from the directory for “directory” security
type.
Additional Points
l

l

l

The newly created Enrollment user can be seen in the following path in the console : Accounts > Users > List View.
The "Group" and "LocationGroupId" tags accept only Numeric Organization Group IDs. The user can pass just one of
these tags in the payload.
When the "Group" or the "LocationGroupId" tag is not provided in the payload, the Enrollment User is created in the
Root Organization Group of the Authenticating Admin User.

Response Payload
XML

Numeric

JSON

{
"Value": Numeric
}

Response Tag Details
Tag

Type

Description

Long /Value

Numeric

Unique identification of the newly created enrollment user

C# Sample Code

using System;
using System.IO;
using System.Net;
using System.Text;
using System.Xml.Serialization;
namespace AirwatchApiClient
{
class Program
{
#region Constants

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

547

Chapter 7: Enrollment User Management

private
private
private
private
private

const
const
const
const
const

string
string
string
string
string

USER_NAME = "UserName1";
PASSWORD = "Password1";
API_TENANT_CODE = "API-Key";
HOST = "https://host";
MIME_TYPE = "application/xml";

#endregion
public static void InitializeRequest(HttpWebRequest request)
{
request.Headers.Add("aw-tenant-code", API_TENANT_CODE);
request.Credentials = new NetworkCredential(USER_NAME, PASSWORD);
request.KeepAlive = false;
request.AddRange(1024);
request.Timeout = 10000;
}
public static void CreateEnrollmentUser()
{
try
{
var user = new User();
user.UserName = "UserName";
user.Password = "********";
user.FirstName = "First Name";
user.LastName = "Last Name";
user.LocationGroupId = 123;
user.MessageType = "Email";
user.SecurityType = EnrollmentUserSecurityType.basic;
user.Email = "user@domain.com";
user.ContactNumber = "+1234567890";
var request =
WebRequest.Create(HOST + "/api/system/users/adduser")
as
HttpWebRequest;
request.Method = "POST";
InitializeRequest(request);
request.ContentType = MIME_TYPE;
var xmlSerializer = new XmlSerializer(typeof(User));
string inputString;
using (var writer = new StringWriter())
{
var xmlNamespace = new XmlSerializerNamespaces();
xmlNamespace.Add(string.Empty, Metadata.RESOURCE_
NAMESPACE);
xmlSerializer.Serialize(writer, user, xmlNamespace);
inputString = writer.ToString();
}
byte[] requestBytes = Encoding.UTF8.GetBytes
(inputString);
request.ContentLength = inputString.Length;
Stream requestStream = request.GetRequestStream();

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

548

Chapter 7: Enrollment User Management

requestStream.Write(requestBytes, 0,
requestBytes.Length);
requestStream.Close();
var response = (HttpWebResponse)request.GetResponse();
Console.WriteLine(new StreamReader
(response.GetResponseStream()).ReadToEnd());
response.Close();
}
catch (WebException e)
{
if(e.Response != null)
{
var errorMessageStream =
e.Response.GetResponseStream();
string message = new StreamReader
(errorMessageStream).ReadToEnd();
Console.WriteLine(message);
}
else
{
Console.WriteLine(e.Message);
}
}
catch (Exception e)
{
Console.WriteLine(e.Message);
}
}
}
}

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

549

Chapter 7: Enrollment User Management

Add Enrollment User (Directory)
Functionality – Adds a directory device enrollment user to the desired organization group.
HTTP Method – POST
API URI – https://host/api/system/users/adduser

Request Payloads
XML


String
Boolean
String
String
String
Numeric
Numeric
String
String
Numeric


JSON

{
"UserName":"String",
"Status":"Boolean",
"SecurityType":"String",
"ContactNumber":"String",
"MobileNumber":"String",
"Group":Numeric,
"LocationGroupId":Numeric,
"Role":"String",
"MessageType":"String",
"MessageTemplateId":Numeric
}

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

550

Chapter 7: Enrollment User Management

Request Tag Details
Tag

Mandatory

Description

UserName

Yes

Directory name of the device enrollment user

Status

No

"True" for this field creates an Active user, "False" creates an
Inactive user

SecurityType

Yes

Security type of the enrollment User. In XML payload, you can pass
String values ("Basic" for a basic enrollment User, and "Directory"
for a directory enrollment user) and Numeric values (1 for directory
enrollment users and 2 for Basic enrollment users). For JSON
payload, you can pass only Numeric values.

ContactNumber

No

Desired contact number of the enrollment user. e.g.+1234567890

MobileNumber

No

Desired mobile number of the enrollment user

Group

No

Numeric identification of the organization group where the user will
be created

LocationGroupId

No

Numeric identification of the organization group where the user will
be created

Role

No

Role associated with the user. Allowed values are "Basic Access"
and "Full Access"

MessageType

No

Type of the message sent to the enrollment user. Allowed Values
are: Email, SMS, None

MessageTemplateId

No

Unique ID of the template of the confirmation Email/SMS sent to
the user

Additional Points
l

l

l

l

l

The newly created Directory Enrollment user can be seen in the following path in the console : Accounts > Users > List
View.
The First name, Last name, Email ID, and Password would be picked from the Active Directory.
The "Group" and "LocationGroupId" tags accept only Numeric Organization Group IDs. The user can pass just one of
these tags in the payload.
When the "Group" or the "LocationGroupId" tag is not provided in the payload, the Enrollment User is created in the
Root Organization Group of the Authenticating Admin User.
The Add Enrollment User API fetches custom attributes from the Directory. Custom attributes are applicable only for
Directory users and are defined for a user in the Directory Services settings.

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

551

Chapter 7: Enrollment User Management

Response Payloads
XML

Numeric

JSON

{
"Value": Numeric
}

Response Tag Details
Tag

Type

Description

Long/Value

Numeric

Unique Identification of the newly created enrollment user

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

552

Chapter 7: Enrollment User Management

Retrieve Enrollment User's Details
Functionality – Retrieves enrollment user's details identified by the enrollment user Id.
HTTP Method – GET
API URI – https://host/api/system/users/{Id}

URI Parameters
Tag

Description

id

Enrollment user id

Request Body – NA

Response Payload
XML


Numeric
String
String
String
Boolean
String
String
String
String
String
String
Numeric
String
String
String
String


JSON

{
"UserName": "String",
"FirstName": "String",

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

553

Chapter 7: Enrollment User Management

"LastName": "String",
"Status": "Boolean",
"Email": "String",
"SecurityType": "String",
"ContactNumber": "String",
"MobileNumber":"String",
"EmailUserName": "String",
"Group": "String",
"LocationGroupId": Numeric,
"Role": "String",
"MessageType": "String",
"EnrolledDevicesCount": "String",
"Id": Numeric,
"ExternalId":"String",
}

Response Tag Details
Tag

Type

Description

ID

Numeric

Unique identification of the enrollment user

UserName

String

Unique user name of the device enrollment user

FirstName

String

First name of the enrollment user

LastName

String

Last name of the enrollment user

Status

Boolean

"True" indicates an Active user, "False" indicates an Inactive user

Email

String

Email address of the enrollment user

SecurityType

String/Numeric Security type of the enrollment User. In XML payload, you can pass
String values ("Basic" for a basic enrollment User, and "Directory" for
a directory enrollment user) and Numeric values (1 for directory
enrollment users and 2 for Basic enrollment users). For JSON payload,
you can pass only Numeric values.

ContactNumber

String

Desired contact number of the enrollment User. e.g.+1234567890

MobileNumber

String

Desired mobile number of the enrollment user

EmailUsername

String

Username of the directory user

Group

String

Name of the organization group where the user will be created

LocationGroupId

Numeric

Numeric identification of the organization group where the user will
be created

Role

String

Role associated with the user. Values are "Basic Access" and "Full
Access"

EnrolledDevicesCount

String

Number of device enrolled by the user

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

554

Chapter 7: Enrollment User Management

MessageType

String

Type of the message sent to the Enrollment User. Allowed Values are :
Email, SMS, None

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

555

Chapter 7: Enrollment User Management

Update Enrollment User's Details
Functionality – Updates the details of a device enrollment user.
HTTP Method – POST
API URI – https://host/api/system/users/{id}/update

URI Parameters
Tag

Description

id

Enrollment User identifier

user

Resource containing user details

Response Payload – NA

Request Payload
XML


String
String
String
String
String
String
String
String
Numeric
Numeric
String
Numeric
String


JSON

{
"ContactNumber": "String",
"DisplayName" : "String",
"Password":"String",
"FirstName":"String",
"LastName":"String",
"Email":"String",

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

556

Chapter 7: Enrollment User Management

"MobileNumber":"String",
"MessageType":"String",
"Group":"String",
"LocationGroupId":Numeric,
"Role":"String",
"MessageTemplateId":Numeric,
"ExternalId":"String"
}

Request Tag Details
Tag

Mandatory

Description

ContactNumber

No

Updated contact number of the enrollment user. e.g.+1234567890

DisplayName

No

Display name of the user

Password

Yes (for Basic
user)

Password for the enrollment user

FirstName

Yes

Updated first name of the enrollment user

LastName

Yes

Updated last name of the enrollment user

Email

Yes

Updated email address of the enrollment user

MobileNumber

No

Updated mobile number of the enrollment user

Group

No

Numeric identification of the updated organization group where the
user will be created

LocationGroupId

Yes

Numeric identification of the updated organization group where the
user will be created

Role

No

Updated role associated with the user. Allowed values are "Basic
Access" and "Full Access"

MessageType

No

Type of the updated message sent to the enrollment User. Allowed
Values are : Email, SMS, None

MessageTemplateId

No

Updated numeric identification of the message template sent to the
enrollment user

ExternalID

No

Track Id of the device enrollment user

Important: It is not mandatory to provide all the tags for updating enrollment users.

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

557

Chapter 7: Enrollment User Management

Delete List of Enrollment Users
Functionality – Deletes the list of enrollment users.
HTTP Method – POST
API URI – https://host/api/system/users/delete

Request Payload
XML



String
String



JSON

{
"BulkValues":{
"Value":["String"]
}
}

Request Tag Details
Tag

Mandatory

Description

Value

Yes

Unique ID of the newly created enrollment user

Response Payload
XML


Numeric
Numeric
Numeric

String

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

558

Chapter 7: Enrollment User Management


Numeric
String
String


Numeric
String
String




JSON

{
"AcceptedItems":Numeric,
"FailedItems":Numeric,
"Faults":{
"Fault":[{
"ErrorCode":Numeric,
"ItemValue":"String",
"Message":"String"
}]
},
"TotalItems":Numeric
}

Response Tag Details
Tag

Type

Description

AcceptedItems

Numeric

Number of enrollment users successfully deleted

FailedItems

Numeric

Number of enrollment users not deleted

Fault

Numeric

XML/JSON block providing the details of the enrollment user that could
not be removed

Message

String

Reason for the enrollment user for not being deleted

TotalItems

Numeric

Total number of enrollment users sent in the request

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

559

Chapter 7: Enrollment User Management

Delete Specified Enrollment User
Functionality – Deletes the specified enrollment user.
HTTP Method – DELETE
API URI – https://host/api/system/users/{id}/delete

URI Parameters
Tag

Description

id

Enrollment user id

Response Obtained – N/A
Request Payload – NA

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

560

Chapter 7: Enrollment User Management

Bulk Delete Enrollment Users
Functionality – Deletes a list of enrollment users from the AirWatch Console.
HTTP Method – POST
API URI – https://host/api/system/users/delete

Request Payload
XML



Numeric
Numeric



JSON

{
"BulkValues":{"value": [Numeric,Numeric]}
}

Request Tag Details
Tag

Mandatory

Description

Value

Yes (at least 1) The unique numeric identification of the enrollment users

Response Payload
XML


Numeric
Numeric
Numeric


VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

561

Chapter 7: Enrollment User Management

String

Numeric
Numeric
String




JSON

{
"TotalItems": Numeric,
"AcceptedItems": Numeric,
"FailedItems": Numeric,
"Faults": {
"Fault": [
{
"ErrorCode": Numeric,
"ItemValue": Numeric,
"Message": "String"
}]
}
}

Response Tag Details
Tag

Type

Description

TotalItems

Numeric

Total number of enrollment user IDs sent in the request

AcceptedItems

Numeric

Number of enrollment users accepted for deletion

FailedItems

Numeric

Number of enrollment users that could not be deleted

Faults

Array

Array of the "Fault" tag describing each detail of each failed instance

ErrorCode

Numeric

HTTP Status code for the failed element

Message

String

Reason for the enrollment user not being deleted

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

562

Chapter 7: Enrollment User Management

Search Enrollment Users
Functionality – Searches for the enrollment user details.
HTTP Method – GET
API URI – https://host/api/system/users/search?firstname={firstname}&lastname={lastname}&email=
{email}&locationgroupId={locationgroupid}&role={role}&username={username}&page={page}&pagesize=
{pagesize}&orderby={orderby}&sortorder={sortorder}
l

l

Exact Match Parameter – sortorder
Pattern (Contains) Match Parameter – firstname, lastname, email, locationgroupid, role, username, page, pagesize,
orderby

URI Parameters
Tag

Description

firstname

First name of the user (Partial search string allowed)

lastname

Last name of the user (Partial search string allowed)

email

Email address of the users (Partial search string allowed)

locationgroupid

Unique identification of the Organization Group where the users are searched

role

Role assigned to the user

username

Username of the users (Partial search string allowed)

page

Specifies the page number

pagesize

Maximum records per page

orderby

Orders the results based on this attribute

sortorder

Sorting order. Allowed values are ASC or DESC. Defaults to ASC if this attribute is not
specified

Response Payload
XML


Numeric
Numeric
Numeric

Numeric
String
String

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

563

Chapter 7: Enrollment User Management

String
Boolean
String
String
String
String
String
String
String
Numeric
String
String
String



JSON

"Users": [{
"Id":Numeric,
"ContactNumber":"String",
"CustomAttribute":"String",
"Email":"String",
"EmailUserName":"String",
"EnrolledDevicesCount":"String",
"FirstName":"String",
"Group":"String",
"LastName":"String",
"LocationGroupId":"String",
"MessageType":Numeric,
"MobileNumber":"String",
"Role":"String",
"SecurityType":"String",
"Status":Boolean,
"UserName":"String"
}]

Response Tag Details
Tag

Type

Description

Total

Numeric

Total number of users present in the search result

Page

Numeric

Current page number of the result

PageSize

Numeric

Page size in terms of the number of users in a page

Id

Numeric

Unique identification number of the enrollment user

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

564

Chapter 7: Enrollment User Management

Users

Array

Array of "Users" element in the result

FirstName

String

First Name of the user

LastName

String

Last Name of the user

Status

Boolean

"True" indicates an Active User, "False" indicates an Inactive user

Email

String

Email address of the enrollment user

SecurityType

String/Numeric Security type of the enrollment User. String: "Basic" for a basic
enrollment User, and "Directory" for a directory enrollment user.
Numeric: 1 for directory enrollment users and 2 for Basic enrollment
users.

MobileNumber

String

Desired mobile number of the enrollment user

ContactNumber

String

Desired contact number of the Enrollment User. e.g.+1234567890

EmailUsername

String

Username of the directory user

Group

String

Name of the organization group where the user will be created

LocationGroupId

Numeric

Numeric ID of the Organization Group where the user will be created

Role

String

Role associated with the user. Values are "Basic Access" and "Full
Access"

MessageType

String/Numeric Type of the message sent to the enrollment user. Allowed String
values: Email , SMS , and None. Allowed Numeric values : -1 for None,
0 for Email, and 1 for SMS

EnrolledDevicesCount

String

Number of the devices enrollment by users

CustomAttribute

String

Custom attribute for the enrollment users

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

565

Chapter 7: Enrollment User Management

Search Enrolled Device
Functionality – Retrieves enrolled device details for the query information provided in the request.
HTTP Method – GET
API URI – https://host/api/system/users/enrolleddevices/search?organizationgroupid=
{organizationgroupid}&organizationgroup={organizationgroup}&platform={platform}&customattributes=
{customattributes}&serialnumber={serialnumber}&seensince={seensince}&seentill={seentill}&enrolledsince=
{enrolledsince}&enrolledtill={enrolledtill}
l

l

Exact Match Parameter – platform
Pattern (Contains) Match Parameter – organizationgroupid, organizationgroup, customattributes, serialnumber,
seensince, seentill, enrolledsince, enrolledtill

Request – N/A

URI Parameters
Tag

Type

Description

organizationgroupid

Numeric

Organization group identifier in which device details are retrieved

organizationgroup

String

Organization group name search parameter in which device details are
retrieved

platform

String

Platform filter for the device details to be retrieved

customattributes

String

List of custom attribute names [separated by comma (,)] for which
values should be returned

serialnumber

String

Device serial number for which values should be returned

seensince

Datetime

SeenSince DateTime, devices seen after the seensince datetime will be
returned if present

seentill

Datetime

SeenTill DateTime, devices seen till the seentill datetime will be
returned if present

enrolledsince

Datetime

EnrolledSince DateTime, devices enrolled after the enrolledsince
datetime will be returned if present

enrolledtill

Datetime

EnrolledTill DateTime, devices enrolled till the enrolledtill datetime will
be returned if present

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

566

Chapter 7: Enrollment User Management

Response Payload
XML




Numeric
String
String
String
String
Datetime
Datetime
Datetime
String
String


String
String
String


String
String
String






JSON

{
"EnrolledDeviceInfoList":[{
"AssetNumber":"String",
"CustomAttributes":[{
"Application":"String",
"Name":"String",
"Value":"String"
}],
"DeviceID":Numeric,
"EnrolledDate":"String",
"FriendlyName":"String",
"LastSeen":"String",
"OrganizationGroup":"String",

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

567

Chapter 7: Enrollment User Management

"Platform":"String",
"RegistrationDate":"String",
"SerialNumber":"String",
"UserName":"String"
}]
}

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

568

Chapter 7: Enrollment User Management

Response Tag Details
Tag

Type

Description

DeviceID

Numeric

Unique numeric identifier of the device

SerialNumber

String

Serial number of the enrolled device

AssetNumber

String

Asset number of the device

FriendlyName

String

Friendly name of the device

UserName

String

User name of the enrolled device

EnrolledDate

Datetime

Enrolled date time stamp of the device

RegistrationDate

Datetime

Time stamp of the device registration

LastSeen

Datetime

Last seen time stamp of the device

Platform

String

Device platform

OrganizationGroup

String

Name of the organization group where the device is enrolled

Application

String

Name of the application

Name

String

Name of the custom attribute

Value

String

Unique identification of the custom attribute

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

569

Chapter 7: Enrollment User Management

Search Device Enrollment Token
Functionality – Searches for enrollment token and device details using the query information provided.
HTTP Method – GET
API URI – https://host/api/system/users/enrollmenttoken/search?username={username}&userid=
{userid}&organizationgroupid={organizationgroupid}&organizationgroup={organizationgroup}&serialnumber=
{serialnumber}&assetnumber={assetnumber}&enrollmentstatusid={enrollmentstatusid}&complianceStatusID=
{compliancestatusid}
l

l

Exact Match Parameter – enrollmentstatusid, compliancestatusid
Pattern (Contains) Match Parameter – username, userid, organizationgroupid, orgznizationgroup, serialnumber,
assetnumber

Request – N/A
URL Parameters
Tag

Description

username

User name of the enrollment user for whom enrollment tokens are to be searched

userid

Identifier of the enrollment user for whom enrollment tokens are to be searched

organizationgroupid

Identifier of the Organization group where enrollment tokens are to be searched

organizationgroup

Organization group name where enrollment tokens need to be searched

serialnumber

Serial number of the device for which enrollment tokens are to be retrieved

assetnumber

Asset number of the device for which enrollment tokens are to be retrieved

enrollmentstatusid

Enrollment status of the device for which enrollment tokens are to be retrieved

compliancestatusid

Compliance status of the device for which enrollment tokens are to be retrieved

Response Payload
XML



String
String
String
String
String
String
Numeric
Numeric


VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

570

Chapter 7: Enrollment User Management


String
String
String




String
String
String
String
String
String
Numeric
Numeric


String
String
String





JSON

{
"Device":[{
"AssetNumber":"String",
"ComplianceStatusID":Numeric,
"CustomAttributes":[{
"Application":"String",
"Name":"String",
"Value":"String"
}],
"EnrollmentStatusID":Numeric,
"FriendlyName":"String",
"OrganizationGroup":"String",
"SeriaNumber":"String",
"Token":"String",
"Username":"String"
}]
}

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

571

Chapter 7: Enrollment User Management

Response Tag Details
Tag

Type

Description

OrganizationGroup

String

Name of the Organization Group where enrollment tokens need to be
searched

UserName

String

User name of the device enrollment user for whom enrollment tokens
need to be searched

FriendlyName

String

Friendly name of the enrolled device for which the enrollment token is
searched for

EnrollmentStatusID

Numeric

Unique identifier of the device enrollment status

AssetNumber

String

Asset Number of device for which enrollment tokens are to be
retrieved

Token

String

Enrollment token of the device

SerialNumber

String

Serial number of device for which enrollment tokens are to be
retrieved

ComplianceStatusID

Numeric

Compliance status of device for which enrollment tokens are to be
retrieved

Name

String

Name of the application

Application

String

Name of the enrolled device

Value

String

Unique identification of the enrollment user

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

572

Chapter 7: Enrollment User Management

Register Device for an Enrollment User
Functionality – Registers a device for the specified enrollment user.
HTTP Method – POST
API URI – https://host/api/system/users/{id}/registerdevice
Response Payload – NA

URI Parameters
Tag

Description

id

Enrollment user identification number

Request Payloads
XML


Numeric
String
String
Numeric
Numeric
Numeric
String
String
String
String
String
String
String
String
String


String




String
String
String
String



VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

573

Chapter 7: Enrollment User Management

Boolean


JSON

{
"AssetNumber":"String",
"CustomAttributes":[{
"Application":"String",
"Source" : "String",
"Name":"String",
"Value":"String"
}],
"FriendlyName":"String",
"Imei":"String",
"LocationGroupId":Numeric,
"MessageTemplateId":"String",
"MessageType":"String",
"ModelId":Numeric,
"OperatingSystemId":Numeric,
"Ownership":"String",
"PlatformId":Numeric,
"SIM":"String",
"SerialNumber":"String",
"Tags":[{
"Name":"String"
}],
"ToEmailAddress":"String",
"ToPhoneNumber":"String",
"Udid":"String""
IsMigration" : Boolean
}

Request Tag Details
Tag

Mandatory

Description

FriendlyName

Yes

Desired unique friendly name of the device

LocationGroupId

No

Unique identification of the organization group where the device will
be registered

Ownership

No

Ownership type of the device. The allowed values are "c" (Corporate
Dedicated), "s" (Corporate Shared) and "e" (Employee Owned)

PlatformId

No

Numeric identification of the device platform. Refer Tables for the list
of Platform IDs

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

574

Chapter 7: Enrollment User Management

ModelId

No

Numeric identification of the device model. Refer Tables for the list of
Model IDs

OperatingSystemId

No

Numeric identification of the device Operating System. Refer Tables for
the list of OS IDs

Udid

No

UDID of the device

SerialNumber

No

Serial Number of the device

Imei

No

IMEI number of the device

AssetNumber

No

Asset number of the device

MessageType

No

Type of the message sent to the user for device activation. Allowed
values: "Email" and "SMS"

MessageTemplateId

No

Unique identification of the message template

SIM

No

SIM Number of the desired device

ToEmailAddress

No

Email address to which the device activation message needs to be sent

ToPhoneNumber

No

Phone number to which the device activation message needs to be
sent

CustomAttribute Name

No

Name of the custom attribute

CustomAttribute Application

No

Custom attribute application

CustomAttribute Value

No

Value of the custom attribute

Tag Name

No

Name of the tag associated with the register device

Source
IsMigration
Important: When the "LocationGroupId" is not passed in the request payload, the device is registered at the Root
Organization Group of the Authenticated user sending the API request.

C# Sample Code

using System;
using System.IO;
using System.Net;
using System.Text;
using System.Xml.Serialization;
namespace AirwatchApiClient
{
class Program
{
#region Constants
private const string USER_NAME = "UserName1";

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

575

Chapter 7: Enrollment User Management

private
private
private
private

const
const
const
const

string
string
string
string

PASSWORD = "Password1";
API_TENANT_CODE = "API-Key";
HOST = "https://host";
MIME_TYPE = "application/xml";

#endregion
public static void InitializeRequest(HttpWebRequest request)
{
request.Headers.Add("aw-tenant-code", API_TENANT_CODE);
request.Credentials = new NetworkCredential(USER_NAME, PASSWORD);
request.KeepAlive = false;
request.AddRange(1024);
request.Timeout = 10000;
}
public static void RegisterDevice()
{
try
{
var deviceDetails = new RegisterDeviceDetails();
deviceDetails.LocationGroupId = 661;
deviceDetails.FriendlyName = "Test API";
deviceDetails.Ownership = "";
deviceDetails.PlatformId = 2;
deviceDetails.Udid = "B7C1008925E380D834CF8CCF52E175D7";
deviceDetails.SerialNumber = "";
deviceDetails.Imei = "";
deviceDetails.ToEmailAddress = "user@domain.com";
deviceDetails.ToPhoneNumber = "4051234567";
const int userId = 115;
var request =
WebRequest.Create(HOST + string.Format("/api/system/users/
{0}/registerdevice", userId)) as
HttpWebRequest;
request.Method = "POST";
InitializeRequest(request);
request.ContentType = MIME_TYPE;
var xmlSerializer = new XmlSerializer(typeof
(RegisterDeviceDetails));
string inputString;
using (var writer = new StringWriter())
{
var xmlNamespace = new XmlSerializerNamespaces();
xmlNamespace.Add(string.Empty, Metadata.RESOURCE_NAMESPACE);
xmlSerializer.Serialize(writer, deviceDetails, xmlNamespace);
inputString = writer.ToString();
}
byte[] requestBytes = Encoding.UTF8.GetBytes(inputString);
request.ContentLength = inputString.Length;
Stream requestStream = request.GetRequestStream();
requestStream.Write(requestBytes, 0, requestBytes.Length);
requestStream.Close();

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

576

Chapter 7: Enrollment User Management

var response = (HttpWebResponse)request.GetResponse();
Console.WriteLine(new StreamReader(response.GetResponseStream
()).ReadToEnd());
response.Close();
}
catch (WebException e)
{
if (e.Response != null)
{
var errorMessageStream = e.Response.GetResponseStream();
string message = new StreamReader
(errorMessageStream).ReadToEnd();
Console.WriteLine(message);
}
else
{
Console.WriteLine(e.Message);
}
}
catch (Exception e)
{
Console.WriteLine(e.Message);
}
}
}
}

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

577

Chapter 7: Enrollment User Management

Search Registered Device
Functionality – Retrieves registered device details for the query information provided in the request.
HTTP Method – GET
API URI – https://host/api/system/users/registereddevices/search?organizationgroupid=
{organizationgroupid}&organizationgroup={organizationgroup}&platform={platform}&customattributes=
{customattributes}&assetNumber={assetnumber}&seensince={seensince}&seentill={seentill}
l

l

Exact Match Parameter – platform
Pattern (Contains) Match Parameter – organizationgroupid, organizationgroup, customattributes, assetnumber,
seensince, seentill

Request – N/A

URI Parameters
Tag

Type

Description

organizationgroupid

Numeric

Organization group identifier in which device details will be retrieved

organizationgroup

String

Organization group name search parameter in which device details will
be retrieved

platform

String

Platform filter for the device details to be retrieved

assetnumber

String

Asset number filter for the device details to be retrieved

customattributes

String

List of custom attribute names [separated by comma (,)] for which
values should be returned

seensince

Datetime

SeenSince DateTime, devices registered after the seensince datetime
will be returned if present

seentill

Datetime

SeenTill DateTime, devices registered till the seentill datetime will be
returned if present

Response Payload
XML




String
String
String
String
String

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

578

Chapter 7: Enrollment User Management

Datetime
String
String


String
String
String


String
String
String






JSON

{
"RegisteredDeviceInfoList":[{
"AssetNumber":"String",
"CustomAttributes":[{
"Application":"String",
"Name":"String",
"Value":"String"
}],
"FriendlyName":"String",
"OrganizationGroup":"String",
"Platform":"String",
"RegistrationDate":"Datetime",
"SerialNumber":"String",
"UDID":"String",
"Username":"String"
}]
}

Response Tag Details
Tag

Type

Description

OrganizationGroup

String

Identifier of the Organization Group where registered device needs to
be searched

UserName

String

User name of the registered device

FriendlyName

String

Friendly name of the device

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

579

Chapter 7: Enrollment User Management

AssetNumber

String

Asset Number of device to be retrieved

UDID

String

UDID of the device

RegistrationNumber

Numeric

Device registration number

SerialNumber

String

Serial number of the registered device

Platform

String

Device platform

Name

String

Name of the application

Application

String

Name of the enrolled device

Value

String

Unique identification of the enrollment user

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

580

Chapter 7: Enrollment User Management

Delete Registered Devices
Functionality – Deletes the registered devices identified by device parameters such as Asset number, User name, Udid,
Serial number.
HTTP Method – POST
API URI – https://host/api/system/users/registereddevices/delete?searchby={searchby}&username={username}

URI Parameters
Tag

Type

Description

searchby

String

The identifier type; Udid, Serialnumber, AssetNumber

username

String

Username of the registered device

Request Payload
XML



String
String



JSON

{
"BulkValues":{
"Value":["String"]
}
}

Request Tag Details
Tag

Type

Description

Value

String

Value can be one of Asset number , UDID, and Serial number of the
enrollment user

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

581

Chapter 7: Enrollment User Management

Response Payload
XML


Numeric
Numeric
Numeric


Numeric
String
String


Numeric
String
String




JSON

{
"AcceptedItems":Numeric,
"FailedItems":Numeric,
"Faults":{
"Fault":[{
"ErrorCode":Numeric,
"ItemValue":"String",
"Message":"String"
}]
},
"TotalItems":Numeric
}

Response Tag Details
Tag

Type

Description

Total Items

Numeric

Total number of registered devices batched for deletion

AcceptedItems

Numeric

Number of devices to which delete command was successfully sent

FailedItems

Numeric

Number of devices that could not be deleted

Faults

Array

Array of the "Fault" tag describing each detail of each failed instance

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

582

Chapter 7: Enrollment User Management

Errorcode

Numeric

HTTP status code for the failed element

Message

String

Reason for the delete action not being performed

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

583

Chapter 7: Enrollment User Management

Change Organization Group of an Enrollment User
Functionality – Changes the specified enrollment user's organization group.
HTTP Method – POST
API URI – https://host/api/system/users/{id}/changelocationgroup?targetLG={locationgroupid}
Request Payload – NA
Request Payload – NA

URL Parameters
Tag

Description

id

Enrollment user id

locationgroupid

The new Location Group ID

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

584

Chapter 7: Enrollment User Management

Activate an Enrollment User
Functionality – Activates the enrollment user specified in the URL.
HTTP Method – POST
API URI – https://host/api/system/users/{id}/activate

URI Parameters
Tag

Description

id

Enrollment user id

Request Payload – NA
Response Payload – NA

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

585

Chapter 7: Enrollment User Management

Bulk Activate Enrollment Users
Functionality – Activates the list of enrollment users in bulk specified in the payload.
HTTP Method – POST
API URI – https://host/api/system/users/activate

Request Payload
XML



Numeric
Numeric



JSON

{
"BulkValues":{"value": [Numeric,Numeric]}
}

Request Tag Details
Tag

Mandatory

Description

Value

Yes (at least 1) The unique numeric identification of the enrollment users

Response Payload
XML


Numeric
Numeric
Numeric


VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

586

Chapter 7: Enrollment User Management

String

Numeric
Numeric
String




JSON

{
"TotalItems": Numeric,
"AcceptedItems": Numeric,
"FailedItems": Numeric,
"Faults": {
"Fault": [
{
"ErrorCode": Numeric,
"ItemValue": Numeric,
"Message": "String"
}]
}
}

Response Tag Details
Tag

Type

Description

TotalItems

Numeric

Total number of enrollment user IDs sent in the request

AcceptedItems

Numeric

Number of enrollment users accepted for activation

FailedItems

Numeric

Number of enrollment users that could not be activation

Faults

Array

Array of the "Fault" tag describing each detail of each failed instance

ErrorCode

Numeric

HTTP Status code for the failed element

Message

String

Reason for the enrollment user not being activated

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

587

Chapter 7: Enrollment User Management

Deactivate an Enrollment User
Functionality – Deactivates the enrollment user specified in the URL.
HTTP Method – POST
API URI – https://host/api/system/users/{id}/deactivate

URI Parameters
Tag

Description

id

Enrollment user id

Request Payload – NA
Response Payload – NA

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

588

Chapter 7: Enrollment User Management

Bulk Deactivate Enrollment Users
Functionality – Deactivates the list of enrollment users in bulk specified in the payload.
HTTP Method – POST
API URI – https://host/api/system/users/deactivate

Request Payload
XML



Numeric
Numeric



JSON

{
"BulkValues":{"value": [Numeric,Numeric]}
}

Request Tag Details
Tag

Mandatory

Description

Value

Yes (at least 1) The unique numeric identification of the enrollment users

Response Payload
XML


Numeric
Numeric
Numeric


VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

589

Chapter 7: Enrollment User Management

String

Numeric
Numeric
String




JSON

{
"TotalItems": Numeric,
"AcceptedItems": Numeric,
"FailedItems": Numeric,
"Faults": {
"Fault": [
{
"ErrorCode": Numeric,
"ItemValue": Numeric,
"Message": "String"
}]
}
}

Response Tag Details
Tag

Type

Description

TotalItems

Numeric

Total number of enrollment user IDs sent in the request

AcceptedItems

Numeric

Number of enrollment users accepted for deactivation

FailedItems

Numeric

Number of enrollment users that could not be deactivation

Faults

Array

Array of the "Fault" tag describing each detail of each failed instance

ErrorCode

Numeric

HTTP Status code for the failed element

Message

String

Reason for the enrollment user not being deactivated

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

590

Chapter 7: Enrollment User Management

Upload S/MIME Certificates to an Enrollment User
Functionality – Uploads encryption and signing certificates to the specified enrollment user.
HTTP Method – POST
API URI – https://host/api/system/users/{id}/uploadsmimecerts

URI Parameters
Tag

Description

id

Enrollment user identifier

Response Payload – NA

Request Payload
XML



String
String


String
String



JSON

{
"Encryption":
{
"CertificatePayload":"String",
"Password":"String"
},
"Signing":
{
"CertificatePayload":"String",
"Password":"String"
}
}

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

591

Chapter 7: Enrollment User Management

Request Tag Details
Tag

Mandatory

Description

Encryption

No

Payload of the encryption certificate

Signing

No

Payload of the signing certificate

CertificatePayload

No

Certificate that is encoded as Base-64 String

Password

No

Password of the encryption/signing certificate

Important: You can send Encryption Certificate, Signing Certificate, or both the certificates in the payload.

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

592

Chapter 7: Enrollment User Management

Create Custom Attribute
Functionality – Creates a new device custom attribute value for a registered device.
HTTP Method – POST
API URI – https://host/api/system/users/registereddevices/assetnumber/{assetnumber}/createcustomattributes
You can also create the device custom attribute using the following parameter:
l

Serial Number – https://host/api/system/users/registereddevices/serialnumber/
{serialnumber}/createcustomattributes

URI Parameters
Tag

Type

Description

assetnumber

String

Device asset number

customattributes

String

Custom attribute name and value pairs

Request Payload
XML




String
String


String
String




JSON

{
"CustomAttributes":[{
"Name":"String",
"Value":"String"
}]
}

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

593

Chapter 7: Enrollment User Management

Request Tag Details
Tag

Mandatory

Description

Name

Yes

Name of the newly created custom attribute

Value

Yes

Value associated with the newly created custom attribute.

Response Payload
XML


Numeric
Numeric
Numeric

String

Numeric
String
String


Numeric
String
String




JSON

{
"AcceptedItems":Numeric,
"FailedItems":Numeric,
"Faults":{
"Fault":[{
"ErrorCode":Numeric,
"ItemValue":"String",
"Message":"String"
}]
},
"TotalItems":Numeric
}

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

594

Chapter 7: Enrollment User Management

Response Tag Details
Tag

Type

Description

Total Items

Numeric

Total number of device attributes to be created

AcceptedItems

Numeric

Number of devices to which create command was successfully sent

FailedItems

Numeric

Number of device custom attributes that could not be created

Faults

Array

Array of the "Fault" tag describing each detail of each failed instance

Errorcode

Numeric

HTTP status code for the failed element

Message

String

Reason for the create custom attribute not being performed

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

595

Chapter 7: Enrollment User Management

Update Custom Attribute
Functionality – Updates the registered device custom attribute value if already present for a device, else adds the same
to the device.
HTTP Method – POST
API URI – https://host/api/system/users/registereddevices/assetnumber/{assetnumber}/updatecustomattributes
You can also update the device custom attribute using the following parameter:
l

Serial Number – https://host/api/system/users/registereddevices/serialnumber/
{serialnumber}/updatecustomattributes

Request Payload
XML




String
String


String
String




VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

596

Chapter 7: Enrollment User Management

JSON

{
"CustomAttributes":[{
"Name":"String",
"Value":"String"
}]
}

Request Tag Details
Tag

Mandatory

Description

Name

Yes

Name of the custom attribute

Value

Yes

Unique ID of the newly updated custom attribute

Response Payload
XML


Numeric
Numeric
Numeric

String

Numeric
String
String


Numeric
String
String




JSON

{
"AcceptedItems":Numeric,
"FailedItems":Numeric,

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

597

Chapter 7: Enrollment User Management

"Faults":{
"Fault":[{
"ErrorCode":Numeric,
"ItemValue":"String",
"Message":"String"
}]
},
"TotalItems":Numeric
}

Response Tag Details
Tag

Type

Description

Total Items

Numeric

Total number of device attribute updates sent in the request

AcceptedItems

Numeric

Number of devices to which update command was successfully sent

FailedItems

Numeric

Number of device custom attributes that could not be updated

Faults

Array

Array of the "Fault" tag describing each detail of each failed instance

Errorcode

Numeric

HTTP status code for the failed element

Message

String

Reason for the custom attribute updated not being performed

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

598

Chapter 7: Enrollment User Management

Delete Custom Attribute
Functionality – Deletes the custom attributes for a registered device.
HTTP Method – POST
API URI – https://host/api/system/users/registereddevices/assetnumber/{assetnumber}/deletecustomattributes
You can also delete the device custom attribute using the following parameter:
l

Serial Number – https://host/api/system/users/registereddevices/serialnumber/
{serialnumber}/deletecustomattributes

Request Payload
XML




String


String




JSON

{
"CustomAttributes":[{
"Name":"String"
}]
}

Request Tag Details
Tag

Mandatory

Description

Name

Yes

Name of the custom attribute to be deleted

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

599

Chapter 7: Enrollment User Management

Response Payload
XML


Numeric
Numeric
Numeric

String

Numeric
String
String


Numeric
String
String




JSON

{
"AcceptedItems":Numeric,
"FailedItems":Numeric,
"Faults":{
"Fault":[{
"ErrorCode":Numeric,
"ItemValue":"String",
"Message":"String"
}]
},
"TotalItems":Numeric
}

Response Tag Details
Tag

Type

Description

Total Items

Numeric

Total number of delete device attribute requests sent

AcceptedItems

Numeric

Number of devices to which delete command was successfully sent

FailedItems

Numeric

Number of device custom attributes that could not be deleted

Faults

Array

Array of the "Fault" tag describing each detail of each failed instance

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

600

Chapter 7: Enrollment User Management

Errorcode

Numeric

HTTP status code for the failed element

Message

String

Reason for the custom attribute delete not being performed

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

601

Chapter 7: Enrollment User Management

Retrieve Authenticated Enrollment User Information
Functionality – Retrieves information about the authenticated enrollment user returning user attributes or not.
HTTP Method – GET
API URI – https://host/api/system/users?attributes={attributes}
Request Payload – NA

URI Parameters
Tag

Type

Description

attributes

Boolean

Return enrollment user attributes or not

Response Payload
XML


String
String
String
String
String
String
String
String
String
String
String
String
String
String
String
String
String
String
String
String
String
String
String
String


String

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

602

Chapter 7: Enrollment User Management

String




JSON

{
"userId" : "String",
"objectIdentifier" : "String",
"userName" : "String",
"fullName" : "String",
"displayName" : "String",
"firstName" : "String",
"middleName" : "String",
"lastName" : "String",
"emailAddress" : "String",
"emailUserName" : "String",
"mobilePhone" : "String",
"phoneNumber" : "String",
"distinguishedName" : "String",
"userPrincipalName" : "String",
"department" : "String",
"status" : "String",
"lockoutTime" : "String",
"lastModified" : "String",
"employeeId" : "String",
"costCenter" : "String",
"managerDistinguishedName" : "String",
"domain" : "String",
"customAttribute1" : "String",
"customAttribute2" : "String",
"memberOf" : [
{
"externalId" : "String",
"distinguishedName" : "String"
}
]
}

Response Tag Details
Tag

Type

Description

userId

String

Id of the enrollment user

userName

String

Name of the enrollment user

fullName

String

Full name of the enrollment user

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

603

Chapter 7: Enrollment User Management

displayName

String

Display name of the enrollment user

firstName

String

First name of the enrollment user

middleName

String

Middle name of the enrollment user

lastName

String

Last name of the enrollment user

emailAddress

String

Email address of the enrollment user

emailUserName

String

Email name of the directory user

mobilePhone

String

Mobile phone number of the enrollment user

phoneNumber

String

Phone number of the enrollment user

distinguishedName

String

Distinguished name of the enrollment user

userPrincipalName

String

Principal name of the enrollment user

department

String

Department of the enrollment user

status

String

Status of the enrollment user

lockoutTime

String

Timestamp of the lock out time

employeeId

String

Employee id of the enrollment user

costCenter

String

Organization department of the enrollment user

domain

String

Domain of the enrollment user

customAttribute

String

Custom attribute for the enrollment users

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

604

Chapter 7: Enrollment User Management

Retrieve AirWatch Version and API URLs
Functionality – Retrieves information about AirWatch version and API URLs.
HTTP Method – GET
API URI – https://host/api/system/info
Request Payload – NA

Response Payload
XML


String
String
String
Numeric



JSON

{
"ProductName" : "String",
"ProductCopyright" : "String",
"ProductVersion" : "String",
"Version" : Numeric,
"Resources" : {
"Collections" : [],
"Workspaces" : []
}
}

Response Tag Details
Tag

Type

Description

ProductName

String

Name of the product

ProductCopyright

String

Copyrights content of the product

ProductVersion

String

Version of the product

Version

Numeric

API version that you want to retrieve supported workspace

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

605

Chapter 7: Enrollment User Management

Resources

String

Name and location of the supported workspace

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

606

Chapter 8:
Mobile Email Management
Overview

608

Search

608

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

607

Chapter 8: Mobile Email Management

Overview
AirWatch REST APIs enables you to manage emails on devices. Email management device details, and compliance policies
can be viewed in the following path on the AirWatch Console :
l

Email Device Details – Email > List > View Devices.

l

Email compliance Policies – Email > Compliance Policies.

Search
Functionality – Searches for the MEM devices.
HTTP Method – GET
API URI – https://host/api/mem/memdevices/search?organizationgroupid={ogid}&page={page}&pagesize={pagesize}
Request Body – NA

Response Payload
XML


Numeric
Numeric
Numeric


Numeric
String
String
String
String
String
String
String
String


Numeric
String
String
String
String
String
String
String
String


VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

608

Chapter 8: Mobile Email Management




JSON

{
"Page":Numeric,
"PageSize":Numeric,
"Total":Numeric,
"MEMDevices":[{
"EASDeviceID":"String",
"EasDeviceType":"String",
"EmailAddress":"String",
"FriendlyName":"String",
"MEMDeviceID":Numeric,
"Managed":"String",
"Platform":"String",
"Reason":"String",
"Status":"String"
}]
}

Response Tag Details
Tag

Type

Description

EASDeviceID

String

Unique identification of the device with EAS account to be searched for

EasDeviceType

String

Type of the device with EAS account to be searched for

EmailAddress

String

Email address of the device user

FriendlyName

String

Friendly name of the device

MEMDeviceID

Numeric

Unique identification of the device with MEM

Managed

String

Managed MEM device

Platform

String

Platform of the device

Reason

String

Reason for the MEM device searched for

Status

String

Status of the device

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

609

Chapter 9:
Organization Group Management
Create Organization Group (*Refactored)

612

Update Organization Group Details (*Refactored)

619

Fetch Organization Group's Details

622

Fetch Child Organization Group's Details (*Refactored)

624

Search Organization Group

626

Delete Organization Group (*Refactored)

629

Fetch Admin User Details in an Organization Group
(*Refactored)

631

Fetch Enrollment Users in an Organization Group
(*Refactored)

634

Fetch Admin User Roles From an Organization Group

637

Add Device Tag to an Organization Group (*Refactored)

639

Update Device Tag Details (*Refactored)

642

Retrieve Details of All Tags

645

Retrieve Specific Device Tag Details

646

Delete Device Tag From an Organization Group

647

Retrieve Device Count

648

Storage: Retrieve Storage Values (Application and Content) 651
Sampling Rates: Retrieve Sampling Rates (*Refactored)

653

Get Custom Attribute

656

Create APNs Cert Request

658

Retrieve Status of APNs Configuration

660

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

610

Chapter 9: Organization Group Management

Update APNs Configuration

662

Save APNs Configuration

663

Create Express Licenses

665

Query for Pinned Host By HostGuid

667

Update Pinned Host

668

Pin Certificate to a Pinned Host

669

Unpin Certificate from a Pinned Host

670

Enable SSL Pinning

671

Disable SSL Pinning

671

Synchronize Pin with Auto Discovery

672

Enable Pin Relation

673

Disable Pin Relation

673

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

611

Chapter 9: Organization Group Management

Create Organization Group (*Refactored)
Version 1
AirWatchREST APIs allows you to manage all the core functionalities around the Organization Groups. Organization
Group details can be viewed at Groups & Settings > Groups > Organization Groups.
Functionality – Creates a new Organization Group under the desired Organization Group.
HTTP Method – POST
Deprecated API URI – https://host/api/system/groups/{id}.
This URI will be deprecated soon. Start using the *Supported API URI.
*Supported API URI – https://host/api/system/groups/id

URI Parameters
Tag

Description

id

The parent Organization Group identifier

Request Payload
XML


String
String
String
String
String
String


JSON

{
"AddDefaultLocation" : "String",
"Country" : "String",
"GroupId" : "String",
"Locale" : "String",
"LocationGroupType" : "String",
"Name" : "String"
}

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

612

Chapter 9: Organization Group Management

Request Tag Details
Tag

Mandatory

Description

Name

Yes

Desired name of the Organization Group

GroupId

No

Group ID used for enrollment of devices

LocationGroupType

Yes

Specifies the type of the Organization Group. Examples : Customer,
and Partner.

Country

Yes

Specifies the country assigned to the Organization Group

Locale

Yes

Organization Group locale. Refer Important section below.

AddDefaultLocation

Yes

Provide any value other than "No" for adding a default location to the
Organization Group

Important:
l

Locale of an Organization Group can be provided in two formats:
o

Using Locale Description. Example: German (Germany). Refer Tables for the available Locale Description.

o

Using Locale Code. Example “de-DE”. Refer Tables for the available Locale Codes.

Response Payload
XML

numeric

JSON

{
"Value" : numeric
}

Response Tag Details
Tag

Type

Description

OG ID

Numeric

Identifier of the Organization Group

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

613

Chapter 9: Organization Group Management

C# Sample Code

using
using
using
using
using

System;
System.IO;
System.Net;
System.Text;
System.Xml.Serialization;

namespace AirwatchApiClient
{
class Program
{
#region Constants
private const string
private const string
private const string
private const string
private const string

USER_NAME = "UserName1";
PASSWORD = "Password1";
API_TENANT_CODE = "API-Key";
HOST = "https://host";
MIME_TYPE = "application/xml";

#endregion
public static void InitializeRequest(HttpWebRequest request)
{
request.Headers.Add("aw-tenant-code", API_TENANT_CODE);
request.Credentials = new NetworkCredential(USER_NAME, PASSWORD);
request.KeepAlive = false;
request.AddRange(1024);
request.Timeout = 10000;
}
public static void CreateLocationGroup()
{
try
{
var locationGroup = new LocationGroup();
locationGroup.Name = "New_OG";
locationGroup.GroupId = "NewOG";
locationGroup.LocationGroupType = "Division";
locationGroup.AddDefaultLocation = "YES";
int id = 661;
var request =
WebRequest.Create(HOST + "/api/system/groups/" + id +
"/creategroup") as
HttpWebRequest;
request.Method = "POST";
request.ContentType = MIME_TYPE;
InitializeRequest(request);
var xmlSerializer = new XmlSerializer(typeof(LocationGroup));
string inputString;
using (var writer = new StringWriter())
{
var xmlNamespace = new XmlSerializerNamespaces();
xmlNamespace.Add(string.Empty, Metadata.RESOURCE_NAMESPACE);
xmlSerializer.Serialize(writer, locationGroup, xmlNamespace);

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

614

Chapter 9: Organization Group Management

inputString = writer.ToString();
}
byte[] requestBytes = Encoding.UTF8.GetBytes(inputString);
request.ContentLength = inputString.Length;
Stream requestStream = request.GetRequestStream();
requestStream.Write(requestBytes, 0, requestBytes.Length);
requestStream.Close();
var response = (HttpWebResponse)request.GetResponse();
Console.WriteLine(new StreamReader(response.GetResponseStream
()).ReadToEnd());
response.Close();
}
catch (WebException e)
{
if (e.Response != null)
{
var errorMessageStream = e.Response.GetResponseStream();
string message = new StreamReader(errorMessageStream).ReadToEnd
();
Console.WriteLine(message);
}
else
{
Console.WriteLine(e.Message);
}
}
catch (Exception e)
{
Console.WriteLine(e.Message);
}
}
}
}

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

615

Chapter 9: Organization Group Management

Version 2
AirWatchREST APIs allows you to manage all the core functionalities around the Organization Groups. Organization
Group details can be viewed at Groups & Settings > Groups > Organization Groups.
Both Version 1 and Version 2 shares the same URI endpoint but with different request body. You must add the following
to the accept header to make an API call using Version 2:
l

application/xml;version=2

l

application/json;version=2

Functionality – Creates a new Organization Group under the desired Organization Group.
HTTP Method – POST
*Supported API URI – https://host/api/system/groups/{id}

URI Parameters
Tag

Description

id

The parent Organization Group identifier

Request Payload
XML

Numeric
String
String
String
String
String
String
Boolean


JSON

{
"AddDefaultLocation" : "String",
"Country" : "String",
"EnableRestApiAccess" : "Boolean",
"GroupId" : "String",

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

616

Chapter 9: Organization Group Management

"Locale" : "String",
"LocationGroupType" : "String",
"Name" : "String"
}

Request Tag Details
Tag

Mandatory

Description

Name

Yes

Desired name of the Organization Group

GroupId

No

Desired group ID used for enrollment

LocationGroupType

Yes

Type of the Organization Group

Country

Yes

Country details of the Organization Group

Locale

Yes

Locale details of the Organization Group. Refer Important section
below.

AddDefaultLocation

No

Add custom default location

EnableRestApiAccess

No

Enables or disables REST API access

Important:
l

Locale of an Organization Group can be provided in two formats:
o

Using Locale Description. Example: German (Germany). Refer Tables for the available Locale Description.

o

Using Locale Code. Example “de-DE”. Refer Tables for the available Locale Codes.

Response Payload
XML


Numeric

String
String
String



VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

617

Chapter 9: Organization Group Management

JSON

{
"Id" : Numeric,
"RestApiAccess" : {
"Status" : String,
"DefaultAdminApiKey" : "String",
"EnrollmentUserApiKey" : "String"
}
}

Response Tag Details
Tag

Mandatory

Description

ID

Yes

Identifier of the Organization Group

Status

No

The status of the API access. Displayed only when
EnableRestAPIAccess is true. Supported values are 1 (error) and 0
(enabled).

DefaultAdminApiKey

No

The default admin API key. Displayed only when EnableRestAPIAccess
is true.

EnrollmentUserApiKey

No

The default enrollment user API key. Displayed only when
EnableRestAPIAccess is true.

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

618

Chapter 9: Organization Group Management

Update Organization Group Details (*Refactored)
Functionality – Updates the details of an organization group.
HTTP Method – POST
Deprecated API URI – http://host/api/system/groups/{id}/update. This URI will be deprecated soon. Start using the
*Supported API URI.
*Supported API URI – https://host/api/system/groups/{id} (HTTP method used – PUT)

URI Parameters
Tag

Description

id

Unique organization group identifier

Response Payload – NA

Request Payload
XML


String
String
String
String
String


JSON

{
"Name": "String",
"GroupId":"String",
"LocationGroupType": "String",
"Country":"String",
"Locale":"String"
}

Request Tag Details
Tag

Mandatory

Description

Name

No

Desired name of the organization group

GroupId

No

Desired group ID of the organization group

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

619

Chapter 9: Organization Group Management

LocationGroupType

No

Location type of the organization group

Country

No

Country of the organization group

Locale

No

Locale of the organization group

Important: Admin can choose to modify one or more details of the organization group by including the desired tags
in the request.

Response Payload
XML


Numeric
String
String
String
String
String
Numeric
String
Datetime
Numeric
String
String
String


JSON

{
"Name":"String",
"GroupId":"String",
"LocationGroupType":"String",
"Country":"String",
"Locale":"String",
"ParentLocationGroup": {
"Id": {
"Value":Numeric
},
"Name":"String"
},
"AddDefaultLocation":"String",
"CreatedOn":"Datetime",

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

620

Chapter 9: Organization Group Management

"LgLevel":Numeric,
"Users":"String",
"Admins":"String",
"Devices":"String",
"Id": {
"Value":Numeric
}
}

Response Tag Details
Tag

Type

Description

Name

String

Name of the organization group

GroupId

String

Unique identifier of the organization group

LocationGroupType

String

Type of the organization group

Country

String

Country details of the organization group

Locale

String

Locale details of the organization group

ParentLocationGroup Id

Numeric

Unique identifier of the parent organization group

ParentLocationGroup Name

String

Name of the parent organization group

AddDefaultLocation

String

Default location details

CreatedOn

Datetime

Time stamp when the organization group was created

LgLevel

Numeric

Level of the organization group

Users

String

Users in the organization group

Admins

String

Admins in the organization group

Devices id

Numeric

Unique identifier of the device in the organization group

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

621

Chapter 9: Organization Group Management

Fetch Organization Group's Details
Functionality – Retrieves the details of the organization group.
HTTP Method – GET
API URI – http://host/api/system/groups/{id}

URI Parameters
Tag

Description

id

The organization group ID

Request Body – NA

Response Payload
XML

Numeric
String
Numeric
String
String
String
Datetime
Numeric
Numeric
Numeric

JSON

"Id": {"Value": Numeric}
"Name": "String",
"GroupId": Numeric,
"LocationGroupType": "String",
"Country": "String",
"Locale": "String",
"CreatedOn": "Datetime",
"Users": Numeric,
"Admins": Numeric,
"Devices": Numeric,

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

622

Chapter 9: Organization Group Management

Response Tag Details
Tag

Type

Description

Id

Numeric

Unique identification of the organization group

Name

String

Name of the organization group

GroupId

Numeric

Group ID assigned to the organization group

LocationGroupType

String

Type of the organization group. Example : Global, Customer, Partner
etc

Country

String

Country assigned to the organization group

Locale

String

Locale of the user

Created On

Datetime

Time stamp of the created organization group

Users

Numeric

Number of enrollment users in the organization group

Admins

Numeric

Number of console admin users in the organization group

Devices

Numeric

Number of enrolled/unenrolled devices present in the organization
group

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

623

Chapter 9: Organization Group Management

Fetch Child Organization Group's Details (*Refactored)
Functionality – Fetches the details of the given organization group as well as the details of all its child organizations
groups.
HTTP Method – GET
Deprecated API URI – https://host/api/system/groups/{id}/getchild. This URI will be deprecated soon. Start using the
*Supported API URI.
*Supported API URI – https://host/api/system/groups/{id}/children (HTTP Method Used – GET)

URI Parameters
Tag

Description

id

The parent organization group ID

Request Body – NA

Response Payload
XML



Numeric
String
String
String
String
String
Numeric
Datetime
Numeric
Numeric
Numeric
Numeric



JSON

"Name":String,
"GroupId": String,
"LocationGroupType": "String",
"Country": "String",

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

624

Chapter 9: Organization Group Management

"Locale": "String",
"ParentLocationGroup": {"Location": Numeric},
"CreatedOn": "Datetime",
"LgLevel": Numeric,
"Users": Numeric,
"Admins": Numeric,
"Devices": Numeric,
"Id": {"Value": Numeric}

Request Tag Details
Tag

Type

Description

Name

String

Name of the organization group

GroupId

String

The group ID assigned to the organization group

LocationGroupType

String

Type of the organization group

Country

String

Country of the organization group

Locale

String

Locale of the organization group

ParentLocationGroup

Numeric

Unique numeric identifier of the immediate parent of the organization
group

CreatedOn

Datetime

Time stamp when the organization group created

LgLevel

Numeric

Specifies the level in the hierarchy of the organization group. Parent
will have level=0, Immediate Child=1, Grandchild=2 and so on

Users

Numeric

Number of enrollment users in the organization group

Admins

Numeric

Number of console admin users in the organization group

Devices

Numeric

Number of enrolled/unenrolled devices present in the organization
group

Id

Numeric

Unique numeric identifier of the organization group

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

625

Chapter 9: Organization Group Management

Search Organization Group
Functionality – Searches for Organization Group Details based on the parameters provided in the URL.
HTTP Method – GET
API URI – http://host/api/system/groups/search?name={name}&type={type}&groupid={groupid}&orderby=
{orderby}&page={page}&pagesize={pagesize}&sortorder={sortorder}
l

Exact Match Parameter – type, sortorder

l

Pattern (Contains) Match Parameter – name, groupid, orderby, page, pagesize

Request Body – NA
Important: Partial Strings can be provided for the "Name" parameter above. However complete "Type" and
"GroupId" values need to be provided for a successful search.

URL Parameters
Tag

Description

name

The organization group name to search for

type

The organization group type to search for

groupid

The organization group identifier[Activation code] to search for.[Exact match is
performed for this attribute]

orderby

Orders the results based on this attribute-value[Valid values are:
Id/Name/GroupId/LocationGroupType]

page

It specifies the page number

pagesize

Maximum records per page

sortorder

Sorting order. Allowed values are ASC or DESC. Defaults to ASC if this attribute is not
specified.

Response Payload
XML


Numeric
Numeric
Numeric

Numeric
String

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

626

Chapter 9: Organization Group Management

String
String
String
String
Datetime
Numeric
Numeric
Numeric
Numeric



JSON

"LocationGroups":
{
"Id": String
"Name": String,
"GroupId": String,
"LocationGroupType": String,
"Country": String,
"Locale": String,
"CreatedOn": Datetime,
"LgLevel":Numeric,
"Users": Numeric,
"Admins": Numeric,
"Devices": Numeric,
}

Response Tag Details
Tag

Type

Description

Name

String

Name of the organization group

GroupId

String

Group ID assigned to the organization group

LocationGroupType

String

Type of the organization group

Country

String

Country assigned to the organization group

Locale

String

Locale of the organization group

CreatedOn

Datetime

Time stamp of the organization group creation

LgLevel

Numeric

Level of the organization group

Users

Numeric

Number of enrollment users present in the organization group

Admins

Numeric

Number of admin users present in the organization group

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

627

Chapter 9: Organization Group Management

Devices

Numeric

Number of devices enrolled/unenrolled in the organization group

Id

Numeric

Unique numeric identifier of the organization group

Page

Numeric

Page number of the result

PageSize

Numeric

Number of organization group’s details returned per page

Total

Numeric

Total number of organization groups satisfying the given parameters

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

628

Chapter 9: Organization Group Management

Delete Organization Group (*Refactored)
Functionality – Deletes the organization group identified by its unique numeric Id.
HTTP Method – DELETE
Deprecated API URI – https://host/api/system/groups/{id}/delete. This URI will be deprecated soon. Start using the
*Supported API URI.
*Supported API URI – https://host/api/system/groups/{id} (HTTP Method Used – DELETE)

URI Parameters
Tag

Description

id

The organization group ID

Request Payload – NA

Response Payload
XML


Numeric
String
String
String
String
String
Numeric
String
Datetime
Numeric
String
String
String


JSON

{
"Name":"String",
"GroupId":"String",
"LocationGroupType":"String",

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

629

Chapter 9: Organization Group Management

"Country":"String",
"Locale":"String",
"ParentLocationGroup": {
"Id": {
"Value":Numeric
},
"Name":"String"
},
"AddDefaultLocation":"String",
"CreatedOn":"Datetime",
"LgLevel":Numeric,
"Users":"String",
"Admins":"String",
"Devices":"String",
"Id": {
"Value":Numeric
}
}

Response Tag Details
Tag

Type

Description

Name

String

Name of the organization group

GroupId

String

Unique identifier of the organization group

LocationGroupType

String

Type of the organization group

Country

String

Country details of the organization group

Locale

String

Locale details of the organization group

ParentLocationGroup Id

Numeric

Unique identifier of the parent organization group

ParentLocationGroup Name

String

Name of the parent organization group

AddDefaultLocation

String

Default location details

CreatedOn

Datetime

Time stamp when the organization group was created

LgLevel

Numeric

Level of the organization group

Users

String

Users in the organization group

Admins

String

Admins in the organization group

Devices id

Numeric

Unique identifier of the device in the organization group

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

630

Chapter 9: Organization Group Management

Fetch Admin User Details in an Organization Group (*Refactored)
Functionality – Retrieves the details of all the console admin users in an organization group.
HTTP Method – GET
Deprecated API URI – https://host/api/system/groups/{id}/getadmins. This URI will be deprecated soon. Start using the
*Supported API URI.
*Supported API URI – https://host/api/system/groups/{id}/admins (HTTP Method Used – GET)

URI Parameters
Tag

Description

id

The organization group ID

Request Body – NA

Response Payload
XML



Numeric
String
String
String
String
String
Numeric
String
String
String
Datetime


Numeric
String
String
Numeric


Boolean
Boolean



VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

631

Chapter 9: Organization Group Management

JSON

"UserName": "String",
"FirstName": "String",
"LastName": “String",
"Email": "String",
"LocationGroup": "String",
"LocationGroupId": Numeric,
"TimeZone": “String",
"Locale": “String",
"InitialLandingPage": "String",
"LastLoginTimeStamp": "Datetime“,
"RequiresPasswordChange":Boolean,
"Roles": [{
"Id": Numeric,
"Name": “String",
"LocationGroup": "String",
"LocationGroupId": Numeric
}],
"IsActiveDirectoryUser": Boolean,
"Id": {"Value": Numeric}

Response Tag Details
Tag

Type

Description

Id

Numeric

Unique identification of the admin user

UserName

String

Unique name of the admin user

FirstName

String

First name of the admin user

Last Name

String

Last name of the admin user

Email

String

Email of the admin user

LocationGroup

String

Name of the organization group of the admin user

LocationGroupId

Numeric

Unique identification of the organization group of the admin user

TimeZone

String

Time zone of the admin user

Locale

String

Locale of the admin user

InitialLandingPage

String

Initial landing page to be displayed on the console for the admin user

LastLoginTimeStamp

Datetime

Time stamp of the last login into the console by the admin user

Role Id

Numeric

Role id of the admin user

Role Name

String

Name of the role

Role LocationGroup

String

Organization group where the role is assigned

Role LocationGroupId

Numeric

Unique identification of the Organization group where the role is
assigned

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

632

Chapter 9: Organization Group Management

IsActiveDirectoryUser

Boolean

"TRUE" for a Directory User, "FALSE" for a Basic User

RequiresPasswordChange

Boolean

True/False if the password change is required

Note: The  tag is an Array of roles assigned to the AirWatch Console User.

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

633

Chapter 9: Organization Group Management

Fetch Enrollment Users in an Organization Group (*Refactored)
Functionality – Retrieves the details of all the enrollment users in an organization group.
HTTP Method – GET
Deprecated API URI – https://host/api/system/groups/{id}/getusers. This URI will be deprecated soon. Start using the
*Supported API URI.
*Supported API URI – https://host/api/system/groups/{id}/users (HTTP Method Used – GET)

URI Parameters
Tag

Description

id

The organization group ID

Request Body – NA

Response Payload
XML


 String
String
String
Boolean
String
String
String
String
String
String
Numeric
String
String
String
String
String


JSON

{
"CustomAttribute":"String",
"UserName": "String",

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

634

Chapter 9: Organization Group Management

"FirstName": "String",
"LastName": "String",
"Status": Boolean,
"Email": "String",
"SecurityType":"String"
"ContactNumber": "String",
"MobileNumber":"String",
"EmailUserName": "String",
"Group": "String",
"LocationGroupId" :"String",
"Role": "String",
"MessageType": String,
"EnrolledDevicesCount": "String",
"ExternalId":"String",
}

Response Tag Details
Tag

Type

Description

UserName

String

Unique name of the enrollment User

FirstName

String

First name of the enrollment user

LastName

String

Last name of the enrollment user

Status

Boolean

"True" indicates Active User, "False" indicates an Inactive user

Email

String

Email of the enrollment user

SecurityType

String/Numeric Security type of the enrollment User. In XML payload, you can pass
String values ("Basic" for a basic enrollment User, and "Directory" for
a directory enrollment user) and Numeric values (1 for directory
enrollment users and 2 for Basic enrollment users). For JSON payload,
you can pass only Numeric values.

ContactNumber

String

Contact number of the enrollment user

MobileNumber

String

Mobile number of the enrollment user

EmailUserName

String

Email user name of a directory enrollment user

Group

String

Name of the organization group where the enrollment user is created

LocationGroupId

String

Unique identification of the organization group where the enrollment
user is created

Role

String

Role assigned to the enrollment user. The valid values are Full
Access/Basic Access

MessageType

String/Numeric Message type for the notification to the enrollment user. The valid
values are Email, SMS, and Push

EnrolledDevicesCount

String

Number of devices enrolled to the user

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

635

Chapter 9: Organization Group Management

CustomAttribute

String

Name of the custom attributes

ExternalId

String

Track Id of the device enrollment user

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

636

Chapter 9: Organization Group Management

Fetch Admin User Roles From an Organization Group
Functionality – Retrieves the list of roles in an organization group that could be assigned to an AirWatch Console user.
HTTP Method – GET
API URI – https://host/api/system/groups/{id}/roles

URI Parameters
Tag

Description

id

The organization group ID

Request Body – NA

Response Payload
XML



Numeric
String
String
String
Numeric



JSON

"Id":Numeric,
"Name": "String",
"Description": "String",
"LocationGroup": "String",
"LocationGroupId": Numeric

Response Tag Details
Tag

Type

Description

Id

Numeric

Unique numeric Identifier of the admin user role

Name

String

Name of the admin user role

Description

String

Description provided for the admin user role

LocationGroup

String

Name of the organization group where the admin user role is present

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

637

Chapter 9: Organization Group Management

LocationGroupId

Numeric

Unique identification of the organization group where the admin user
role is present

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

638

Chapter 9: Organization Group Management

Add Device Tag to an Organization Group (*Refactored)
Functionality – Adds a device tag to the organization group specified in the endpoint URL.
HTTP Method – POST
Deprecated API URI – https://host/api/system/groups/{id}/addTag. This URI will be deprecated soon. Start using the
*Supported API URI.
*Supported API URI – https://host/api/system/groups/{id}/tags (HTTP Method Used – POST)

Request Payload
XML

Tag>
String
String
Numeric
Numeric


JSON

{
"TagName":"String",
"TagAvatar":"String",
"TagType":Numeric
"LocationGroupId":Numeric
}

Request Tag Details
Tag

Mandatory

Description

TagName

Yes

Desired unique name of the device tag

TagType

Yes

Type of the device tag. Allowed values are String: Device, General and
Numeric: “1” for Device and “2” for General"

LocationGroupId

Yes

Unique numeric ID of the organization group where the tag will be
created

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

639

Chapter 9: Organization Group Management

Response Payload
XML


Numeric
Numeric
Numeric
1


Numeric
String
String
String/Numeric
Numeric




JSON

{
"OGId": {
"Id": {
"Value":Numeric
},
"Name":"String"
},
"Tags":[
{
"Id":Numeric,
"TagAvatar":"String/Numeric",
"TagName":"String",
"TagType":Numeric/String,
"LocationGroupId":Numeric
}
}

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

640

Chapter 9: Organization Group Management

Response Tag Details
Tag

Data Type

Description

Name

String

Name of the organization group

Tags Id

Numeric

Unique identifier of the tag

TagName

String

Name of the tag to be added

TagType

Numeric/String

Type of the tag to be added

LocationGroupId

Numeric

Unique identifier of the organization group where the tag will be
created

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

641

Chapter 9: Organization Group Management

Update Device Tag Details (*Refactored)
Functionality – Update the details of any tag in an organization group.
HTTP Method – POST
Deprecated API URI – http://host/api/system/groups/{ogid}/tags/{tagid}/update. This URI will be deprecated soon.
Start using the *Supported API URI.
*Supported API URI – https://host/api/system/groups/{ogid}/tags/{tagid} (HTTP Method Used – PUT)

Request Payload
XML


String
String
String


JSON

{
"TagAvatar":"String",
"TagName":"String",
"TagType":"String/Numeric",
}

Request Tag Details
Tag

Mandatory

Description

TagName

No

Desired unique name of the device tag

TagType

No

Type of the device tag. Allowed values, String: Device, General or
Numeric: “1” for Device and “2” for General"

Important: Admin can choose to modify one or more details of the device tag by including the desired tags in the
request body.

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

642

Chapter 9: Organization Group Management

Response Payload
XML


Numeric
Numeric
Numeric
1


Numeric
String
String
String/Numeric
Numeric




JSON

{
"OGId": {
"Id": {
"Value":Numeric
},
"Name":"String"
},
"Tags":[
{
"Id":Numeric,
"TagAvatar":"String/Numeric",
"TagName":"String",
"TagType":Numeric/String,
"LocationGroupId":Numeric
}
}

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

643

Chapter 9: Organization Group Management

Response Tag Details
Tag

Data Type

Descrription

Name

String

Name of the organization group

Tags Id

Numeric

Unique identifier of the tag

TagName

String

Name of the tag to be added

TagType

Numeric/String

Type of the tag to be added

LocationGroupId

Numeric

Unique identifier of the organization group where the tag will be
created

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

644

Chapter 9: Organization Group Management

Retrieve Details of All Tags
Functionality – Retrieves the details of all the device tags present in an organization group.
HTTP Method – GET
API URI – http://host/api/system/groups/{id}/tags
Request Body – NA

Response Payload
XML



Numeric
String
String/Numeric
Numeric



JSON

"Tags":
[{"Id": Numeric,
"TagName":"String",
"TagType": "String/Numeric",
"LocationGroupId": Numeric
}]

Response Tag Details
Tag

Type

Description

ID

Numeric

Unique identification of the device tag

TagName

String

Name of the device tag

TagType

Numeric/String Type of the device tag. Allowed values, String: Device, General or
Numeric: “1” for Device and “2” for General"

LocationGroupId

Numeric

Unique identification of the organization group where the tag is
present

Note: Tags are inherited from all the parents of an organization group in the chain of hierarchy.

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

645

Chapter 9: Organization Group Management

Retrieve Specific Device Tag Details
Functionality – Retrieves the details of a specific device tag present in a organization group.
HTTP Method – GET
API URI – http://host/api/system/groups/{ogid}/tags/{tagid}
Request Body – NA

Response Payload
XML


Numeric
String
String
Numeric


JSON

"Id": Numeric,
"TagName":"String",
"TagType":"String",
"LocationGroupId": Numeric

Response Tag Details
Tag

Type

Description

ID

Numeric

Unique numeric identifier of the device tag

TagName

String

Unique name of the device tag

TagType

String

Type of the device tag. Allowed values, String: Device, General or
Numeric: “1” for Device and “2” for General"

LocationGroupId

Numeric

Unique numeric identifier of the organization group where the tag is
present

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

646

Chapter 9: Organization Group Management

Delete Device Tag From an Organization Group
Functionality – Deletes a tag identified by the tag id from the organization group.
HTTP Method – DELETE
API URI – http://host/api/system/groups/{ogid}/tags/{tagid}
Request Body – NA
Response Payload – NA

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

647

Chapter 9: Organization Group Management

Retrieve Device Count
Functionality – Returns the Device Count for all the Organization Groups that are available under the specified
Organization Group.
HTTP Method – GET
API URI – https://host/api/system/groups/devicecounts?organizationgroupid={organizationgroupid}&seensince=
{seensince}&seentill={seentill}&page={page}&pagesize={pagesize}
Request Payload – NA

URI Parameters
Tag

Description

organizationgroupid

Organization Group to be searched, user's OG is considered if not sent

seensince

Filter devices such that devices with last seen after this date will be returned

seentill

Filter devices such that devices with last seen till this date will be returned

page

Page Number

pagesize

Max records per page

Note: Accepted DateTime formats – "yyyy/MM/dd", "yyyy-MM-dd", "MM/dd/yyyy", "MM-dd-yyyy",
"yyyy/MM/dd HH:mm:ss.fff", "yyyy-MM-dd HH:mm:ss.fff", "MM/dd/yyyy HH:mm:ss.fff", "MM-dd-yyyy
HH:mm:ss.fff", "yyyy/MM/ddTHH:mm:ss.fff", "yyyy-MM-ddTHH:mm:ss.fff", "MM/dd/yyyyTHH:mm:ss.fff", "MMdd-yyyyTHH:mm:ss.fff", "yyyy-MM-dd HH-mm-ss-tt".

Response Payload
XML


Numeric
Numeric
Numeric


Numeric
String
Numeric

Numeric
Numeric

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

648

Chapter 9: Organization Group Management

Numeric
Numeric
Numeric
Numeric
Numeric
Numeric
Numeric
Numeric
Numeric
Numeric





JSON

{
"LocationGroups" : [
{
"LocationGroupId" : Numeric,
"LocationGroupName" : "String",
"TotalDevices" : Numeric,
"DeviceCountByEnrollmentStatus" : {
"Discovered" : Numeric,
"Registered" : Numeric,
"EnrollmentInProgress" : Numeric,
"Enrolled" : Numeric,
"EnterpriseWipePending" : Numeric,
"DeviceWipePending" : Numeric,
"Retired" : Numeric,
"Unenrolled" : Numeric,
"AppCatalogOnly" : Numeric,
"BlackListed" : Numeric,
"PendingAgent" : Numeric,
"UnenrolledByFeedbackService" : Numeric
}
}
],
"Page" : Numeric,
"PageSize" : Numeric,
"Total" : Numeric
}

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

649

Chapter 9: Organization Group Management

Response Tag Details
Tag

Type

Description

LocationGroupId

Numeric

Unique identifier of the organization group

LocationGroupName

String

Name of the organization group

TotalDevices

Numeric

Total number of devices in the specified organization group

Discovered

Numeric

Number of discovered devices in the specified organization group

Registered

Numeric

Number of registered devices in the specified organization group

EnrollmentInProgress

Numeric

Number of devices in EnrollmentInProgress status in the specified
organization group

Enrolled

Numeric

Number of enrolled devices in the specified organization group

EnterpriseWipePending

Numeric

Number of devices with pending enterprise wipe status

DeviceWipePending

Numeric

Number of devices with pending device wipe status

Retired

Numeric

Number of retired devices in the specified organization group

Unenrolled

Numeric

Number of unenrolled devices in the specified organization group

AppCatalogOnly

Numeric

Number of devices with installed App catalog only

BlackListed

Numeric

Number of devices that are blacklisted

PendingAgent

Numeric

Number of devices with pending agent

UnenrolledByFeedbackService

Numeric

Number of devices with that are unenrolled by feedback service

Page

Numeric

Current page number of the result

PageSize

Numeric

Page size in terms of the number of devices in a page

Total

Numeric

Total number of devices present in the search result

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

650

Chapter 9: Organization Group Management

Storage: Retrieve Storage Values (Application and Content)
Functionality – Retrieves the application and content storage values configured for an organization group.
HTTP Method – GET
API URI – http://host/api/system/groups/{organizationgroupid}/storage
Request Body – NA

Response Payload
XML


Numeric
Numeric
Numeric
Numeric
Numeric
Numeric


JSON

"ApplicationCapacity":Numeric,
"ApplicationOverage":Numeric,
"ApplicationMaxFileSize":Numeric,
"ContentCapacity":Numeric,
"ContentOverage":Numeric,
"ContentMaxFileSize":Numeric

Response Tag Details
Tag

Type

Description

ApplicationCapacity

Numeric

Total application capacity

ApplicationOverage

Numeric

Application overage capacity

ApplicationMaxFileSize

Numeric

Maximum size allowed for an application file

ContentCapacity

Numeric

Total content capacity

ContentOverage

Numeric

Content overage capacity

ContentMaxFileSize

Numeric

Maximum size allowed for one content file

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

651

Chapter 9: Organization Group Management

Important: All Values in the above parameters are in MB.

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

652

Chapter 9: Organization Group Management

Sampling Rates: Retrieve Sampling Rates (*Refactored)
Functionality – Retrieves the sampling rates for various platforms configured in an organization group.
HTTP Method – GET
Deprecated API URI – http://host/api/system/groups/{id}/sampleratesbyplatform?platform={platform}. This URI will be
deprecated soon. Start using the *Supported API URI.
*Supported API URI – https://host/api/system/groups/{id}/samplerates?platform={platform} (HTTP Method Used –
GET)

URI Parameters
Tag

Description

id

The organization group ID

platform

The name of the platform

Request Body – NA

Response Payloads
XML


String
String
String
String
String
String
String
String
String
String
String
String
String
String
String
String
String
String
String


VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

653

Chapter 9: Organization Group Management

JSON

{
"ID":String,
"PlatformID":String,
"Platform": "String",
"HeartbeatInterval":" String ",
"DataSampleInterval":" String ",
"DataTransmitInterval":String,
"ProfileRefreshInterval":" String ",
"GPSSampleInterval":" String ",
"AgentPollingInterval": "String",
"BeaconInterval":"String",
"ApplicationListSample":String,
"DeviceInformationSample":String,
"ApplicationListSample":"String",
"CertificateListSample":"String",
"ProfileListSample":String,
"ProvisioningProfileListSample":" String ",
"RestrictionListSample":"String",
"SecurityInformationSample":"String",
"ManagedAppListSample":"String",
"CheckInInterval":"String"
}

Response Tag Details
Tag

Data Type

Description

ID

String

Unique String identifier of the organization group

PlatformID

String

Unique String identifier of the platform

Platform

String

The device platform

HeartbeatInterval

String

Heartbeat interval in minutes

DataSampleInterval

String

Data information sample interval in minutes

DataTransmitInterval

String

Data transmit interval in minutes

ProfileRefreshInterval

String

Profile refresh interval in minutes

GPSSampleInterval

String

GPS information sample Interval in minutes

ApplicationListSample

String

Application list Information sample interval in minutes

DeviceInformationSample

String

Device information sample interval in minutes

ApplicationListSample

String

Application list information sample interval in minutes

CertificateListSample

String

Certificate list information sample interval in minutes

ProfileListSample

String

Profile list information sample interval in minutes

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

654

Chapter 9: Organization Group Management

ProvisioningProfileListSample

String

Provisioning list information sample interval in minutes

RestrictionListSample

String

Restriction list information sample interval in minutes

SecurityInformationSample

String

Security information sample interval in minutes

ManagedAppListSample

String

Managed application list information sample interval in minutes

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

655

Chapter 9: Organization Group Management

Get Custom Attribute
Functionality – Provides custom attribute details for the specified organization group.
HTTP Method – GET
API URI – https://host/api/system/groups/{ogid}/CustomAttributes
Request Body – NA
URI Parameters
Tag

Description

ogid

Unique identifier of the organization group

Response Payload
XML



Numeric
String
String
String
Numeric

String




JSON

{
"CustomAttribute":[{
"Application":"String",
"AttributeId":Numeric,
"ManagedBy":"String",
"Name":"String",
"OrganizationGroupId":Numeric,
"Values":[{
"Value":"String"
}]
}]
}

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

656

Chapter 9: Organization Group Management

Response Tag Details
Tag

Type

Description

Application

String

Name of the application

AttributeId

Numeric

Unique identification number of the custom attribute

ManagedBy

String

Unique identification of the organization group which manages the
custom attribute

Name

String

Name of the custom attribute

OrganizationGroupId

Numeric

Unique numeric identifier of the organization group where the custom
attribute is present

Values

String

Value associated with the custom attribute

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

657

Chapter 9: Organization Group Management

Create APNs Cert Request
Functionality – Method to create APNs cert request or to get the status of the APNs configuration for an Organization
Group. Upload certificate Blob ID is '-1', when APNs is already configured for the Organization Group.
HTTP Method – GET
API URI – https://host/api/system/groups/{id}/apns?force={force}
Request Payload – NA

URI Parameters
Tag

Description

id

Organization Group identifier

force

Generate APNs cert request

Response Payload
XML


String
String
Numeric
Numeric
Numeric


JSON

{
"id" : Numeric,
"AppleId" : "String",
"CertificateSigningRequestBlobId" : Numeric,
"IssuedCertificateId" : Numeric,
"UploadedCertificateBlobId" : Numeric
}

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

658

Chapter 9: Organization Group Management

Response Tag Details
Tag

Data Type

Description

id

Numeric

Unique identifier of the Organization Group

AppleId

String

Unique Apple identification number

CertificateSigningRequestBlobId Numeric

Unique identifier of the certificate signing request blob

IssuedCertificateId

Numeric

Unique identifier of the issued certificate

UploadedCertificateBlobId

Numeric

Unique identifier of the uploaded certificate blob

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

659

Chapter 9: Organization Group Management

Retrieve Status of APNs Configuration
Functionality – Method to retrieve the status of the APNs configuration for an Organization Group.
HTTP Method – GET
API URI – https://host/api/system/groups/{id}/apns/details
Request Payload – NA

URI Parameters
Tag

Description

id

Organization Group identifier

Response Payload
XML


Numeric
String
String
String
String
String
String
String
String
String


JSON

{
"CurrentSetting" : "String",
"Type" : "String",

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

660

Chapter 9: Organization Group Management

"IssuedTo" : "String",
"IssuedBy" : "String",
"ValidFrom" : "String",
"ValidTo" : "String",
"Thumbprint" : "String",
"AppleId" : "String",
"ChildPermission" : "String",
"id" : Numeric
}

Response Tag Details
Tag

Data Type

Description

CurrentSetting

String

Current settings of APNs configuration

Type

String

Type of certificate

IssuedTo

String

Whom the certificate is issued to

IssuedBy

String

Issuer of the certificate

ValidFrom

String

Certificate validity start date

ValidTo

String

Certificate validity end date

Thumbprint

String

Unique thumbprint ID for the certificate

AppleId

String

Unique Apple identifier

ChildPermission

String

Permissions for the child Organization Group

id

Numeric

Unique identifier of the Organization Group

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

661

Chapter 9: Organization Group Management

Update APNs Configuration
Functionality – Method to update the APNs configuration for an organization group. This method is applicable after the
APNs is configured on the AirWatch server.
HTTP Method – PATCH
API URI – https://host/api/system/groups/{id}/apns

URI Parameters
Tag

Description

id

Organization Group identifier

Response Obtained – NA

Request Payload
XML


Boolean
String


JSON

{
"ChildPermission" : "String",
"Inherit" : Boolean
}

Request Tag Details
Tag

Mandatory

Description

ChildPermission

No

Permissions for the child group

Inherit

No

Inherit the settings from the parent Organization Group

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

662

Chapter 9: Organization Group Management

Save APNs Configuration
Functionality – Method to save the APNs configuration for an organization group This method is applicable after the
APNs certificate Blob (.pem) is uploaded to the AirWatch server.
HTTP Method – GET
API URI – https://host/api/system/groups/{id}/apns

URI Parameters
Tag

Description

id

Organization group identifier

force

Force generate APNs cert request

Response Obtained – NA

Request Payload
XML


Numeric
String
Numeric
Boolean
String


JSON

{
"id" : Numeric,
"AppleId" : "String",
"CertificatePassword" : "String",
"Renew" : Boolean,
"UploadedCertificateBlobId" : Numeric
}

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

663

Chapter 9: Organization Group Management

Request Tag Details
Tag

Mandatory

Description

id

Yes

Unique identifier of the organization group

AppleId

No

Unique Apple identification number

CertificatePassword

No

Password for the certificate

Renew

No

If certificate renew is required or not. Value: True or False.

UploadedCertificateBlobId

Yes

Unique numeric identifier of the uploaded certificate blob

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

664

Chapter 9: Organization Group Management

Create Express Licenses
Functionality – Creates specific number of AirWatch express licenses at a given organization group.
HTTP Method – POST
API URI – https://host/api/system/expresslicenses
Response Obtained – NA

Request Payload
XML


Numeric
String
Numeric
Datetime
Datetime
Numeric
Enum
Enum
Datetime
Datetime
Numeric
Numeric


JSON

{
"MultiLicenseKey" : "String",
"QuantityPurchased" : Numeric,
"EffectiveDate" : "Datetime",
"ExpirationDate" : "Datetime",
"OverageTolerance" : Numeric,
"LicenseType" : Enum,
"ShutdownMode" : Enum,
"WarningDate" : "Datetime",
"LockoutDate" : "Datetime",
"DevicesPerUser" : Numeric,
"OrganizationGroupId" : Numeric,
"id" : Numeric
}

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

665

Chapter 9: Organization Group Management

Request Tag Details
Tag

Mandatory

Description

MultiLicenseKey

Yes

Name of the multi license key

QuantityPurchased

Yes

Number of licenses purchased

EffectiveDate

Yes

Time stamp when the license is effective

ExpirationDate

Yes

Time stamp when the license gets expired

OverageTolerance

No

Overall tolerance of the license key

LicenseType

Yes

Type of the license
Values: Trial, Production,TrialPerUser, ProductionPerUser

ShutdownMode

No

The shut down mode for the license
Values: Never, GEM, Real Time

WarningDate

Yes

Time stamp when the user receives the warning notification about the
license key expiration

LockoutDate

Yes

Time stamp when the license gets locked out

DevicesPerUser

No

Number of devices per user

OrganizationGroupId

Yes

Unique identifier of the organization group

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

666

Chapter 9: Organization Group Management

Query for Pinned Host By HostGuid
Functionality – Query for pinned hosts by host name.
HTTP Method – DELETE
API URI – https://host/api/system/pinnedhost/{hostGuid}

URI Parameters
Tag

Description

hostGuid

ID (returned during creation or a query) of the host to delete

Request Payload – NA
Response Obtained – NA

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

667

Chapter 9: Organization Group Management

Update Pinned Host
Functionality – Updates a specific pinned host.
HTTP Method – PATCH
API URI – https://host/api/system/pinnedhost/{hostGuid}
Response Obtained – NA

URI Parameters
Tag

Description

hostGuid

The ID of the host to update

Request Payload
XML


String
Boolean
Numeric
Boolean


JSON

{
"HostName" : "String",
"IsDeviceServices" : Boolean,
"OrganizationGroupId" : Numeric,
"Required" : Boolean
}

Request Tag Details
Tag

Mandatory

Description

HostName

Yes

Mail server host name or IP address

IsDeviceServices

Yes

If device services are required or not. Values: True or False

OrganizationGroupId

Yes

Unique numeric ID of the organization group

Required

Yes

True or False

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

668

Chapter 9: Organization Group Management

Pin Certificate to a Pinned Host
Functionality – Pins a given certificate to a pinned host.
HTTP Method – POST
API URI – https://host/api/system/pincertificate
Response Obtained – NA

Request Payload
XML


String
String
String


JSON

{
"HostGuid" : "String",
"Certificate" : "String",
"CertificateThumbprint" : "String"
}

Request Tag Details
Tag

Mandatory

Description

HostGuid

Yes

The ID of the host to pin the certificate

Certificate

Yes

Certificate to pin a host

CertificateThumbprint

Yes

Thumbprint of the certificate

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

669

Chapter 9: Organization Group Management

Unpin Certificate from a Pinned Host
Functionality – Unpins a given certificate from a pinned host.
HTTP Method – POST
API URI – https://host/api/system/unpincertificate
Response Obtained – NA

Request Payload
XML


String
String
String


JSON

{
"HostGuid" : "String",
"Certificate" : "String",
"CertificateThumbprint" : "String"
}

Request Tag Details
Tag

Mandatory

Description

HostGuid

Yes

The ID of the host to unpin the certificate

Certificate

Yes

Certificate to unpin a host

CertificateThumbprint

Yes

Thumbprint of the certificate

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

670

Chapter 9: Organization Group Management

Enable SSL Pinning
Functionality – Enables SSL pinning at an organization group.
HTTP Method – POST
API URI – https://host/api/system/enable/{organizationgroupid}

URI Parameters
Tag

Description

organizationgroupid

ID of the organization group to enable SSL pinning

Request Payload – NA
Response Obtained – NA

Disable SSL Pinning
Functionality – Disables SSL pinning at an organization group.
HTTP Method – POST
API URI – https://host/api/system/disable/{organizationgroupid}

URI Parameters
Tag

Description

organizationgroupid

ID of the organization group to disable SSL pinning

Request Payload – NA
Response Obtained – NA

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

671

Chapter 9: Organization Group Management

Synchronize Pin with Auto Discovery
Functionality – Synchronizes pin with Auto Discovery at an organization group.
HTTP Method – POST
API URI – https://host/api/system/syncwithautodiscovery/{organizationgroupid}
Request Payload – NA

URI Parameters
Tag

Description

organizationgroupid

ID of the organization group

Response Payload
XML


Numeric
String


JSON

{
"ItemsAffected" : Numeric,
"Message" : "String"
}

Response Tag Details
Tag

Data Type

Description

ItemsAffected

Numeric

Number of CertificatePinningEntity that is affected or modified for the
Host

Message

String

Message about the autosync operation performed

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

672

Chapter 9: Organization Group Management

Enable Pin Relation
Functionality – Enables a pinned relationship between host and certificate.
HTTP Method – POST
API URI – https://host/api/system/enablepin/{hostGuid}/{organizationgroupid}
Request Payload – NA
Response Obtained – NA

URI Parameters
Tag

Description

hostGuid

ID of the pertinent host

organizationgroupid

(Optional) ID of the organization group

Disable Pin Relation
Functionality – Disables a pinned relationship between host and certificate.
HTTP Method – POST
API URI – https://host/api/system/disablepin/{hostGuid}/{organizationgroupid}
Request Payload – NA
Response Obtained – NA

URI Parameters
Tag

Description

hostGuid

ID of the pertinent host

organizationgroupid

ID of the organization group to disable pin relationship between host and certificate

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

673

Chapter 10: Profile Management Version 1 and Version 2

Chapter 10:
Profile Management Version 1 and
Version 2
Overview

676

General Profile (Common for all Device Platforms)

677

Retrieve Payload Keys for Creating a Profile

685

Update Apple Device Profile

687

Update Android Device Profile

691

Create Apple Passcode Profile

695

Create Apple Restrictions Profile

702

Create Apple Wi-Fi Profile

722

Create Apple VPN Profile

734

Create Apple Email Profile

744

Create Apple EAS Profiles

752

Upload Certificates

785

Create Apple SCEP Profile

787

Create Apple Credentials Profile

793

Create Apple Custom Settings Profile

799

Create Android Passcode Profile

803

Create Android Restrictions Profile

811

Create Android Wi-Fi Profile

836

Create Android VPN Profile

843

Create Android Email Profile

849

Create Android EAS Profile

858

Create Android Credentials Profile

884

Create Android For Work Profile

894

Create Android Container Profile

939

Create AppleOsX Device Profile

951

Update AppleOsX Device Profile

980
VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

674

Chapter 10: Profile Management Version 1 and Version 2

Create QNX Device Profile

1008

Update QNX Device Profile

1010

Create Windows PC Device Profile

1012

Update Windows PC Device Profile

1020

Get Device Profile Details

1028

Activate Device Profile

1030

Deactivate Device Profile

1032

Install Device Profile

1034

Remove Device Profile

1037

Search Device Profile

1040

Delete Device Profile

1046

Get Resource

1048

Get Resource Keys and Advanced Settings

1050

Create Resource of Requested Type

1051

Delete Resource

1052

Update Requested Resource

1053

Edit Smart Group Assignment for Resource

1054

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

675

Chapter 10: Profile Management Version 1 and Version 2

Overview
AirWatch REST APIs allow you to manage the end-to-end functionalities of profile management features available for iOS
and Android platforms. The functionalities include to create/update of profiles on the console, install/removal of profiles
from the devices, and to retrieve the profiles details from the device on to the console. Profiles details can be viewed in
the following path on the AirWatch Console:
l

Profile Details – Devices > Profiles > List View.

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

676

Chapter 10: Profile Management Version 1 and Version 2

General Profile (Common for all Device Platforms)
Version 1
Functionality – This payload is used with other payloads for all the platforms and is mandatory.
HTTP Method – POST
API URI – https://host/api/mdm/profiles/platforms/{platform}/payloads/{payload}/getpayloadkeys?contexttype=
{contexttype}
Important: The above URI would return the "General" payload entity along with the requested payload (Passcode,
Restrictions, etc ) tags for the desired platform.

Request Payloads
XML




Numeric
String
String
String
Numeric
Boolean
String
String
Boolean
Boolean
Boolean
String
String


Numeric




Numeric


VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

677

Chapter 10: Profile Management Version 1 and Version 2


Numeric

Numeric
Numeric


Numeric
Numeric

String



JSON

{
"General":
"AllowRemoval" : "String",
"AssignedGeofenceArea" : [
Numeric
],
"AssignedSchedule" : [
Numeric
],
"AssignedSmartGroups" : [
{
"SmartGroupId" : Numeric
}
],
"AssignmentType" : "String",
"CreateNewVersion" : Boolean,
"Description" : "String",
"EnableProvisioning" : Boolean,
"ExcludedSmartGroups" : [
{
"Name" : "String",
"SmartGroupId" : Numeric
}
],
"ExpirationDate" : "String",
"IsActive" : Boolean,
"IsManaged" : Boolean,
"ManagedLocationGroupID" : Numeric,
"Name" : "String",
"Password" : "String",
"ProfileContext" : "String",
"ProfileId" : Numeric,

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

678

Chapter 10: Profile Management Version 1 and Version 2

"ProfileScope" : "String
}
}

Important: At least one payload needs to be provided along with the General payload.

Associated Picklists
Tag

Picklist API URI

DeviceModel

https://host/api/mdm/picklists/platforms/
{platform}/getdevicemodels

MinimumOperatingSystem

https://host/api/mdm/picklists/platforms/
{platform}/getoperatingsystems

OwnershipType

https://host/api/mdm/picklists/ownershiptypes

Request Tag Details
Tag

Type

Mandatory

Description

Name

String

Yes

Name of the profile

Description

String

Yes

Description for the profile

DeviceModel

String

No

Device model to which the profile will be applied. Device
models can be obtained using the picklist mentioned
above

MinimumOperatingSystem

Numeric

No

Minimum operating system to which the profile will be
applied. operating system values can be obtained using
the picklist mentioned above

IsActive

Boolean

No

Specifies if the profile created is Active ("Boolean") or
Inactive("false")

ExpirationDate

Datetime

No

Expiration date of the profile

AssignmentType

String

No

Specifies the way a profile is assigned to the device.
Allowed values are "Auto" ,"Optional", "Interactive" and
"Compliance"

EnableProvisioning

Boolean

No

Specifies if the profile created will be used for
provisioning.

IsManaged

Boolean

No

Specifies if the profile created is managed by AirWatch

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

679

Chapter 10: Profile Management Version 1 and Version 2

Password

String

No

Password to be used when "AllowRemoval" tag is set to
"WithAuthorization"

AllowRemoval

String

No

Profile can be removed by the device user. The allowed
values are "Always", "Never" and "WithAuthorization"

ManagedLocationGroupID

Numeric

Yes

Numeric ID of the organization group where the profile
will be managed

OwnershipType

Numeric

No

Ownership type of the devices to which the profile will be
pushed.Ownership type values can be obtained using
the picklist mentioned above

AssignedLocationGroupID

Numeric

Yes

Numeric IDs of the organization groups to which the
profile will be pushed

SmartGroups Name

String

No

Name of the smart group to which the profile is to be
pushed

SmartGroupID

Numeric

Yes

Unique identification number of the smart group

UserGroups

Numeric

Yes

Unique identification number of the user groups where
there devices are grouped

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

680

Chapter 10: Profile Management Version 1 and Version 2

Version 2
Functionality – This payload is used with other payloads for all the platforms and is mandatory.
HTTP Method – POST
API URL – https://host/api/mdm/profiles/platforms/{platform}/payloads/{payload}/getpayloadkeys?contexttype=
{contexttype}
Important: The above URI would return the "General" payload entity along with the requested payload tags for the
desired platform

Request Payloads
XML



Numeric
String
String
String
Numeric
Boolean
String
String
Boolean
Boolean
Boolean
String
String


Numeric


Numeric




Numeric


Numeric


Numeric


VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

681

Chapter 10: Profile Management Version 1 and Version 2

Numeric
Numeric


Numeric
Numeric

String



VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

682

Chapter 10: Profile Management Version 1 and Version 2

JSON

{
"General" : {
"AllowRemoval" : "String",
"AssignedGeofenceArea" : [
Numeric
],
"AssignedSchedule" : [
Numeric
],
"AssignedSmartGroups" : [
{
"SmartGroupId" : Numeric
}
],
"AssignmentType" : "String",
"CreateNewVersion" : Boolean,
"Description" : "String",
"EnableProvisioning" : Boolean,
"ExcludedSmartGroups" : [
{
"Name" : "String",
"SmartGroupId" : Numeric
}
],
"ExpirationDate" : "String",
"IsActive" : Boolean,
"IsManaged" : Boolean,
"ManagedLocationGroupID" : Numeric,
"Name" : "String",
"Password" : "String",
"ProfileContext" : "String",
"ProfileId" : Numeric,
"ProfileScope" : "String"
}
}

Important: At least one payload needs to be provided along with the General payload.

Associated Picklists
Tag

Picklist API URI

DeviceModel

https://host/api/mdm/picklists/platforms/
{platform}/getdevicemodels

MinimumOperatingSystem

https://host/api/mdm/picklists/platforms/
{platform}/getoperatingsystems

OwnershipType

https://host/api/mdm/picklists/ownershiptypes

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

683

Chapter 10: Profile Management Version 1 and Version 2

Request Tag Details
Tag

Type

Mandatory

Description

Name

String

Yes

Name of the profile

Description

String

Yes

Description for the profile

IsActive

Boolean

No

Specifies if the profile created is Active ("true") or Inactive
("false")

ExpirationDate

Datetime

No

Expiration date of the profile

AssignmentType

String

No

Specifies the way a profile is assigned to the device.
Allowed values are "Auto" ,"Optional", "Interactive" and
"Compliance"

EnableProvisioning

Boolean

No

Specifies if the profile created will be used for
provisioning.

IsManaged

Boolean

No

Specifies if the profile created is managed by AirWatch

Password

String

No

Password to be used when "AllowRemoval" tag is set to
"WithAuthorization"

AllowRemoval

String

No

Profile can be removed by the device user. The allowed
values are "Always", "Never" and "WithAuthorization"

ManagedLocationGroupID

Numeric

Yes

Numeric ID of the organization group where the profile
will be managed

SmartGroupId

Numeric

Yes

Specifies the numeric ID of the Smart Group that will be
assigned to the Profile.

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

684

Chapter 10: Profile Management Version 1 and Version 2

Retrieve Payload Keys for Creating a Profile
Version 1
Functionality – Gets XML/JSON Payload keys to be used for creating a profile of the specified platform.
HTTP Method – GET
Deprecated Endpoint URI – https://host/api/mdm/profiles/platforms/{platform}/payloads/
{payload}/getpayloadkeys?contexttype={contexttype}
This URI will be deprecated soon. Start using the below Supported API URI.
Supported URI – https://host/api/mdm/profiles/platforms/platform/payloads/payload/getpayloadkeys
Request Body – NA

List of Payloads Currently Supported
Apple

Android

Passcode

Passcode

Restrictions

Restrictions

VPN

VPN

Wi-Fi

Wi-Fi

Email

Email

EAS

EAS

SCEP

Credentials

Credentials

CustomSettings

CustomSettings

Android for Work

TouchDown Credentials Android Container

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

685

Chapter 10: Profile Management Version 1 and Version 2

Version 2
Functionality – Gets XML/JSON Payload keys to be used for creating a profile of the specified platform.
HTTP Method – GET
API URI – https://host/api/mdm/profiles/platforms/{platform}/payloads/{payload}/getpayloadkeys?contexttype=
{contexttype}
Request Body – NA

List of Payloads Currently Supported
Apple

Android

AppleOsX

QNX

Passcode

Passcode

Passcode

CustomAttribute

Restrictions

Restrictions

Restrictions

VPN

VPN

VPN

Wi-Fi

Wi-Fi

Network

Email

Email

FlexPolicies

EAS

EAS

Email

SCEP

Credentials

EASNativeMailClient

Credentials

Custom Settings

EASMicrosoftOutlook

Custom Settings

Android for Work

Credentials

TouchDown Credentials Android Container SCEP

WindowsPC
AutomaticUpdates
Credentials
Encryption
Firewall
FlexPolicies
Passcode
Shortcut
VPN
Wi-Fi
EAS

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

686

Chapter 10: Profile Management Version 1 and Version 2

Update Apple Device Profile
Version 1
Functionality – Updates an Apple device profile identified by its numeric ID.
HTTP Method – POST
API URI – https://host/api/mdm/profiles/platforms/apple/update
Response Payload – NA
Important: Profile details can be modified by providing the numeric  tag under the General payload. Use
the Get Payload Keys API to retrieve the tags to be modified.

Request Payload
XML



XML Payload
















Note: To view the complete tags for each payload, refer their respective payload pages documented in this guide. The
payload tags for creating and updating Apple device profile are same.

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

687

Chapter 10: Profile Management Version 1 and Version 2

JSON

{
"General":
{
JSON Payload
},
"Passcode":{},
"EmailList":[{}],
"WifiList":[{}],
"CredentialsList":[{}],
"ScepList":[{}],
"Restrictions":{},
"VpnList":[{}],
"CustomsettingsList":[{}],
"EASNativeMailClientList":[{}],
"EASNitroDeskTouchDownList":[{}],
"EasAwMailClient":{},
"TouchDownCredentialList":[{}],
"AWMailCredentialList":[{}]
}

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

688

Chapter 10: Profile Management Version 1 and Version 2

Version 2
Functionality – Updates an Apple device profile identified by its numeric ID.
HTTP Method – POST
API URL – https://host/api/mdm/profiles/platforms/apple/update
Response Payload – NA
Important: Profile details can be modified by providing the numeric  tag under the General payload. Use
the Get Payload Keys API to retrieve the tags to be modified.

Request Payload
XML



XML Payload















Note: To view the complete tags for each payload, refer their respective payload pages documented in this guide.
JSON

{
"General":
{
"ProfileId":Numeric
},
"Passcode":{},

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

689

Chapter 10: Profile Management Version 1 and Version 2

"EmailList":[{}],
"WifiList":[{}],
"CredentialsList":[{}],
"ScepList":[{}],
"Restrictions":{},
"VpnList":[{}],
"EASNativeMailClientList":[{}],
"EASNitroDeskTouchDownList":[{}],
"EasAwMailClient":{},
"TouchDownCredentialList":[{}],
"AWMailCredentialList":[{}]
}

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

690

Chapter 10: Profile Management Version 1 and Version 2

Update Android Device Profile
Version 1
Functionality – Updates an Android device profile.
HTTP Method – POST
API URI – https://host/api/mdm/profiles/platforms/android/update
Response Payload – NA
Important: Profile details can be modified by providing the numeric  tag under the General payload. Use
the Get Payload Keys API to retrieve the tags to be modified.

Request Payload
XML



XML Payload













Note: To view the complete tags for each payload, refer their respective payload pages documented in this guide. The
payload tags for creating and updating Android device profile are same.
JSON

{
"General":{
JSON Payload

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

691

Chapter 10: Profile Management Version 1 and Version 2

},
"Passcode":{},
"WifiList":[{}],
"CredentialsList":[{}],
"EmailList":[{}],
"Restrictions":{},
"VpnList":[{}],
"ExchangeActiveSync":[{}],
"CustomSettings":[{}]
}
}

Note: To view the complete tags for each payload, refer their respective payload pages documented in this guide. The
payload tags for creating and updating Android device profile are same.

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

692

Chapter 10: Profile Management Version 1 and Version 2

Version 2
Functionality – Updates an Android device profile.
HTTP Method – POST
API URL – https://host/api/mdm/profiles/platforms/android/update
Response Payload – NA
Important: Profile details can be modified by providing the numeric  tag under the General payload. Use
the Get Payload Keys API to retrieve the tags to be modified.

Request Payload
XML



XML Payload













Note: To view the complete tags for each payload, refer their respective payload pages documented in this guide. The
payload tags for creating and updating Android device profile are same.
JSON

{
"General":{
JSON Payload
},
"Passcode":{},
"WifiList":[{}],
"CredentialsList":[{}],

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

693

Chapter 10: Profile Management Version 1 and Version 2

"EmailList":[{}],
"Restrictions":{},
"VpnList":[{}],
"ExchangeActiveSync":[{}]],
"CustomSettings":[{}}]]
}
}

Note: To view the complete tags for each payload, refer their respective payload pages documented in this guide. The
payload tags for creating and updating Android device profile are same.

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

694

Chapter 10: Profile Management Version 1 and Version 2

Create Apple Passcode Profile
Version 1
Functionality – Creates an Apple passcode profile and assigns it to the desired organization groups.
HTTP Method – POST
API URL – https://host/api/mdm/profiles/platforms/apple/create
Payload URI – https://host/api/mdm/profiles/platforms/apple/payloads/passcode/getpayloadkeys?contexttype=
{contexttype}

Request Payloads
XML



XML Payload

Boolean
Boolean
Boolean
Numeric
Numeric
Numeric
Numeric
Numeric
Numeric
Numeric



VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

695

Chapter 10: Profile Management Version 1 and Version 2

JSON

{
"Passcode":
{
"RequirePasscodeOnDevice": Boolean,
"AllowSimpleValue": Boolean,
"RequireAlphanumericValue": Boolean,
"MinimumPasscodeLength": Numeric,
"MinimumNumberOfComplexCharacters": Numeric,
"MaximumPasscodeAge": "Numeric",
"AutoLock": "Numeric",
"PasscodeHistory": "Numeric",
"GracePeriodForDeviceLock": Numeric,
"MaximumNumberOfFailedAttempts": "Numeric"
},
"General" : JSON Payload
}

Associated Picklists
Tag

Picklist API URI

Auto Lock

https://host/api/mdm/picklists/applepasscodeautolock

Passcode Grace Period

https://host/api/mdm/picklists/applepasscodegraceperiod

Request Tag Details
Tag

Type

Mandatory

Description

General

Tag

Yes

The JSON/XML General payload. Refer General
payload for details

RequirePasscodeOnDevice

Boolean

No

Determines whether the user is forced to set a
PIN. Simply setting this value (and not others)
forces the user to enter a passcode, without
imposing a length or quality

AllowSimpleValue

Boolean

No

Determines whether a simple passcode is
allowed. A simple passcode is defined as
containing repeated characters, or
increasing/decreasing characters (such as 123 or
CBA)

RequireAlphanumericValue

Boolean

No

Specifies whether the user must enter
alphanumeric characters ("12abcd"), or if
numbers are sufficient

MinimumPasscodeLength

Numeric

No

Minimum overall length of the passcode

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

696

Chapter 10: Profile Management Version 1 and Version 2

MinimumNumberOfComplexCharacters Numeric

No

Minimum number of complex characters that a
passcode must contain. A "complex" character is
a character other than a number or a letter, such
as &%$#

MaximumPasscodeAge

Numeric

No

Number of days for which the passcode can
remain unchanged. After this number of days,
the user is forced to change the passcode before
the device is unlocked

AutoLock

Numeric

No

Number of minutes for which the device can be
idle (without being unlocked by the user) before
it gets locked by the system. Once this limit is
reached, the device is locked and the passcode
must be entered

PasscodeHistory

Numeric

No

When the user changes the passcode, it has to
be unique within the last N entries in the history.
Minimum value is 1, maximum value is 50

GracePeriodForDeviceLock

Numeric

No

Maximum grace period, in minutes, to unlock
the phone without entering a passcode. Default
is 0, that is no grace period, which requires a
passcode immediately

MaximumNumberOfFailedAttempts

Numeric

No

Allowed range [1...10]. Specifies the number of
allowed failed attempts to enter the passcode at
the device's lock screen. Once this number is
exceeded, the device is locked and must be
connected to its designated iTunes in order to be
unlocked

Response Payload
XML


Numeric

JSON

{
"Value": Numeric
}

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

697

Chapter 10: Profile Management Version 1 and Version 2

Response Tag Details
Tag

Data type

Description

Long/Value

Numeric

Unique ID of the newly created profile

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

698

Chapter 10: Profile Management Version 1 and Version 2

Version 2
Functionality – Creates an Apple passcode profile and assigns it to the desired organization groups.
HTTP Method – POST
API URL – https://host/api/mdm/profiles/platforms/apple/create
Payload URI – https://host/api/mdm/profiles/platforms/apple/payloads/passcode/getpayloadkeys?contexttype=
{contexttype}

Request Payloads
XML



XML Payload

Boolean
Boolean
Boolean
Integer
Integer
Integer
Integer
Integer
Integer
Integer



JSON

{
"Passcode":
{
"RequirePasscodeOnDevice": Boolean,
"AllowSimpleValue": Boolean,
"RequireAlphanumericValue": Boolean,
"MinimumPasscodeLength": Integer,
"MinimumNumberOfComplexCharacters": Integer,
"MaximumPasscodeAge": "Integer",
"AutoLock": "Integer",

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

699

Chapter 10: Profile Management Version 1 and Version 2

"PasscodeHistory": "Integer",
"GracePeriodForDeviceLock": Integer,
"MaximumNumberOfFailedAttempts": "Integer"
},
"General" : JSON Payload
}

Associated Picklists
Tag

Picklist API URI

Auto Lock

https://host/api/mdm/picklists/applepasscodeautolock

Passcode Grace Period

https://host/api/mdm/picklists/applepasscodegraceperiod

Request Tag Details
Tag

Type

Mandatory

Description

General

Tag

Yes

The JSON/XML General payload. Refer General
payload for details

RequirePasscodeOnDevice

Boolean

No

Determines whether the user is forced to set a
PIN. Simply setting this value (and not others)
forces the user to enter a passcode, without
imposing a length or quality

AllowSimpleValue

Boolean

No

Determines whether a simple passcode is
allowed. A simple passcode is defined as
containing repeated characters, or
increasing/decreasing characters (such as 123 or
CBA)

RequireAlphanumericValue

Boolean

No

Specifies whether the user must enter
alphanumeric characters ("12abcd"), or if
numbers are sufficient

MinimumPasscodeLength

Numeric

No

Minimum overall length of the passcode

MinimumNumberOfComplexCharacters Numeric

No

Minimum number of complex characters that a
passcode must contain. A "complex" character is
a character other than a number or a letter, such
as &%$#

MaximumPasscodeAge

No

Number of days for which the passcode can
remain unchanged. After this number of days,
the user is forced to change the passcode before
the device is unlocked

Numeric

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

700

Chapter 10: Profile Management Version 1 and Version 2

AutoLock

Numeric

No

Number of minutes for which the device can be
idle (without being unlocked by the user) before
it gets locked by the system. Once this limit is
reached, the device is locked and the passcode
must be entered

PasscodeHistory

Numeric

No

When the user changes the passcode, it has to
be unique within the last N entries in the history.
Minimum value is 1, maximum value is 50

GracePeriodForDeviceLock

Numeric

No

Maximum grace period, in minutes, to unlock
the phone without entering a passcode. Default
is 0, that is no grace period, which requires a
passcode immediately

MaximumNumberOfFailedAttempts

Numeric

No

Allowed range [1...10]. Specifies the number of
allowed failed attempts to enter the passcode at
the device's lock screen. Once this number is
exceeded, the device is locked and must be
connected to its designated iTunes in order to be
unlocked

Response Payload
XML


Numeric

JSON

{
"Value": Numeric
}

Response Tag Details
Tag

Data type

Description

Long/Value

Numeric

Unique ID of the newly created profile

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

701

Chapter 10: Profile Management Version 1 and Version 2

Create Apple Restrictions Profile
Version 1
Functionality – Creates an Apple restrictions profile and assigns it to the desired organization groups.
HTTP Method – POST
API URL – https://host/api/mdm/profiles/platforms/apple/create
Payload URI – https://host/api/mdm/profiles/platforms/apple/payloads/restrictions/getpayloadkeys?contexttype=
{contexttype}

Request Payloads
XML



XML Payload

Boolean
Boolean
Boolean
Boolean
Boolean
Boolean
Boolean
Boolean
Boolean
Boolean
Boolean
Boolean
Boolean
Boolean
Numeric
Numeric
String
Numeric
Numeric
Boolean
Boolean
Boolean
Boolean
Boolean

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

702

Chapter 10: Profile Management Version 1 and Version 2

Boolean
Boolean
Boolean
Boolean

Boolean
Boolean
Boolean
Boolean
Boolean

Boolean
Boolean
Boolean
Boolean
Boolean
Boolean
Boolean
Boolean
AllowAllBook
Boolean
Boolean
Boolean

Boolean

Boolean
Boolean
Boolean
Boolean
Boolean
Boolean
Boolean

Boolean

Boolean
Boolean

Boolean



VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

703

Chapter 10: Profile Management Version 1 and Version 2

JSON

{
"Restrictions":
{
"AllowInstallingPublicApps": Boolean,
"AllowAppRemoval": Boolean,
"AllowUseOfCamera": Boolean,
"AllowExplicitMusicAndPodcasts": Boolean,
"AllowAutomaticSyncWhileRoaming": Boolean,
"AllowInAppPurchase": Boolean,
"AllowUseOfSafari": Boolean,
"AllowScreenCapture": Boolean,
"AllowFingerPrintForUnlock": Boolean,
"AllowFaceTime": Boolean,
"AllowVoiceDialing": Boolean,
"AllowUseOfYouTube": Boolean,
"AllowUseOfiTunesMusicStore": Boolean,
"ForceEncryptedBackups": Boolean,
"RatingApps": Numeric,
"RatingMovies": Numeric,
"RatingsRegion": "String",
"RatingTVShows": Numeric,
"AcceptCookies": Numeric,
"EnableAutofill": Boolean,
"EnableJavaScript": Boolean,
"BlockPopUps": Boolean,
"ForceFraudWarning": Boolean,
"EnablePlugins": Boolean,
"AllowAddingGameCenterFriends": Boolean,
"AllowMultiplayerGaming": Boolean,
"ForceiTunesStorePasswordEntry": Boolean,
"AllowUserToAcceptUntrustedTlsCertificates": Boolean,
"AllowBackup": Boolean,
"AllowDocumentSync": Boolean,
"AllowAppSettingsSync": Boolean,
"AllowPhotoStream": Boolean,
"AllowDiagnosticDataToBeSentToApple": Boolean,
"AllowSiri": Boolean,
"AllowSiriWhileDeviceLocked": Boolean,
"EnableSiriProfanityFilter": Boolean,
"ShowUserGeneratedContentInSiri": Boolean,
"AllowUseOfImessage": Boolean,
"AllowPassbookWhileDeviceLocked": Boolean,
"AllowGameCenter": Boolean,
"AllowUseOfIbookstore": Boolean,
"IbooksNotFound": "String",
"AllowSharedPhotoStream": Boolean,
"AllowManualProfileInstallation": Boolean,
"AllowOpeningManagedAppDocumentsInUnmanagedApps": Boolean,
"AllowOpeningUnManagedAppDocumentsInManagedApps": Boolean,
"LimitAdTracking": Boolean,

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

704

Chapter 10: Profile Management Version 1 and Version 2

"AllowAccountModification": Boolean,
"AllowAirDrop": Boolean,
"AllowChangesToFindMyFriends": Boolean,
"AllowKeychainSync": Boolean,
"AllowOverTheAirPKIUpdates": Boolean,
"AllowPairingWithNonConfiguratorHosts": Boolean,
"AllowChangesToCellularDataUsageForApps": Boolean,
"ShowControlCenterOnLockScreen": Boolean,
"ShowNotificationsViewOnLockScreen": Boolean,
"ShowTodayViewOnLockScreen": Boolean
},
,
"General" : JSON Payload
}

Associated Picklists
Tag

Picklist API URI

RatingApps

https://host/api/mdm/picklists/appleratingapps

RatingMovies

https://host/api/mdm/picklists/appleratingmovies

RatingsRegion

https://host/api/mdm/picklists/appleratingregion

RatingTVShows

https://host/api/mdm/picklists/appleratingtvshows

AcceptCookies

https://host/api/mdm/picklists/applesafariacceptcookies

Request Tag Details
Tag

Type

Mandatory

Description

General

Tag

Yes

The JSON/XML General payload.
Refer General payload for details

AllowInstallingPublicApps

Boolean

No

When false, the App Store is
disabled and its icon is removed
from the Home screen. Users
are unable to install or update
their applications

AllowAppRemoval

Boolean

No

When false, disables removal of
apps from iOS device

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

705

Chapter 10: Profile Management Version 1 and Version 2

AllowExplicitMusicAndPodcasts

Boolean

No

When false, explicit music or
video content purchased from
the iTunes Store is hidden.
Explicit content is marked as
such by content providers, such
as record labels, when sold
through the iTunes Store

AllowUseOfCamera

Boolean

No

When false, the camera is
completely disabled and its icon
is removed from the Home
screen. Users are unable to take
photographs

AllowAutomaticSyncWhileRoaming

Boolean

No

When false, disables global
background sync activity when
an iOS phone is roaming

AllowInAppPurchase

Boolean

No

Optional. When false, prohibits
in-app purchasing

AllowUseOfSafari

Boolean

No

When false, the Safari web
browser application is disabled
and its icon removed from the
Home screen. This also prevents
users from opening web clips

AllowScreenCapture

Boolean

No

When false, users are unable to
save a screenshot of the display

AllowFingerPrintForUnlock

Boolean

No

If false, prevents Touch ID from
unlocking a device. Available in
iOS 7 and later

AllowFaceTime

Boolean

No

When false, disables facetime
application

AllowVoiceDialing

Boolean

No

When false, disables voice
dialing

AllowUseOfYouTube

Boolean

No

When false, the YouTube
application is disabled and its
icon is removed from the Home
screen. This key is ignored in iOS
6 and later because the
YouTube app is not provided.

AllowUseOfiTunesMusicStore

Boolean

No

When false, the iTunes Music
Store is disabled and its icon is
removed from the Home
screen. Users cannot preview,
purchase, or download content

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

706

Chapter 10: Profile Management Version 1 and Version 2

ForceEncryptedBackups

Boolean

No

When true, encrypts all backups

RatingApps

Numeric

No

Specifies the Rating value of the
apps to be allowed on the
device. See associated picklists
above to retrieve the keys to be
passed to this field

RatingMovies

Numeric

No

Specifies the Rating value of the
movies to be allowed on the
device. See associated picklists
above to retrieve the keys to be
passed to this field

RatingsRegion

Numeric

No

Allows the user to select the
country where the ratings
settings will be applied for TV,
movies, and apps. See
associated picklists above to
retrieve the keys to be passed
to this field

RatingTVShows

Numeric

No

Specifies the Rating value of the
TV shows to be allowed on the
device. See associated picklists
above to retrieve the keys to be
passed to this field

AcceptCookies

String

No

Determines conditions under
which the device will accept
cookies. Following are the
allowed values: 0:Never ,1: From
visited sites only 2: Always.

EnableAutofill

Boolean

No

When false, Safari auto-fill is
disabled

EnableJavaScript

Boolean

No

When false, Safari will not
execute JavaScript

BlockPopUps

Boolean

No

When false, Safari will not allow
pop-up tabs

ForceFraudWarning

Boolean

No

When true, Safari fraud warning
is enabled

EnablePlugins

Boolean

No

When true allows Safari plug ins

AllowAddingGameCenterFriends

Boolean

No

When false, prohibits adding
friends to Game Center

AllowMultiplayerGaming

Boolean

No

When false, prohibits multi
player gaming

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

707

Chapter 10: Profile Management Version 1 and Version 2

ForceiTunesStorePasswordEntry

Boolean

No

When true, forces user to enter
their iTunes password for each
transaction. Available in iOS 5.0
and later

AllowUserToAcceptUntrustedTlsCertificates

Boolean

No

When false, automatically
rejects untrusted HTTPS
certificates without prompting
the user.Available in iOS 5.0 and
later

AllowBackup

Boolean

No

When false, disables backing up
the device to iCloud. Available in
iOS 5.0 and later

AllowDocumentSync

Boolean

No

When false, disables document
and key-value syncing to iCloud.
Available in iOS 5.0 and later

AllowAppSettingsSync

Boolean

No

If false, disables Cloud keychain
synchronization. Available only
in iOS 7.0 and later

AllowPhotoStream

Boolean

No

When false, disables Photo
Stream. Available in iOS 5.0 and
later

AllowDiagnosticDataToBeSentToApple

Boolean

No

When false, this prevents the
device from automatically
submitting diagnostic reports to
Apple. Available only in iOS 6.0
and later

AllowSiri

Boolean

No

When false, disables Siri

AllowSiriWhileDeviceLocked

Boolean

No

When false, the user is unable
to use Siri when the device is
locked. This restriction is
ignored if the device does not
have a passcode set. Available
only in iOS 5.1 and later

EnableSiriProfanityFilter

Boolean

No

When true, forces the use of the
profanity filter assistant

ShowUserGeneratedContentInSiri

Boolean

No

Supervised only. When false,
prevents Siri from querying
user-generated content from
the web. Available in iOS 7 and
later

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

708

Chapter 10: Profile Management Version 1 and Version 2

AllowUseOfImessage

Boolean

No

When false, disables the use of
the Messages app with
supervised devices. Available in
iOS 6.0 and later

AllowPassbookWhileDeviceLocked

Boolean

No

If set to false, Passbook
notifications will not be shown
on the lock screen. Available in
iOS 6.0 and later

AllowGameCenter

Boolean

No

Supervised only. When false,
Game Center is disabled and its
icon is removed from the Home
screen. Default is true.
Availability: Available only in iOS
6.0 and later

AllowUseOfIbookstore

Boolean

No

Supervised only. If set to false,
iBook store will be disabled.
Available in iOS 6.0 and later.

IbooksNotFound

String

No

Specifies if the user is allowed to
use iBooks on the device

AllowSharedPhotoStream

Boolean

No

If set to false, Shared Photo
Stream will be disabled.
Available in iOS 6.0 and later

AllowManualProfileInstallation

Boolean

No

Supervised only. If set to false,
the user is prohibited from
installing configuration profiles
and certificates interactively.
Available in iOS 6.0 and later

AllowOpeningManagedAppDocumentsInUnmanagedApps Boolean

No

If false, documents in managed
apps and accounts only open in
other managed apps and
accounts. Available only in iOS
7.0 and later

AllowOpeningUnManagedAppDocumentsInManagedApps Boolean

No

If set to false, documents in
unmanaged apps and accounts
will only open in other
unmanaged apps and accounts.
Available only in iOS 7.0 and
later

LimitAdTracking

No

If true, limits ad tracking.
Available only in iOS 7.0 and
later

Boolean

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

709

Chapter 10: Profile Management Version 1 and Version 2

AllowAccountModification

Boolean

No

Supervised only. If set to false,
account modification is
disabled. Available only in iOS
7.0 and later

AllowAirDrop

Boolean

No

Supervised only. If set to false,
AirDrop is disabled. Available
only in iOS 7.0 and later

AllowChangesToFindMyFriends

Boolean

No

Supervised only. If set to false,
changes to Find My Friends are
disabled. Available only in iOS
7.0 and later

AllowKeychainSync

Boolean

No

If false, disables Cloud keychain
synchronization. Available only
in iOS 7.0 and later

AllowOverTheAirPKIUpdates

Boolean

No

If false, over-the-air PKI updates
are disabled. Setting this
restriction to false does not
disable CRL and OCSP checks.
Available only in iOS 7.0 and
later

AllowPairingWithNonConfiguratorHosts

Boolean

No

If set to false, host pairing is
disabled with the exception of
the supervision host. If no
supervision host certificate has
been configured, all pairing is
disabled. Host pairing lets the
administrator control which
devices an iOS 7 device can pair
with. Available only in iOS 7.0
and later

AllowChangesToCellularDataUsageForApps

Boolean

No

Supervised only. If set to false,
changes to cellular data usage
for apps are disabled. Available
only in iOS 7.0 and later

ShowControlCenterOnLockScreen

Boolean

No

If set to false, the Notifications
view in Notification Center on
the lock screen is disabled.
Available only in iOS 7.0 and
later

ShowNotificationsViewOnLockScreen

Boolean

No

If set to false, the Notifications
view in Notification Center on
the lock screen is disabled.
Available only in iOS 7.0 and
later
VMware AirWatch REST API Guide | v.2016.04 | April 2017

Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

710

Chapter 10: Profile Management Version 1 and Version 2

ShowTodayViewOnLockScreen

Boolean

No

If set to false, the Today view in
Notification Center on the lock
screen is disabled. Available only
in iOS 7.0 and later

Response Payload
XML


Numeric

JSON

{
"Value": Numerics
}

Response Tag Details
Tag

Data type

Description

Long /Value

Numeric

Unique ID of the newly created profile

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

711

Chapter 10: Profile Management Version 1 and Version 2

Version 2
Functionality – Creates an Apple restrictions profile and assigns it to the desired organization groups.
HTTP Method – POST
API URL – https://host/api/mdm/profiles/platforms/apple/create
Payload URI – https://host/api/mdm/profiles/platforms/apple/payloads/restrictions/getpayloadkeys?contexttype=
{contexttype}

Request Payloads
XML



XML Payload

Boolean
Boolean
Boolean
Boolean
Boolean
Boolean
Boolean
Boolean
Boolean
Boolean
Boolean
Boolean
Boolean
Boolean
Numeric
Numeric
String
Numeric
Numeric
Boolean
Boolean
Boolean
Boolean
Boolean
Boolean
Boolean
Boolean

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

712

Chapter 10: Profile Management Version 1 and Version 2

Boolean

Boolean
Boolean
Boolean
Boolean
Boolean

Boolean
Boolean
Boolean
Boolean
Boolean
Boolean
Boolean
Boolean
AllowAllBook
Boolean
Boolean
Boolean

Boolean

Boolean
Boolean
Boolean
Boolean
Boolean
Boolean
Boolean

Boolean

Boolean
Boolean

Boolean



JSON

{
"Restrictions":

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

713

Chapter 10: Profile Management Version 1 and Version 2

{
"AllowInstallingPublicApps": Boolean,
"AllowAppRemoval": Boolean,
"AllowUseOfCamera": Boolean,
"AllowExplicitMusicAndPodcasts": Boolean,
"AllowAutomaticSyncWhileRoaming": Boolean,
"AllowInAppPurchase": Boolean,
"AllowUseOfSafari": Boolean,
"AllowScreenCapture": Boolean,
"AllowFingerPrintForUnlock": Boolean,
"AllowFaceTime": Boolean,
"AllowVoiceDialing": Boolean,
"AllowUseOfYouTube": Boolean,
"AllowUseOfiTunesMusicStore": Boolean,
"ForceEncryptedBackups": Boolean,
"RatingApps": Numeric,
"RatingMovies": Numeric,
"RatingsRegion": "String",
"RatingTVShows": Numeric,
"AcceptCookies": Numeric,
"EnableAutofill": Boolean,
"EnableJavaScript": Boolean,
"BlockPopUps": Boolean,
"ForceFraudWarning": Boolean,
"EnablePlugins": Boolean,
"AllowAddingGameCenterFriends": Boolean,
"AllowMultiplayerGaming": Boolean,
"ForceiTunesStorePasswordEntry": Boolean,
"AllowUserToAcceptUntrustedTlsCertificates": Boolean,
"AllowBackup": Boolean,
"AllowDocumentSync": Boolean,
"AllowAppSettingsSync": Boolean,
"AllowPhotoStream": Boolean,
"AllowDiagnosticDataToBeSentToApple": Boolean,
"AllowSiri": Boolean,
"AllowSiriWhileDeviceLocked": Boolean,
"EnableSiriProfanityFilter": Boolean,
"ShowUserGeneratedContentInSiri": Boolean,
"AllowUseOfImessage": Boolean,
"AllowPassbookWhileDeviceLocked": Boolean,
"AllowGameCenter": Boolean,
"AllowUseOfIbookstore": Boolean,
"IbooksNotFound": "String",
"AllowSharedPhotoStream": Boolean,
"AllowManualProfileInstallation": Boolean,
"AllowOpeningManagedAppDocumentsInUnmanagedApps": Boolean,
"AllowOpeningUnManagedAppDocumentsInManagedApps": Boolean,
"LimitAdTracking": Boolean,
"AllowAccountModification": Boolean,
"AllowAirDrop": Boolean,
"AllowChangesToFindMyFriends": Boolean,

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

714

Chapter 10: Profile Management Version 1 and Version 2

"AllowKeychainSync": Boolean,
"AllowOverTheAirPKIUpdates": Boolean,
"AllowPairingWithNonConfiguratorHosts": Boolean,
"AllowChangesToCellularDataUsageForApps": Boolean,
"ShowControlCenterOnLockScreen": Boolean,
"ShowNotificationsViewOnLockScreen": Boolean,
"ShowTodayViewOnLockScreen": Boolean
},
,
"General" : JSON Payload
}

Associated Picklists
Tag

Picklist API URI

RatingApps

https://host/api/mdm/picklists/appleratingapps

RatingMovies

https://host/api/mdm/picklists/appleratingmovies

RatingsRegion

https://host/api/mdm/picklists/appleratingregion

RatingTVShows

https://host/api/mdm/picklists/appleratingtvshows

AcceptCookies

https://host/api/mdm/picklists/applesafariacceptcookies

Request Tag Details
Tag

Type

Mandatory

Description

General

Tag

Yes

The JSON/XML General payload.
Refer General payload for details

AllowInstallingPublicApps

Boolean

No

When false, the App Store is
disabled and its icon is removed
from the Home screen. Users
are unable to install or update
their applications

AllowAppRemoval

Boolean

No

When false, disables removal of
apps from iOS device

AllowExplicitMusicAndPodcasts

Boolean

No

When false, explicit music or
video content purchased from
the iTunes Store is hidden.
Explicit content is marked as
such by content providers, such
as record labels, when sold
through the iTunes Store

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

715

Chapter 10: Profile Management Version 1 and Version 2

AllowUseOfCamera

Boolean

No

When false, the camera is
completely disabled and its icon
is removed from the Home
screen. Users are unable to take
photographs

AllowAutomaticSyncWhileRoaming

Boolean

No

When false, disables global
background sync activity when
an iOS phone is roaming

AllowInAppPurchase

Boolean

No

Optional. When false, prohibits
in-app purchasing

AllowUseOfSafari

Boolean

No

When false, the Safari web
browser application is disabled
and its icon removed from the
Home screen. This also prevents
users from opening web clips

AllowScreenCapture

Boolean

No

When false, users are unable to
save a screenshot of the display

AllowFingerPrintForUnlock

Boolean

No

If false, prevents Touch ID from
unlocking a device. Available in
iOS 7 and later

AllowFaceTime

Boolean

No

When false, disables facetime
application

AllowVoiceDialing

Boolean

No

When false, disables voice
dialing

AllowUseOfYouTube

Boolean

No

When false, the YouTube
application is disabled and its
icon is removed from the Home
screen. This key is ignored in iOS
6 and later because the
YouTube app is not provided.

AllowUseOfiTunesMusicStore

Boolean

No

When false, the iTunes Music
Store is disabled and its icon is
removed from the Home
screen. Users cannot preview,
purchase, or download content

ForceEncryptedBackups

Boolean

No

When true, encrypts all backups

RatingApps

Numeric

No

Specifies the Rating value of the
apps to be allowed on the
device. See associated picklists
above to retrieve the keys to be
passed to this field

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

716

Chapter 10: Profile Management Version 1 and Version 2

RatingMovies

Numeric

No

Specifies the Rating value of the
movies to be allowed on the
device. See associated picklists
above to retrieve the keys to be
passed to this field

RatingsRegion

Numeric

No

Allows the user to select the
country where the ratings
settings will be applied for TV,
movies, and apps. See
associated picklists above to
retrieve the keys to be passed
to this field

RatingTVShows

Numeric

No

Specifies the Rating value of the
TV shows to be allowed on the
device. See associated picklists
above to retrieve the keys to be
passed to this field

AcceptCookies

String

No

Determines conditions under
which the device will accept
cookies. Following are the
allowed values: 0:Never ,1: From
visited sites only 2: Always.

EnableAutofill

Boolean

No

When false, Safari auto-fill is
disabled

EnableJavaScript

Boolean

No

When false, Safari will not
execute JavaScript

BlockPopUps

Boolean

No

When false, Safari will not allow
pop-up tabs

ForceFraudWarning

Boolean

No

When true, Safari fraud warning
is enabled

EnablePlugins

Boolean

No

When true allows Safari plug ins

AllowAddingGameCenterFriends

Boolean

No

When false, prohibits adding
friends to Game Center

AllowMultiplayerGaming

Boolean

No

When false, prohibits multi
player gaming

ForceiTunesStorePasswordEntry

Boolean

No

When true, forces user to enter
their iTunes password for each
transaction. Available in iOS 5.0
and later

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

717

Chapter 10: Profile Management Version 1 and Version 2

AllowUserToAcceptUntrustedTlsCertificates

Boolean

No

When false, automatically
rejects untrusted HTTPS
certificates without prompting
the user.Available in iOS 5.0 and
later

AllowBackup

Boolean

No

When false, disables backing up
the device to iCloud. Available in
iOS 5.0 and later

AllowDocumentSync

Boolean

No

When false, disables document
and key-value syncing to iCloud.
Available in iOS 5.0 and later

AllowAppSettingsSync

Boolean

No

If false, disables Cloud keychain
synchronization. Available only
in iOS 7.0 and later

AllowPhotoStream

Boolean

No

When false, disables Photo
Stream. Available in iOS 5.0 and
later

AllowDiagnosticDataToBeSentToApple

Boolean

No

When false, this prevents the
device from automatically
submitting diagnostic reports to
Apple. Available only in iOS 6.0
and later

AllowSiri

Boolean

No

When false, disables Siri

AllowSiriWhileDeviceLocked

Boolean

No

When false, the user is unable
to use Siri when the device is
locked. This restriction is
ignored if the device does not
have a passcode set. Available
only in iOS 5.1 and later

EnableSiriProfanityFilter

Boolean

No

When true, forces the use of the
profanity filter assistant

ShowUserGeneratedContentInSiri

Boolean

No

Supervised only. When false,
prevents Siri from querying
user-generated content from
the web. Available in iOS 7 and
later

AllowUseOfImessage

Boolean

No

When false, disables the use of
the Messages app with
supervised devices. Available in
iOS 6.0 and later

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

718

Chapter 10: Profile Management Version 1 and Version 2

AllowPassbookWhileDeviceLocked

Boolean

No

If set to false, Passbook
notifications will not be shown
on the lock screen. Available in
iOS 6.0 and later

AllowGameCenter

Boolean

No

Supervised only. When false,
Game Center is disabled and its
icon is removed from the Home
screen. Default is true.
Availability: Available only in iOS
6.0 and later

AllowUseOfIbookstore

Boolean

No

Supervised only. If set to false,
iBook store will be disabled.
Available in iOS 6.0 and later.

IbooksNotFound

String

No

Specifies if the user is allowed to
use iBooks on the device

AllowSharedPhotoStream

Boolean

No

If set to false, Shared Photo
Stream will be disabled.
Available in iOS 6.0 and later

AllowManualProfileInstallation

Boolean

No

Supervised only. If set to false,
the user is prohibited from
installing configuration profiles
and certificates interactively.
Available in iOS 6.0 and later

AllowOpeningManagedAppDocumentsInUnmanagedApps Boolean

No

If false, documents in managed
apps and accounts only open in
other managed apps and
accounts. Available only in iOS
7.0 and later

AllowOpeningUnManagedAppDocumentsInManagedApps Boolean

No

If set to false, documents in
unmanaged apps and accounts
will only open in other
unmanaged apps and accounts.
Available only in iOS 7.0 and
later

LimitAdTracking

Boolean

No

If true, limits ad tracking.
Available only in iOS 7.0 and
later

AllowAccountModification

Boolean

No

Supervised only. If set to false,
account modification is
disabled. Available only in iOS
7.0 and later

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

719

Chapter 10: Profile Management Version 1 and Version 2

AllowAirDrop

Boolean

No

Supervised only. If set to false,
AirDrop is disabled. Available
only in iOS 7.0 and later

AllowChangesToFindMyFriends

Boolean

No

Supervised only. If set to false,
changes to Find My Friends are
disabled. Available only in iOS
7.0 and later

AllowKeychainSync

Boolean

No

If false, disables Cloud keychain
synchronization. Available only
in iOS 7.0 and later

AllowOverTheAirPKIUpdates

Boolean

No

If false, over-the-air PKI updates
are disabled. Setting this
restriction to false does not
disable CRL and OCSP checks.
Available only in iOS 7.0 and
later

AllowPairingWithNonConfiguratorHosts

Boolean

No

If set to false, host pairing is
disabled with the exception of
the supervision host. If no
supervision host certificate has
been configured, all pairing is
disabled. Host pairing lets the
administrator control which
devices an iOS 7 device can pair
with. Available only in iOS 7.0
and later

AllowChangesToCellularDataUsageForApps

Boolean

No

Supervised only. If set to false,
changes to cellular data usage
for apps are disabled. Available
only in iOS 7.0 and later

ShowControlCenterOnLockScreen

Boolean

No

If set to false, the Notifications
view in Notification Center on
the lock screen is disabled.
Available only in iOS 7.0 and
later

ShowNotificationsViewOnLockScreen

Boolean

No

If set to false, the Notifications
view in Notification Center on
the lock screen is disabled.
Available only in iOS 7.0 and
later

ShowTodayViewOnLockScreen

Boolean

No

If set to false, the Today view in
Notification Center on the lock
screen is disabled. Available only
in iOS 7.0 and later
VMware AirWatch REST API Guide | v.2016.04 | April 2017

Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

720

Chapter 10: Profile Management Version 1 and Version 2

Response Payload
XML


Numeric

JSON

{
"Value": Numeric
}

Response Tag Details
Tag

Data type

Description

Long /Value

Numeric

Unique ID of the newly created profile

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

721

Chapter 10: Profile Management Version 1 and Version 2

Create Apple Wi-Fi Profile
Version 1
Functionality – Creates an Apple Wi-fi profile and assigns it to the desired organization groups.
HTTP Method – POST
API URI – https://host/api/mdm/profiles/platforms/apple/create
Payload URI – https://host/api/mdm/profiles/platforms/apple/payloads/wifi/getpayloadkeys?contexttype=
{contexttype}

Request Payloads
XML



XML Payload


String
Boolean
Numeric
String
Boolean
Boolean
Boolean
Boolean
Boolean
Boolean
Boolean
Boolean
Boolean
Boolean
String
Boolean
String
String

String


String

String

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

722

Chapter 10: Profile Management Version 1 and Version 2

String
Boolean
String
String
0
String
String
String
false
false
String
String
false

String


String

String




JSON

{
"WifiList":
[
{
"ServiceSetIdentifier": "String",
"HiddenNetwork": Boolean,
"SecurityType": Numeric,
"Password": "String",
"TLS": Boolean,
"TTLS": Boolean,
"LEAP": Boolean,
"PEAP": Boolean,
"EAPFAST": Boolean,
"EAPSIM": Boolean,
"ProvisionPAC": Boolean,
"ProvisionPACAnonymously": Boolean,
"UsePAC": Boolean,
"AllowTrustExceptions": Boolean,
"InnerIdentity": "String",
"UserPerConnectionPassword": Boolean,
"UserName": "String",
"UserPassword": "String",

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

723

Chapter 10: Profile Management Version 1 and Version 2

"TrustedServerCertificateNames": ["String"],
"TrustedCertificates": ["String"],
"OuterIdentity": "String",
"IdentityCertificate": "String",
"AutoJoin": Boolean,
"ProxyType": "String",
"ProxyServer": "String",
"ProxyServerPort": Numeric,
"ProxyUsername": "String",
"ProxyPassword": "String",
"ProxyUrl": "String",
"Protocol": Boolean,
"WiFiHotspot": Boolean,
"DomainName": "String",
"DisplayedOperatorName": "String",
"ServiceProviderRoamingEnabled": Boolean,
"RoamingConsortiumOrganizationID": ["String"],
"NetworkAccessId": ["String"],
"MccMnc": ["String"]
}
],
"General" : JSON Payload
}

Associated Picklists
Tag

Picklist API URI

SecurityType

https://host/api/mdm/picklists/applewifisecuritytype

InnerIdentity

https://host/api/mdm/picklists/applewifiinneridentity

ProxyType

https://host/api/mdm/picklists/applewifiproxytype

Request Tag Details
Tag

Type

Mandatory

Description

General

Tag

Yes

The JSON/XML General payload. Refer General
payload for details

ServiceSetIdentifier

String

No

SSID of the Wi-Fi network to be used

HiddenNetwork

Boolean

No

By default (false), it is assumed that all
configured networks are open or broadcast.
To specify a hidden network, must be true

SecurityType

Numeric/String No

The security type of the Wi-Fi Network. The
allowed values for this tag can be obtained
from the SecurityType Picklist

Password

Numeric

Password for the Wi-Fi network

No

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

724

Chapter 10: Profile Management Version 1 and Version 2

TLS

Boolean

No

Specifies if TLS Protocol is used for
Authentication for the Wi-Fi network

TTLS

Boolean

No

Specifies if TTLS Protocol is used for
Authentication for the Wi-Fi network

InnerIdentity

String

Yes (for
TTLS=true)

Authentication protocol used for TTLS

LEAP

Boolean

No

Specifies if LEAP Protocol is used for
Authentication for the Wi-Fi network

PEAP

Boolean

No

Specifies if PEAP Protocol is used for
Authentication for the Wi-Fi network

EAPFAST

Boolean

No

Specifies if EAPFAST Protocol is used for
Authentication for the Wi-Fi network

EAPSIM

Boolean

No

Specifies if EAPSIM Protocol is used for
Authentication for the Wi-Fi network

UsePAC

Boolean

No

Specifies if the Protected Access Credentials
need to be used

ProvisionPAC

Boolean

No

Specifies if the Protected Access Credentials
need to be provisioned to the devices

ProvisionPACAnonymously

Boolean

No

Specifies if the Protected Access Credentials
need to be provisioned anonymously

AllowTrustExceptions

Boolean

No

Specifies if Trust decisions can be made by the
user

UserName

String

No

Username used for Authentication. Allows
lookup values

UserPerConnectionPassword

Boolean

No

Specifies if the password needs to provided
during connection

UserPassword

String

TrustedServerCertificateNames

String

No

Array of strings. Specifies the name of the
trusted server certificates

TrustedCertificates

String

No

Array of strings. Specifies the Certificates
assigned. Certificates can be added using the
credentials payload

OuterIdentity

String

No

Externally Visible Identification (For TTLS,
PEAP, And EAP-FAST)

IdentityCertificate

String

No

Certificate to be used for User Identification.
Certificates can be added using the credentials
payload

Password for the Authenticated Account

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

725

Chapter 10: Profile Management Version 1 and Version 2

AutoJoin

Boolean

No

If true, the network is auto-joined. If false, the
user has to tap the network name to join it.
Available in iOS 5.0 and later

ProxyType

String

No

Type of proxy if any on the Wireless network.
Defaults to None

ProxyServer

String

Yes (for
Hostname or the IP address of the Proxy
Proxy=Manual) Server

ProxyServerPort

Numeric

Yes (for
Port number of the Proxy server
Proxy=Manual)

ProxyUsername

String

No

Username of the HTTP Proxy

ProxyPassword

String

No

Specifies the password of the HTTP proxy

ProxyUrl

String

No

Specifies the Proxy URL for Auto Proxy type

WiFiHotspot

Boolean

No

If true, the network is treated as a hotspot.
Available in iOS 7.0 and later

DomainName

String

No

Specifies the Domain Name of the hotspot

DisplayedOperatorName

String

No

Specifies the Operator Name displayed
externally

ServiceProviderRoamingEnabled

Boolean

No

If true, allows connection to roaming service
providers. Available in iOS 7.0 and later.

RoamingConsortiumOrganizationID String

No

Array of Roaming Consortium Organization
Identifiers used for Wi-Fi Hotspot 2.0
negotiation. Available in iOS 7.0 and later

NetworkAccessId

String

No

Array ofstrings. List of Network AccessIdentifier
Realm names used for Wi-Fi Hotspot 2.0
negotiation

MccMnc

String

No

Array of strings. List of Mobile Country Code
(MCC)/Mobile Network Code (MNC) pairs used
for Wi-Fi Hotspot 2.0 negotiation. Each string
must contain exactly six digits. Available in iOS
7.0 and later

Response Payload
XML


Numeric

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

726

Chapter 10: Profile Management Version 1 and Version 2

JSON

{
"Value": Numeric
}

Response Tag Details
Tag

Data type

Description

Long /Value

Numeric

Unique ID of the newly created profile

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

727

Chapter 10: Profile Management Version 1 and Version 2

Version 2
Functionality – Creates an Apple Wi-fi profile and assigns it to the desired organization groups.
HTTP Method – POST
API URL – https://host/api/mdm/profiles/platforms/apple/create
Payload URI – https://host/api/mdm/profiles/platforms/apple/payloads/wifi/getpayloadkeys?contexttype=
{contexttype}

Request Payloads
XML



XML Payload


String
Boolean
Numeric
String
Boolean
Boolean
Boolean
Boolean
Boolean
Boolean
Boolean
Boolean
Boolean
Boolean
String
Boolean
String
String

String


String

String
String
Boolean
String
String

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

728

Chapter 10: Profile Management Version 1 and Version 2


String
String
String
Boolean
Boolean
String
String
Boolean

String


String

String




JSON

{
"WifiList":
[
{
"ServiceSetIdentifier": "String",
"HiddenNetwork": Boolean,
"SecurityType": "Numeric",
"Password": "String",
"TLS": Boolean,
"TTLS": Boolean,
"LEAP": Boolean,
"PEAP": Boolean,
"EAPFAST": Boolean,
"EAPSIM": Boolean,
"ProvisionPAC": Boolean,
"ProvisionPACAnonymously": Boolean,
"UsePAC": Boolean,
"AllowTrustExceptions": Boolean,
"InnerIdentity": "String",
"UserPerConnectionPassword": Boolean,
"UserName": "String",
"UserPassword": "String",
"TrustedServerCertificateNames": ["String"],
"TrustedCertificates": ["String"],
"OuterIdentity": "String",

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

729

Chapter 10: Profile Management Version 1 and Version 2

"IdentityCertificate": "String",
"AutoJoin": Boolean,
"ProxyType": "String",
"ProxyServer": "String",
"ProxyServerPort": Numeric,
"ProxyUsername": "String",
"ProxyPassword": "String",
"ProxyUrl": "String",
"Protocol": Boolean,
"WiFiHotspot": Boolean,
"DomainName": "String",
"DisplayedOperatorName": "String",
"ServiceProviderRoamingEnabled": Boolean,
"RoamingConsortiumOrganizationID": ["String"],
"NetworkAccessId": ["String"],
"MccMnc": ["String"]
}
],
"General" : JSON Payload
}

Associated Picklists
Tag

Picklist API URI

SecurityType

https://host/api/mdm/picklists/applewifisecuritytype

InnerIdentity

https://host/api/mdm/picklists/applewifiinneridentity

ProxyType

https://host/api/mdm/picklists/applewifiproxytype

Request Tag Details
Tag

Type

Mandatory

Description

General

Tag

Yes

The JSON/XML General payload. Refer General
payload for details

ServiceSetIdentifier

String

No

SSID of the Wi-Fi network to be used

HiddenNetwork

Boolean

No

By default (Boolean), it is assumed that all
configured networks are open or broadcast.
To specify a hidden network, must be true

SecurityType

Numeric/String No

The security type of the Wi-Fi Network. The
allowed values for this tag can be obtained
from the SecurityType Picklist

Password

Numeric

No

Password for the Wi-Fi network

TLS

Boolean

No

Specifies if TLS Protocol is used for
Authentication for the Wi-Fi network

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

730

Chapter 10: Profile Management Version 1 and Version 2

TTLS

Boolean

No

Specifies if TTLS Protocol is used for
Authentication for the Wi-Fi network

InnerIdentity

String

Yes (for
TTLS=true)

Authentication protocol used for TTLS

LEAP

Boolean

No

Specifies if LEAP Protocol is used for
Authentication for the Wi-Fi network

PEAP

Boolean

No

Specifies if PEAP Protocol is used for
Authentication for the Wi-Fi network

EAPFAST

Boolean

No

Specifies if EAPFAST Protocol is used for
Authentication for the Wi-Fi network

EAPSIM

Boolean

No

Specifies if EAPSIM Protocol is used for
Authentication for the Wi-Fi network

UsePAC

Boolean

No

Specifies if the Protected Access Credentials
need to be used

ProvisionPAC

Boolean

No

Specifies if the Protected Access Credentials
need to be provisioned to the devices

ProvisionPACAnonymously

Boolean

No

Specifies if the Protected Access Credentials
need to be provisioned anonymously

AllowTrustExceptions

Boolean

No

Specifies if Trust decisions can be made by the
user

UserName

String

No

Username used for Authentication. Allows
lookup values

UserPerConnectionPassword

Boolean

No

Specifies if the password needs to provided
during connection

UserPassword

String

TrustedServerCertificateNames

String

No

Array of strings. Specifies the name of the
trusted server certificates

TrustedCertificates

String

No

Array of strings. Specifies the Certificates
assigned. Certificates can be added using the
credentials payload

OuterIdentity

String

No

Externally Visible Identification (For TTLS,
PEAP, And EAP-FAST)

IdentityCertificate

String

No

Certificate to be used for User Identification.
Certificates can be added using the credentials
payload

AutoJoin

Boolean

No

If true, the network is auto-joined. If Boolean,
the user has to tap the network name to join
it. Available in iOS 5.0 and later

Password for the Authenticated Account

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

731

Chapter 10: Profile Management Version 1 and Version 2

ProxyType

String

No

Type of proxy if any on the Wireless network.
Defaults to None

ProxyServer

String

Yes (for
Hostname or the IP address of the Proxy
Proxy=Manual) Server

ProxyServerPort

Numeric

Yes (for
Port number of the Proxy server
Proxy=Manual)

ProxyUsername

String

No

Username of the HTTP Proxy

ProxyPassword

String

No

Specifies the password of the HTTP proxy

ProxyUrl

String

No

Specifies the Proxy URL for Auto Proxy type

WiFiHotspot

Boolean

No

If true, the network is treated as a hotspot.
Available in iOS 7.0 and later

DomainName

String

No

Specifies the Domain Name of the hotspot

DisplayedOperatorName

String

No

Specifies the Operator Name displayed
externally

ServiceProviderRoamingEnabled

Boolean

No

If true, allows connection to roaming service
providers. Available in iOS 7.0 and later.

RoamingConsortiumOrganizationID String

No

Array of Roaming Consortium Organization
Identifiers used for Wi-Fi Hotspot 2.0
negotiation. Available in iOS 7.0 and later

NetworkAccessId

String

No

Array ofstrings. List of Network AccessIdentifier
Realm names used for Wi-Fi Hotspot 2.0
negotiation

MccMnc

String

No

Array of strings. List of Mobile Country Code
(MCC)/Mobile Network Code (MNC) pairs used
for Wi-Fi Hotspot 2.0 negotiation. Each string
must contain exactly six digits. Available in iOS
7.0 and later

Response Payload
XML


Numeric

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

732

Chapter 10: Profile Management Version 1 and Version 2

JSON

{
"Value": Numeric
}

Response Tag Details
Tag

Data type

Description

Long /Value

Numeric

Unique ID of the newly created profile

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

733

Chapter 10: Profile Management Version 1 and Version 2

Create Apple VPN Profile
Version 1
Functionality – Creates an Apple VPN profile and assigns it to the desired organization groups.
HTTP Method – POST
API URI – https://host/api/mdm/profiles/platforms/apple/create
Payload URI – https://host/api/mdm/profiles/platforms/apple/payloads/vpn/getpayloadkeys?contexttype=
{contexttype}

Request Payloads
XML



XML Payload


String
String
String
String
String
String
Numeric
Boolean
Numeric
Numeric
String
Boolean
Boolean
String
String
String
String
Numeric
String
String
Numeric
String
String
Boolean
Boolean

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

734

Chapter 10: Profile Management Version 1 and Version 2

String
Boolean
String


String
String


String


String
String


String
Boolean
Boolean

String





JSON

{
"VPN":
{
"ConnectionName": String,
"ConnectionType": String,
"CommunicationServer": String,
"Account": String,
"Realm": String
"Role": String
"EncryptionLevel": Numeric,
"SendAllTraffic": Boolean,
"UserAuthentication": Numeric,
"MachineAuthentication": Numeric,
"GroupName": String,
"PromptForPassword": Boolean,
"UseHybridAuthentication": Boolean,
"SharedSecret": String,
"ProxyServerAutoConfigURL": String,
"Proxy": String,
"ProxyServer": String,

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

735

Chapter 10: Profile Management Version 1 and Version 2

"Port": Numeric,
"ProxyUsername": String,
"ProxyPassword": String,
"VpnUserAuthentication": String,
"VpnPassword": String,
"EnableVPNOnDemand": Boolean,
"UseAlternativeiOS7Syntax": Boolean,
"IdentityCertificate": String,
"IncludeUserPIN": Boolean,
"LoginGroupOrDomain": String,
"VpnOnDemandModels":[{
"Domain":"String",
"Type":String
}],
"Identifier":"String",
"CustomData":[{
"Key":"String",
"Value":"String"
}],
"BlueCoatCustomerID":"String",
"PerAppVpn":Boolean,
"ConnectAutomatically":Boolean,
"SafariDomains":["String"]
}],
}
"General" : JSON Payload
}

Associated Picklists
Tag

Picklist API URI

MachineAuthentication

/api/mdm/picklists/applemachineauthentication

Proxy

/api/mdm/picklists/appleproxytype

UserAuthentication

/api/mdm/picklists/appleuserauthenticationtype

VpnUserAuthentication

/api/mdm/picklists/applevpnauthenticationmethod

Request Tag Details
Tag

Type

Mandatory

Description

General

Tag

Yes

The JSON/XML General payload. Refer General payload
for details

ConnectionName

String

Yes

Name of the connection displayed on the device

ConnectionType

String

Yes

Type of connection enabled by the payload

CommunicationServer

String

No

Host name or IP address of the communication server

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

736

Chapter 10: Profile Management Version 1 and Version 2

Account

String

No

User account for authenticating the server connection

Realm

String

No

Kerberos realm name. This field accepts look up values

EncryptionLevel

Numeric

No

Encryption level for the connection

SendAllTraffic

Boolean

No

Setting this to true, routes all network traffic through the
VPN connection

UserAuthentication

Numeric

No

User authentication type for the connection

MachineAuthentication

Numeric

No

Machine authentication for the connection

GroupName

String

No

Group Identifier for the connection

PromptForPassword

Boolean

No

Setting to true, prompts the user for a password on the
device

UseHybridAuthentication

Boolean

No

Specifies if a combination of Secret, Name and Certificate
need to be used for Authentication

SharedSecret

String

No

Shared secret for this VPN account. Only present if
MachineAuthentication tag is set to Shared Secret/Group
Name

Proxy

String

No

Proxy type that needs to be used with the Proxy
connection. The values allowed for this field can be
obtained from the picklist mentioned above

ProxyServer

String

No

Host name or the IP address of the Proxy server

Port

Numeric

No

Port number of the VPN proxy

ProxyUsername

String

No

Username for proxy server authentication

ProxyPassword

String

No

Password for proxy server authentication

ProxyServerAutoConfigURL

String

No

Server URL from which the proxy setting will be retrieved

VpnUserAuthentication

String

No

User authentication type for CISCO Any Connection VPN
client. The allowed values for this field can be obtained
from the picklist mentioned above

VpnPassword

String

No

Password for the VPN connection

EnableVPNOnDemand

Boolean

No

Setting to true, enables VPN On-Demand feature for
networks that user certificate based Authentication

UseAlternativeiOS7Syntax

Boolean

No

Enable the option for VPN On Demand to work on iOS 7
devices by utilizing the new keys in the VPN profile

IdentityCertificate

String

No

Name of the Identity certificate used for Authentication

IncludeUserPIN

Boolean

No

Setting to true sends the device user's pin along with the
Authentication

LoginGroupOrDomain

String

No

Domain name for VPN connection

AppleVpnOnDemandEntity
Domain

String

No

Domain name for Apple VPN On Demand

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

737

Chapter 10: Profile Management Version 1 and Version 2

AppleVpnOnDemandEntity
Type

String

No

Specifies the On Demand Action on the Domain

Identifier

String

No

Identifier for the custom VPN connection

CustomDataEntity\Key

String

No

Key of the custom data for custom VPN connection

CustomDataEntity\value

String

No

Value of the key of the custom data for custom VPN
connection

BlueCoatCustomerID

String

No

Customer ID for Blue Coat Connections

PerAppVpn

Boolean

No

Specifies if a per-app VPN needs to be configured on the
iOS device

ConnectAutomatically

Boolean

No

Enabled when PerAppVpn tag is set to true. Specifies if
the VPN connection has to be made automatically

SafariDomains

String

No

This optional key is a special case of App-to-Per App VPN
Mapping. It sets up the app mapping for Safari (Webkit)
with a specific identifier and a designated requirement.
The array contains strings, each of which is a domain that
should trigger this VPN connection in Safari

Response Payload
XML


Numeric

JSON

{
"Value": Numeric
}

Response Tag Details
Tag

Data type

Description

Long/Value

Numeric

Unique ID of the newly created profile

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

738

Chapter 10: Profile Management Version 1 and Version 2

Version 2
Functionality – Creates an Apple VPN profile and assigns it to the desired organization groups.
HTTP Method – POST
API URL – https://host/api/mdm/profiles/platforms/apple/create
Payload URI – https://host/api/mdm/profiles/platforms/apple/payloads/vpn/getpayloadkeys?contexttype=
{contexttype}

Request Payloads
XML



XML Payload


String
String
String
String
String
String
Numeric
Boolean
Numeric
Numeric
String
Boolean
Boolean
String
String
String
String
Numeric
String
String
Numeric
String
String
Boolean
Boolean
String
Boolean
String


VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

739

Chapter 10: Profile Management Version 1 and Version 2


String
String


String


String
String


String
Boolean
Boolean

String





JSON

{
"VPN":
{
"ConnectionName": String,
"ConnectionType": String,
"CommunicationServer": String,
"Account": String,
"Realm": String
"Role": String
"EncryptionLevel": Numeric,
"SendAllTraffic": Boolean,
"UserAuthentication": Numeric,
"MachineAuthentication": Numeric,
"GroupName": String,
"PromptForPassword": Boolean,
"UseHybridAuthentication": Boolean,
"SharedSecret": String,
"ProxyServerAutoConfigURL": String,
"Proxy": String,
"ProxyServer": String,
"Port": Numeric,
"ProxyUsername": String,
"ProxyPassword": String,
"VpnUserAuthentication": String,

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

740

Chapter 10: Profile Management Version 1 and Version 2

"VpnPassword": String,
"EnableVPNOnDemand": Boolean,
"UseAlternativeiOS7Syntax": Boolean,
"IdentityCertificate": String,
"IncludeUserPIN": Boolean,
"LoginGroupOrDomain": String,
"VpnOnDemandModels":[{
"Domain":"String",
"Type":String
}],
"Identifier":"String",
"CustomData":[{
"Key":"String",
"Value":"String"
}],
"BlueCoatCustomerID":"String",
"PerAppVpn":Boolean,
"ConnectAutomatically":Boolean,
"SafariDomains":["String"]
}],
}
"General" : JSON Payload
}

Associated Picklists
Tag

Picklist API URI

MachineAuthentication

/api/mdm/picklists/applemachineauthentication

Proxy

/api/mdm/picklists/appleproxytype

UserAuthentication

/api/mdm/picklists/appleuserauthenticationtype

VpnUserAuthentication

/api/mdm/picklists/applevpnauthenticationmethod

Request Tag Details
Tag

Type

Mandatory

Description

General

Tag

Yes

The JSON/XML General payload. Refer General payload
for details

ConnectionName

String

Yes

Name of the connection displayed on the device

ConnectionType

String

Yes

Type of connection enabled by the payload

CommunicationServer

String

No

Host name or IP address of the communication server

Account

String

No

User account for authenticating the server connection

Realm

String

No

Kerberos realm name. This field accepts look up values

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

741

Chapter 10: Profile Management Version 1 and Version 2

EncryptionLevel

Numeric

No

Encryption level for the connection

SendAllTraffic

Boolean

No

Setting this to true, routes all network traffic through the
VPN connection

UserAuthentication

Numeric

No

User authentication type for the connection

MachineAuthentication

Numeric

No

Machine authentication for the connection

GroupName

String

No

Group Identifier for the connection

PromptForPassword

Boolean

No

Setting to true, prompts the user for a password on the
device

UseHybridAuthentication

Boolean

No

Specifies if a combination of Secret, Name and Certificate
need to be used for Authentication

SharedSecret

String

No

Shared secret for this VPN account. Only present if
MachineAuthentication tag is set to Shared Secret/Group
Name

Proxy

String

No

Proxy type that needs to be used with the Proxy
connection. The values allowed for this field can be
obtained from the picklist mentioned above

ProxyServer

String

No

Host name or the IP address of the Proxy server

Port

Numeric

No

Port number of the VPN proxy

ProxyUsername

String

No

Username for proxy server authentication

ProxyPassword

String

No

Password for proxy server authentication

ProxyServerAutoConfigURL

String

No

Server URL from which the proxy setting will be retrieved

VpnUserAuthentication

String

No

User authentication type for CISCO Any Connection VPN
client. The allowed values for this field can be obtained
from the picklist mentioned above

VpnPassword

String

No

Password for the VPN connection

EnableVPNOnDemand

Boolean

No

Setting to true, enables VPN On-Demand feature for
networks that user certificate based Authentication

UseAlternativeiOS7Syntax

Boolean

No

Enable the option for VPN On Demand to work on iOS 7
devices by utilizing the new keys in the VPN profile

IdentityCertificate

String

No

Name of the Identity certificate used for Authentication

IncludeUserPIN

Boolean

No

Setting to true sends the device user's pin along with the
Authentication

LoginGroupOrDomain

String

No

Domain name for VPN connection

AppleVpnOnDemandEntity
Domain

String

No

Domain name for Apple VPN On Demand

AppleVpnOnDemandEntity
Type

String

No

Specifies the On Demand Action on the Domain

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

742

Chapter 10: Profile Management Version 1 and Version 2

Identifier

String

No

Identifier for the custom VPN connection

CustomDataEntity\Key

String

No

Key of the custom data for custom VPN connection

CustomDataEntity\value

String

No

Value of the key of the custom data for custom VPN
connection

BlueCoatCustomerID

String

No

Customer ID for Blue Coat Connections

PerAppVpn

Boolean

No

Specifies if a per-app VPN needs to be configured on the
iOS device

ConnectAutomatically

Boolean

No

Enabled when PerAppVpn tag is set to true. Specifies if
the VPN connection has to be made automatically

SafariDomains

String

No

This optional key is a special case of App-to-Per App VPN
Mapping. It sets up the app mapping for Safari (Webkit)
with a specific identifier and a designated requirement.
The array contains strings, each of which is a domain that
should trigger this VPN connection in Safari

Response Payload
XML


Numeric

JSON

{
"Value": Numeric
}

Response Tag Details
Tag

Data type

Description

Long/Value

Numeric

Unique ID of the newly created profile

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

743

Chapter 10: Profile Management Version 1 and Version 2

Create Apple Email Profile
Version 1
Functionality – Creates an Apple email profile and assigns it to the desired organization groups.
HTTP Method – POST
API URI – https://host/api/mdm/profiles/platforms/apple/create
Payload URI – https://host/api/mdm/profiles/platforms/apple/payloads/email/getpayloadkeys?contexttype=
{contexttype}

Request Payloads
XML



XML Payload


String
String
String
String
String
Boolean
Boolean
String
Numeric
Boolean
String
String
String
String
Numeric
String
Boolean
String
Boolean
String
Boolean
Boolean
String

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

744

Chapter 10: Profile Management Version 1 and Version 2

String




JSON

{
"EmailList": [
{
"AccountDescription": "String",
"AccountType": "String",
"PathPrefix": "String",
"UserDisplayName": "String",
"EmailAddress": "String",
"PreventMovingMessages": Boolean,
"DisableRecentContactSync": Boolean,
"IncomingMailServerHostName": "String",
"IncomingMailServerPortNumber": Numeric,
"IncomingMailServerUseSSL": Boolean,
"IncomingMailServerUsername": "String",
"IncomingMailServerAuthentication": "String",
"IncomingPassword": "String",
"OutgoingMailServerHostName": "String",
"OutgoingMailServerPortNumber": Numeric,
"OutgoingMailServerAuthentication": "String",
"OutgoingMailServerUseSSL": Boolean,
"OutgoingMailServerUsername": "String",
"OutgoingPasswordSameAsIncoming": Boolean,
"OutgoingPassword": "String",
"PreventUseInThirdPartyApps": Boolean,
"UseSMIME": Boolean,
"SMIMECertificate": "String",
"SMIMEEncryptionCertificate": "String"
}
],
"General" : JSON Payload
}

Associated Picklists
Tag

Picklist API URI

AccountType

https://host/api/mdm/picklists/appleemailaccounttype

IncomingMailServerAuthentication

https://host/api/mdm/picklists/appleincomingmailserverauthentication

OutgoingMailServerAuthentication

https://host/api/mdm/picklists/appleoutgoingmailserverauthentication

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

745

Chapter 10: Profile Management Version 1 and Version 2

Request Tag Details
Tag

Type

Mandatory

Description

General

Tag

Yes

The JSON/XML General payload. Refer General
Payload page for payload details

AccountDescription

String

No

Desired display name for the account

AccountType

String

No

Protocol used for accessing the Email client. The
values allowed for this field can be obtained from
the picklist mentioned above

PathPrefix

String

No

IMAP path prefix for accessing the account

UserDisplayName

String

No

Desired display name of the user

EmailAddress

String

No

Email address of the account

PreventMovingMessages

Boolean

No

If true, messages may not be moved out of this
email account into another account. Also prevents
forwarding or replying from a different account
than the message was originated from

DisableRecentContactSync

Boolean

No

If true, this account is excluded from address
Recent syncing

IncomingMailServerHostName

String

No

Incoming mail server host name (or IP address)

IncomingMailServerPortNumber

Numeric

No

Incoming mail server port number

IncomingMailServerUseSSL

Boolean

No

Specifies whether the incoming mail server uses SSL
for authentication

IncomingMailServerUsername

String

No

User name for the email account

IncomingMailServerAuthentication

String

No

Designates the authentication scheme for incoming
mail. The values allowed for this field can be
obtained from the picklist mentioned above

IncomingPassword

String

No

Password for the Incoming mail server

OutgoingMailServerHostName

String

No

Outgoing mail server host name (or IP address)

OutgoingMailServerPortNumber

Numeric

No

Outgoing mail server port number

OutgoingMailServerAuthentication

String

No

Specifies the authentication scheme for outgoing
mail. The values allowed for this field can be
obtained from the picklist mentioned above

OutgoingMailServerUseSSL

Boolean

No

Specifies whether the outgoing mail server uses SSL
for authentication

OutgoingMailServerUsername

String

No

User name for the email account

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

746

Chapter 10: Profile Management Version 1 and Version 2

OutgoingPasswordSameAsIncoming Boolean

No

If true, the user will be prompted for the password
only once and it will be used for both outgoing and
incoming mail

OutgoingPassword

String

No

Password for the outgoing mail server

PreventUseInThirdPartyApps

Boolean

No

If true, this account is not available for sending mail
in third-party applications

UseSMIME

Boolean

No

If true, this account supports S/MIME

SMIMECertificate

String

No

S/MIME signing certificate to be used with the
profile

SMIMEEncryptionCertificate

String

No

S/MIME encryption certificate to be used with the
profile. If this field is not provided the same
certificate specified in the SMIMECertificate tag is
used for encryption and signing

Response Payload
XML


Numeric

JSON

{
"Value": Numeric
}

Response Tag Details
Tag

Data type

Description

Long/Value

Numeric

Unique ID of the newly created profile

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

747

Chapter 10: Profile Management Version 1 and Version 2

Version 2
Functionality – Creates an Apple email profile and assigns it to the desired organization groups.
HTTP Method – POST
API URL – https://host/api/mdm/profiles/platforms/apple/create
Payload URI – https://host/api/mdm/profiles/platforms/apple/payloads/email/getpayloadkeys?contexttype=
{contexttype}

Request Payloads
XML



XML Payload


String
String
String
String
String
Boolean
Boolean
String
Numeric
Boolean
String
String
String
String
Numeric
String
Boolean
String
Boolean
String
Boolean
Boolean
String
String




VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

748

Chapter 10: Profile Management Version 1 and Version 2

JSON

{
"EmailList": [
{
"AccountDescription": "String",
"AccountType": "String",
"PathPrefix": "String",
"UserDisplayName": "String",
"EmailAddress": "String",
"PreventMovingMessages": Boolean,
"DisableRecentContactSync": Boolean,
"IncomingMailServerHostName": "String",
"IncomingMailServerPortNumber": Numeric,
"IncomingMailServerUseSSL": Boolean,
"IncomingMailServerUsername": "String",
"IncomingMailServerAuthentication": "String",
"IncomingPassword": "String",
"OutgoingMailServerHostName": "String",
"OutgoingMailServerPortNumber": Numeric,
"OutgoingMailServerAuthentication": "String",
"OutgoingMailServerUseSSL": Boolean,
"OutgoingMailServerUsername": "String",
"OutgoingPasswordSameAsIncoming": Boolean,
"OutgoingPassword": "String",
"PreventUseInThirdPartyApps": Boolean,
"UseSMIME": Boolean,
"SMIMECertificate": "String",
"SMIMEEncryptionCertificate": "String"
}
],
"General" : JSON Payload
}

Associated Picklists
Tag

Picklist API URI

AccountType

https://host/api/mdm/picklists/appleemailaccounttype

IncomingMailServerAuthentication

https://host/api/mdm/picklists/appleincomingmailserverauthentication

OutgoingMailServerAuthentication

https://host/api/mdm/picklists/appleoutgoingmailserverauthentication

Request Tag Details
Tag

Type

Mandatory

Description

General

Tag

Yes

The JSON/XML General payload. Refer General
Payload page for payload details

AccountDescription

String

No

Desired display name for the account

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

749

Chapter 10: Profile Management Version 1 and Version 2

AccountType

String

No

Protocol used for accessing the Email client. The
values allowed for this field can be obtained from
the picklist mentioned above

PathPrefix

String

No

IMAP path prefix for accessing the account

UserDisplayName

String

No

Desired display name of the user

EmailAddress

String

No

Email address of the account

PreventMovingMessages

Boolean

No

If true, messages may not be moved out of this
email account into another account. Also prevents
forwarding or replying from a different account
than the message was originated from

DisableRecentContactSync

Boolean

No

If true, this account is excluded from address
Recent syncing

IncomingMailServerHostName

String

No

Incoming mail server host name (or IP address)

IncomingMailServerPortNumber

Numeric

No

Incoming mail server port number

IncomingMailServerUseSSL

Boolean

No

Specifies whether the incoming mail server uses SSL
for authentication

IncomingMailServerUsername

String

No

User name for the email account

IncomingMailServerAuthentication

String

No

Designates the authentication scheme for incoming
mail. The values allowed for this field can be
obtained from the picklist mentioned above

IncomingPassword

String

No

Password for the Incoming mail server

OutgoingMailServerHostName

String

No

Outgoing mail server host name (or IP address)

OutgoingMailServerPortNumber

Numeric

No

Outgoing mail server port number

OutgoingMailServerAuthentication

String

No

Specifies the authentication scheme for outgoing
mail. The values allowed for this field can be
obtained from the picklist mentioned above

OutgoingMailServerUseSSL

Boolean

No

Specifies whether the outgoing mail server uses SSL
for authentication

OutgoingMailServerUsername

String

No

User name for the email account

OutgoingPasswordSameAsIncoming Boolean

No

If true, the user will be prompted for the password
only once and it will be used for both outgoing and
incoming mail

OutgoingPassword

String

No

Password for the outgoing mail server

PreventUseInThirdPartyApps

Boolean

No

If true, this account is not available for sending mail
in third-party applications

UseSMIME

Boolean

No

If true, this account supports S/MIME

SMIMECertificate

String

No

S/MIME signing certificate to be used with the
profile

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

750

Chapter 10: Profile Management Version 1 and Version 2

SMIMEEncryptionCertificate

String

No

S/MIME encryption certificate to be used with the
profile. If this field is not provided the same
certificate specified in the SMIMECertificate tag is
used for encryption and signing

Response Payload
XML


Numeric

JSON

{
"Value": Numeric
}

Response Tag Details
Tag

Data type

Description

Long/Value

Numeric

Unique ID of the newly created profile

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

751

Chapter 10: Profile Management Version 1 and Version 2

Create Apple EAS Profiles
Version 1
Create Apple Native Mail Client Profile
Functionality – Creates an Apple Exchange ActiveSync profile for native mail client and assigns it to the desired
organization groups.
HTTP Method – POST
API URI – https://host/api/mdm/profiles/platforms/apple/create
Payload URI –
https://host/api/mdm/profiles/platforms/apple/payloads/easnativemailclient/getpayloadkeys?contexttype=
{contexttype}
Request Payloads
XML



XML Payload


String
String
Boolean
Boolean
String
String
String
String
String
String
String
Numeric
Boolean
Boolean
Boolean




VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

752

Chapter 10: Profile Management Version 1 and Version 2

JSON

{
"EASNativeMailClientList": [
{
"AccountName": "String",
"ExchangeActiveSyncHost": "String",
"UseSSL": Boolean,
"UseSMIME": Boolean,
"SMIMECertificateName": "String",
"SmimeEncryptionCertificateName": "String",
"Domain": "String",
"UserName": "String",
"EmailAddress": "String",
"Password": "String",
"PayloadCertificateName": "String",
"PastDaysOfMailToSync": Numeric,
"PreventMovingMessages": Boolean,
"PreventUseInThirdPartyApps": Boolean,
"DisableRecentContactSync": Boolean
}
],
"General" : JSON Payload
}

Request Tag Details
Tag

Type

Mandatory

Description

General

Tag

Yes

The JSON/XML General payload. Refer General
payload for details

AccountName

String

Yes

Name of the account

ExchangeActiveSyncHost

String

Yes

Public host name for the Email server

UseSSL

Boolean

No

Specifies if all communication occurs through the
secure socket layer

UseSMIME

Boolean

No

Specifies whether the user's S/MIME certificates
would be stored to be used with S/MIME enabled
profiles

SMIMECertificateName

String

No

Name of the S/MIME signing certificate

SmimeEncryptionCertificateName String

No

Name of the S/MIME encryption certificate

Domain

String

No

User's email domain. This field accepts lookup values

UserName

String

No

Username for the account. This field accepts lookup
values

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

753

Chapter 10: Profile Management Version 1 and Version 2

EmailAddress

String

No

User's email address. This field accepts lookup values

Password

String

No

Email account's password. This field accepts lookup
values

PayloadCertificateName

String

No

Name of the Payload certificate

PastDaysOfMailToSync

Numeric

No

Number of days since synchronization

PreventMovingMessages

Boolean

No

If set to true, messages may not be moved out of this
email account into another account. Also prevents
forwarding or replying from a different account than
the message was originated from

PreventUseInThirdPartyApps

Boolean

No

If set to true, this account will not be available for
sending mail in third party applications

DisableRecentContactSync

Boolean

No

If true, this account is excluded from address Recent
syncing

Response Payload
XML


Numeric

JSON

{
"Value": Numeric
}

Response Tag Details
Tag

Data type

Description

Long /Value

Numeric

Unique ID of the newly created profile

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

754

Chapter 10: Profile Management Version 1 and Version 2

Create Apple AirWatch Inbox Profile
Functionality – Creates an Apple Exchange ActiveSync profile for AirWatch Inbox mail client and assigns it to the desired
organization groups.
HTTP Method – POST
API URI – https://host/api/mdm/profiles/platforms/apple/create
Payload URI – https://host/api/mdm/profiles/platforms/apple/payloads/easawmailclient/getpayloadkeys
Accept MIME Types
V1

V2

application/json;version=1

application/json;version=2

application/xml;version=1

application/xml;version=2

Request Payloads
XML



XML Payload

String
Boolean
String
String
String
String
Boolean
Boolean
Boolean
Numeric
Numeric
Numeric
Numeric
Numeric
Boolean
String
Boolean
Boolean
Numeric
Numeric
Numeric
Numeric

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

755

Chapter 10: Profile Management Version 1 and Version 2

Numeric
Boolean
Numeric
Numeric
Numeric
Boolean
Boolean
Numeric
Boolean
Boolean



JSON

{
"EasAwMailClient":
{
"ExchangeActiveSyncHost": "String",
"IgnoreSSLErrors": Boolean,
"Domain": "String",
"User": "String",
"EmailAddress": "String",
"Password": "String",
"EnableEmail": Boolean,
"EnableCalendar": Boolean,
"EnableContacts": Boolean,
"SyncInterval": Numeric,
"EmailNotifications": Numeric,
"PastDaysOfMailToSync": Numeric,
"PastDaysOfCalendarToSync": Numeric,
"EmailSizeInKilobytesDefaultIsUnlimited": Numeric,
"EnableHtmlEmail": Boolean,
"EmailSignature": "String",
"EnableSignatureEditing": Boolean,
"RequirePasscode": Boolean,
"Type": Numeric,
"Complexity": Numeric,
"MinimumLength": Numeric,
"MinimumNumberOfComplexCharacters": Numeric,
"MaximumAgeDays": Numeric,
"AutoLock": Boolean,
"History": Numeric,
"GracePeriod": Numeric,
"MaximumNumberOfFailedAttempts": Numeric,
"DisabeCopyPaste": Boolean,
"DisableAttachments": Boolean,

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

756

Chapter 10: Profile Management Version 1 and Version 2

"MaximumAttachmentSizeKb": Numeric,
"SCLOnlyAttachments": Boolean,
"AllowPrinting": Boolean
}
,
"General" : JSON Payload
}

Associated Picklists
Tag

Picklist API URI

EasAWEmailClientComplexity

https://host/api/mdm/picklists/appleeasawemailclientcomplexity

EasAWEmailClientEmailNotifications

https://host/api/mdm/picklists/appleeasawemailclientemailnotifications

EasAWEmailClientHistory

https://host/api/mdm/picklists/appleeasawemailclienthistory

EasAWEmailClientMaximumFailedAttemp
ts

https://host/api/mdm/picklists/appleeasawemailclientmaximumfailedatt
empts

EasAWEmailClientPasscodeType

https://host/api/mdm/picklists/appleeasawemailclientpasscodetype

EasAWEmailClientPastdaysOfCalendarToS /api/mdm/picklists/appleeasawemailclientpastdaysofcalendartosync
ync
EasAWEmailClientPastdaysOfMailToSync

/api/mdm/picklists/appleeasawemailclientpastdaysofmailtosync

EasAWEmailClientSyncInterval

/api/mdm/picklists/appleeasawemailclientsyncinterval

Request Tag Details
Tag

Type

Mandatory

Description

General

Tag

Yes

The JSON/XML General payload. Refer General
payload for details

ExchangeActiveSyncHost

String

Yes

Public host name for the Email Server

IgnoreSSLErrors

Boolean

No

Specifies if the device is allowed to ignore SSL
errors for Agent Process

Domain

String

No

User's email domain. This field accepts lookup
values

User

String

No

Username for the account. This field accepts
lookup values

EmailAddress

String

No

User's email address. This field accepts lookup
values

Password

String

No

Email account's password. This field accepts
lookup values

EnableEmail

Boolean

No

If false, disables access to Email on the AW Email
Client

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

757

Chapter 10: Profile Management Version 1 and Version 2

EnableCalendar

Boolean

No

If false, disables access to calendar on the AW
Email Client

EnableContacts

Boolean

No

If false, disables access to contacts on the AW
Email Client

SyncInterval

Numeric

No

Frequency of mail synchronization.The allowed
values for this field can be obtained from the
picklist URI mentioned above

EmailNotifications

String

No

If false, disables email notifications. The allowed
values for this field can be obtained from the
picklist URI mentioned above

PastDaysOfMailToSync

Numeric

No

Number of days of mail synchronization. The
allowed values for this field can be obtained
from the picklist URI mentioned above

PastDaysOfCalendarToSync

Numeric

No

Number of days of calendar synchronization.
The allowed values for this field can be obtained
from the picklist URI mentioned above

EmailSizeInKilobytesDefaultIsUnlimited

Numeric

No

Maximum Email size allowed in KBs

EnableHtmlEmail

Boolean

No

Specifies if HTML Email is enabled on the device

EmailSignature

String

No

Signature for the Emails

EnableSignatureEditing

Boolean

No

If false,disables editing of Email signature

RequirePasscode

Boolean

No

Specifies if passcode is needed on the AW Email
Client.

Type

Numeric

No

Specifies if the Email client can be accessed using
passcode alone or using a combination of
Username and Password.The allowed values for
this field can be obtained from the picklist URI
mentioned above

Complexity

Numeric

No

Specifies if a simple or an Alphanumeric
passcode will be used to access the email client.
The allowed values for this field can be obtained
from the picklist URI mentioned above

MinimumLength

Numeric

No

Minimum length of the passcode

MinimumNumberOfComplexCharacters Numeric

No

Minimum number of complex characters
necessary in the passcode.

MaximumAgeDays

Numeric

No

Maximum days for the passcode before it is
expired

AutoLock

Boolean

No

If true, the Email client will be locked after the
idle period.

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

758

Chapter 10: Profile Management Version 1 and Version 2

History

Numeric

No

When the user changes the passcode, it has to
be unique within the last N entries in the history.
The allowed values for this field can be obtained
from the picklist URI mentioned above

GracePeriod

Numeric

No

The maximum grace period in minutes, to
unlock the Client without entering a passcode.

MaximumNumberOfFailedAttempts

Numeric

No

Specifies the number of allowed failed attempts
to enter the passcode at the device's lock
screen. The allowed values for this field can be
obtained from the picklist URI mentioned above

DisabeCopyPaste

Boolean

No

Setting this field to true disables copying of Email
content on the clipboard

DisableAttachments

Boolean

No

Setting this field to true disables email
attachments

MaximumAttachmentSizeKb

Numeric

No

Maximum size of an Email attachment in KB

SCLOnlyAttachments

Boolean

No

Setting this field to true forces opening of mail
attachments in the Secure Content locker

AllowPrinting

Boolean

No

Setting this field to false disables printing

Response Payload
XML


Numeric

JSON

{
"Value": Numeric
}

Response Tag Details
Tag

Data type

Description

Long /Value

Numeric

Unique ID of the newly created profile

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

759

Chapter 10: Profile Management Version 1 and Version 2

Create Apple Nitrodesk Touchdown Profile
Functionality – Creates an Apple Exchange ActiveSync profile for Nitrodesk Touchdown mail client and assigns it to the
desired organization groups.
HTTP Method – POST
API URI – https://host/api/mdm/profiles/platforms/apple/create
Payload URI – https://host/api/mdm/profiles/platforms/apple/payloads/easnitrodesktouchdown/getpayloadkeys
Accept MIME Types
V1

V2

application/json;version=1

application/json;version=2

application/xml;version=1

application/xml;version=2

Request Payloads
XML



XML Payload


String
Boolean
String
String
String
String
String
Numeric
Numeric
Boolean
Boolean
Numeric
String
Boolean
Boolean

Numeric
Numeric
Numeric
Numeric

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

760

Chapter 10: Profile Management Version 1 and Version 2

Numeric
Numeric
Numeric
Boolean
Boolean
Boolean
Boolean
Numeric
Boolean
Boolean
Boolean
Boolean
Boolean




JSON

{
"EASNitroDeskTouchDownList": [
{
"ExchangeActiveSyncHost": "String"
"IgnoreSSLErrors": Boolean,
"Domain": "String",
"User": "String",
"EmailAddress": "String",
"Password": "String",
"IdentityCertificate": "String",
"PastDaysOfMailToSync": Numeric,
"PastDaysOfCalendarToSync": Numeric,
"RequireManualSyncWhenRoaming": Boolean,
"EnableHtmlEmail": Boolean,
"MaximumEmailTruncationSizeKb": Numeric,
"EmailSignature": "String",
"EnableSignatureEditing": Boolean,
"RequirePasscode": Boolean,
"PayloadAuthenticationUUID": "Text Value",
"AuthenticationType": Numeric,
"MinimumPasscodeLength": Numeric,
"MinimumNumberOfComplexCharacters": Numeric,
"AutoLockMinutes": Numeric,
"PasscodeHistory": Numeric,

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

761

Chapter 10: Profile Management Version 1 and Version 2

"MaximumPasscodeAge": Numeric,
"MaximumNumberOfFailedAttempts": Numeric,
"EnableSecurityRestrictions": Boolean,
"AllowCopyPaste": Boolean,
"EnableCopyToPhonebook": Boolean,
"AllowAttachments": Boolean,
"AllowDataExport": Boolean
}
]
,
"General" : JSON Payload
}

Associated Picklists
Tag

Picklist API URI

EasNitrodeskTouchdownAuthenticationTy
pe

https://host/api/mdm/picklists/appleeasnitrodesktouchdownauthentica
tiontype

EasNitrodeskTouchdownPastdaysOfCalen
darToSync

https://host/api/mdm/picklists/appleeasnitrodesktouchdownpastdayso
fcalendartosync

EasNitrodeskTouchdownPastdaysOfMailT
oSync

https://host/api/mdm/picklists/appleeasnitrodesktouchdownpastdayso
fmailtosync

TouchdownCredentialSource

/api/mdm/picklists/appletouchdowncredentialsource

Request Tag Details
Tag

Type

Mandatory

Description

General

Tag

Yes

The JSON/XML General payload. Refer General
Payload for details

ExchangeActiveSyncHost

String

Yes

Public host name for the Email Server

IgnoreSSLErrors

Boolean

No

Specifies if the device is allowed to ignore SSL
errors for Agent Process

Domain

String

No

User's email domain. This field accepts lookup
values

User

String

No

Username of the account. This field accepts
lookup values

EmailAddress

String

No

User's email address. This field accepts lookup
values

Password

String

No

Email account's password. This field accepts
lookup values

IdentityCertificate

String

No

Name of the identity certificate

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

762

Chapter 10: Profile Management Version 1 and Version 2

PastDaysOfMailToSync

Numeric

No

Number of days of mail synchronization. The
allowed values for this field can be obtained
from the picklist URI mentioned above

PastDaysOfCalendarToSync

Numeric

No

Number of days of calendar synchronization.
The allowed values for this field can be obtained
from the picklist URI mentioned above

RequireManualSyncWhenRoaming

Boolean

No

When set to true, the Email needs to be
synchronized manually by the device user when
the device is Roaming.

EnableHtmlEmail

Boolean

No

Specifies if HTML Email is enabled on the device

MaximumEmailTruncationSizeKb

Numeric

No

Size beyond which e-mail messages are
truncated when they are synchronized to the
mobile phone

EmailSignature

String

No

Signature for the Emails

EnableSignatureEditing

Boolean

No

If false, disables editing of Email signature

RequirePasscode

Boolean

No

Specifies if passcode is needed on the Email
Client

AuthenticationType

String

No

Specifies if the Email client can be accessed using
passcode alone or using a combination of
Username and Password.The allowed values for
this field can be obtained from the picklist URI
mentioned above

MinimumPasscodeLength

Numeric

No

Minimum length of the passcode

MinimumNumberOfComplexCharacters Numeric

No

Minimum number of complex characters
necessary in the passcode

AutoLockMinutes

Numeric

No

If true, the Email client will be locked after the
idle period.

PasscodeHistory

Numeric

No

When the user changes the passcode, it has to
be unique within the last N entries in the history

MaximumPasscodeAge

Numeric

No

Specifies in days the passcode age before it is
expired

MaximumNumberOfFailedAttempts

Numeric

No

Number of allowed failed attempts to enter the
passcode at the device's lock screen

EnableSecurityRestrictions

Boolean

No

Setting this field to true enables security
restrictions on the device

AllowCopyPaste

Boolean

No

If false, disables copying of Email content on the
clipboard

EnableCopyToPhonebook

Boolean

No

If false,disables user from copying contacts to
Phonebook

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

763

Chapter 10: Profile Management Version 1 and Version 2

AllowAttachments

Boolean

No

If false, disables attachments in the mail.

AllowDataExport

Boolean

No

If false, disables data export from the Email
client.

ShowEmailInfoOnNotificationBar

Boolean

No

If false, disables displaying of Email information
on the notifications bar

ShowCalendarInfoOnNotificationBar

Boolean

No

If false, disables displaying of Calendar
information on the notifications bar

ShowTaskInfoOnNotificationBar

Boolean

No

If false, disables displaying of Email Data on the
notifications bar

ShowDataOnLockScreenWidgets

Boolean

No

If false, disables displaying of Email data on the
device lock screen widgets

Response Payload
XML


Numeric

JSON

{
"Value": Numeric
}

Response Tag Details
Tag

Data type

Description

Long/Value

Numeric

Unique ID of the newly created profile

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

764

Chapter 10: Profile Management Version 1 and Version 2

Create Apple AirWatch Mail Credential Profile
Functionality – Creates an Apple Exchange ActiveSync profile for AirWatch Mail Credential and assigns it to the desired
organization groups.
HTTP Method – POST
API URL – https://host/api/mdm/profiles/platforms/apple/create
Payload URI –
https://host/api/mdm/profiles/platforms/apple/payloads/AWMailCredential/getpayloadkeys?contexttype=
{contexttype}
Request Payloads
XML



XML Payload


String
String
Numeric
Numeric
Numeric
String
String



JSON

{
"AWMailCredentialList" : [
{
"CertificateAuthority" : Numeric,
"CertificateID" : Numeric,
"CertificateTemplate" : Numeric,
"CredentialName" : "String",
"CredentialSource" : "String",
"Name" : "String",
"Smime" : "String"
}
]
"General" : JSON Payload

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

765

Chapter 10: Profile Management Version 1 and Version 2

}

Request Tag Details
Tag

Type

Mandatory

Description

General

Tag

Yes

The JSON/XML General payload. Refer General Payload for
details

CertificateAuthority

Numeric

No

Specifies the unique numeric identifier of the certificate
authority

CertificateID

Numeric

Yes

Unique numeric identifier obtained after upload a
certificate using the upload cert API. Mandatory when
credential source is "Upload"

CertificateTemplate

Numeric

No

Specifies the numeric identifier of the certificate template

CredentialSource

String

Yes

The source of the credentials

SMIME

String

Yes

Species if the S/MIME signing or encryption certificate of
the user is used as a credential

Name

String

Yes

Desired name of the credential chosen when credential
source is "Upload". Mandatory when credential source is
"Upload"

Response Payload
XML


Numeric

JSON

{
"Value": Numeric
}

Response Tag Details
Tag

Data type

Description

Long/Value

Numeric

Unique ID of the newly created profile

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

766

Chapter 10: Profile Management Version 1 and Version 2

Create Apple TouchDown Credential Profile
Functionality – Creates an Apple TouchDown credential profile and assigns it to the desired organization groups.
HTTP Method – POST
API URL – https://host/api/mdm/profiles/platforms/apple/create
Payload URI –
https://host/api/mdm/profiles/platforms/apple/payloads/TouchDownCredential/getpayloadkeys?contexttype=
{contexttype}
Request Payloads
XML



XML Payload


Text value
Text value
2147483647
2147483647
2147483647
Text value



JSON

{
"TouchDownCredentialList" : [
{
"CertificateAuthority" : Numeric,
"CertificateID" : Numeric,
"CertificateTemplate" : Numeric,
"CredentialName" : "String",
"CredentialSource" : "String",
"Name" : "String",
}
]
"General" : JSON Payload
}

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

767

Chapter 10: Profile Management Version 1 and Version 2

Request Tag Details
Tag

Type

Mandatory

Description

General

Tag

Yes

The JSON/XML General payload. Refer General Payload for
details

CertificateAuthority

Numeric

No

Specifies the unique numeric identifier of the certificate
authority

CertificateID

Numeric

Yes

Unique numeric identifier obtained after upload a
certificate using the upload cert API. Mandatory when
credential source is "Upload"

CertificateTemplate

Numeric

No

Specifies the numeric identifier of the certificate template

CredentialSource

String

Yes

The source of the credentials

SMIME

String

Yes

Species if the S/MIME signing or encryption certificate of
the user is used as a credential

Name

String

Yes

Desired name of the credential chosen when credential
source is "Upload". Mandatory when credential source is
"Upload"

Response Payload
XML


Numeric

JSON

{
"Value": Numeric
}

Response Tag Details
Tag

Data type

Description

Long/Value

Numeric

Unique ID of the newly created profile

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

768

Chapter 10: Profile Management Version 1 and Version 2

Version 2
Create Apple Native Mail Client Profile
Functionality – Creates an Apple Exchange ActiveSync profile for native mail client and assigns it to the desired
organization groups.
HTTP Method – POST
API URL – https://host/api/mdm/profiles/platforms/apple/create
Payload URI –
https://host/api/mdm/profiles/platforms/apple/payloads/easnativemailclient/getpayloadkeys?contexttype=
{contexttype}
Request Payloads
XML



XML Payload


String
String
Boolean
Boolean
String
String
String
String
String
String
String
Numeric
Boolean
Boolean
Boolean




VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

769

Chapter 10: Profile Management Version 1 and Version 2

JSON

{
"EASNativeMailClientList": [
{
"AccountName": "String",
"ExchangeActiveSyncHost": "String",
"UseSSL": Boolean,
"UseSMIME": Boolean,
"SMIMECertificateName": "String",
"SmimeEncryptionCertificateName": "String",
"Domain": "String",
"UserName": "String",
"EmailAddress": "String",
"Password": "String",
"PayloadCertificateName": "String",
"PastDaysOfMailToSync": Numeric,
"PreventMovingMessages": Boolean,
"PreventUseInThirdPartyApps": Boolean,
"DisableRecentContactSync": Boolean
}
],
"General" : JSON Payload
}

Request Tag Details
Tag

Type

Mandatory

Description

General

Tag

Yes

The JSON/XML General payload. Refer General
Payload for details

AccountName

String

Yes

Name of the account

ExchangeActiveSyncHost

String

Yes

Public host name for the Email server

UseSSL

Boolean

No

Specifies if all communication occurs through the
secure socket layer

UseSMIME

Boolean

No

Specifies whether the user's S/MIME certificates
would be stored to be used with S/MIME enabled
profiles

SMIMECertificateName

String

No

Name of the S/MIME signing certificate

SmimeEncryptionCertificateName String

No

Name of the S/MIME encryption certificate

Domain

String

No

User's email domain. This field accepts lookup values

UserName

String

No

Username for the account. This field accepts lookup
values

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

770

Chapter 10: Profile Management Version 1 and Version 2

EmailAddress

String

No

User's email address. This field accepts lookup values

Password

String

No

Email account's password. This field accepts lookup
values

PayloadCertificateName

String

No

Name of the Payload certificate

PastDaysOfMailToSync

Numeric

No

Number of days since synchronization

PreventMovingMessages

Boolean

No

If set to true, messages may not be moved out of this
email account into another account. Also prevents
forwarding or replying from a different account than
the message was originated from

PreventUseInThirdPartyApps

Boolean

No

If set to true, this account will not be available for
sending mail in third party applications

DisableRecentContactSync

Boolean

No

If true, this account is excluded from address Recent
syncing

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

771

Chapter 10: Profile Management Version 1 and Version 2

Create Apple AirWatch Inbox Profile
Functionality – Creates an Apple Exchange ActiveSync profile for AirWatch Inbox mail client and assigns it to the desired
organization groups.
HTTP Method – POST
API URL – https://host/api/mdm/profiles/platforms/apple/create
Payload URI –
https://host/api/mdm/profiles/platforms/apple/payloads/easawmailclient/getpayloadkeys?contexttype=
{contexttype}
Request Payloads
XML



XML Payload

String
Boolean
String
String
String
String
Boolean
Boolean
Boolean
Numeric
Numeric
Numeric
Numeric
Numeric
Boolean
String
Boolean
Boolean
Numeric
Numeric
Numeric
Numeric
Numeric
Boolean
Numeric
Numeric

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

772

Chapter 10: Profile Management Version 1 and Version 2

Numeric
Boolean
Boolean
Numeric
Boolean
Boolean



JSON

{
"EasAwMailClient":
{
"ExchangeActiveSyncHost": "String",
"IgnoreSSLErrors": Boolean,
"Domain": "String",
"User": "String",
"EmailAddress": "String",
"Password": "String",
"EnableEmail": Boolean,
"EnableCalendar": Boolean,
"EnableContacts": Boolean,
"SyncInterval": Numeric,
"EmailNotifications": Numeric,
"PastDaysOfMailToSync": Numeric,
"PastDaysOfCalendarToSync": Numeric,
"EmailSizeInKilobytesDefaultIsUnlimited": Numeric,
"EnableHtmlEmail": Boolean,
"EmailSignature": "String",
"EnableSignatureEditing": Boolean,
"RequirePasscode": Boolean,
"Type": Numeric,
"Complexity": Numeric,
"MinimumLength": Numeric,
"MinimumNumberOfComplexCharacters": Numeric,
"MaximumAgeDays": Numeric,
"AutoLock": Boolean,
"History": Numeric,
"GracePeriod": Numeric,
"MaximumNumberOfFailedAttempts": Numeric,
"DisabeCopyPaste": Boolean,
"DisableAttachments": Boolean,
"MaximumAttachmentSizeKb": Numeric,
"SCLOnlyAttachments": Boolean,
"AllowPrinting": Boolean
}

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

773

Chapter 10: Profile Management Version 1 and Version 2

,
"General" : JSON Payload
}

Associated Picklists
Tag

Picklist API URI

EasAWEmailClientComplexity

https://host/api/mdm/picklists/appleeasawemailclientcomplexity

EasAWEmailClientEmailNotifications

https://host/api/mdm/picklists/appleeasawemailclientemailnotifications

EasAWEmailClientHistory

https://host/api/mdm/picklists/appleeasawemailclienthistory

EasAWEmailClientMaximumFailedAttemp
ts

https://host/api/mdm/picklists/appleeasawemailclientmaximumfailedatt
empts

EasAWEmailClientPasscodeType

https://host/api/mdm/picklists/appleeasawemailclientpasscodetype

EasAWEmailClientPastdaysOfCalendarToS /api/mdm/picklists/appleeasawemailclientpastdaysofcalendartosync
ync
EasAWEmailClientPastdaysOfMailToSync

/api/mdm/picklists/appleeasawemailclientpastdaysofmailtosync

EasAWEmailClientSyncInterval

/api/mdm/picklists/appleeasawemailclientsyncinterval

Request Tag Details
Tag

Type

Mandatory

Description

General

Tag

Yes

The JSON/XML General payload. Refer General
payload for details

ExchangeActiveSyncHost

String

Yes

Public host name for the Email Server

IgnoreSSLErrors

Boolean

No

Specifies if the device is allowed to ignore SSL
errors for Agent Process

Domain

String

No

User's email domain. This field accepts lookup
values

User

String

No

Username for the account. This field accepts
lookup values

EmailAddress

String

No

User's email address. This field accepts lookup
values

Password

String

No

Email account's password. This field accepts
lookup values

EnableEmail

Boolean

No

If false, disables access to Email on the AW Email
Client

EnableCalendar

Boolean

No

If false, disables access to calendar on the AW
Email Client

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

774

Chapter 10: Profile Management Version 1 and Version 2

EnableContacts

Boolean

No

If false, disables access to contacts on the AW
Email Client

SyncInterval

Numeric

No

Frequency of mail synchronization.The allowed
values for this field can be obtained from the
picklist URI mentioned above

EmailNotifications

String

No

If false, disables email notifications. The allowed
values for this field can be obtained from the
picklist URI mentioned above

PastDaysOfMailToSync

Numeric

No

Number of days of mail synchronization. The
allowed values for this field can be obtained
from the picklist URI mentioned above

PastDaysOfCalendarToSync

Numeric

No

Number of days of calendar synchronization.
The allowed values for this field can be obtained
from the picklist URI mentioned above

EmailSizeInKilobytesDefaultIsUnlimited

Numeric

No

Maximum Email size allowed in KBs

EnableHtmlEmail

Boolean

No

Specifies if HTML Email is enabled on the device

EmailSignature

String

No

Signature for the Emails

EnableSignatureEditing

Boolean

No

If false,disables editing of Email signature

RequirePasscode

Boolean

No

Specifies if passcode is needed on the AW Email
Client.

Type

Numeric

No

Specifies if the Email client can be accessed using
passcode alone or using a combination of
Username and Password.The allowed values for
this field can be obtained from the picklist URI
mentioned above

Complexity

Numeric

No

Specifies if a simple or an Alphanumeric
passcode will be used to access the email client.
The allowed values for this field can be obtained
from the picklist URI mentioned above

MinimumLength

Numeric

No

Minimum length of the passcode

MinimumNumberOfComplexCharacters Numeric

No

Minimum number of complex characters
necessary in the passcode.

MaximumAgeDays

Numeric

No

Maximum days for the passcode before it is
expired

AutoLock

Boolean

No

If true, the Email client will be locked after the
idle period.

History

Numeric

No

When the user changes the passcode, it has to
be unique within the last N entries in the history.
The allowed values for this field can be obtained
from the picklist URI mentioned above

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

775

Chapter 10: Profile Management Version 1 and Version 2

GracePeriod

Numeric

No

The maximum grace period in minutes, to
unlock the Client without entering a passcode.

MaximumNumberOfFailedAttempts

Numeric

No

Specifies the number of allowed failed attempts
to enter the passcode at the device's lock
screen. The allowed values for this field can be
obtained from the picklist URI mentioned above

DisabeCopyPaste

Boolean

No

Setting this field to true disables copying of Email
content on the clipboard

DisableAttachments

Boolean

No

Setting this field to true disables email
attachments

MaximumAttachmentSizeKb

Numeric

No

Maximum size of an Email attachment in KB

SCLOnlyAttachments

Boolean

No

Setting this field to true forces opening of mail
attachments in the Secure Content locker

AllowPrinting

Boolean

No

Setting this field to false disables printing

Create Apple Nitrodesk Touchdown Profile
Functionality – Creates an Apple Exchange ActiveSync profile for Nitrodesk Touchdown mail client and assigns it to the
desired organization groups.
HTTP Method – POST
API URL – https://host/api/mdm/profiles/platforms/apple/create
Payload URI –
https://host/api/mdm/profiles/platforms/apple/payloads/easnitrodesktouchdown/getpayloadkeys?contexttype=
{contexttype}
Request Payloads
XML



XML Payload


String
Boolean
String
String
String
String
String
Numeric

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

776

Chapter 10: Profile Management Version 1 and Version 2

Numeric
Boolean
Boolean
Numeric
String
Boolean
Boolean

Numeric
Numeric
Numeric
Numeric
Numeric
Numeric
Numeric
Boolean
Boolean
Boolean
Boolean
Numeric
Boolean
Boolean
Boolean
Boolean
Boolean




JSON

{
"EASNitroDeskTouchDownList": [
{
"ExchangeActiveSyncHost": "String"
"IgnoreSSLErrors": Boolean,
"Domain": "String",
"User": "String",
"EmailAddress": "String",
"Password": "String",

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

777

Chapter 10: Profile Management Version 1 and Version 2

"IdentityCertificate": "String",
"PastDaysOfMailToSync": Numeric,
"PastDaysOfCalendarToSync": Numeric,
"RequireManualSyncWhenRoaming": Boolean,
"EnableHtmlEmail": Boolean,
"MaximumEmailTruncationSizeKb": Numeric,
"EmailSignature": "String",
"EnableSignatureEditing": Boolean,
"RequirePasscode": Boolean,
"PayloadAuthenticationUUID": "String",
"AuthenticationType": Numeric,
"MinimumPasscodeLength": Numeric,
"MinimumNumberOfComplexCharacters": Numeric,
"AutoLockMinutes": Numeric,
"PasscodeHistory": Numeric,
"MaximumPasscodeAge": Numeric,
"MaximumNumberOfFailedAttempts": Numeric,
"EnableSecurityRestrictions": Boolean,
"AllowCopyPaste": Boolean,
"EnableCopyToPhonebook": Boolean,
"AllowAttachments": Boolean,
"AllowDataExport": Boolean
}
]
,
"General" : JSON Payload
}

Associated Picklists
Tag

Picklist API URI

EasNitrodeskTouchdownAuthenticationTy
pe

https://host/api/mdm/picklists/appleeasnitrodesktouchdownauthentica
tiontype

EasNitrodeskTouchdownPastdaysOfCalen
darToSync

https://host/api/mdm/picklists/appleeasnitrodesktouchdownpastdayso
fcalendartosync

EasNitrodeskTouchdownPastdaysOfMailT
oSync

https://host/api/mdm/picklists/appleeasnitrodesktouchdownpastdayso
fmailtosync

TouchdownCredentialSource

/api/mdm/picklists/appletouchdowncredentialsource

Request Tag Details
Tag

Type

Mandatory

Description

General

Tag

Yes

The JSON/XML General payload. Refer General
Payload for details

ExchangeActiveSyncHost

String

Yes

Public host name for the Email Server

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

778

Chapter 10: Profile Management Version 1 and Version 2

IgnoreSSLErrors

Boolean

No

Specifies if the device is allowed to ignore SSL
errors for Agent Process

Domain

String

No

User's email domain. This field accepts lookup
values

User

String

No

Username of the account. This field accepts
lookup values

EmailAddress

String

No

User's email address. This field accepts lookup
values

Password

String

No

Email account's password. This field accepts
lookup values

IdentityCertificate

String

No

Name of the identity certificate

PastDaysOfMailToSync

Numeric

No

Number of days of mail synchronization. The
allowed values for this field can be obtained
from the picklist URI mentioned above

PastDaysOfCalendarToSync

Numeric

No

Number of days of calendar synchronization.
The allowed values for this field can be obtained
from the picklist URI mentioned above

RequireManualSyncWhenRoaming

Boolean

No

When set to true, the Email needs to be
synchronized manually by the device user when
the device is Roaming.

EnableHtmlEmail

Boolean

No

Specifies if HTML Email is enabled on the device

MaximumEmailTruncationSizeKb

Numeric

No

Size beyond which e-mail messages are
truncated when they are synchronized to the
mobile phone

EmailSignature

String

No

Signature for the Emails

EnableSignatureEditing

Boolean

No

If false, disables editing of Email signature

RequirePasscode

Boolean

No

Specifies if passcode is needed on the Email
Client

AuthenticationType

String

No

Specifies if the Email client can be accessed using
passcode alone or using a combination of
Username and Password.The allowed values for
this field can be obtained from the picklist URI
mentioned above

MinimumPasscodeLength

Numeric

No

Minimum length of the passcode

MinimumNumberOfComplexCharacters Numeric

No

Minimum number of complex characters
necessary in the passcode

AutoLockMinutes

No

If true, the Email client will be locked after the
idle period.

Numeric

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

779

Chapter 10: Profile Management Version 1 and Version 2

PasscodeHistory

Numeric

No

When the user changes the passcode, it has to
be unique within the last N entries in the history

MaximumPasscodeAge

Numeric

No

Specifies in days the passcode age before it is
expired

MaximumNumberOfFailedAttempts

Numeric

No

Number of allowed failed attempts to enter the
passcode at the device's lock screen

EnableSecurityRestrictions

Boolean

No

Setting this field to true enables security
restrictions on the device

AllowCopyPaste

Boolean

No

If false, disables copying of Email content on the
clipboard

EnableCopyToPhonebook

Boolean

No

If false,disables user from copying contacts to
Phonebook

AllowAttachments

Boolean

No

If false, disables attachments in the mail.

AllowDataExport

Boolean

No

If false, disables data export from the Email
client.

ShowEmailInfoOnNotificationBar

Boolean

No

If false, disables displaying of Email information
on the notifications bar

ShowCalendarInfoOnNotificationBar

Boolean

No

If false, disables displaying of Calendar
information on the notifications bar

ShowTaskInfoOnNotificationBar

Boolean

No

If false, disables displaying of Email Data on the
notifications bar

ShowDataOnLockScreenWidgets

Boolean

No

If false, disables displaying of Email data on the
device lock screen widgets

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

780

Chapter 10: Profile Management Version 1 and Version 2

Create Apple AirWatch Mail Credential Profile
Functionality – Creates an Apple Exchange ActiveSync profile for AirWatch Mail Credential and assigns it to the desired
organization groups.
HTTP Method – POST
API URL – https://host/api/mdm/profiles/platforms/apple/create
Payload URI –
https://host/api/mdm/profiles/platforms/apple/payloads/AWMailCredential/getpayloadkeys?contexttype=
{contexttype}
Request Payloads
XML



XML Payload


String
String
Numeric
Numeric
Numeric
String
String



JSON

{
"AWMailCredentialList" : [
{
"CertificateAuthority" : Numeric,
"CertificateID" : Numeric,
"CertificateTemplate" : Numeric,
"CredentialName" : "String",
"CredentialSource" : "String",
"Name" : "String",
"Smime" : "String"
}
]
"General" : JSON Payload

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

781

Chapter 10: Profile Management Version 1 and Version 2

}

Request Tag Details
Tag

Type

Mandatory

Description

General

Tag

Yes

The JSON/XML General payload. Refer General Payload for
details

CertificateAuthority

Numeric

No

Specifies the unique numeric identifier of the certificate
authority

CertificateID

Numeric

Yes

Unique numeric identifier obtained after upload a
certificate using the upload cert API. Mandatory when
credential source is "Upload"

CertificateTemplate

Numeric

No

Specifies the numeric identifier of the certificate template

CredentialSource

String

Yes

The source of the credentials

SMIME

String

Yes

Species if the S/MIME signing or encryption certificate of
the user is used as a credential

Name

String

Yes

Desired name of the credential chosen when credential
source is "Upload". Mandatory when credential source is
"Upload"

Response Payload
XML


Numeric

JSON

{
"Value": Numeric
}

Response Tag Details
Tag

Data type

Description

Long/Value

Numeric

Unique ID of the newly created profile

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

782

Chapter 10: Profile Management Version 1 and Version 2

Create Apple TouchDown Credential Profile
Functionality – Creates an Apple TouchDown credential profile and assigns it to the desired organization groups.
HTTP Method – POST
API URL – https://host/api/mdm/profiles/platforms/apple/create
Payload URI –
https://host/api/mdm/profiles/platforms/apple/payloads/TouchDownCredential/getpayloadkeys?contexttype=
{contexttype}
Request Payloads
XML



XML Payload


Text value
Text value
2147483647
2147483647
2147483647
Text value



JSON

{
"TouchDownCredentialList" : [
{
"CertificateAuthority" : Numeric,
"CertificateID" : Numeric,
"CertificateTemplate" : Numeric,
"CredentialName" : "String",
"CredentialSource" : "String",
"Name" : "String",
}
]
"General" : JSON Payload
}

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

783

Chapter 10: Profile Management Version 1 and Version 2

Request Tag Details
Tag

Type

Mandatory

Description

General

Tag

Yes

The JSON/XML General payload. Refer General Payload for
details

CertificateAuthority

Numeric

No

Specifies the unique numeric identifier of the certificate
authority

CertificateID

Numeric

Yes

Unique numeric identifier obtained after upload a
certificate using the upload cert API. Mandatory when
credential source is "Upload"

CertificateTemplate

Numeric

No

Specifies the numeric identifier of the certificate template

CredentialSource

String

Yes

The source of the credentials

SMIME

String

Yes

Species if the S/MIME signing or encryption certificate of
the user is used as a credential

Name

String

Yes

Desired name of the credential chosen when credential
source is "Upload". Mandatory when credential source is
"Upload"

Response Payload
XML


Numeric

JSON

{
"Value": Numeric
}

Response Tag Details
Tag

Data type

Description

Long/Value

Numeric

Unique ID of the newly created profile

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

784

Chapter 10: Profile Management Version 1 and Version 2

Upload Certificates
Version 1
Functionality – Uploads certificate into that could be used in other profile payloads (both .pfx and cer formats).
HTTP Method – POST
API URI – https://host/api/mdm/profiles/uploadcertificate

Request Payload
XML


String
String


JSON

{
"CertificatePayload":"String",
"Password":"String"
}

Request Tag Details
Tag

Type

Description

CertificatePayload

String

Specifies the Base-64 Encoded certificate data

Password

String

Specifies the password of the certificate being uploaded

Response Payload
XML

Numeric

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

785

Chapter 10: Profile Management Version 1 and Version 2

JSON

{
"Value": Numeric
}

Response Tag Details
Tag

Type

Description

Long/Value

Numeric

Specifies the unique numeric ID of the uploaded certificate

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

786

Chapter 10: Profile Management Version 1 and Version 2

Create Apple SCEP Profile
Version 1
Functionality – Creates an Apple SCEP profile that can be used along with other payloads that require certificate
authentication
HTTP Method – POST
API URI – https://host/api/mdm/profiles/platforms/apple/create
Payload URI – https://host/api/mdm/profiles/platforms/apple/payloads/scep/getpayloadkeys?contexttype=
{contexttype}

Request Payloads
XML



XML Payload


String
Numeric
Numeric
String




JSON

{
"ScepList": [
{
"CredentialSource": "String",
"CertificateAuthority": Numeric,
"CertificateTemplate": Numeric,
"Name": "String"
}
],
"General" : JSON Payload
}

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

787

Chapter 10: Profile Management Version 1 and Version 2

Important: Multiple SCEP entities can be created in a single payload by providing multiple credentials details under
the SCEP List tag.

Associated Picklists
Tag

Picklist API URI

CredentialSource

https://host/api/mdm/picklists/applescepcredentialsource

CertificateAuthority

https://host/api/mdm/picklists/organizationGroups/
{ogid}/getcertificateauthorities

CertificateTemplate

https://host/api/mdm/picklists/organizationGroups/
{ogid}/certificateauthorities/
{certificateauthorityid}/getcertificatetemplates

Request Tag Details
Tag

Type

Mandatory

Description

General

Tag

Yes

The JSON/XML General payload. Refer General payload for
details

Name

String

No

Desired name of the SCEP configuration

CredentialSource

String

No

Specifies the source of the SCEP credentials. The allowed
values can be obtained from the Picklist endpoint
mentioned above

CertificateAuthority

Numeric

No

Specifies the unique numeric identifier of the certificate
authority

CertificateTemplate

Numeric

No

Specifies the numeric identifier of the certificate template

Response Payload
XML


Numeric

JSON

{
"Value": Numeric
}

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

788

Chapter 10: Profile Management Version 1 and Version 2

Response Tag Details
Tag

Type

Description

Long /Value

Numeric

Unique ID of the newly created profile

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

789

Chapter 10: Profile Management Version 1 and Version 2

Version 2
Functionality – Creates an Apple SCEP profile that can be used along with other payloads that require certificate
authentication
HTTP Method – POST
API URL – https://host/api/mdm/profiles/platforms/apple/create
Payload URI – https://host/api/mdm/profiles/platforms/apple/payloads/scep/getpayloadkeys?contexttype=
{contexttype}

Request Payloads
XML



XML Payload


String
Numeric
Numeric
String




JSON

{
"ScepList": [
{
"CredentialSource": "String",
"CertificateAuthority": Numeric,
"CertificateTemplate": Numeric,
"Name": "String"
}
],
"General" : JSON Payload
}

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

790

Chapter 10: Profile Management Version 1 and Version 2

Important: Multiple SCEP entities can be created in a single payload by providing multiple credentials details under
the SCEP List tag.

Associated Picklists
Tag

Picklist API URI

CredentialSource

https://host/api/mdm/picklists/applescepcredentialsource

CertificateAuthority

https://host/api/mdm/picklists/organizationGroups/
{ogid}/getcertificateauthorities

CertificateTemplate

https://host/api/mdm/picklists/organizationGroups/
{ogid}/certificateauthorities/
{certificateauthorityid}/getcertificatetemplates

Request Tag Details
Tag

Type

Mandatory

Description

General

Tag

Yes

The JSON/XML General payload. Refer General payload for
details

Name

String

No

Desired name of the SCEP configuration

CredentialSource

String

No

Specifies the source of the SCEP credentials. The allowed
values can be obtained from the Picklist endpoint
mentioned above

CertificateAuthority

Numeric

No

Specifies the unique numeric identifier of the certificate
authority

CertificateTemplate

Numeric

No

Specifies the numeric identifier of the certificate template

Response Payload
XML


Numeric

JSON

{
"Value": Numeric
}

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

791

Chapter 10: Profile Management Version 1 and Version 2

Response Tag Details
Tag

Type

Description

Long /Value

Numeric

Unique ID of the newly created profile

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

792

Chapter 10: Profile Management Version 1 and Version 2

Create Apple Credentials Profile
Version 1
Functionality – Creates an Apple credentials profile which can be used along with other payloads that require certificate
authentication.
HTTP Method – POST
API URI – https://host/api/mdm/profiles/platforms/apple/create
Payload URI – https://host/api/mdm/profiles/platforms/apple/payloads/credentials/getpayloadkeys?contexttype=
{contexttype}

Request Payloads
XML



XML Payload


String
Numeric
String
Numeric
Numeric
String
String




JSON

{
"CredentialsList": [
{
"CertificateID": Numeric,
"CredentialName": "String",
"CredentialSource": "String",
"CertificateAuthority": Numeric,
"CertificateTemplate": Numeric,

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

793

Chapter 10: Profile Management Version 1 and Version 2

"Smime": "String",
"Name": "String"
}],
"General" : JSON Payload
}

Important: Multiple credential entities can be created in a single payload by providing multiple credentials details
under the Credential List tag.

Associated Picklists
Tag

Picklist API URI

CredentialSource

https://host/api/mdm/picklists/applecredentialsource

Applecredentialsmime

https://host/api/mdm/picklists/applecredentialsmime

Request Tag Details
Tag

Type

Mandatory

Description

General

Tag

Yes

The JSON/XML General payload. Refer General payload
for details

CredentialSource

String

Yes

The source of the credentials. The allowed values can be
obtained from the Picklist endpoint mentioned above

Name

String

Yes

Desired name of the credential chosen when credential
source is "Upload". Mandatory when credential source is
"Upload"

CertificateID

Numeric

Yes

Unique numeric identifier obtained after upload a
certificate using the upload cert API. Mandatory when
credential source is "Upload"

CertificateAuthority

Numeric

No

Specifies the unique numeric identifier of the certificate
authority

CertificateTemplate

Numeric

No

Specifies the numeric identifier of the certificate template

Smime

String

Yes

Species if the S/MIME signing or encryption certificate of
the user is used a credential

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

794

Chapter 10: Profile Management Version 1 and Version 2

Response Payload
XML


Numeric

JSON

{
"Value": Numeric
}

Response Tag Details
Tag

Data type

Description

Long /Value

Numeric

Unique ID of the newly created profile

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

795

Chapter 10: Profile Management Version 1 and Version 2

Version 2
Functionality – Creates an Apple credentials profile which can be used along with other payloads that require certificate
authentication.
HTTP Method – POST
API URL – https://host/api/mdm/profiles/platforms/apple/create
Payload URI – https://host/api/mdm/profiles/platforms/apple/payloads/credentials/getpayloadkeys?contexttype=
{contexttype}

Request Payloads
XML



XML Payload


String
Numeric
String
Numeric
Numeric
String
String




JSON

{
"CredentialsList": [
{
"CertificateID": Numeric,
"CredentialName": "String",
"CredentialSource": "String",
"CertificateAuthority": Numeric,
"CertificateTemplate": Numeric,
"Smime": "String",
"Name": "String"
}],
"General" : JSON Payload

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

796

Chapter 10: Profile Management Version 1 and Version 2

}

Important: Multiple credential entities can be created in a single payload by providing multiple credentials details
under the Credential List tag.

Associated Picklists
Tag

Picklist API URI

CredentialSource

https://host/api/mdm/picklists/applecredentialsource

Applecredentialsmime

https://host/api/mdm/picklists/applecredentialsmime

Request Tag Details
Tag

Type

Mandatory

Description

General

Tag

Yes

The JSON/XML General payload. Refer General payload
for details

CredentialSource

String

Yes

The source of the credentials. The allowed values can be
obtained from the Picklist endpoint mentioned above

Name

String

Yes

Desired name of the credential chosen when credential
source is "Upload". Mandatory when credential source is
"Upload"

CertificateID

Numeric

Yes

Unique numeric identifier obtained after upload a
certificate using the upload cert API. Mandatory when
credential source is "Upload"

CertificateAuthority

Numeric

No

Specifies the unique numeric identifier of the certificate
authority

CertificateTemplate

Numeric

No

Specifies the numeric identifier of the certificate template

Smime

String

Yes

Species if the S/MIME signing or encryption certificate of
the user is used a credential

Response Payload
XML


Numeric

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

797

Chapter 10: Profile Management Version 1 and Version 2

JSON

{
"Value": Numeric
}

Response Tag Details
Tag

Data type

Description

Long /Value

Numeric

Unique ID of the newly created profile

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

798

Chapter 10: Profile Management Version 1 and Version 2

Create Apple Custom Settings Profile
Version 1
Functionality – Creates an Apple custom settings profile and assigns it to the desired organization groups.
HTTP Method – POST
API URI – https://host/api/mdm/profiles/platforms/apple/create
Payload URI –
https://host/api/mdm/profiles/platforms/apple/payloads/customsettings/getpayloadkeys?contexttype={contexttype}

Request Payloads
XML



XML Payload


String


String




JSON

{
"CustomSettingsList" : [
{
"CustomSettings" : "String"
}
]
"General" : JSON Payload
}

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

799

Chapter 10: Profile Management Version 1 and Version 2

Response Payload
XML


Numeric

JSON

{
"Value": Numeric
}

Response Tag Details
Tag

Data type

Description

Long /Value

Numeric

Unique ID of the newly created profile

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

800

Chapter 10: Profile Management Version 1 and Version 2

Version 2
Functionality – Creates an Apple custom settings profile and assigns it to the desired organization groups.
HTTP Method – POST
API URI – https://host/api/mdm/profiles/platforms/apple/create
Payload URI –
https://host/api/mdm/profiles/platforms/apple/payloads/customsettings/getpayloadkeys?contexttype={contexttype}

Request Payloads
XMLs



XML Payload


String


String




JSON

{
"CustomSettingsList" : [
{
"CustomSettings" : "String"
}
]
"General" : JSON Payload
}

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

801

Chapter 10: Profile Management Version 1 and Version 2

Response Payload
XML


Numeric

JSON

{
"Value": Numeric
}

Response Tag Details
Tag

Data type

Description

Long /Value

Numeric

Unique ID of the newly created profile

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

802

Chapter 10: Profile Management Version 1 and Version 2

Create Android Passcode Profile
Version 1
Functionality – Creates an Android passcode profile and assigns it to the desired organization groups.
HTTP Method – POST
API URI – https://host/api/mdm/profiles/platforms/android/create
Payload URI – https://host/api/mdm/profiles/platforms/android/payloads/passcode/getpayloadkeys?contexttype=
{contexttype}

Request Payloads
XML



XML Payload

Numeric
Numeric
Numeric
Numeric
Numeric
Numeric
Numeric
Numeric
Numeric
Numeric
Numeric
Numeric
Numeric
Numeric
Boolean
Boolean
Numeric
Numeric
Boolean

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

803

Chapter 10: Profile Management Version 1 and Version 2

Boolean



JSON

{
"Passcode":
{
"MinimumPasscodeLength": Numeric,
"PasscodeContent": Numeric,
"MaximumNumberOfFailedAttempts": Numeric,
"GracePeriodForPasscodeChange": Numeric,
"MaximumRepeatCharacters": Numeric,
"MinimumNumberOfNumericalDigits": Numeric,
"MinimumNumberOfLetters": Numeric,
"MinimumNumberOfLowerCaseLetters": Numeric,
"MinimumNumberOfUpperCaseLetters": Numeric,
"MinimumNumberOfNonLetters": Numeric,
"MinimumNumberOfSymbols": Numeric,
"MaximumPasscodeAge": Numeric,
"DeviceLockTimeoutInMinutes": Numeric,
"PasscodeHistory": Numeric,
"RequireStorageEncryption": Boolean,
"RequireSDCardEncryption": Boolean,
"NumberOfTimesAlphabetCanBeRepeated": Numeric,
"MinimumNumberOfChangedCharactersRequired": Numeric,
"requireStorageEncryptionAlways": Boolean,
"requireStorageEncryptionNativeEmail": Boolean
},
"General" : JSON Payload
}

Associated Picklists
Tag

Picklist API URI

GracePeriodForPasscodeChange

https://host/api/mdm/picklists/androidgraceperiodforpasscodechange

MinimumPasscodeLength

https://host/api/mdm/picklists/androidpasscodecontent

Request Tag Details
Tag

Type

Mandatory

Description

General

Tag

Yes

The JSON/XML General payload. Refer
General payload for details

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

804

Chapter 10: Profile Management Version 1 and Version 2

MinimumPasscodeLength

Boolean

No

Minimum overall length of the passcode

PasscodeContent

Numeric

No

Type of content of the passcode (Any 65536, Alphanumeric - 327680, Alphabetic
- 262144, Complex - 393216, Fingerprint 69632)

MaximumNumberOfFailedAttempts

Boolean

No

Maximum number of times a user can
enter the wrong password before the
device wipes its data

GracePeriodForPasscodeChange

Numeric

No

Amount of time the user given in order to
meet new passcode policy before
AirWatch revokes corporate resources

MaximumRepeatCharacters

Numeric

No

Maximum number of characters to be
repeated in the passcode

MinimumNumberOfNumericalDigits

Numeric

No

Minimum number of numeric digits
required in the password

MinimumNumberOfLetters

Numeric

No

Minimum number of letters required in
the password

MinimumNumberOfLowerCaseLetters

Numeric

No

Minimum number of lowercase letters
required in the password

MinimumNumberOfUpperCaseLetters

Numeric

No

Minimum number of uppercase letters
required in the password

MinimumNumberOfNonLetters

Numeric

No

Minimum number of non-letter
characters required in the password

MinimumNumberOfSymbols

Numeric

No

Minimum number of symbols required in
the password

MaximumPasscodeAge

Numeric

No

Number of days the passcode can remain
unchanged. After this number of days,
the user is forced to change the passcode
before the device is unlocked

DeviceLockTimeoutInMinutes

Numeric

No

Time in minutes for the device to lock if
no password is entered

PasscodeHistory

Numeric

No

When the user changes the passcode, it
has to be unique within the last entries in
the history

NumberOfTimesAlphabetCanBeRepeated

Numeric

No

Number of times the alphabets can be
repeated in the password

MinimumNumberOfChangedCharactersRequired Numeric

No

Minimum number of changed characters
required in the password

RequireStorageEncryption

No

Specifies that the storage area should be
encrypted, if the device supports it

Boolean

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

805

Chapter 10: Profile Management Version 1 and Version 2

RequireSDCardEncryption

Boolean

No

Specifies that the SD storage area should
be encrypted, if the device supports it

requireStorageEncryptionAlways

Boolean

No

Specifies if the Storage Encryption is
Always required. This tag requires the
"RequireStorageEncryption" tag to be set
to "true"

requireStorageEncryptionNativeEmail

Boolean

No

Specifies if the Storage Encryption is
required on Native Email. This tag
requires the "RequireStorageEncryption"
tag to be set to "true"

Response Payload
XML


Numeric

JSON

{
"Value": Numeric
}

Response Tag Details
Tag

Data type

Description

Long /Value

Numeric

Unique ID of the newly created profile

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

806

Chapter 10: Profile Management Version 1 and Version 2

Version 2
Functionality – Creates an Android passcode profile and assigns it to the desired organization groups.
HTTP Method – POST
API URI – https://host/api/mdm/profiles/platforms/android/create
Payload URI – https://host/api/mdm/profiles/platforms/android/payloads/passcode/getpayloadkeys?contexttype=
{contexttype}

Request Payloads
XML



XML Payload

Numeric
Numeric
Numeric
Numeric
Numeric
Numeric
Numeric
Numeric
Numeric
Numeric
Numeric
Numeric
Numeric
Numeric
Boolean
Boolean
Numeric
Numeric
Boolean
Boolean


VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

807

Chapter 10: Profile Management Version 1 and Version 2



JSON

{
"Passcode":
{
"MinimumPasscodeLength": Numeric,
"PasscodeContent": Numeric,
"MaximumNumberOfFailedAttempts": Numeric,
"GracePeriodForPasscodeChange": Numeric,
"MaximumRepeatCharacters": Numeric,
"MinimumNumberOfNumericalDigits": Numeric,
"MinimumNumberOfLetters": Numeric,
"MinimumNumberOfLowerCaseLetters": Numeric,
"MinimumNumberOfUpperCaseLetters": Numeric,
"MinimumNumberOfNonLetters": Numeric,
"MinimumNumberOfSymbols": Numeric,
"MaximumPasscodeAge": Numeric,
"DeviceLockTimeoutInMinutes": Numeric,
"PasscodeHistory": Numeric,
"RequireStorageEncryption": Boolean,
"RequireSDCardEncryption": Boolean,
"NumberOfTimesAlphabetCanBeRepeated": Numeric,
"MinimumNumberOfChangedCharactersRequired": Numeric,
"requireStorageEncryptionAlways": Boolean,
"requireStorageEncryptionNativeEmail": Boolean
},
"General" : JSON Payload
}

Associated Picklists
Tag

Picklist API URI

GracePeriodForPasscodeChange

https://host/api/mdm/picklists/androidgraceperiodforpasscodechange

MinimumPasscodeLength

https://host/api/mdm/picklists/androidpasscodecontent

Request Tag Details
Tag

Type

Mandatory

Description

General

Tag

Yes

The JSON/XML General payload. Refer
General payload for details

MinimumPasscodeLength

Boolean

No

Minimum overall length of the passcode

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

808

Chapter 10: Profile Management Version 1 and Version 2

PasscodeContent

String

No

Type of content of the passcode

MaximumNumberOfFailedAttempts

Boolean

No

Maximum number of times a user can
enter the wrong password before the
device wipes its data

GracePeriodForPasscodeChange

Numeric

No

Amount of time the user given in order to
meet new passcode policy before
AirWatch revokes corporate resources

MaximumRepeatCharacters

Numeric

No

Maximum number of characters to be
repeated in the passcode

MinimumNumberOfNumericalDigits

Numeric

No

Minimum number of numeric digits
required in the password

MinimumNumberOfLetters

Numeric

No

Minimum number of letters required in
the password

MinimumNumberOfLowerCaseLetters

Numeric

No

Minimum number of lowercase letters
required in the password

MinimumNumberOfUpperCaseLetters

Numeric

No

Minimum number of uppercase letters
required in the password

MinimumNumberOfNonLetters

Numeric

No

Minimum number of non-letter
characters required in the password

MinimumNumberOfSymbols

Numeric

No

Minimum number of symbols required in
the password

MaximumPasscodeAge

Numeric

No

Number of days the passcode can remain
unchanged. After this number of days,
the user is forced to change the passcode
before the device is unlocked

DeviceLockTimeoutInMinutes

Numeric

No

Time in minutes for the device to lock if
no password is entered

PasscodeHistory

Numeric

No

When the user changes the passcode, it
has to be unique within the last entries in
the history

NumberOfTimesAlphabetCanBeRepeated

Numeric

No

Number of times the alphabets can be
repeated in the password

MinimumNumberOfChangedCharactersRequired Numeric

No

Minimum number of changed characters
required in the password

RequireStorageEncryption

Boolean

No

Specifies that the storage area should be
encrypted, if the device supports it

RequireSDCardEncryption

Boolean

No

Specifies that the SD storage area should
be encrypted, if the device supports it

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

809

Chapter 10: Profile Management Version 1 and Version 2

requireStorageEncryptionAlways

Boolean

No

Specifies if the Storage Encryption is
Always required. This tag requires the
"RequireStorageEncryption" tag to be set
to "true"

requireStorageEncryptionNativeEmail

Boolean

No

Specifies if the Storage Encryption is
required on Native Email. This tag
requires the "RequireStorageEncryption"
tag to be set to "true"

Response Payload
XML


Numeric

JSON

{
"Value": Numeric
}

Response Tag Details
Tag

Data type

Description

Long /Value

Numeric

Unique ID of the newly created profile

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

810

Chapter 10: Profile Management Version 1 and Version 2

Create Android Restrictions Profile
Version 1
Functionality – Creates an Android restrictions profile and assigns it to the desired organization groups.
HTTP Method – POST
API URI – https://host/api/mdm/profiles/platforms/android/create
Payload URI – https://host/api/mdm/profiles/platforms/android/payloads/restrictions/getpayloadkeys?contexttype=
{contexttype}

Request Payloads
XML



XML Payload

Boolean
Boolean
Boolean
Boolean
Boolean
Boolean
Boolean
Boolean
Boolean
Boolean
Boolean
Boolean
Boolean
Boolean
Boolean
Boolean
Boolean
Boolean
Boolean
Boolean
Boolean
Boolean
Boolean
Boolean
Boolean

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

811

Chapter 10: Profile Management Version 1 and Version 2

Boolean
Boolean
Boolean
Boolean
Boolean
Boolean
Boolean
Boolean
1
Boolean
Boolean
Boolean
0
Boolean
Boolean
Boolean
Boolean
Boolean
Boolean
Boolean
Boolean
Boolean
Boolean
Boolean

String

Boolean
Boolean
Boolean


Day
KB
0


Boolean
String
Boolean
0
Boolean
Boolean
Boolean
Boolean
Boolean

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

812

Chapter 10: Profile Management Version 1 and Version 2

Boolean
Boolean
Boolean
Boolean
Boolean
Boolean
Boolean
Boolean
Boolean
Boolean
Boolean
Boolean
Boolean
Boolean
Boolean
Boolean
Boolean
Boolean
Boolean
Boolean
Boolean
Boolean
Boolean
Boolean
Boolean
Boolean
Boolean
Boolean
Boolean
Boolean
Boolean



VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

813

Chapter 10: Profile Management Version 1 and Version 2

JSON

{
"Restrictions":
{
"AllowCamera": Boolean,
"AllowMicrophone": Boolean,
"AllowFactoryReset": Boolean,
"AllowAllTethering": Boolean,
"AllowWiFiTethering": Boolean,
"AllowBluetoothTethering": Boolean,
"AllowUSBTethering": Boolean,
"AllowUSBDebugging": Boolean,
"AllowUSBMassStorage": Boolean,
"AllowGoogleBackup": Boolean,
"AllowSDCardAccess": Boolean,
"AllowAccessToDeviceSettings": Boolean,
"AllowScreenCapture": Boolean,
"AllowMockLocations": Boolean,
"AllowClipboard": Boolean,
"AllowUSBMediaPlayer": Boolean,
"AllowBackgroundData": Boolean,
"AllowNFC": Boolean,
"AllowHomeKey": Boolean,
"AllowUsb": Boolean,
"AllowAirplaneMode": Boolean,
"AllowAndroidMarket": Boolean,
"AllowYouTube": Boolean,
"AllowNativeAndroidBrowser": Boolean,
"AllowNonMarketAppInstallation": Boolean,
"AllowVoiceDialer": Boolean,
"AllowBluetooth": Boolean,
"AllowBluetoothDataTransfer": Boolean,
"AllowBluetoothPairing": Boolean,
"AllowBluetoothDiscoverableMode": Boolean,
"AllowBluetoothLimitedDiscoverableMode": Boolean,
"AllowOutgoingCallsViaBluetooth": Boolean,
"AllowDesktopConnectivityViaBluetooth": Boolean,
"DataConnection": 1,
"AllowWiFiProfiles": Boolean,
"AllowWifiChanges": Boolean,
"AllowPromptForCredentials": Boolean,
"MinimumWiFiSecurityLevel": 0,
"AllowAutomaticSyncOnRoaming": Boolean,
"AllowPushMessagesOnRoaming": Boolean,
"AllowDataUsageOnRoaming": Boolean,
"AllowGpsLocationServices": Boolean,
"AllowWirelessNetworkLocationServices": Boolean,
"AllowPassiveLocationServices": Boolean,
"AllowPopUps": Boolean,
"AllowCookies": Boolean,
"EnableAutofill": Boolean,

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

814

Chapter 10: Profile Management Version 1 and Version 2

"EnableJavaScript": Boolean,
"ForceFraudWarning": Boolean,
"BlockedNetworks": ["String"],
"AllowNonEmergencyCalls": Boolean,
"AllowSendingSms": Boolean,
"AllowPopImapEmail": Boolean,
"MaxDataUsageModels": [
{
"AndroidUsageFrequency": "Day",
"Frequency": 0,
"AndroidDataUsageSize": "KB",
"Maximum": 0
}
],
"SetDeviceFont": Boolean,
"FontName": "String",
"SetDeviceFontSize": Boolean,
"FontSize": 0,
"AllowGoogleCrashReport": Boolean,
"AllowOtaUpgrade": Boolean,
"AllowPowerOff": Boolean,
"AllowSdCardWrite": Boolean,
"AllowStatusBar": Boolean,
"AllowWallpaperChange": Boolean,
"AllowNativeVpn": Boolean,
"AllowRoamingVoiceCalls": Boolean,
"AllowAudioRecordingIfMicrophoneIsAllowed": Boolean,
"AllowVideoRecordingIfCameraIsAllowed": Boolean,
"AllowEndingActivityWhenLeftIdle": Boolean,
"AllowUserToSetBackgroundProcessLimit": Boolean,
"AllowUserToSetMobileDataLimit": Boolean,
"AllowSmsWithStorage": Boolean,
"AllowMmsWithStorage": Boolean,
"AllowWapPush": Boolean,
"AllowWifiDirect": Boolean,
"AllowSBeam": Boolean,
"AllowSVoice": Boolean,
"AllowAndroidBeam": Boolean,
"AllowCopyPasteBetweenDifferentApplications": Boolean,
"AllowUserToStopSystemSignedApplications": Boolean,
"AllowUsbHostStorage": Boolean,
"AllowUnsecureWifi": Boolean,
"AllowAutoConnectionWifi": Boolean,
"AllowAccountSettings": Boolean,
"AllowApplicationSettings": Boolean,
"AllowDeveloperOptions": Boolean,
"AllowNotifications": Boolean,
"AllowOnlySecureVPNConnections": Boolean,
"AllowSystemBar": Boolean,
"AllowTaskManager": Boolean,
"AllowMenuKey": Boolean,

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

815

Chapter 10: Profile Management Version 1 and Version 2

"AllowBackKey": Boolean,
"AllowSearchKey": Boolean,
"AllowVolumeKey": Boolean
},
,
"General" : JSON Payload
}

Associated Picklists
Tag

Picklist API URI

FontSize

https://host/api/mdm/picklists/androidfontsize

MinimumWiFiSecurityLevel

https://host/api/mdm/picklists/androidminwifisecurity

DataConnection

https://host/api/mdm/picklists/androidrestrictiondataconnection

Request Tag Details
Tag

Type

Mandatory

Description

General

Tag

Yes

The JSON/XML General payload. Refer
General payload for details

AllowCamera

Boolean

No

When false, the camera is disabled and its
icon is removed from the Home screen.
Users are unable to take photographs

AllowMicrophone

Boolean

No

When false, the device microphone is
disabled on the device

AllowFactoryReset

Boolean

No

When false, disables the user from
manually performing factory reset on the
device

AllowAllTethering

Boolean

No

When false, disables all tethering
functionality

AllowWiFiTethering

Boolean

No

When false, disables Wi-Fi tethering
functionality

AllowBluetoothTethering

Boolean

No

When false, disables Bluetooth tethering
functionality

AllowUSBTethering

Boolean

No

When false, disables USB tethering
functionality

AllowUSBDebugging

Boolean

No

When false, disables copying/processing of
commands between the PC and the Device

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

816

Chapter 10: Profile Management Version 1 and Version 2

AllowUSBMassStorage

Boolean

No

When false, disables users from
sharing/backing up files to the PC using
USB

AllowGoogleBackup

Boolean

No

When false, disables syncing with Google
back up

AllowSDCardAccess

Boolean

No

When false, disables access to the external
SD card

AllowAccessToDeviceSettings

Boolean

No

When false, prevents users from modifying
device settings

AllowScreenCapture

Boolean

No

When false, disables ability to take screen
capture

AllowMockLocations

Boolean

No

When false, disables applications on the
device from modifying the Location data
obtained by the real Location sources

AllowClipboard

Numeric

No

When false, disables copying/pasting data
to the Clipboard

AllowUSBMediaPlayer

Numeric

No

When false, disables usage of the device as
a media player from the bluetooth

AllowBackgroundData

Numeric

No

When false, disables device applications
from accessing other services on the device

AllowNFC

Boolean

No

When false, disables users from sharing
data using the NFC protocol

AllowHomeKey

Boolean

No

When false, disables the use of the device
home key

AllowUsb

Boolean

No

When false, disables users from using the
USB on the device

AllowAirplaneMode

Boolean

No

When false, disables Airplane mode on the
device

AllowAndroidMarket

Boolean

No

When false, disables access to the Google
Play store

AllowYouTube

Boolean

No

When false, disables access to the YouTube
application on the device

AllowNativeAndroidBrowser

Boolean

No

When false, disables the native browser on
the device

AllowNonMarketAppInstallation

Boolean

No

When false, disables installation of
applications outside of the Google Play
Store

AllowVoiceDialer

Boolean

No

When false, disables voice dialer application

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

817

Chapter 10: Profile Management Version 1 and Version 2

AllowBluetooth

Boolean

No

When false, disables bluetooth on the
device

AllowBluetoothDataTransfer

Boolean

No

When false, disables transferring of data
through Bluetooth

AllowBluetoothPairing

Boolean

No

When false, disables bluetooth pairing with
other devices

AllowBluetoothDiscoverableMode

Boolean

No

When false, disables device to be seen by
other devices

AllowBluetoothLimitedDiscoverableMode

Boolean

No

When true, allows devices to be
discoverable only for a limited period of
time

AllowOutgoingCallsViaBluetooth

Boolean

No

When false, disables outgoing calls via
bluetooth

AllowDesktopConnectivityViaBluetooth

Boolean

No

When false, disables the ability of the
device to connect to a desktop using
bluetooth

DataConnection

String

No

Specifies the mode of data access on the
device. The values allowed for this field can
be obtained from the picklist mentioned
above

AllowWiFiProfiles

Boolean

No

When false, disables users from configuring
Wi-Fi networks on the device

AllowWifiChanges

Boolean

No

When false, disables users from modifying
Wi-Fi settings on the device

AllowPromptForCredentials

Boolean

No

When true, enables users to re-enter
credentials

MinimumWiFiSecurityLevel

Numeric

No

Specifies the minimum security level
required to connect to Wi-Fi

AllowAutomaticSyncOnRoaming

Boolean

No

When false, disables Automatic sync when
the device is Roaming

AllowPushMessagesOnRoaming

Boolean

No

When false, disables Push Messaging when
the device is Roaming

AllowDataUsageOnRoaming

Boolean

No

When false, disables mobile data usage
when the device is Roaming

AllowGpsLocationServices

String

No

When false, disables access to GPS location
services on the device

AllowWirelessNetworkLocationServices

Boolean

No

When false, disable the access to wireless
network location services

VMware AirWatch REST API Guide | v.2016.04 | April 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.

818

Chapter 10: Profile Management Version 1 and Version 2

AllowPassiveLocationServices

Boolean

No

When false, disable the passive location
services accessibility

AllowPopUps

Boolean

No

When false, disables Pop ups on the
Android native browser

AllowCookies

Boolean

No

When false, disables storing of cookies on
the Android native browser

EnableAutofill

Boolean

No

When false, disables Autofill on the Android
native browser

EnableJavaScript

Boolean

No

When false, disables execution of
Javascripts on the Android native browser

ForceFraudWarning

Boolean

No

When true, Native browser prevents the
user from accessing websites deemed as
fraudulent or compromised

BlockedNetworks

String
Array

No

Specifies the SSIDs of the blocked Wi-Fi
networks

AllowNonEmergencyCalls

Boolean

No

When false, prevents user from calling NonEmergency phone numbers

AllowSendingSms

Boolean

No

When false, prevents the users from
sending SMS

AllowPopImapEmail

Boolean

No

When false, prevents user from configuring
POP/IMAP mails on the device.

MaxDataUsageModels

Array

No

Specifies the Data usage models set on the
device

AndroidUsageFrequency

String

No

Specifies the time range over which the
data usage is measured. Allowed values are
"Day", "Week", and "Month"

AndroidDataUsageSize

String

No

Specifies the size parameter on which the
data usage will be measured

Maximum

Numeric

No

Specifies the maximum data usage allowed
on the device

SetDeviceFont

Boolean

No

When true, allows user set device font in
the FontName tag

FontName

String

No

Specifies the name of the fo