My VMware Air Watch REST API Guide 9 1
User Manual: Pdf
Open the PDF directly: View PDF .
Page Count: 1240
Download | |
Open PDF In Browser | View 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 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 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 API1 Mobile Device Management Mobile Content Management Mobile Application Management Mobile Email Management Enterprise Integration Services System Administration ...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 String String String String String Numeric String String String Numeric Numeric Numeric Numeric Boolean Boolean 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 XMLJSON { "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 String String String String String Numeric String Numeric String true Boolean 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 XMLVMware 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 String String String String String String String String String Datetime Numeric String String String 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 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 ManagementString String String String String String String String Numeric Datetime Numeric String String String String Numeric 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. 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 String String String Numeric String String String Numeric Numeric Numeric Numeric Boolean Boolean 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 String string 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 Numeric Numeric 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 Boolean 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 String Numeric Numeric Numeric 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 String Numeric Boolean 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 XMLString 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 ManagementNumeric 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 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 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 ManagementNumeric String Numeric String String Boolean String String 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 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 ManagementString String Numeric String String Boolean String Numeric Numeric String String String String auto Numeric Numeric Numeric 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 String String String Numeric String Numeric String Numeric String String Boolean String , if the url has "&", replace it with "&". This prevents from obtaining de-serialization error. Response Payload XML 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 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 ManagementString Numeric Numeric String String Boolean String Numeric Numeric Numeric Numeric 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 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 ManagementNumeric , 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 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 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 ManagementString 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 ManagementNumeric 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 ManagementNumeric 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 ManagementString Numeric 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 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 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 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 VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 132 Chapter 4: Application Management 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 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 ManagementNumeric String Numeric String String String Numeric String String Boolean String String Numeric 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 Numeric String String String 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 XMLString 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 XMLString 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 XMLJSON { "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 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. 156 Chapter 4: Application Management Numeric Numeric Numeric String Datetime String String Boolean String Numeric String 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 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 Numeric Numeric Numeric 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 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 String Datetime Boolean Boolean Boolean Boolean 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 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 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 ManagementString 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 ManagementNumeric 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 ManagementNumeric String String Numeric Numeric Numeric Numeric String String String String String String String String Numeric Numeric String Numeric Numeric String Numeric VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 187 Chapter 4: Application Management Numeric String Numeric 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 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. 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 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. 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 String String String String String String String String String String String String String String String 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 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 ManagementString 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 ManagementString Numeric 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 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 Numeric Numeric Numeric Numeric Datetime String String String String String String 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 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. 213 Chapter 4: Application Management String Numeric String Numeric 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 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 Numeric VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 216 Chapter 4: Application ManagementNumeric Numeric Numeric Numeric String String 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 Numeric 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 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 String Boolean Boolean Boolean Boolean Numeric String String String 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 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 ManagementString Numeric String Numeric String Numeric String Numeric String String Boolean String Numeric String String String String auto Numeric Numeric Numeric 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 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 Numeric String Numeric Numeric Numeric String String Boolean Boolean Boolean 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 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 ManagementBoolean String String String 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 Boolean 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 Numeric Numeric 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 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 VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 239 Chapter 4: Application ManagementNumeric Numeric String Numeric String String Numeric String String 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 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 ManagementString 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 ManagementNumeric Numeric String String String String String String String String Numeric Numeric String Numeric String Numeric String Numeric String String Boolean VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 243 Chapter 4: Application Management String String Numeric 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 String Numeric Boolean Numeric String String String String 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 VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 252 Chapter 4: Application Management Datetime Datetime String 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 Numeric 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 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 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 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", "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 Datetime VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 264 Chapter 5: Content ManagementJSON { "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 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 ManagementDatetime 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 StringString 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 StringString String String String String Boolean Boolean Boolean Numeric 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 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. 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 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 ManagementString Numeric Datetime Datetime 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 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 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 ManagementVMware 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 String String 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 VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 288 Chapter 5: Content ManagementString 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", "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 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 ManagementDatetime 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 Boolean Boolean String 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 String String String String String String Boolean Boolean Boolean String Boolean Boolean String String String String String Numeric Datetime Datetime 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 Boolean Boolean String 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 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 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", "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 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 ManagementVMware 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 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. 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 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. 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 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 VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 313 Chapter 5: Content ManagementString 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 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 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 ManagementString Numeric String String String String Dateime 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 Numeric String 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 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 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 ManagementString Numeric String String String String Dateime 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 Numeric Numeric Numeric Numeric Numeric Boolean 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 String Boolean 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 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 String Boolean Numeric 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 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 String String Boolean String 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 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 ManagementString 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" : [ { "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 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 ManagementString String Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean String Boolean String Boolean Boolean Datetime 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 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 ManagementDatetime 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 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 ManagementNumeric 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 { "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 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 ManagementNumeric Numeric String String String String String String String String String Boolean Boolean Boolean String Boolean Boolean String String String String String Numeric Datetime Datetime 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 ManagementNumeric 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 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 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 String String String String String 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 ManagementJSON {"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 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 Numeric Numeric Numeric String Numeric String String String String Datetime Datetime 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 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 String 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 String Numeric String String 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 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 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 ManagementDatetime String String String Datetime Datetime Datetime Numeric Boolean String String Datetime Datetime unknown Boolean String String Numeric 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 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 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 ManagementBoolean 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. 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 String String Boolean String 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 ManagementNumeric String Numeric Numeric String Datetime 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 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 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. 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 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 Datetime Numeric Numeric Numeric Numeric String 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 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 Datetime Numeric Numeric Numeric Numeric String Numeric 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 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 ManagementString String String String String String String String String String String 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 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 Boolean String String String String String String String String String String 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 String String String String 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 Numeric Numeric 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 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 { "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 Numeric String 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 Boolean Boolean Boolean Boolean Boolean Boolean 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 String 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 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 String String String 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 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 Numeric String Numeric Numeric String 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 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 Numeric Numeric Numeric String Numeric Numeric 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 String String 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 Text value String Numeric Numeric 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 String String 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 Numeric Numeric 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 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 Numeric Numeric 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 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 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 Numeric Numeric Numeric String Numeric 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 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 Numeric Numeric Numeric String Numeric String String Numeric 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 String String String 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 Numeric String 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 String Numeric 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 Datetime Datetime 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 String 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 VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 471 Chapter 6: Device Management Numeric Boolean String String Datetime Datetime String String 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 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 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 ManagementNumeric Numeric 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 VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 481 Chapter 6: Device Management Numeric String String Numeric String Datetime Datetime Boolean String Boolean Datetime String String String Numeric String String Numeric String String String 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 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 ManagementBoolean Boolean Boolean 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 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, "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 Numeric Numeric Numeric String String Numeric String String String Datetime String String 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 Numeric 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 String String String 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 VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 493 Chapter 6: Device Management String String String String String String 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 String 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 Numeric Numeric Numeric String Numeric 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 String 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 Numeric Numeric Numeric String Numeric String String Numeric 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 String String String 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 Boolean Boolean Boolean 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 Numeric 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 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 ManagementString Numeric String String String String String String String Numeric 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 XMLJSON { "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 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 { "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 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 { "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 VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 517 Chapter 6: Device ManagementString 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" : [ 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 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 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 Numeric String String String String String Numeric Numeric Numeric Numeric Numeric Numeric String 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 XMLVMware 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 Numeric Numeric String String String String String Numeric Numeric Numeric Numeric Numeric Numeric String 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 String String String String Boolean String Numeric String String Numeric Numeric String String Numeric 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 XMLJSON { "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 String Boolean String String String Numeric Numeric String String Numeric 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 XMLJSON { "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 Numeric String String String Boolean String String String String String String Numeric String String String 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 String String String String String String Numeric Numeric String Numeric String JSON { "BulkValues":{ "Value":["String"] } } Request Tag Details Tag Mandatory Description Value Yes Unique ID of the newly created enrollment user Response Payload XML 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 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 ManagementNumeric String String Numeric String String 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 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 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 "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 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 ManagementString Boolean String String String String String String String Numeric 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 Numeric String String String String Datetime Datetime Datetime String String String String String 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 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 { "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 Numeric String String Numeric Numeric Numeric 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 String String String Boolean 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 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 ManagementDatetime String String String String String String 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 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 Numeric Numeric String String Numeric String String 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 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 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 { "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 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 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 { "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 String String 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 Numeric Numeric Numeric String Numeric String String Numeric 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 String String 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 Numeric Numeric Numeric String Numeric String String Numeric 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 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 Numeric Numeric Numeric String Numeric String String Numeric String 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 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 ManagementString 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 String String String Numeric 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 Numeric Numeric Numeric 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 Numeric String String 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 String String String String String String 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 XMLJSON { "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 String String String Boolean 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 Numeric 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 String String 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 String String String String Numeric String Datetime Numeric String String String 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 XMLJSON "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 String String String String String Numeric 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 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 ManagementString String String String Datetime Numeric Numeric Numeric Numeric 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 Datetime Numeric String String String 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 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 String String String Boolean String String String String String String Numeric String String String String String 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> Numeric String String String Numeric 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 XMLJSON { "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 Numeric Numeric Numeric 1 Numeric String String String/Numeric Numeric 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 String String String 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 Numeric Numeric 1 Numeric String 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 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 String String 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 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 ManagementNumeric Numeric Numeric Numeric 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 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. 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 String String String String String String String String String String String String String String String String String String 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 Numeric String String String Numeric String 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 String String Numeric Numeric Numeric 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 Numeric String String String String String String String String 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 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 Boolean String 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 Numeric String Numeric Datetime Datetime Numeric Enum Enum Datetime Datetime Numeric Numeric 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 Boolean Numeric Boolean 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 String String 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 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 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 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 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 tag under the General payload. Use the Get Payload Keys API to retrieve the tags to be modified. Request Payload XML 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 XML Payload tag under the General payload. Use the Get Payload Keys API to retrieve the tags to be modified. Request Payload XML 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 XML Payload tag under the General payload. Use the Get Payload Keys API to retrieve the tags to be modified. Request Payload XML 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 XML Payload tag under the General payload. Use the Get Payload Keys API to retrieve the tags to be modified. Request Payload XML 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 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 XML Payload Boolean Boolean Boolean Numeric Numeric Numeric Numeric Numeric Numeric Numeric 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 XMLJSON { "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 XML Payload Boolean Boolean Boolean Integer Integer Integer Integer Integer Integer Integer 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 XMLVMware 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 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 2Boolean 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 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 XMLJSON { "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 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 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 XMLJSON { "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 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 2String Boolean String String 0 String String String false false String String false String String String 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 XMLJSON { "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 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 2String String String Boolean Boolean String String Boolean String String String 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 XMLJSON { "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 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 2String Boolean String String String String String String String Boolean Boolean String 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 XMLJSON { "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 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 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 XMLJSON { "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 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 2String 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 XMLVMware 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 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 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 XMLVMware 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 XML Payload String String Boolean Boolean String String String String String String String Numeric Boolean Boolean Boolean 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 XMLJSON { "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 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 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 XMLJSON { "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 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 2Numeric Numeric Numeric Boolean Boolean Boolean Boolean Numeric Boolean Boolean Boolean Boolean Boolean 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 XMLXML Payload 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 String String Numeric Numeric Numeric String String 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 XMLXML Payload 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 Text value Text value 2147483647 2147483647 2147483647 Text value 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 XMLVMware 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 String Boolean Boolean String String String String String String String Numeric Boolean 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 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 2Numeric Boolean Boolean Numeric 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 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 2Numeric Boolean Boolean Numeric String Boolean Boolean Numeric Numeric Numeric Numeric Numeric Numeric Numeric Boolean Boolean Boolean Boolean Numeric Boolean Boolean Boolean Boolean Boolean XML Payload 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 String String Numeric Numeric Numeric String String 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 XMLXML Payload 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 Text value Text value 2147483647 2147483647 2147483647 Text value 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 XMLJSON { "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 String String 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 XMLJSON { "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 XML Payload String Numeric Numeric String 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 XMLJSON { "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 XML Payload String Numeric Numeric String 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 XMLJSON { "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 XML Payload String Numeric String Numeric Numeric String String 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 XMLJSON { "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 XML Payload String Numeric String Numeric Numeric String String 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 XMLJSON { "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 XML Payload String String 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 XMLsJSON { "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 XML Payload String String 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 XMLJSON { "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 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 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 XMLJSON { "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 XML Payload 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 Numeric Numeric Numeric Numeric Numeric Numeric Numeric Numeric Numeric Numeric Numeric Numeric Numeric Numeric Boolean Boolean Numeric Numeric Boolean Boolean 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 XMLVMware 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 font to be used on the device SetDeviceFontSize Boolean No When true, allows user set device font size in the FontSize tag VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 819 Chapter 10: Profile Management Version 1 and Version 2 FontSize String No Specifies the font Size to be used on the device. The values allowed for this field can be obtained from the picklist mentioned above AllowGoogleCrashReport Boolean No When false, blocks user from accessing the crash reports AllowOtaUpgrade Boolean No When false, disables Over the Air Upgrades AllowPowerOff Boolean No When false, disable the power off mode on the device AllowSdCardWrite Boolean No When false, removes write access on the External SD card AllowStatusBar Boolean No When false, disables access to the device status bar AllowWallpaperChange Boolean No When false, prevents the user from changing the device wallpaper AllowNativeVpn Boolean No When false, prevents users from configuring VPN on the native application AllowRoamingVoiceCalls Boolean No When false, Voice calls are disabled when the device is in Roaming state AllowAudioRecordingIfMicrophoneIsAllowed Boolean No When false, disables Audio recording on the device AllowVideoRecordingIfCameraIsAllowed Boolean No When false, disables video recording on the device AllowEndingActivityWhenLeftIdle Boolean No If true, allows killing of an activity in the background when the device is left idle AllowUserToSetBackgroundProcessLimit Boolean No When false, disables the user from setting the background process limit AllowUserToSetMobileDataLimit Boolean No When false, disables users from setting the Mobile Data Limit on the device AllowSmsWithStorage Boolean No When false, disables the user from setting the storage for SMS AllowMmsWithStorage Boolean No When false, disables the user from setting the storage for MMS AllowWapPush Boolean No When false, disables the device from receiving the WAP push messages AllowWifiDirect Boolean No When false, disables device from connecting to each other without a Wi-Fi access point AllowSBeam Boolean No When false, disables Beam on the device VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 820 Chapter 10: Profile Management Version 1 and Version 2 AllowSVoice Boolean No When false, disables Voice on the device AllowAndroidBeam Boolean No When false, disables Android Beam on the device AllowCopyPasteBetweenDifferentApplications Boolean No When false, disables copying of data between applications AllowUserToStopSystemSignedApplications Boolean No When false, prevents users from stopping system signed applications from all apps list and stopping the system applications from running apps list AllowUsbHostStorage Boolean No When false, disables USB storage on the device AllowUnsecureWifi Boolean No When false, prevents users from connecting to unsecured Wi-Fi AllowAutoConnectionWifi Boolean No When false, prevents devices from auto connecting to Wi-Fi networks AllowAccountSettings Boolean No When false, prevents users from modifying account settings on the device AllowApplicationSettings Boolean No When false, prevents users from modifying application settings on the device AllowDeveloperOptions Boolean No When false, disables developer options on Nook devices AllowNotifications Boolean No When false, disables notifications on the device AllowOnlySecureVPNConnections Boolean No When true, forces devices to make connections to only secure VPNs AllowSystemBar Boolean No When false, disables the System Bar present AllowTaskManager Boolean No When false, prevents user access to the task manager on the device AllowMenuKey Boolean No When false, disables the use of the Menu bar AllowBackKey Boolean No When false,disables the back key on the device AllowSearchKey Boolean No When false, disables the use of the search key on the device AllowVolumeKey Boolean No When false, prevents users from using the Volume hardware key VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 821 Chapter 10: Profile Management Version 1 and Version 2 Response Payload 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 2Boolean 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 Numeric VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 822 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. 823 Chapter 10: Profile Management Version 1 and Version 2 Version 2 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 XMLJSON { "Restrictions": { "AllowCamera": Boolean, "AllowMicrophone": Boolean, "AllowFactoryReset": Boolean, "AllowAllTethering": Boolean, VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 826 Chapter 10: Profile Management Version 1 and Version 2 "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, "EnableJavaScript": Boolean, "ForceFraudWarning": Boolean, "BlockedNetworks": ["String"], "AllowNonEmergencyCalls": Boolean, "AllowSendingSms": Boolean, "AllowPopImapEmail": Boolean, "MaxDataUsageModels": [ { VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 827 Chapter 10: Profile Management Version 1 and Version 2 "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, "AllowBackKey": Boolean, "AllowSearchKey": Boolean, "AllowVolumeKey": Boolean }, , "General" : JSON Payload } VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 828 Chapter 10: Profile Management Version 1 and Version 2 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 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 VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 829 Chapter 10: Profile Management Version 1 and Version 2 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 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 VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 830 Chapter 10: Profile Management Version 1 and Version 2 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 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 VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 831 Chapter 10: Profile Management Version 1 and Version 2 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 font to be used on the device SetDeviceFontSize Boolean No When true, allows user set device font size in the FontSize tag FontSize String No Specifies the font Size to be used on the device. The values allowed for this field can be obtained from the picklist mentioned above AllowGoogleCrashReport Boolean No When false, blocks user from accessing the crash reports AllowOtaUpgrade Boolean No When false, disables Over the Air Upgrades AllowPowerOff Boolean No When false, disable the power off mode on the device AllowSdCardWrite Boolean No When false, removes write access on the External SD card VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 832 Chapter 10: Profile Management Version 1 and Version 2 AllowStatusBar Boolean No When false, disables access to the device status bar AllowWallpaperChange Boolean No When false, prevents the user from changing the device wallpaper AllowNativeVpn Boolean No When false, prevents users from configuring VPN on the native application AllowRoamingVoiceCalls Boolean No When false, Voice calls are disabled when the device is in Roaming state AllowAudioRecordingIfMicrophoneIsAllowed Boolean No When false, disables Audio recording on the device AllowVideoRecordingIfCameraIsAllowed Boolean No When false, disables video recording on the device AllowEndingActivityWhenLeftIdle Boolean No If true, allows killing of an activity in the background when the device is left idle AllowUserToSetBackgroundProcessLimit Boolean No When false, disables the user from setting the background process limit AllowUserToSetMobileDataLimit Boolean No When false, disables users from setting the Mobile Data Limit on the device AllowSmsWithStorage Boolean No When false, disables the user from setting the storage for SMS AllowMmsWithStorage Boolean No When false, disables the user from setting the storage for MMS AllowWapPush Boolean No When false, disables the device from receiving the WAP push messages AllowWifiDirect Boolean No When false, disables device from connecting to each other without a Wi-Fi access point AllowSBeam Boolean No When false, disables Beam on the device AllowSVoice Boolean No When false, disables Voice on the device AllowAndroidBeam Boolean No When false, disables Android Beam on the device AllowCopyPasteBetweenDifferentApplications Boolean No When false, disables copying of data between applications AllowUserToStopSystemSignedApplications Boolean No When false, prevents users from stopping system signed applications from all apps list and stopping the system applications from running apps list AllowUsbHostStorage Boolean No When false, disables USB storage on the device VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 833 Chapter 10: Profile Management Version 1 and Version 2 AllowUnsecureWifi Boolean No When false, prevents users from connecting to unsecured Wi-Fi AllowAutoConnectionWifi Boolean No When false, prevents devices from auto connecting to Wi-Fi networks AllowAccountSettings Boolean No When false, prevents users from modifying account settings on the device AllowApplicationSettings Boolean No When false, prevents users from modifying application settings on the device AllowDeveloperOptions Boolean No When false, disables developer options on Nook devices AllowNotifications Boolean No When false, disables notifications on the device AllowOnlySecureVPNConnections Boolean No When true, forces devices to make connections to only secure VPNs AllowSystemBar Boolean No When false, disables the System Bar present AllowTaskManager Boolean No When false, prevents user access to the task manager on the device AllowMenuKey Boolean No When false, disables the use of the Menu bar AllowBackKey Boolean No When false,disables the back key on the device AllowSearchKey Boolean No When false, disables the use of the search key on the device AllowVolumeKey Boolean No When false, prevents users from using the Volume hardware key Response Payload 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 Boolean Boolean Boolean Boolean VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 824 Chapter 10: Profile Management Version 1 and Version 2Boolean Boolean Boolean Boolean 1 Boolean Boolean Boolean 0 Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean Text Value Boolean Boolean Boolean Day KB 0 Boolean Text Value Boolean 0 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. 825 Chapter 10: Profile Management Version 1 and Version 2Boolean 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 Numeric VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 834 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. 835 Chapter 10: Profile Management Version 1 and Version 2 Create Android Wi-Fi Profile Version 1 Functionality – Creates an Android Wi-Fi 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/wifi/getpayloadkeys?contexttype= {contexttype} Request Payloads XMLVMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 836 Chapter 10: Profile Management Version 1 and Version 2 JSON { "WifiList": [ { "ServiceSetIdentifier": "String", "SecurityType": Numeric, "Password": "String", "SetAsActiveNetwork": Boolean, "HiddenNetwork": Boolean, "UseTwoFactorAuthentication": Boolean, "SFAType": "String", "TFAType": "String", "Identity": "String", "AnonymousIdentity": "String", "EnterpriseUsername": "String", "EnterprisePassword": "String", "IdentityCertificate": "String", "RootCertificate": "String", "TLSTrustedServerNames": ["String"], "TLSTrustedServerFingerPrints": ["String"], "CAPayloadCertificateName": "String" } ], "General" : JSON Payload } Associated Picklists Tag Picklist API URI SecurityType https://host/api/mdm/picklists/androidwifisecuritytype SFAType https://host /api/mdm/picklists/androidwifisfatype TFAType https://host/api/mdm/picklists/androidwifitfatype VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 837 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 ServiceSetIdentifier String No SSID of the Wi-Fi network to be used SecurityType String/Numeric No Security type of the Wi-Fi Network. The allowed values for this tag can be obtained from the SecurityType Picklist SetAsActiveNetwork Boolean No Setting this to true sets the Network as active HiddenNetwork Numeric No By default (false), it is assumed that all configured networks are open or broadcast. To specify a hidden network, must be true UseTwoFactorAuthentication Boolean No Specifies if two layers of authentication protocols need to be used SFAType Boolean No Specifies the Single Factor Authentication type. The allowed values for this tag can be obtained from the Picklist TFAType String Yes (for TTLS=true) Specifies the Single Factor Authentication type.The allowed values for this tag can be obtained from the Picklist Identity Boolean No Provides the user domain name AnonymousIdentity Boolean No Provides the anonymous user domain name EnterpriseUsername Boolean No Specifies the username of the account EnterprisePassword Boolean No Specifies the password of the account IdentityCertificate Boolean No Specifies the name of the identity certificate RootCertificate Boolean No Specifies the name of the root certificate TLSTrustedServerNames Boolean No Provides the name of the TLS Trusted server TLSTrustedServerFingerPrints Boolean No Provides the finger prints of the TLS Trusted server CAPayloadCertificateName String No Provides the name of the CA payload certificate Response Payload XML VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 838 Chapter 10: Profile Management Version 1 and Version 2 XML Payload String Numeric String Boolean Boolean Boolean String String String String String Value String String String String String 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. 839 Chapter 10: Profile Management Version 1 and Version 2 Version 2 Functionality – Creates an Android Wi-Fi 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/wifi/getpayloadkeys?contexttype= {contexttype} Request Payloads XMLVMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 840 Chapter 10: Profile Management Version 1 and Version 2 JSON { "WifiList": [ { "ServiceSetIdentifier": "String", "SecurityType": Numeric, "Password": "String", "SetAsActiveNetwork": Boolean, "HiddenNetwork": Boolean, "UseTwoFactorAuthentication": Boolean, "SFAType": "String", "TFAType": "String", "Identity": "String", "AnonymousIdentity": "String", "EnterpriseUsername": "String", "EnterprisePassword": "String", "IdentityCertificate": "String", "RootCertificate": "String", "TLSTrustedServerNames": ["String"], "TLSTrustedServerFingerPrints": ["String"], "CAPayloadCertificateName": "String" } ], "General" : JSON Payload } Associated Picklists Tag Picklist API URI SecurityType https://host/api/mdm/picklists/androidwifisecuritytype SFAType https://host /api/mdm/picklists/androidwifisfatype TFAType https://host/api/mdm/picklists/androidwifitfatype 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 SecurityType String/Numeric No Security type of the Wi-Fi Network. The allowed values for this tag can be obtained from the SecurityType Picklist SetAsActiveNetwork Boolean Setting this to true sets the Network as active No VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 841 Chapter 10: Profile Management Version 1 and Version 2 HiddenNetwork Numeric No By default (false), it is assumed that all configured networks are open or broadcast. To specify a hidden network, must be true UseTwoFactorAuthentication Boolean No Specifies if two layers of authentication protocols need to be used SFAType Boolean No Specifies the Single Factor Authentication type. The allowed values for this tag can be obtained from the Picklist TFAType String Yes (for TTLS=true) Specifies the Single Factor Authentication type.The allowed values for this tag can be obtained from the Picklist Identity Boolean No Provides the user domain name AnonymousIdentity Boolean No Provides the anonymous user domain name EnterpriseUsername Boolean No Specifies the username of the account EnterprisePassword Boolean No Specifies the password of the account IdentityCertificate Boolean No Specifies the name of the identity certificate RootCertificate Boolean No Specifies the name of the root certificate TLSTrustedServerNames Boolean No Provides the name of the TLS Trusted server TLSTrustedServerFingerPrints Boolean No Provides the finger prints of the TLS Trusted server CAPayloadCertificateName String No Provides the name of the CA payload certificate Response Payload XML XML Payload String Numeric String Boolean Boolean Boolean String String String String String Value String String String String String 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. 842 Chapter 10: Profile Management Version 1 and Version 2 Create Android VPN Profile Version 1 Functionality – Creates an Android VPN 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/vpn/getpayloadkeys?contexttype= {contexttype} Request Payloads XMLVMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 843 Chapter 10: Profile Management Version 1 and Version 2 JSON { "VPN": { "ConnectionType": String, "ConnectionName": String, "Server": String, "UserName": String, "SharedSecret": String, "IKEIdType": Numeric, "IKEIdValue": String, "Encryption": Boolean, "PreSharedKey": String, "PayloadCertificateName": String, "Realm": String, "Role": String, "Password": String, "UseWebLogonForAuthentication": Boolean, "EnableVPNOnDemand": Boolean, "VPNEnabledWrapper" } "General" : JSON Payload } Associated Picklists Tag Picklist API URI IKEIdType https://host/api/mdm/picklists/androidvpnikeidType Request Tag Details Tag Type Mandatory Description General Tag Yes The JSON/XML General payload. Refer General payload for details ConnectionType String Yes Connection type enabled by this policy ConnectionName String Yes Name of the connection displayed on the device Server String Yes Host name or IP address of the server UserName String No Username for authenticating the connection SharedSecret String No Shared secret for the connection IKEIdType Numeric No Unique Internet Key Exchange Id type associated with the connection VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 844 Chapter 10: Profile Management Version 1 and Version 2 IKEIdValue String No Unique Internet Key Exchange Id value associated with the connection Encryption Boolean No Specifies if traffic needs to be encrypted on the connection PreSharedKey String No Specifies the key to be used for preshared key authentication method PayloadCertificateName String No Name of the certificate associated with the payload Realm String No Kerberos realm name Password String No Password for the account UseWebLogonForAuthentication Boolean No Specifies if web logon would be used to create a secure VPN connection EnableVPNOnDemand No Setting to true enables VPN On Demand feature for networks that user certificate based Authentication. Boolean Response Payload XML XML Payload String String String String String Numeric String Boolean String String String String String Boolean Boolean 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. 845 Chapter 10: Profile Management Version 1 and Version 2 Version 2 Functionality – Creates an Android VPN 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/vpn/getpayloadkeys?contexttype= {contexttype} Request Payloads XMLVMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 846 Chapter 10: Profile Management Version 1 and Version 2 JSON { "VPN": { "ConnectionType": String, "ConnectionName": String, "Server": String, "UserName": String, "SharedSecret": String, "IKEIdType": Numeric, "IKEIdValue": String, "Encryption": Boolean, "PreSharedKey": String, "PayloadCertificateName": String, "Realm": String, "Role": String, "Password": String, "UseWebLogonForAuthentication": Boolean, "EnableVPNOnDemand": Boolean, "VPNEnabledWrapper" } "General" : JSON Payload } Associated Picklists Tag Picklist API URI IKEIdType https://host/api/mdm/picklists/androidvpnikeidType Request Tag Details Tag Type Mandatory Description General Tag Yes The JSON/XML General payload. Refer General payload for details ConnectionType String Yes Connection type enabled by this policy ConnectionName String Yes Name of the connection displayed on the device Server String Yes Host name or IP address of the server UserName String No Username for authenticating the connection SharedSecret String No Shared secret for the connection IKEIdType Numeric No Unique Internet Key Exchange Id type associated with the connection VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 847 Chapter 10: Profile Management Version 1 and Version 2 IKEIdValue String No Unique Internet Key Exchange Id value associated with the connection Encryption Boolean No Specifies if traffic needs to be encrypted on the connection PreSharedKey String No Specifies the key to be used for preshared key authentication method PayloadCertificateName String No Name of the certificate associated with the payload Realm String No Kerberos realm name Password String No Password for the account UseWebLogonForAuthentication Boolean No Specifies if web logon would be used to create a secure VPN connection EnableVPNOnDemand No Setting to true enables VPN On Demand feature for networks that user certificate based Authentication. Boolean Response Payload XML XML Payload String String String String String Numeric String Boolean String String String String String Boolean Boolean 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. 848 Chapter 10: Profile Management Version 1 and Version 2 Create Android Email Profile Version 1 Functionality – Creates an Android email 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/email/getpayloadkeys?contexttype= {contexttype} Request Payloads XMLJSON { "EmailList": [ { "EmailAccount": "String", "EmailAddress": "String", "EmailSyncInterval": Numeric, "SendersName": "String", "EmailSignature": "String", "SetAsDefaultAccount": Boolean, "MaxEmailsToShow": Numeric, "AllowAttachments": Boolean, "MaximumAttachmentSizeMb": Numeric, "UseSSL": Boolean, "UseTLS": Boolean, "IncomingMailServerProtocol": "String", "IncomingMailServerHostName": "String", "IncomingMailServerPortNumber": Numeric, "IncomingMailServerUsername": "String", "IncomingMailServerPassword": "String", "IncomingMailServerPathPrefix": "String", "IgnoreSSLErrorsForIncomingEmail": Boolean, "OutgoingMailServerUseSSL": Boolean, "OutgoingMailServerUseTLS": Boolean, "OutgoingMailServerProtocol": "String", "OutgoingMailServerHostname": "String", "OutgoingMailServerPortNumber": Numeric, "OutgoingMailServerUsername": "String", "OutgoingMailServerPassword": "String", "OutgoingMailServerPathPrefix": "String", "IgnoreSSLErrorsForOutgoingEmail": Boolean } ], "General" : JSON Payload } VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 850 Chapter 10: Profile Management Version 1 and Version 2 Associated Picklists Tag Picklist API URI EmailSyncInterval https://host/api/mdm/picklists/androidemailsyncintervals IncomingMailServerProtocol https://host/api/mdm/picklists/androidincomingmailserverprotocol MaxEmailsToShow https://host/api/mdm/picklists/androidmaxmailstoshow OutgoingMailServerProtocol https://host/api/mdm/picklists/androidoutgoingmailserverprotocol Request Tag Details Tag Type Mandatory Description General Tag (XML/JSON) Yes The JSON/XML General payload. Refer General Payload page for payload details EmailAccount String No Name of the email account EmailAddress String No Email Address of the account. Supports look up values EmailSyncInterval Numeric No Email Sync interval frequency in minutes. The values allowed for this field can be obtained from the picklist mentioned above SendersName String No Display name of the user sending an email EmailSignature String No User signature of the email SetAsDefaultAccount Boolean No Setting this field to true, designates the account as Default MaxEmailsToShow Boolean No Maximum emails that could shown to the email client. The values allowed for this field can be obtained from the picklist mentioned above AllowAttachments Boolean No Specifies if attachments are allowed in an email MaximumAttachmentSizeMb Numeric No Maximum size of an email attachment. It is specified in MB UseSSL Boolean No Specifies if the communication happens through the SSL UseTLS Boolean No Specifies if the communication happens through the TLS IncomingMailServerProtocol String No Protocol used for incoming mail. The values allowed for this field can be obtained from the picklist mentioned above IncomingMailServerHostName String No Incoming mail server host name (or IP address) IncomingMailServerPortNumber Numeric No Incoming mail server port number VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 851 Chapter 10: Profile Management Version 1 and Version 2 IncomingMailServerUsername String No User name for the incoming mail server IncomingMailServerPassword String No Password for the Incoming Mail Server IncomingMailServerPathPrefix String No Incoming server's path prefix for accessing the account IgnoreSSLErrorsForIncomingEmail Boolean No If true, allows the device to ignore SSL certificate errors OutgoingMailServerUseSSL Boolean No Specifies if the communication happens through the SSL OutgoingMailServerUseTLS Boolean No Specifies if the communication happens through the TLS PreventUseInThirdPartyApps Boolean No If true, this account is not available for sending mail in third-party applications OutgoingMailServerProtocol String No Protocol used for outgoing mail. The values allowed for this field can be obtained from the picklist mentioned above OutgoingMailServerHostname String No Incoming mail server host name (or IP address) OutgoingMailServerPortNumber Numeric No Incoming mail server port number OutgoingMailServerUsername String No User name for the outgoing mail server OutgoingMailServerPassword String No Password for the outgoing mail server OutgoingMailServerPathPrefix String No Outgoing server's path prefix for accessing the account No If true, allows the device to ignore SSL certificate errors IgnoreSSLErrorsForOutgoingEmail Boolean Response Payload XML XML Payload String String Numeric String String Boolean Numeric Boolean Numeric Boolean Boolean String String Numeric String String String Boolean Boolean Boolean String String Numeric String VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 849 Chapter 10: Profile Management Version 1 and Version 2String String Boolean Numeric VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 852 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. 853 Chapter 10: Profile Management Version 1 and Version 2 Version 2 Functionality – Creates an Android email 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/email/getpayloadkeys?contexttype= {contexttype} Request Payloads XMLJSON { "EmailList": [ { "EmailAccount": "String", "EmailAddress": "String", "EmailSyncInterval": Numeric, "SendersName": "String", "EmailSignature": "String", "SetAsDefaultAccount": Boolean, "MaxEmailsToShow": Numeric, "AllowAttachments": Boolean, "MaximumAttachmentSizeMb": Numeric, "UseSSL": Boolean, "UseTLS": Boolean, "IncomingMailServerProtocol": "String", "IncomingMailServerHostName": "String", "IncomingMailServerPortNumber": Numeric, "IncomingMailServerUsername": "String", "IncomingMailServerPassword": "String", "IncomingMailServerPathPrefix": "String", "IgnoreSSLErrorsForIncomingEmail": Boolean, "OutgoingMailServerUseSSL": Boolean, "OutgoingMailServerUseTLS": Boolean, "OutgoingMailServerProtocol": "String", "OutgoingMailServerHostname": "String", "OutgoingMailServerPortNumber": Numeric, "OutgoingMailServerUsername": "String", "OutgoingMailServerPassword": "String", "OutgoingMailServerPathPrefix": "String", "IgnoreSSLErrorsForOutgoingEmail": Boolean } ], "General" : JSON Payload } Associated Picklists Tag Picklist API URI EmailSyncInterval https://host/api/mdm/picklists/androidemailsyncintervals IncomingMailServerProtocol https://host/api/mdm/picklists/androidincomingmailserverprotocol VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 855 Chapter 10: Profile Management Version 1 and Version 2 MaxEmailsToShow https://host/api/mdm/picklists/androidmaxmailstoshow OutgoingMailServerProtocol https://host/api/mdm/picklists/androidoutgoingmailserverprotocol Request Tag Details Tag Type Mandatory Description General Tag (XML/JSON) Yes The JSON/XML General payload. Refer General Payload page for payload details EmailAccount String No Name of the email account EmailAddress String No Email Address of the account. Supports look up values EmailSyncInterval Numeric No Email Sync interval frequency in minutes. The values allowed for this field can be obtained from the picklist mentioned above SendersName String No Display name of the user sending an email EmailSignature String No User signature of the email SetAsDefaultAccount Boolean No Setting this field to true, designates the account as Default MaxEmailsToShow Boolean No Maximum emails that could shown to the email client. The values allowed for this field can be obtained from the picklist mentioned above AllowAttachments Boolean No Specifies if attachments are allowed in an email MaximumAttachmentSizeMb Numeric No Maximum size of an email attachment. It is specified in MB UseSSL Boolean No Specifies if the communication happens through the SSL UseTLS Boolean No Specifies if the communication happens through the TLS IncomingMailServerProtocol String No Protocol used for incoming mail. The values allowed for this field can be obtained from the picklist mentioned above IncomingMailServerHostName String No Incoming mail server host name (or IP address) IncomingMailServerPortNumber Numeric No Incoming mail server port number IncomingMailServerUsername String No User name for the incoming mail server IncomingMailServerPassword String No Password for the Incoming Mail Server IncomingMailServerPathPrefix String No Incoming server's path prefix for accessing the account VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 856 Chapter 10: Profile Management Version 1 and Version 2 IgnoreSSLErrorsForIncomingEmail Boolean No If true, allows the device to ignore SSL certificate errors OutgoingMailServerUseSSL Boolean No Specifies if the communication happens through the SSL OutgoingMailServerUseTLS Boolean No Specifies if the communication happens through the TLS PreventUseInThirdPartyApps Boolean No If true, this account is not available for sending mail in third-party applications OutgoingMailServerProtocol String No Protocol used for outgoing mail. The values allowed for this field can be obtained from the picklist mentioned above OutgoingMailServerHostname String No Incoming mail server host name (or IP address) OutgoingMailServerPortNumber Numeric No Incoming mail server port number OutgoingMailServerUsername String No User name for the outgoing mail server OutgoingMailServerPassword String No Password for the outgoing mail server OutgoingMailServerPathPrefix String No Outgoing server's path prefix for accessing the account No If true, allows the device to ignore SSL certificate errors IgnoreSSLErrorsForOutgoingEmail Boolean Response Payload XML XML Payload String String Numeric String String Boolean Numeric Boolean Numeric Boolean Boolean String String Numeric String String String Boolean Boolean Boolean String String Numeric String String String Boolean VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 854 Chapter 10: Profile Management Version 1 and Version 2 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. 857 Chapter 10: Profile Management Version 1 and Version 2 Create Android EAS Profile Version 1 Functionality – Creates an Android Exchange ActiveSync (EAS) profile and assigns it to the desired organization group. HTTP Method – POST API URI – https://host/api/mdm/profiles/platforms/android/create Payload URI – https://host/api/mdm/profiles/platforms/android/payloads/exchangeactivesync/getpayloadkeys?contexttype= {contexttype} Request Payloads XMLJSON { "ExchangeActiveSync": { "MailClient": Numeric, VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 860 Chapter 10: Profile Management Version 1 and Version 2 "AccountName": "String", "ExchangeActiveSyncHost": "String", "IgnoreSSLErrors": Boolean, "UseSSL": Boolean, "MakeThisAccountDefaultAccount": Boolean, "Domain": "String", "User": "String", "EmailAddress": "String", "Password": "String", "IdentityCertificate": "String", "PastDaysOfMailToSync": Numeric, "SyncInterval": Numeric, "PastDaysOfCalendarToSync": Numeric, "SyncMail": Boolean, "AllowSyncCalendar": Boolean, "AllowSyncContacts": Boolean, "AllowSyncTasks": Boolean, "EnableHTMLEmail": Boolean, "EmailSignature": "String", "ContactsApplication": Numeric, "CalendarApplication": Numeric, "RequirePasscode": Boolean, "AuthenticationType": Numeric, "PasscodeComplexity": Numeric, "MinimumPasscodeLength": Numeric, "MinimumNumberOfComplexCharacters": Numeric, "MaximumPasscodeAge": Numeric, "PasscodeHistory": Numeric, "AutoLockMinutes": Numeric, "AutoLockWhenDeviceLocks": Boolean, "MaximumNumberOfFailedAttempts": Numeric, "AllowCopyPaste": Boolean, "AllowAttachments": Boolean, "MaximumAttachmentSizeMb": Numeric, "RestrictAttachmentsToBeOpenedInFollowingApps": Boolean, "Applications": ["String"], "RestrictDomains": Boolean, "RestrictionType": Numeric, "DomainName": ["String"], "UsingEnterpriseLicenseKey": Boolean, "MaximumEmailTruncationSizeKb": Numeric, "RequireManualSyncWhenRoaming": Boolean, "RequireDeviceEncryption": Boolean, "RequireSDCardEncryption": Boolean, "EnableSignatureEditing": Boolean, "SamsungSyncInterval": Numeric, "SamsungPeakDays": Numeric, "PeakStartTime": Numeric, "PeakEndTime": Numeric, "SyncSchedulePeak": Numeric, "SyncScheduleOffPeak": Numeric, VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 861 Chapter 10: Profile Management Version 1 and Version 2 "SamsungSenderName": "String", "SamsungUseSSL": Boolean, "AlwaysVibrateOnEmailNotification": Boolean, "VibrateOnNotificationWhenSettingIsSetToSilent": Boolean, "DefaultAccount": Boolean, "UseTLS": Boolean, "EnableSecurityRestrictions": Boolean, "DisableCopyingDataToPhonebook": Boolean, "AllowSDCard": Boolean, "AllowWidgets": Boolean, "AllowEmailWidget": Boolean, "AllowCalendarWidget": Boolean, "AllowTaskWidget": Boolean, "AllowUniversalWidget": Boolean, "ShowDataOnLockScreenWidgets": Boolean, "AllowSpeechNotifications": Boolean, "ShowEmailInfoOnNotificationBar": Boolean, "ShowCalendarInfoOnNotificationBar": Boolean, "ShowTaskInfoOnNotificationBar": Boolean, "DisableDataBackup": Boolean, "DisableSettingsBackup": Boolean, "HTCUseSSL": Boolean, "AllowSyncEmail": Boolean, "NativeClientOverride": Boolean, "EnableAttachmentEncryption": Boolean, "AttachmentRestrictedAppList": "String", "UseSMIME": Boolean, "SMIMECertPayloadName": "String", "RequireSMIMEMessages": Boolean, "RequireSignedSMIME": Boolean, "AllowEmailForwarding": Boolean, "AllowHTMLFormat": Boolean, "AwEmailClientMaxEmailAgeFilter": Numeric, "AwEmailClientSyncInterval": Numeric, "WhiteListBlackListDomainName": "String", "SuppressApplicationPIN": Boolean, "MigrationHost": "String", "LicenseKey": "String", "AllowPersonalAndWorkContactsCombined": Boolean, "AllowImportExport": Boolean, "ShowCorporateContactsDetailsOnIncomingCalls": Boolean, "AllowPersonalAndWorkCalendarsCombined": Boolean, "Sunday": Boolean, "Monday": Boolean, "Tuesday": Boolean, "Wednesday": Boolean, "Thursday": Boolean, "Friday": Boolean, "Saturday": Boolean }, "General": JSON Payload VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 862 Chapter 10: Profile Management Version 1 and Version 2 } Associated Picklists Tag Picklist API URI AuthenticationType /api/mdm/picklists/androideasauthenticationtype AutoLockMinutes /api/mdm/picklists/androideasautolock CalendarApplication /api/mdm/picklists/androideascalendarapplication ContactsApplication /api/mdm/picklists/androideascontactsapplication MailClient /api/mdm/picklists/androideasmailclient MaximumPasscodeAge /api/mdm/picklists/androideasmaximumpasscodeage MinimumPasscodeLength /api/mdm/picklists/androideasminimumpasscodelength PasscodeComplexity /api/mdm/picklists/androideaspasscodecomplexity PastDaysOfMailToSync /api/mdm/picklists/androideaspastdaysofmailtosync PastDaysOfCalendarToSync /api/mdm/picklists/androideaspastdaysofcalendartosync PeakStartTime/PeakEndTime /api/mdm/picklists/androideaspeaktime RestrictionType /api/mdm/picklists/androideasrestrictiontype SyncInterval /api/mdm/picklists/androideassyncinterval SyncSchedulePeak/SyncScheduleOffPeak /api/mdm/picklists/androideassyncschedule Request Tag Details Tag Type Mandatory Description MailClient Numeric Yes Mail client for which email needs to be configured AccountName String No Name of the Exchange Active Sync account ExchangeActiveSyncHost Boolean Yes Public host name of the email server IgnoreSSLErrors Boolean No Setting to true allows the device to ignore SSL error for agent processes UseSSL Boolean No Setting to true routes all communications through the secure socket layer MakeThisAccountDefaultAccount Boolean No Setting to true sets the account as the default account VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 863 Chapter 10: Profile Management Version 1 and Version 2 Domain String No Domain name for the account. This field accepts look-up values User String No User name for the account. This field accepts look-up values EmailAddress String No Email address for the account. This field accepts look-up values Password String No Password for the email account IdentityCertificate String No Name of the identity certificate used with the payload PastDaysOfMailToSync Numeric No Number of days of mail synchronization. The allowed values for this field can be obtained from the picklist URI mentioned above SyncInterval Numeric No Mail synchronization interval. 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 SyncMail Numeric No Setting to false disables syncing of Emails AllowSyncCalendar Boolean No Setting to false disables syncing of Calendar AllowSyncContacts Boolean No Setting to false disables syncing of Contacts AllowSyncTasks Boolean No Setting to false disables syncing of tasks EnableHTMLEmail Boolean No Specifies if HTML Email is enabled on the device EmailSignature String No Specifies the signature for the Emails. ContactsApplication Numeric No Specifies the Client used for storing Email Contacts.The allowed values for this field can be obtained from the picklist URI mentioned above CalendarApplication Numeric No Specifies the Client used for storing Email Contacts.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. 864 Chapter 10: Profile Management Version 1 and Version 2 RequirePasscode Boolean No Specifies if passcode is needed to access the Email client. AuthenticationType Numeric No Specifies the Authentication type to be used with the mail client.The allowed values for this field can be obtained from the picklist URI mentioned above PasscodeComplexity Numeric No Specifies whether the passcode set on the device will be simple or complex.The allowed values for this field can be obtained from the picklist URI mentioned above MinimumPasscodeLength Numeric No Specifies the minimum passcode length.The allowed values for this field can be obtained from the picklist URI mentioned above MinimumNumberOfComplexCharacters Numeric No Specifies the 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 Specifies in days the passcode age before it is expired.The allowed values for this field can be obtained from the picklist URI mentioned above PasscodeHistory Numeric No When the user changes the passcode, it has to be unique within the last N entries in the history AutoLockMinutes Numeric No Specifies in minutes the time after which the Email client will be locked after the idle period. AutoLockWhenDeviceLocks Boolean No If true, locks the email client when the device is locked MaximumNumberOfFailedAttempts Numeric No Maximum number of times an incorrect passcode can be given on the client before all corporate data is erased AllowCopyPaste Boolean No If true, allows copying content on to the clipboard AllowAttachments Boolean No If true, allows attachments on mails MaximumAttachmentSizeMb Numeric No Maximum email attachment size in MB VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 865 Chapter 10: Profile Management Version 1 and Version 2 RestrictAttachmentsToBeOpenedInFollowingApps Boolean No Setting this value to true, allows attachments to be opened only in the application specified in the XML Payload Numeric String String false Boolean Boolean String String String String String Numeric Numeric Numeric Boolean Boolean Boolean Boolean Boolean Text Value Numeric Numeric Boolean Numeric VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 858 Chapter 10: Profile Management Version 1 and Version 2Numeric Numeric Numeric Numeric Numeric Numeric Boolean Numeric Boolean Boolean Numeric Boolean String Boolean Numeric String Boolean Numeric Boolean Boolean Boolean Boolean Numeric Numeric Numeric Numeric Numeric Numeric String 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. 859 Chapter 10: Profile Management Version 1 and Version 2Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean String Boolean String Boolean Boolean Boolean Boolean Numeric String Boolean String String Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean tag Applications String No Application's bundle ID in which the email attachments are opened RestrictDomains Boolean No Setting this value to true allows the admin to restrict the domain specified in the tag RestrictionType Numeric No Specifies if the domain specified in the tag is Whitelisted or Blacklisted.The allowed values for this field can be obtained from the picklist URI mentioned above DomainName String No Domain name that has been Blacklisted or Whitelisted. UsingEnterpriseLicenseKey Boolean No License Key, when applied will unlock touchdown MaximumEmailTruncationSizeKb Numeric No The size beyond which e-mail messages are truncated when they are synchronized to the mobile phone RequireManualSyncWhenRoaming Boolean No When set to true, the email needs to be synchronized manually by the device user when the device is roaming. RequireDeviceEncryption Boolean No Device encryption required for Touchdown access RequireSDCardEncryption Boolean No SD card encryption required for Touchdown access EnableSignatureEditing Boolean No Setting this field to false, disables editing of email signature SamsungSyncInterval Numeric No Mail synchronization interval. The allowed values for this field can be obtained from the picklist URI mentioned above PeakStartTime Numeric No Start time of the peak interval for email sync. 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. 866 Chapter 10: Profile Management Version 1 and Version 2 PeakEndTime Numeric No End time of the peak interval for email sync. The allowed values for this field can be obtained from the picklist URI mentioned above SyncSchedulePeak Numeric No Email sync schedule during peak intervals. The allowed values for this field can be obtained from the picklist URI mentioned above SyncScheduleOffPeak Numeric No Email sync schedule during off-peak intervals. The allowed values for this field can be obtained from the picklist URI mentioned above SamsungSenderName String No Name of the sender of the email SamsungUseSSL Boolean No Setting to true, routes all communications through the secure socket layer AlwaysVibrateOnEmailNotification Boolean No Setting to true, notifies the user of a new email with device vibration VibrateOnNotificationWhenSettingIsSetToSilent Boolean No Setting to true, notifies the user of a new email with device vibration when the device is in the silent mode DefaultAccount Boolean No Setting to true, sets the current account to default. UseTLS Boolean No Setting to true, routes traffic using the TLS protocol. EnableSecurityRestrictions Boolean No Security restrictions will be enabled on the mail client DisableCopyingDataToPhonebook Boolean No If true, disables copying contact data to the Phone Book. AllowSDCard Boolean No SD card can be allowed on the device AllowWidgets Boolean No If false, widgets will be blocked on the device AllowEmailWidget Boolean No If false, email widgets will be blocked on the device AllowCalendarWidget Boolean No If false, calendar widgets will be blocked on the device AllowTaskWidget Boolean No If false, task widgets will be blocked on the device AllowUniversalWidget Boolean No If false, the universal widget will be blocked on the device VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 867 Chapter 10: Profile Management Version 1 and Version 2 ShowDataOnLockScreenWidgets Boolean No If false, disables email data on the lock screen widgets AllowSpeechNotifications Boolean No If false, disables speech notifications ShowEmailInfoOnNotificationBar Boolean No If false, blocks the display of email information on the notifications bar ShowCalendarInfoOnNotificationBar Boolean No If false, blocks the display of calendar information on the notifications bar ShowTaskInfoOnNotificationBar Boolean No If false, blocks the display of task information on the notifications bar DisableDataBackup Boolean No If false, disables backing up of data to the SD card DisableSettingsBackup Boolean No If false, disables backing up of EAS settings to the SD card HTCUseSSL Boolean No Setting to true, routes all communications through the secure socket layer EnableAttachmentEncryption Boolean No Setting to true, encrypts email attachments AttachmentRestrictedAppList String No Bundle ID of the application on which email attachments may be opened UseSMIME Boolean No Device user's S/MIME credentials to be used SMIMECertPayloadName String No Name of the S/MIME certificate RequireSMIMEMessages Boolean No Specifies if messages are encrypted using S/MIME certificates RequireSignedSMIME Boolean No Specifies if messages are signed using S/MIME certificates AllowEmailForwarding Boolean No Specifies if the device user may forward emails to other accounts AllowHTMLFormat Boolean No Specifies if HTML Email is enabled on the device AwEmailClientMaxEmailAgeFilter Numeric No Maximum number of days to synchronize past events. AwEmailClientSyncInterval Numeric No Email synchronization interval WhiteListBlackListDomainName String No Domain name which are blacklisted/ whitelisted. VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 868 Chapter 10: Profile Management Version 1 and Version 2 SuppressApplicationPIN Boolean No If set to true, the application will not show a PIN prompt if you don't want EAS PIN to be enforced by Touchdown. MigrationHost String No Specifies the name of the mail server that the device is migrating from if this EAS account is already configured on the device. LicenseKey String No The License Key when applied Unlocks Touchdown AllowImportExport Boolean No If false, disables import/export of contacts Sunday Boolean No Select Sunday as a peak day for Sync Schedule Monday Boolean No Select Monday as a peak day for Sync Schedule Tuesday Boolean No Select Tuesday as a peak day for Sync Schedule Wednesday Boolean No Select Wednesday as a peak day for Sync Schedule Thursday Boolean No Select Thursday as a peak day for Sync Schedule Friday Boolean No Select Friday as a peak day for Sync Schedule Saturday Boolean No Select Saturday as a peak day for Sync Schedule Request Tag Details XML Numeric VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 869 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. 870 Chapter 10: Profile Management Version 1 and Version 2 Version 2 Functionality – Creates an Android Exchange ActiveSync (EAS) profile and assigns it to the desired organization group. HTTP Method – POST API URI – https://host/api/mdm/profiles/platforms/android/create Payload URI – https://host/api/mdm/profiles/platforms/android/payloads/exchangeactivesync/getpayloadkeys?contexttype= {contexttype} Request Payloads XMLJSON { "ExchangeActiveSync": { "MailClient": Numeric, "AccountName": "String", "ExchangeActiveSyncHost": "String", "IgnoreSSLErrors": Boolean, "UseSSL": Boolean, VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 873 Chapter 10: Profile Management Version 1 and Version 2 "MakeThisAccountDefaultAccount": Boolean, "Domain": "String", "User": "String", "EmailAddress": "String", "Password": "String", "IdentityCertificate": "String", "PastDaysOfMailToSync": Numeric, "SyncInterval": Numeric, "PastDaysOfCalendarToSync": Numeric, "SyncMail": Boolean, "AllowSyncCalendar": Boolean, "AllowSyncContacts": Boolean, "AllowSyncTasks": Boolean, "EnableHTMLEmail": Boolean, "EmailSignature": "String", "ContactsApplication": Numeric, "CalendarApplication": Numeric, "RequirePasscode": Boolean, "AuthenticationType": Numeric, "PasscodeComplexity": Numeric, "MinimumPasscodeLength": Numeric, "MinimumNumberOfComplexCharacters": Numeric, "MaximumPasscodeAge": Numeric, "PasscodeHistory": Numeric, "AutoLockMinutes": Numeric, "AutoLockWhenDeviceLocks": Boolean, "MaximumNumberOfFailedAttempts": Numeric, "AllowCopyPaste": Boolean, "AllowAttachments": Boolean, "MaximumAttachmentSizeMb": Numeric, "RestrictAttachmentsToBeOpenedInFollowingApps": Boolean, "Applications": ["String"], "RestrictDomains": Boolean, "RestrictionType": Numeric, "DomainName": ["String"], "UsingEnterpriseLicenseKey": Boolean, "MaximumEmailTruncationSizeKb": Numeric, "RequireManualSyncWhenRoaming": Boolean, "RequireDeviceEncryption": Boolean, "RequireSDCardEncryption": Boolean, "EnableSignatureEditing": Boolean, "SamsungSyncInterval": Numeric, "SamsungPeakDays": Numeric, "PeakStartTime": Numeric, "PeakEndTime": Numeric, "SyncSchedulePeak": Numeric, "SyncScheduleOffPeak": Numeric, "SamsungSenderName": "String", "SamsungUseSSL": Boolean, "AlwaysVibrateOnEmailNotification": Boolean, "VibrateOnNotificationWhenSettingIsSetToSilent": Boolean, VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 874 Chapter 10: Profile Management Version 1 and Version 2 "DefaultAccount": Boolean, "UseTLS": Boolean, "EnableSecurityRestrictions": Boolean, "DisableCopyingDataToPhonebook": Boolean, "AllowSDCard": Boolean, "AllowWidgets": Boolean, "AllowEmailWidget": Boolean, "AllowCalendarWidget": Boolean, "AllowTaskWidget": Boolean, "AllowUniversalWidget": Boolean, "ShowDataOnLockScreenWidgets": Boolean, "AllowSpeechNotifications": Boolean, "ShowEmailInfoOnNotificationBar": Boolean, "ShowCalendarInfoOnNotificationBar": Boolean, "ShowTaskInfoOnNotificationBar": Boolean, "DisableDataBackup": Boolean, "DisableSettingsBackup": Boolean, "HTCUseSSL": Boolean, "AllowSyncEmail": Boolean, "NativeClientOverride": Boolean, "EnableAttachmentEncryption": Boolean, "AttachmentRestrictedAppList": "String", "UseSMIME": Boolean, "SMIMECertPayloadName": "String", "RequireSMIMEMessages": Boolean, "RequireSignedSMIME": Boolean, "AllowEmailForwarding": Boolean, "AllowHTMLFormat": Boolean, "AwEmailClientMaxEmailAgeFilter": Numeric, "AwEmailClientSyncInterval": Numeric, "WhiteListBlackListDomainName": "String", "SuppressApplicationPIN": Boolean, "MigrationHost": "String", "LicenseKey": "String", "AllowPersonalAndWorkContactsCombined": Boolean, "AllowImportExport": Boolean, "ShowCorporateContactsDetailsOnIncomingCalls": Boolean, "AllowPersonalAndWorkCalendarsCombined": Boolean, "Sunday": Boolean, "Monday": Boolean, "Tuesday": Boolean, "Wednesday": Boolean, "Thursday": Boolean, "Friday": Boolean, "Saturday": Boolean }, "General": JSON Payload } VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 875 Chapter 10: Profile Management Version 1 and Version 2 Associated Picklists Tag Picklist API URI AuthenticationType /api/mdm/picklists/androideasauthenticationtype AutoLockMinutes /api/mdm/picklists/androideasautolock CalendarApplication /api/mdm/picklists/androideascalendarapplication ContactsApplication /api/mdm/picklists/androideascontactsapplication MailClient /api/mdm/picklists/androideasmailclient MaximumPasscodeAge /api/mdm/picklists/androideasmaximumpasscodeage MinimumPasscodeLength /api/mdm/picklists/androideasminimumpasscodelength PasscodeComplexity /api/mdm/picklists/androideaspasscodecomplexity PastDaysOfMailToSync /api/mdm/picklists/androideaspastdaysofmailtosync PastDaysOfCalendarToSync /api/mdm/picklists/androideaspastdaysofcalendartosync PeakStartTime/PeakEndTime /api/mdm/picklists/androideaspeaktime RestrictionType /api/mdm/picklists/androideasrestrictiontype SyncInterval /api/mdm/picklists/androideassyncinterval SyncSchedulePeak/SyncScheduleOffPeak /api/mdm/picklists/androideassyncschedule Request Tag Details Tag Type Mandatory Description MailClient Numeric Yes Mail client for which email needs to be configured AccountName String No Name of the Exchange Active Sync account ExchangeActiveSyncHost Boolean Yes Public host name of the email server IgnoreSSLErrors Boolean No Setting to true allows the device to ignore SSL error for agent processes UseSSL Boolean No Setting to true routes all communications through the secure socket layer MakeThisAccountDefaultAccount Boolean No Setting to true sets the account as the default account Domain String No Domain name for the account. 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. 876 Chapter 10: Profile Management Version 1 and Version 2 User String No User name for the account. This field accepts look-up values EmailAddress String No Email address for the account. This field accepts look-up values Password String No Password for the email account IdentityCertificate String No Name of the identity certificate used with the payload PastDaysOfMailToSync Numeric No Number of days of mail synchronization. The allowed values for this field can be obtained from the picklist URI mentioned above SyncInterval Numeric No Mail synchronization interval. 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 SyncMail Numeric No Setting to false disables syncing of Emails AllowSyncCalendar Boolean No Setting to false disables syncing of Calendar AllowSyncContacts Boolean No Setting to false disables syncing of Contacts AllowSyncTasks Boolean No Setting to false disables syncing of tasks EnableHTMLEmail Boolean No Specifies if HTML Email is enabled on the device EmailSignature String No Specifies the signature for the Emails. ContactsApplication Numeric No Specifies the Client used for storing Email Contacts.The allowed values for this field can be obtained from the picklist URI mentioned above CalendarApplication Numeric No Specifies the Client used for storing Email Contacts.The allowed values for this field can be obtained from the picklist URI mentioned above RequirePasscode Boolean No Specifies if passcode is needed to access the Email client. VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 877 Chapter 10: Profile Management Version 1 and Version 2 AuthenticationType Numeric No Specifies the Authentication type to be used with the mail client.The allowed values for this field can be obtained from the picklist URI mentioned above PasscodeComplexity Numeric No Specifies whether the passcode set on the device will be simple or complex.The allowed values for this field can be obtained from the picklist URI mentioned above MinimumPasscodeLength Numeric No Specifies the minimum passcode length.The allowed values for this field can be obtained from the picklist URI mentioned above MinimumNumberOfComplexCharacters Numeric No Specifies the 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 Specifies in days the passcode age before it is expired.The allowed values for this field can be obtained from the picklist URI mentioned above PasscodeHistory Numeric No When the user changes the passcode, it has to be unique within the last N entries in the history AutoLockMinutes Numeric No Specifies in minutes the time after which the Email client will be locked after the idle period. AutoLockWhenDeviceLocks Boolean No If true, locks the email client when the device is locked MaximumNumberOfFailedAttempts Numeric No Maximum number of times an incorrect passcode can be given on the client before all corporate data is erased AllowCopyPaste Boolean No If true, allows copying content on to the clipboard AllowAttachments Boolean No If true, allows attachments on mails MaximumAttachmentSizeMb Numeric No Maximum email attachment size in MB VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 878 Chapter 10: Profile Management Version 1 and Version 2 RestrictAttachmentsToBeOpenedInFollowingApps Boolean No Setting this value to true, allows attachments to be opened only in the application specified in the XML Payload Numeric String String false Boolean Boolean String String String String String Numeric Numeric Numeric Boolean Boolean Boolean Boolean Boolean Text Value 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. 871 Chapter 10: Profile Management Version 1 and Version 2 Numeric Numeric Numeric Boolean Numeric Boolean Boolean Numeric Boolean String Boolean Numeric String Boolean Numeric Boolean Boolean Boolean Boolean Numeric Numeric Numeric Numeric Numeric Numeric String 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. 872 Chapter 10: Profile Management Version 1 and Version 2 Boolean Boolean Boolean Boolean Boolean Boolean Boolean String Boolean String Boolean Boolean Boolean Boolean Numeric String Boolean String String Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean tag Applications String No Application's bundle ID in which the email attachments are opened RestrictDomains Boolean No Setting this value to true allows the admin to restrict the domain specified in the tag RestrictionType Numeric No Specifies if the domain specified in the tag is Whitelisted or Blacklisted.The allowed values for this field can be obtained from the picklist URI mentioned above DomainName String No Domain name that has been Blacklisted or Whitelisted. UsingEnterpriseLicenseKey Boolean No License Key, when applied will unlock touchdown MaximumEmailTruncationSizeKb Numeric No The size beyond which e-mail messages are truncated when they are synchronized to the mobile phone RequireManualSyncWhenRoaming Boolean No When set to true, the email needs to be synchronized manually by the device user when the device is roaming. RequireDeviceEncryption Boolean No Device encryption required for Touchdown access RequireSDCardEncryption Boolean No SD card encryption required for Touchdown access EnableSignatureEditing Boolean No Setting this field to false, disables editing of email signature SamsungSyncInterval Numeric No Mail synchronization interval. The allowed values for this field can be obtained from the picklist URI mentioned above PeakStartTime Numeric No Start time of the peak interval for email sync. 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. 879 Chapter 10: Profile Management Version 1 and Version 2 PeakEndTime Numeric No End time of the peak interval for email sync. The allowed values for this field can be obtained from the picklist URI mentioned above SyncSchedulePeak Numeric No Email sync schedule during peak intervals. The allowed values for this field can be obtained from the picklist URI mentioned above SyncScheduleOffPeak Numeric No Email sync schedule during off-peak intervals. The allowed values for this field can be obtained from the picklist URI mentioned above SamsungSenderName String No Name of the sender of the email SamsungUseSSL Boolean No Setting to true, routes all communications through the secure socket layer AlwaysVibrateOnEmailNotification Boolean No Setting to true, notifies the user of a new email with device vibration VibrateOnNotificationWhenSettingIsSetToSilent Boolean No Setting to true, notifies the user of a new email with device vibration when the device is in the silent mode DefaultAccount Boolean No Setting to true, sets the current account to default. UseTLS Boolean No Setting to true, routes traffic using the TLS protocol. EnableSecurityRestrictions Boolean No Security restrictions will be enabled on the mail client DisableCopyingDataToPhonebook Boolean No If true, disables copying contact data to the Phone Book. AllowSDCard Boolean No SD card can be allowed on the device AllowWidgets Boolean No If false, widgets will be blocked on the device AllowEmailWidget Boolean No If false, email widgets will be blocked on the device AllowCalendarWidget Boolean No If false, calendar widgets will be blocked on the device AllowTaskWidget Boolean No If false, task widgets will be blocked on the device AllowUniversalWidget Boolean No If false, the universal widget will be blocked on the device VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 880 Chapter 10: Profile Management Version 1 and Version 2 ShowDataOnLockScreenWidgets Boolean No If false, disables email data on the lock screen widgets AllowSpeechNotifications Boolean No If false, disables speech notifications ShowEmailInfoOnNotificationBar Boolean No If false, blocks the display of email information on the notifications bar ShowCalendarInfoOnNotificationBar Boolean No If false, blocks the display of calendar information on the notifications bar ShowTaskInfoOnNotificationBar Boolean No If false, blocks the display of task information on the notifications bar DisableDataBackup Boolean No If false, disables backing up of data to the SD card DisableSettingsBackup Boolean No If false, disables backing up of EAS settings to the SD card HTCUseSSL Boolean No Setting to true, routes all communications through the secure socket layer EnableAttachmentEncryption Boolean No Setting to true, encrypts email attachments AttachmentRestrictedAppList String No Bundle ID of the application on which email attachments may be opened UseSMIME Boolean No Device user's S/MIME credentials to be used SMIMECertPayloadName String No Name of the S/MIME certificate RequireSMIMEMessages Boolean No Specifies if messages are encrypted using S/MIME certificates RequireSignedSMIME Boolean No Specifies if messages are signed using S/MIME certificates AllowEmailForwarding Boolean No Specifies if the device user may forward emails to other accounts AllowHTMLFormat Boolean No Specifies if HTML Email is enabled on the device AwEmailClientMaxEmailAgeFilter Numeric No Maximum number of days to synchronize past events. AwEmailClientSyncInterval Numeric No Email synchronization interval WhiteListBlackListDomainName String No Domain name which are blacklisted/ whitelisted. VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 881 Chapter 10: Profile Management Version 1 and Version 2 SuppressApplicationPIN Boolean No If set to true, the application will not show a PIN prompt if you don't want EAS PIN to be enforced by Touchdown. MigrationHost String No Specifies the name of the mail server that the device is migrating from if this EAS account is already configured on the device. LicenseKey String No The License Key when applied Unlocks Touchdown AllowImportExport Boolean No If false, disables import/export of contacts Sunday Boolean No Select Sunday as a peak day for Sync Schedule Monday Boolean No Select Monday as a peak day for Sync Schedule Tuesday Boolean No Select Tuesday as a peak day for Sync Schedule Wednesday Boolean No Select Wednesday as a peak day for Sync Schedule Thursday Boolean No Select Thursday as a peak day for Sync Schedule Friday Boolean No Select Friday as a peak day for Sync Schedule Saturday Boolean No Select Saturday as a peak day for Sync Schedule Request Tag Details XML Numeric JSON { "Value": Numeric } VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 882 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. 883 Chapter 10: Profile Management Version 1 and Version 2 Create Android Credentials Profile Version 1 Functionality – Creates an Android credentials profile that can be used with other profiles. HTTP Method – POST API URI – https://host/api/mdm/profiles/platforms/android/create Payload URI – https://host/api/mdm/profiles/platforms/android/payloads/credentials/getpayloadkeys?contexttype= {contexttype} Request Payloads XMLJSON { "CredentialsList": [ { "CredentialSource": "String", "CredentialName": "String", VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 884 Chapter 10: Profile Management Version 1 and Version 2 "CertificateData": "String", "CertificateID": Numeric, "CertificatePassword": "String", "CertificateThumbprint": "String", "CertificateType": "String", "CertificateAuthority": Numeric, "CertificateTemplate": Numeric, "Smime": "String", "Name": "String" } ], "General" : JSON Payload } Associated Picklists Tag Picklist API URI CredentialSource https://host/api/mdm/picklists/androidcredentialsource Request Tag Details Tag Type Mandatory Description General Tag Yes The JSON/XML General profile. Refer General profile for details CredentialSource String Yes Specifies the source of the credentials. The allowed values can be obtained from the Picklist endpoint mentioned above CredentialName String Yes Desired name of the credential chosen when credential source is "Upload". Mandatory when credential source is "Upload" CertificateData String No Base-64 encoded certificate Data string CertificatePassword String Yes (for Password of the certificate being uploaded credential source=upload) CertificateThumbprint String No Thumbprint of the certificate being uploaded CertificateType String No Type of the certificate being uploaded CertificateID Numeric No Unique numeric ID of the certificate that was generated from the upload certificate API CertificateAuthority Numeric No Specifies the unique numeric identifier of the certificate authority VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 885 Chapter 10: Profile Management Version 1 and Version 2 CertificateTemplate Numeric No Specifies the numeric identifier of the certificate template Name String No Desired name of the credential chosen when credential source is "Upload". Mandatory when credential source is "Upload" Response Payload XML XML Payload String String Stringe Numeric String String String Numeric Numeric String String 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. 886 Chapter 10: Profile Management Version 1 and Version 2 Version 2 Functionality – Creates an Android credentials profile that can be user with other profiles. HTTP Method – POST API URI – https://host/api/mdm/profiles/platforms/android/create Payload URI – https://host/api/mdm/profiles/platforms/android/payloads/credentials/getpayloadkeys?contexttype= {contexttype} Request Payloads XMLJSON { "CredentialsList": [ { "CredentialSource": "String", "CredentialName": "String", "CertificateData": "String", "CertificateID": Numeric, "CertificatePassword": "String", "CertificateThumbprint": "String", VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 887 Chapter 10: Profile Management Version 1 and Version 2 "CertificateType": "String", "CertificateAuthority": Numeric, "CertificateTemplate": Numeric, "Smime": "String", "Name": "String" } ], "General" : JSON Payload } Associated Picklists Tag Picklist API URI CredentialSource https://host/api/mdm/picklists/androidcredentialsource Request Tag Details Tag Type Mandatory Description General Tag Yes The JSON/XML General profile. Refer General profile for details CredentialSource String Yes Specifies the source of the credentials. The allowed values can be obtained from the Picklist endpoint mentioned above CredentialName String Yes Desired name of the credential chosen when credential source is "Upload". Mandatory when credential source is "Upload" CertificateData String No Base-64 encoded certificate Data string CertificatePassword String Yes (for Password of the certificate being uploaded credential source=upload) CertificateThumbprint String No Thumbprint of the certificate being uploaded CertificateType String No Type of the certificate being uploaded CertificateID Numeric No Unique numeric ID of the certificate that was generated from the upload certificate API CertificateAuthority Numeric No Specifies the unique numeric identifier of the certificate authority CertificateTemplate Numeric No Specifies the numeric identifier of the certificate template VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 888 Chapter 10: Profile Management Version 1 and Version 2 Name String No Desired name of the credential chosen when credential source is "Upload". Mandatory when credential source is "Upload" Response Payload XML XML Payload String String Stringe Numeric String String String Numeric Numeric String String 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. 889 Chapter 10: Profile Management Version 1 and Version 2 Create Android CustomSettings Profile Version 1 Functionality – Creates an Android custom settings 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/customsettings/getpayloadkeys?contexttype= {contexttype} Request Payloads XMLsJSON { "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. 890 Chapter 10: Profile Management Version 1 and Version 2 Response Payload XML XML Payload String String 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. 891 Chapter 10: Profile Management Version 1 and Version 2 Version 2 Functionality – Creates an Android custom settings 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/customsettings/getpayloadkeys?contexttype= {contexttype} Request Payloads XMLsJSON { "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. 892 Chapter 10: Profile Management Version 1 and Version 2 Response Payload XML XML Payload String String 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. 893 Chapter 10: Profile Management Version 1 and Version 2 Create Android For Work Profile Version 1 Functionality – Creates an Android for Work profile that can be used with other profiles. HTTP Method – POST API URI – https://host/api/mdm/profiles/platforms/android/create Request Payloads XMLJSON { "AndroidForWorkApplicationControl" : { "DisableAccessToBlacklistedApps" : Boolean, "EnableSystemAppsInsideAndroidforWork" : Boolean, "PreventUninstallRequiredApps" : Boolean }, "AndroidForWorkChromeBrowser" : { "AlternateErrorPagesEnabled" : Boolean, "AutoFillEnabled" : Boolean, "ContextualSearchEnabled" : Boolean, "CookiesAllowedForUrls" : [ "String" ], VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 900 Chapter 10: Profile Management Version 1 and Version 2 "CookiesBlockedForUrls" : [ "String" ], "CookiesSessionOnlyForUrls" : [ "String" ], "DataCompressionProxyEnabled" : Boolean, "DefaultCookiesSetting" : Numeric, "DefaultGeolocationSetting" : Numeric, "DefaultImagesSetting" : Numeric, "DefaultJavaScriptSetting" : Numeric, "DefaultPopupsSetting" : Numeric, "DefaultSearchProviderAlternateURLs" : [ "String" ], "DefaultSearchProviderEnabled" : Boolean, "DefaultSearchProviderEncodings" : [ "String" ], "DefaultSearchProviderIconURL" : [ "String" ], "DefaultSearchProviderImageURL" : [ "String" ], "DefaultSearchProviderImageURLPostParams" : [ "String" ], "DefaultSearchProviderInstantURL" : [ "String" ], "DefaultSearchProviderInstantURLPostParams" : [ "String" ], "DefaultSearchProviderKeyword" : [ "String" ], "DefaultSearchProviderName" : [ "String" ], "DefaultSearchProviderNewTabURL" : [ "String" ], "DefaultSearchProviderSearchTermsReplacementKey" : [ "String" ], "DefaultSearchProviderSearchURL" : [ "String" ], "DefaultSearchProviderSearchURLPostParams" : [ "String" VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 901 Chapter 10: Profile Management Version 1 and Version 2 ], "DefaultSearchProviderSuggestURL" : [ "String" ], "DefaultSearchProviderSuggestURLPostParams" : [ "String" ], "DisableSafeBrowsingProceedAnyway" : Boolean, "DisableSpdy" : Boolean, "DnsPrefetchingEnabled" : Boolean, "EditBookmarksEnabled" : Boolean, "EnableDeprecatedWebPlatformFeatures" : [ "String" ], "ForceGoogleSafeSearch" : Boolean, "ForceSafeSearch" : Boolean, "ForceYouTubeSafetyMode" : Boolean, "ImagesAllowedForUrls" : [ "String" ], "ImagesBlockedForUrls" : [ "String" ], "IncognitoModeAvailability" : Numeric, "JavaScriptAllowedForUrls" : [ "String" ], "JavaScriptBlockedForUrls" : [ "String" ], "ManagedBookmarks" : [ "String" ], "NetworkPredictionOptions" : Numeric, "PasswordManagerEnabled" : Boolean, "PopupsAllowedForUrls" : [ "String" ], "PopupsBlockedForUrls" : [ "String" ], "PrintingEnabled" : Boolean, "ProxyBypassList" : "String", "ProxyMode" : "String", "ProxyPacUrl" : "String", "ProxyServer" : "String", "SSLVersionFallbackMin" : "String", "SSLVersionMin" : "String", "SafeBrowsingEnabled" : Boolean, "SavingBrowserHistoryDisabled" : Boolean, "SearchSuggestEnabled" : Boolean, VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 902 Chapter 10: Profile Management Version 1 and Version 2 "SigninAllowed" : Boolean, "TranslateEnabled" : Boolean, "URLBlacklist" : [ "String" ], "URLWhitelist" : [ "String" ], "VendorConfigKey" : [ "String" ], "VendorConfigValue" : [ "String" ], "VendorKeysEnabled" : Boolean }, "AndroidForWorkExchangeActiveSync" : { "AirWatchInboxSettings" : { "AllowAttachments" : Boolean, "AllowMultipleExport" : Boolean, "AllowScreenCapture" : Boolean, "AllowSingleExport" : Boolean, "AttachmentRestrictedAppList" : [ "String" ], "AuthenticationType" : Numeric, "AutoLockDeviceLock" : Boolean, "AutoLockMinutes" : Numeric, "DisableCopyPaste" : Numeric, "DomainNameList" : [ "String" ], "IgnoreSSL" : Boolean, "MaxAttachmentSize" : Numeric, "MaximumFailedAttempts" : Numeric, "MaximumPasscodeAge" : Numeric, "MinimumPasscodeLength" : Numeric, "PasscodeComplexity" : Numeric, "PasscodeHistory" : Numeric, "RequirePasscode" : Boolean, "RestrictAttachmentInApps" : Boolean, "RestrictDomains" : Boolean, "RestrictLinksInApps" : Boolean, "RestrictionType" : Numeric, "SingleSignOn" : Boolean }, "Domain" : "String", "EmailAddress" : "String", "EmailMaxAttachmentSizeMB" : Numeric, "EmailSignatureDefault" : "String", VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 903 Chapter 10: Profile Management Version 1 and Version 2 "EnableValidationOnSSLCertificates" : Boolean, "Host" : "String", "MailClient" : Numeric, "Password" : "String", "RequireSSL" : Boolean, "UseSMIME" : Boolean, "UserName" : "String", "WorkManagedSettings" : { "AllowContactsCalendarSync" : Boolean, "EnableVendorKeys" : Boolean, "ServerType" : Numeric, "VendorConfigKeys" : [ "String" ], "VendorConfigValues" : [ "String" ] } }, "AndroidForWorkPasscode" : { "Applications" : { "AfwAppMinimumLetters" : Numeric, "AfwAppMinimumLowerCase" : Numeric, "AfwAppMinimumNonLetter" : Numeric, "AfwAppMinimumNumeric" : Numeric, "AfwAppMinimumSymbols" : Numeric, "AfwAppMinimumUpperCase" : Numeric, "AfwAppSetMaximumFailedPasswordsForWipe" : Numeric, "AfwAppSetMaximumTimeToLock" : Numeric, "AfwAppSetPasswordExpirationTimeout" : 9223372036854776000, "AfwAppSetPasswordHistoryLength" : Numeric, "AfwAppSetPasswordMinimumLength" : Numeric, "AfwAppSetPasswordQuality" : Numeric, "EnableWorkPasscodePolicy" : Boolean }, "Device" : { "EnableDevicePasscodePolicy" : Boolean, "minimumLetters" : Numeric, "minimumLowerCase" : Numeric, "minimumNonLetter" : Numeric, "minimumNumeric" : Numeric, "minimumSymbols" : Numeric, "minimumUpperCase" : Numeric, "setMaximumFailedPasswordsForWipe" : Numeric, "setMaximumTimeToLock" : Numeric, "setPasswordExpirationTimeout" : 9223372036854776000, "setPasswordHistoryLength" : Numeric, "setPasswordMinimumLength" : Numeric, "setPasswordQuality" : Numeric } }, VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 904 Chapter 10: Profile Management Version 1 and Version 2 "AndroidForWorkRestrictions" : { "AllowAccountChanges" : Boolean, "AllowAddingUsers" : Boolean, "AllowAllTethering" : Boolean, "AllowBluetooth" : Boolean, "AllowBluetoothContactSharing" : Boolean, "AllowCamera" : Boolean, "AllowChrome" : Boolean, "AllowContactSharing" : Numeric, "AllowContacts" : Boolean, "AllowCopyPaste" : Numeric, "AllowCredentialsChanges" : Boolean, "AllowDataRoaming" : Boolean, "AllowDisableAppVerify" : Boolean, "AllowFactoryReset" : Boolean, "AllowInstallingApps" : Boolean, "AllowKeyguard" : Boolean, "AllowKeyguardCamera" : Boolean, "AllowKeyguardFeatures" : Boolean, "AllowKeyguardFingerprint" : Boolean, "AllowKeyguardNotifications" : Boolean, "AllowKeyguardTrustAgent" : Boolean, "AllowKeyguardUnredacted" : Boolean, "AllowLocationAccess" : Numeric, "AllowManagedWifiChanges" : Boolean, "AllowMobileChanges" : Boolean, "AllowModifyingAppsSettings" : Boolean, "AllowNFC" : Boolean, "AllowNonMarketAppInstall" : Boolean, "AllowNonWhitelistedIME" : Boolean, "AllowNotifcationsInFull" : Numeric, "AllowOutgoingPhoneCalls" : Boolean, "AllowPersonalShareWithWork" : Boolean, "AllowPersonalToAccessWork" : Boolean, "AllowRemoveWorkAccount" : Boolean, "AllowRemovingUsers" : Boolean, "AllowSMS" : Boolean, "AllowSafeBoot" : Boolean, "AllowScreenCapture" : Boolean, "AllowStatusBar" : Boolean, "AllowUSBDebugging" : Boolean, "AllowUSBFileTransfer" : Boolean, "AllowUSBMassStorage" : Boolean, "AllowUninstallingApps" : Boolean, "AllowVPNChanges" : Boolean, "AllowWifiChanges" : Boolean, "AllowWorkContactsInPhone" : Boolean, "AllowWorkPersonalPaste" : Boolean, "AllowWorkShareWithPersonal" : Boolean, "AllowWorkToAccessPersonal" : Boolean, VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 905 Chapter 10: Profile Management Version 1 and Version 2 "AllowWorkWidgetsToPersonal" : Boolean, "ForceScreenOnPluggedAC" : Boolean, "ForceScreenOnPluggedUSB" : Boolean, "ForceScreenOnPluggedWireless" : Boolean, "InstallPolicyType" : Boolean, "RequiredIMEOptionList" : "String" }, "AndroidForWorkSystemUpdates" : { "EndTime" : Numeric, "InstallPolicyType" : Numeric, "StartTime" : Numeric }, "AndroidForWorkVpn" : { "AuthenticationType" : Numeric, "ConnectionName" : "String", "ConnectionType" : "String", "EnableAlwaysOnVPN" : Boolean, "EnableVPNOnDemand" : Boolean, "FipsMode" : Boolean, "GatewayUID" : "String", "Password" : "String", "PayloadCertificateName" : "String", "PerAppVPN" : Boolean, "Realm" : "String", "Role" : "String", "Server" : "String", "UseWebLogonForAuthentication" : Boolean, "UserName" : "String", "VPNEnabledWrapper" : "String", "VPNLockDown" : Boolean, "VendorConfigKey" : [ "String" ], "VendorConfigValue" : [ "String" ], "VendorKeys" : Boolean, "VpnUUID" : "String" } "General" : JSON Payload } Request Tag Details Tag Type Mandatory Description General Tag Yes The JSON/XML General profile. Refer General profile for details VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 906 Chapter 10: Profile Management Version 1 and Version 2 DisableAccessToBlacklistedApps Boolean No When true, disables the access to all blacklisted applications EnableSystemAppsInsideAndroidforWork Boolean No When true, enables the system applications inside Android for Work PreventUninstallRequiredApps Boolean No When true, prevents user from uninstalling the required applications AlternateErrorPagesEnabled Boolean No When true, enables alternate error pages AutoFillEnabled Boolean No When true, enables auto fill ContextualSearchEnabled Boolean No When true, allows user to perform contextual search CookiesAllowedForUrls String Yes Cookies that are allowed for the URLs CookiesBlockedForUrls String Yes Cookies that are not allowed for the URLs CookiesSessionOnlyForUrls String No Cookies session only for the listed URLs DataCompressionProxyEnabled Boolean No When true, enables the data compression proxy DefaultCookiesSetting Numeric No Settings for default cookies DefaultGeolocationSetting Numeric No Settings for default geolocation DefaultImagesSetting Numeric No Settings for default images DefaultJavaScriptSetting Numeric No Settings for default java script DefaultPopupsSetting Numeric No Settings for default popups DefaultSearchProviderAlternateURLs String No Default alternate URL for the search provider DefaultSearchProviderEnabled Boolean No When true, enables the defaults search provider DefaultSearchProviderEncodings String No Specifies the default search provider encodings DefaultSearchProviderIconURL String No Specifies the default search provider icon URL DefaultSearchProviderImageURL String No Specifies the default search provider image URL DefaultSearchProviderImageURLPostParams String No Specifies the default search provider for image URL post params DefaultSearchProviderInstantURL String No Specifies the default search provider instant url VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 907 Chapter 10: Profile Management Version 1 and Version 2 DefaultSearchProviderInstantURLPostParams String No Specifies the default search provider instant url post params DefaultSearchProviderKeyword String No Specifies the default search provider keyword DefaultSearchProviderName String No Specifies the default search provider name DefaultSearchProviderNewTabURL String No Specifies the default search provider new tab url DefaultSearchProviderSearchTermsReplacementKey String No Specifies the default search provider search term replacement key DefaultSearchProviderSearchURL String No Specifies the default search provider search url DefaultSearchProviderSearchURLPostParams String No Specifies the default search provider search url post params DefaultSearchProviderSuggestURL String No Specifies the default search provider suggest url DefaultSearchProviderSuggestURLPostParams String No Specifies the default search provider suggest url post params DisableSafeBrowsingProceedAnyway Boolean No When true, prevents user from proceeding safe browsing DisableSpdy Boolean No When true, disables spdy DnsPrefetchingEnabled Boolean No When true, enables dns prefetching EditBookmarksEnabled Boolean No When true, allows user to edit bookmarks EnableDeprecatedWebPlatformFeatures String No Specifies the deprecated web platform features ForceGoogleSafeSearch Boolean No When true, allows user to perform the force Google safe search ForceSafeSearch Boolean No When true, allows user to perform force safe search ForceYouTubeSafetyMode Boolean No When true, enables force youtube safety mode ImagesAllowedForUrls String No Specifies the images allowed for urls ImagesBlockedForUrls String No Specifies the images blocked for urls IncognitoModeAvailability Numeric No Specifies the availability of incognito mode JavaScriptAllowedForUrls String No Specifies the allowed javascript for urls JavaScriptBlockedForUrls String No Specifies the blocked javascript for urls VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 908 Chapter 10: Profile Management Version 1 and Version 2 ManagedBookmarks String No Specifies the managed bookmarks NetworkPredictionOptions Numeric No Specifies the network prediction options PasswordManagerEnabled Boolean No When true, enables the password manager PopupsAllowedForUrls String No Specifies the popups allowed for urls PopupsBlockedForUrls String No Specifies the popups blocked for urls PrintingEnabled Boolean No When true, allows user to print the content ProxyBypassList String Yes Specifies the proxy bypass list ProxyMode String Yes Specifies the mode of the proxy ProxyPacUrl String No Specifies the proxy protected access credential url ProxyServer String Yes Hostname or the IP address of the Proxy Server SSLVersionFallbackMin String No Specifies the time in minutes for the SSL version fallback SSLVersionMin String No Specifies the time in minutes for the SSL version SafeBrowsingEnabled Boolean No When true, allows user to browse safely SavingBrowserHistoryDisabled Boolean No When true, prevents user from saving browsing history SearchSuggestEnabled Boolean No When true, enables suggested search SigninAllowed Boolean No When true, allows user to sign in TranslateEnabled Boolean No When true, enables translation URLBlacklist String Yes Specifies the blacklisted urls URLWhitelist String Yes Specifies the whiltelisted urls VendorConfigKey String No Specifies the vendor configuration key VendorConfigValue String No Specifies the vendor configuration value VendorKeysEnabled Boolean No When true, enables vendor keys AllowAttachments Boolean No When true, allows attachments AllowMultipleExport Boolean No When true, allows user to perform multiple export AllowScreenCapture Boolean No When true, allows user to capture device screen AllowSingleExport Boolean No When true, allows user to perform single export VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 909 Chapter 10: Profile Management Version 1 and Version 2 AttachmentRestrictedAppList String Yes Specifies the attachment restricted application list AuthenticationType Numeric Yes Specifies the Authentication type to be used w AutoLockDeviceLock Boolean No When true, performs automatic lock on device lock AutoLockMinutes Numeric No Specifies the time in minutes to auto lock the device DisableCopyPaste Numeric No Disables the user from copy paste option DomainNameList String Yes List of domain names that are blacklisted or whitelisted IgnoreSSL Boolean No Setting to true allows the device to ignore SSL error for agent processes MaxAttachmentSize Numeric No Specifies the allowed maximum attachment size MaximumFailedAttempts Numeric No Specifies the maximum number of failed attempts before the data in the app gets erased MaximumPasscodeAge Numeric No Specifies the maximum allowed days for the passcode, after which the passcode expires and has to be reset. MinimumPasscodeLength Numeric No Specifies the minimum number of numeric characters a passcode must contain PasscodeComplexity Numeric No Specifies the number of characters required to set the passcode complexity PasscodeHistory Numeric No Determines the history of passcodes used to prevent the user from reusing passcodes RequirePasscode Boolean No When true, requires passcode to access the application RestrictAttachmentInApps Boolean No When true, restricts user from attaching attachments in apps RestrictDomains Boolean No When true, restricts domains RestrictLinksInApps Boolean No When true, restricts user from accessing links in the app RestrictionType Numeric No Specifies if the domain specified is Whitelisted or Blacklisted VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 910 Chapter 10: Profile Management Version 1 and Version 2 SingleSignOn Boolean No When true, enables single sign on feature Domain String No Specifies the domain name EmailAddress String No Email address of the account EmailMaxAttachmentSizeMB Numeric No Specifies the email maximum attachment size in MB EmailSignatureDefault String No Specifies the default email signature to be used EnableValidationOnSSLCertificates Boolean No When true, enables the validation on SSL certificates in the email account Host String No Server host name or IP address MailClient Numeric No Name of the mail client used for the connection Password String Yes Password for the account RequireSSL Boolean No When true, requires SSL UseSMIME Boolean No Device user's S/MIME credentials to be used UserName String No Username for the account AllowContactsCalendarSync Boolean No When true, allows syncing of calendar and contacts EnableVendorKeys Boolean No When true, enables vendor keys ServerType Numeric Yes Specifies the server type VendorConfigKeys String No Specifies the vendor configuration keys VendorConfigValues String No Specifies the vendor configuration values AfwAppMinimumLetters Numeric No Specifies the minimum number of letters required to set Android For Work passcode AfwAppMinimumLowerCase Numeric No Specifies the minimum number of lowercase letters required to set Android For Work passcode AfwAppMinimumNonLetter Numeric No Specifies the minimum number of nonletter characters required to set Android For Work passcode AfwAppMinimumNumeric Numeric No Specifies the length of numbers required to set Android For Work passcode VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 911 Chapter 10: Profile Management Version 1 and Version 2 AfwAppMinimumSymbols Numeric No Specifies the minimum number of symbols required to set Android For Work passcode AfwAppMinimumUpperCase Numeric No Specifies the minimum number of uppercase letters required to set Android For Work passcode AfwAppSetMaximumFailedPasswordsForWipe Numeric No Specifies the number of failed password attempts before wipe AfwAppSetMaximumTimeToLock Numeric No Specifies the maximum time to lock Android For Work in case of inactivity AfwAppSetPasswordExpirationTimeout Numeric No Specifies the time before your are logged out of Android For Work in case of inactivity AfwAppSetPasswordHistoryLength Numeric No Specifies the number of expired passwords to display AfwAppSetPasswordMinimumLength Numeric No Specifies the minimum number of characters required to set password AfwAppSetPasswordQuality Numeric No Specifies the strength of password required to configure Android For Work password EnableWorkPasscodePolicy Boolean No When enabled, Android for work passcode is mandatory EnableDevicePasscodePolicy Boolean No When enabled, device passcode is mandatory minimumLetters Numeric No Specifies the minimum number of letters required to set device password minimumLowerCase Numeric No Specifies the minimum number of lowercase letters required to set device password minimumNonLetterminimumNumeric Numeric No Specifies the minimum number of nonletter characters required to set device password minimumSymbols Numeric No Specifies the minimum number of symbols required to set device password minimumUpperCase Numeric No Specifies the minimum number of uppercase letters required to set device password setMaximumFailedPasswordsForWipe Numeric No Specifies the number of failed password attempts before device is wiped VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 912 Chapter 10: Profile Management Version 1 and Version 2 setMaximumTimeToLock Numeric No Specifies the maximum time to lock the device in case of inactivity setPasswordExpirationTimeout Datetime No Specifies the time before you are logged out of the device setPasswordHistoryLength Numeric No Specifies the number of expired passwords to display setPasswordMinimumLength Numeric No Specifies the minimum number of characters required to set device password setPasswordQuality Numeric No Specifies the strength of password required to configure device passcode AllowAccountChanges Boolean No When true, users are not allowed to make changes to the account AllowAddingUsers Boolean No When false, restricts user from adding multiple users AllowAllTethering Boolean No When true, enables All Tethering AllowBluetooth Boolean No When true, enables device bluetooth AllowBluetoothContactSharing Boolean No When true, enables sharing contacts through bluetooth AllowCamera Boolean No When true, allows user to use device camera AllowChrome Boolean No When true, allows user to access Chrome AllowContactSharing Numeric No Specifies the number of contacts to be shared AllowContacts Boolean No When true, allows user to add contacts AllowCopyPaste Numeric No Specifies the app copy paste restriction AllowCredentialsChanges Boolean No When true, allows user for changing account credentials AllowDataRoaming Boolean No When true, allows user device data roaming AllowDisableAppVerify Boolean No When true, disables app verification AllowFactoryReset Boolean No When true, allows device factory reset AllowInstallingApps Boolean No When true, allows user to install applications AllowKeyguard Boolean No When true, allows key guard AllowKeyguardCamera Boolean No When true, allows key guard camera VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 913 Chapter 10: Profile Management Version 1 and Version 2 AllowKeyguardFeatures Boolean No When true, allows key guard features AllowKeyguardFingerprint Boolean No When true, allows key guard fingerprint AllowKeyguardNotifications Boolean No When true, allows key guard Notifications AllowKeyguardTrustAgent Boolean No When true, allows key guard trust agent AllowKeyguardUnredacted Boolean No When true, allows key guard unredacted AllowLocationAccess Boolean No When true, allows device location access AllowManagedWifiChanges Boolean No When true, allows user to change managed wifi AllowMobileChanges Boolean No When true, allows user to change mobiles AllowModifyingAppsSettings Boolean No When true, allows user to modify app settings AllowNFC Boolean No When true, allows NFC AllowNonMarketAppInstall Boolean No When true, allows user to install nonmarket applications AllowNonWhitelistedIME Boolean No When true, allows non-whitelisted IME AllowNotifcationsInFull Numeric No Specifies the number of notifications received AllowOutgoingPhoneCalls Boolean No When true, allows user to make outgoing phone calls AllowPersonalShareWithWork Boolean No When true, allows user to share personal data with work data AllowPersonalToAccessWork Boolean No When true, allows user to access work data AllowRemoveWorkAccount Boolean No When true, allows user to remove work account AllowRemovingUsers Boolean No When true, allows to remove multiple users AllowSMS Boolean No When true, allows SMS facility AllowSafeBoot Boolean No When true, allows user to safely boot the device AllowScreenCapture Boolean No When true, allows user to capture device screen AllowStatusBar Boolean No When true, allows user to access status bar VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 914 Chapter 10: Profile Management Version 1 and Version 2 AllowUSBDebugging Boolean No When true, allows USB debugging AllowUSBFileTransfer Boolean No When true, allows user to perform USB file transfer AllowUSBMassStorage Boolean No When true, allows user to perform USB mass storage AllowUninstallingApps Boolean No When true, allows user to uninstall applications AllowVPNChanges Boolean No When true, allows VPN changes AllowWifiChanges Boolean No When true, allows Wifi changes AllowWorkContactsInPhone Boolean No When true, allows user to view work contacts in Phone contact list AllowWorkPersonalPaste Boolean No When true, allows work and personal data copy-paste AllowWorkShareWithPersonal Boolean No When true, allows user to share work data with personal AllowWorkToAccessPersonal Boolean No When true, allows user to access personal data AllowWorkWidgetsToPersonal Boolean No When true, allows user to access work widgets in personal ForceScreenOnPluggedAC Boolean No When true, allows force screen on plugged AC ForceScreenOnPluggedUSB Boolean No When true, allows force screen on plugged USB ForceScreenOnPluggedWireless Boolean No When true, allows force screen on plugged wireless InstallPolicyType Boolean No When true, specifies install policy type RequiredIMEOptionList String Yes Specifies the required IME option list AuthenticationType Numeric Yes Type of authentication required to connect to VPN ConnectionName String No Name of the VPN connection ConnectionType String No Type of VPN connection EnableAlwaysOnVPN Boolean No When true, VPN is always enabled EnableVPNOnDemand Boolean No When true, VPN is available on demand FipsMode Boolean No When enabled, the VPN is FIPS compliant GatewayUID String Yes Gateway UID attribute of VPN Password String No VPN Password VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 915 Chapter 10: Profile Management Version 1 and Version 2 PayloadCertificateName String No Name of the payload certificate PerAppVPN Boolean No When enabled, individual apps are allowed separate VPN connections Realm String No Realm of the VPN tunnel Role String No Role of the VPN. Server String Yes VPN server UseWebLogonForAuthentication Boolean No When enabled, user can authenticate to VPN service using webpage UserName String No Name of the user accessing VPN VPNEnabledWrapper String No Specifies the outside packet (wrapper) details of VPN VPNLockDown Boolean No When true, VPN lock down is enabled VendorConfigKey String No Specifies the vendor configuration key VendorConfigValue String No Specifies the vendor configuration value VendorKeys Boolean No When true, enables vendor keys VpnUUID String No Specifies the Universal Unique Identifier (UUID) for the VPN Response Payload XML XML Payload Numeric Numeric Numeric Numeric String Boolean Boolean Boolean Numeric String String String String String Numeric Boolean Boolean String String VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 894 Chapter 10: Profile Management Version 1 and Version 2 Boolean Boolean Boolean Boolean Boolean Numeric Numeric Numeric Numeric Numeric Numeric Boolean Numeric Numeric Boolean Numeric Boolean String Boolean Boolean Numeric String Boolean Numeric String String String Numeric String String Numeric VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 895 Chapter 10: Profile Management Version 1 and Version 2 String String Numeric String String Numeric Boolean 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. 896 Chapter 10: Profile Management Version 1 and Version 2 String String String Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean String Boolean Numeric Numeric Boolean Boolean Boolean String String Boolean String String String String String String Boolean Boolean Boolean Boolean String String VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 897 Chapter 10: Profile Management Version 1 and Version 2String Numeric Numeric Boolean String Numeric 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 \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. 898 Chapter 10: Profile Management Version 1 and Version 2Boolean Boolean Boolean Boolean Boolean Numeric Boolean String String String Boolean Boolean Boolean String String String String Boolean Boolean Numeric Boolean String String String String Boolean String String String String Boolean Numeric Numeric Numeric <_passcodeAge>92233720368547758079223372036854775807 Numeric <_deviceLockoutTime>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. 899 Chapter 10: Profile Management Version 1 and Version 2Numeric Boolean Numeric Numeric Numeric 9223372036854775807 Numeric Numeric Numeric Numeric Numeric Numeric Numeric Numeric Boolean Boolean Boolean 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. 916 Chapter 10: Profile Management Version 1 and Version 2 Version 2 Functionality – Creates an Android for Work profile that can be used with other profiles. HTTP Method – POST API URI – https://host/api/mdm/profiles/platforms/android/create Request Payloads XMLJSON { "AndroidForWorkApplicationControl" : { "DisableAccessToBlacklistedApps" : Boolean, "EnableSystemAppsInsideAndroidforWork" : Boolean, "PreventUninstallRequiredApps" : Boolean }, "AndroidForWorkChromeBrowser" : { "AlternateErrorPagesEnabled" : Boolean, "AutoFillEnabled" : Boolean, "ContextualSearchEnabled" : Boolean, "CookiesAllowedForUrls" : [ "String" ], "CookiesBlockedForUrls" : [ "String" ], "CookiesSessionOnlyForUrls" : [ VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 923 Chapter 10: Profile Management Version 1 and Version 2 "String" ], "DataCompressionProxyEnabled" : Boolean, "DefaultCookiesSetting" : Numeric, "DefaultGeolocationSetting" : Numeric, "DefaultImagesSetting" : Numeric, "DefaultJavaScriptSetting" : Numeric, "DefaultPopupsSetting" : Numeric, "DefaultSearchProviderAlternateURLs" : [ "String" ], "DefaultSearchProviderEnabled" : Boolean, "DefaultSearchProviderEncodings" : [ "String" ], "DefaultSearchProviderIconURL" : [ "String" ], "DefaultSearchProviderImageURL" : [ "String" ], "DefaultSearchProviderImageURLPostParams" : [ "String" ], "DefaultSearchProviderInstantURL" : [ "String" ], "DefaultSearchProviderInstantURLPostParams" : [ "String" ], "DefaultSearchProviderKeyword" : [ "String" ], "DefaultSearchProviderName" : [ "String" ], "DefaultSearchProviderNewTabURL" : [ "String" ], "DefaultSearchProviderSearchTermsReplacementKey" : [ "String" ], "DefaultSearchProviderSearchURL" : [ "String" ], "DefaultSearchProviderSearchURLPostParams" : [ "String" ], "DefaultSearchProviderSuggestURL" : [ "String" ], VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 924 Chapter 10: Profile Management Version 1 and Version 2 "DefaultSearchProviderSuggestURLPostParams" : [ "String" ], "DisableSafeBrowsingProceedAnyway" : Boolean, "DisableSpdy" : Boolean, "DnsPrefetchingEnabled" : Boolean, "EditBookmarksEnabled" : Boolean, "EnableDeprecatedWebPlatformFeatures" : [ "String" ], "ForceGoogleSafeSearch" : Boolean, "ForceSafeSearch" : Boolean, "ForceYouTubeSafetyMode" : Boolean, "ImagesAllowedForUrls" : [ "String" ], "ImagesBlockedForUrls" : [ "String" ], "IncognitoModeAvailability" : Numeric, "JavaScriptAllowedForUrls" : [ "String" ], "JavaScriptBlockedForUrls" : [ "String" ], "ManagedBookmarks" : [ "String" ], "NetworkPredictionOptions" : Numeric, "PasswordManagerEnabled" : Boolean, "PopupsAllowedForUrls" : [ "String" ], "PopupsBlockedForUrls" : [ "String" ], "PrintingEnabled" : Boolean, "ProxyBypassList" : "String", "ProxyMode" : "String", "ProxyPacUrl" : "String", "ProxyServer" : "String", "SSLVersionFallbackMin" : "String", "SSLVersionMin" : "String", "SafeBrowsingEnabled" : Boolean, "SavingBrowserHistoryDisabled" : Boolean, "SearchSuggestEnabled" : Boolean, "SigninAllowed" : Boolean, "TranslateEnabled" : Boolean, "URLBlacklist" : [ "String" VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 925 Chapter 10: Profile Management Version 1 and Version 2 ], "URLWhitelist" : [ "String" ], "VendorConfigKey" : [ "String" ], "VendorConfigValue" : [ "String" ], "VendorKeysEnabled" : Boolean }, "AndroidForWorkExchangeActiveSync" : { "AirWatchInboxSettings" : { "AllowAttachments" : Boolean, "AllowMultipleExport" : Boolean, "AllowScreenCapture" : Boolean, "AllowSingleExport" : Boolean, "AttachmentRestrictedAppList" : [ "String" ], "AuthenticationType" : Numeric, "AutoLockDeviceLock" : Boolean, "AutoLockMinutes" : Numeric, "DisableCopyPaste" : Numeric, "DomainNameList" : [ "String" ], "IgnoreSSL" : Boolean, "MaxAttachmentSize" : Numeric, "MaximumFailedAttempts" : Numeric, "MaximumPasscodeAge" : Numeric, "MinimumPasscodeLength" : Numeric, "PasscodeComplexity" : Numeric, "PasscodeHistory" : Numeric, "RequirePasscode" : Boolean, "RestrictAttachmentInApps" : Boolean, "RestrictDomains" : Boolean, "RestrictLinksInApps" : Boolean, "RestrictionType" : Numeric, "SingleSignOn" : Boolean }, "Domain" : "String", "EmailAddress" : "String", "EmailMaxAttachmentSizeMB" : Numeric, "EmailSignatureDefault" : "String", "EnableValidationOnSSLCertificates" : Boolean, "Host" : "String", "MailClient" : Numeric, "Password" : "String", VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 926 Chapter 10: Profile Management Version 1 and Version 2 "RequireSSL" : Boolean, "UseSMIME" : Boolean, "UserName" : "String", "WorkManagedSettings" : { "AllowContactsCalendarSync" : Boolean, "EnableVendorKeys" : Boolean, "ServerType" : Numeric, "VendorConfigKeys" : [ "String" ], "VendorConfigValues" : [ "String" ] } }, "AndroidForWorkPasscode" : { "Applications" : { "AfwAppMinimumLetters" : Numeric, "AfwAppMinimumLowerCase" : Numeric, "AfwAppMinimumNonLetter" : Numeric, "AfwAppMinimumNumeric" : Numeric, "AfwAppMinimumSymbols" : Numeric, "AfwAppMinimumUpperCase" : Numeric, "AfwAppSetMaximumFailedPasswordsForWipe" : Numeric, "AfwAppSetMaximumTimeToLock" : Numeric, "AfwAppSetPasswordExpirationTimeout" : 9223372036854776000, "AfwAppSetPasswordHistoryLength" : Numeric, "AfwAppSetPasswordMinimumLength" : Numeric, "AfwAppSetPasswordQuality" : Numeric, "EnableWorkPasscodePolicy" : Boolean }, "Device" : { "EnableDevicePasscodePolicy" : Boolean, "minimumLetters" : Numeric, "minimumLowerCase" : Numeric, "minimumNonLetter" : Numeric, "minimumNumeric" : Numeric, "minimumSymbols" : Numeric, "minimumUpperCase" : Numeric, "setMaximumFailedPasswordsForWipe" : Numeric, "setMaximumTimeToLock" : Numeric, "setPasswordExpirationTimeout" : 9223372036854776000, "setPasswordHistoryLength" : Numeric, "setPasswordMinimumLength" : Numeric, "setPasswordQuality" : Numeric } }, "AndroidForWorkRestrictions" : { "AllowAccountChanges" : Boolean, "AllowAddingUsers" : Boolean, VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 927 Chapter 10: Profile Management Version 1 and Version 2 "AllowAllTethering" : Boolean, "AllowBluetooth" : Boolean, "AllowBluetoothContactSharing" : Boolean, "AllowCamera" : Boolean, "AllowChrome" : Boolean, "AllowContactSharing" : Numeric, "AllowContacts" : Boolean, "AllowCopyPaste" : Numeric, "AllowCredentialsChanges" : Boolean, "AllowDataRoaming" : Boolean, "AllowDisableAppVerify" : Boolean, "AllowFactoryReset" : Boolean, "AllowInstallingApps" : Boolean, "AllowKeyguard" : Boolean, "AllowKeyguardCamera" : Boolean, "AllowKeyguardFeatures" : Boolean, "AllowKeyguardFingerprint" : Boolean, "AllowKeyguardNotifications" : Boolean, "AllowKeyguardTrustAgent" : Boolean, "AllowKeyguardUnredacted" : Boolean, "AllowLocationAccess" : Numeric, "AllowManagedWifiChanges" : Boolean, "AllowMobileChanges" : Boolean, "AllowModifyingAppsSettings" : Boolean, "AllowNFC" : Boolean, "AllowNonMarketAppInstall" : Boolean, "AllowNonWhitelistedIME" : Boolean, "AllowNotifcationsInFull" : Numeric, "AllowOutgoingPhoneCalls" : Boolean, "AllowPersonalShareWithWork" : Boolean, "AllowPersonalToAccessWork" : Boolean, "AllowRemoveWorkAccount" : Boolean, "AllowRemovingUsers" : Boolean, "AllowSMS" : Boolean, "AllowSafeBoot" : Boolean, "AllowScreenCapture" : Boolean, "AllowStatusBar" : Boolean, "AllowUSBDebugging" : Boolean, "AllowUSBFileTransfer" : Boolean, "AllowUSBMassStorage" : Boolean, "AllowUninstallingApps" : Boolean, "AllowVPNChanges" : Boolean, "AllowWifiChanges" : Boolean, "AllowWorkContactsInPhone" : Boolean, "AllowWorkPersonalPaste" : Boolean, "AllowWorkShareWithPersonal" : Boolean, "AllowWorkToAccessPersonal" : Boolean, "AllowWorkWidgetsToPersonal" : Boolean, "ForceScreenOnPluggedAC" : Boolean, "ForceScreenOnPluggedUSB" : Boolean, "ForceScreenOnPluggedWireless" : Boolean, VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 928 Chapter 10: Profile Management Version 1 and Version 2 "InstallPolicyType" : Boolean, "RequiredIMEOptionList" : "String" }, "AndroidForWorkSystemUpdates" : { "EndTime" : Numeric, "InstallPolicyType" : Numeric, "StartTime" : Numeric }, "AndroidForWorkVpn" : { "AuthenticationType" : Numeric, "ConnectionName" : "String", "ConnectionType" : "String", "EnableAlwaysOnVPN" : Boolean, "EnableVPNOnDemand" : Boolean, "FipsMode" : Boolean, "GatewayUID" : "String", "Password" : "String", "PayloadCertificateName" : "String", "PerAppVPN" : Boolean, "Realm" : "String", "Role" : "String", "Server" : "String", "UseWebLogonForAuthentication" : Boolean, "UserName" : "String", "VPNEnabledWrapper" : "String", "VPNLockDown" : Boolean, "VendorConfigKey" : [ "String" ], "VendorConfigValue" : [ "String" ], "VendorKeys" : Boolean, "VpnUUID" : "String" } "General" : JSON Payload } Request Tag Details Tag Type Mandatory Description General Tag Yes The JSON/XML General profile. Refer General profile for details DisableAccessToBlacklistedApps Boolean No When true, disables the access to all blacklisted applications VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 929 Chapter 10: Profile Management Version 1 and Version 2 EnableSystemAppsInsideAndroidforWork Boolean No When true, enables the system applications inside Android for Work PreventUninstallRequiredApps Boolean No When true, prevents user from uninstalling the required applications AlternateErrorPagesEnabled Boolean No When true, enables alternate error pages AutoFillEnabled Boolean No When true, enables auto fill ContextualSearchEnabled Boolean No When true, allows user to perform contextual search CookiesAllowedForUrls String Yes Cookies that are allowed for the URLs CookiesBlockedForUrls String Yes Cookies that are not allowed for the URLs CookiesSessionOnlyForUrls String No Cookies session only for the listed URLs DataCompressionProxyEnabled Boolean No When true, enables the data compression proxy DefaultCookiesSetting Numeric No Settings for default cookies DefaultGeolocationSetting Numeric No Settings for default geolocation DefaultImagesSetting Numeric No Settings for default images DefaultJavaScriptSetting Numeric No Settings for default java script DefaultPopupsSetting Numeric No Settings for default popups DefaultSearchProviderAlternateURLs String No Default alternate URL for the search provider DefaultSearchProviderEnabled Boolean No When true, enables the defaults search provider DefaultSearchProviderEncodings String No Specifies the default search provider encodings DefaultSearchProviderIconURL String No Specifies the default search provider icon URL DefaultSearchProviderImageURL String No Specifies the default search provider image URL DefaultSearchProviderImageURLPostParams String No Specifies the default search provider for image URL post params DefaultSearchProviderInstantURL String No Specifies the default search provider instant url DefaultSearchProviderInstantURLPostParams String No Specifies the default search provider instant url post params VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 930 Chapter 10: Profile Management Version 1 and Version 2 DefaultSearchProviderKeyword String No Specifies the default search provider keyword DefaultSearchProviderName String No Specifies the default search provider name DefaultSearchProviderNewTabURL String No Specifies the default search provider new tab url DefaultSearchProviderSearchTermsReplacementKey String No Specifies the default search provider search term replacement key DefaultSearchProviderSearchURL String No Specifies the default search provider search url DefaultSearchProviderSearchURLPostParams String No Specifies the default search provider search url post params DefaultSearchProviderSuggestURL String No Specifies the default search provider suggest url DefaultSearchProviderSuggestURLPostParams String No Specifies the default search provider suggest url post params DisableSafeBrowsingProceedAnyway Boolean No When true, prevents user from proceeding safe browsing DisableSpdy Boolean No When true, disables spdy DnsPrefetchingEnabled Boolean No When true, enables dns prefetching EditBookmarksEnabled Boolean No When true, allows user to edit bookmarks EnableDeprecatedWebPlatformFeatures String No Specifies the deprecated web platform features ForceGoogleSafeSearch Boolean No When true, allows user to perform the force Google safe search ForceSafeSearch Boolean No When true, allows user to perform force safe search ForceYouTubeSafetyMode Boolean No When true, enables force youtube safety mode ImagesAllowedForUrls String No Specifies the images allowed for urls ImagesBlockedForUrls String No Specifies the images blocked for urls IncognitoModeAvailability Numeric No Specifies the availability of incognito mode JavaScriptAllowedForUrls String No Specifies the allowed javascript for urls JavaScriptBlockedForUrls String No Specifies the blocked javascript for urls ManagedBookmarks String No Specifies the managed bookmarks VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 931 Chapter 10: Profile Management Version 1 and Version 2 NetworkPredictionOptions Numeric No Specifies the network prediction options PasswordManagerEnabled Boolean No When true, enables the password manager PopupsAllowedForUrls String No Specifies the popups allowed for urls PopupsBlockedForUrls String No Specifies the popups blocked for urls PrintingEnabled Boolean No When true, allows user to print the content ProxyBypassList String Yes Specifies the proxy bypass list ProxyMode String Yes Specifies the mode of the proxy ProxyPacUrl String No Specifies the proxy protected access credential url ProxyServer String Yes Hostname or the IP address of the Proxy Server SSLVersionFallbackMin String No Specifies the time in minutes for teh SSL version fallback SSLVersionMin String No Specifies the time in minutes for the SSL version SafeBrowsingEnabled Boolean No When true, allows user to browse safely SavingBrowserHistoryDisabled Boolean No When true, prevents user from saving browsing history SearchSuggestEnabled Boolean No When true, enables suggested search SigninAllowed Boolean No When true, allows user to sign in TranslateEnabled Boolean No When true, enables translation URLBlacklist String Yes Specifies the blacklisted urls URLWhitelist String Yes Specifies the whiltelisted urls VendorConfigKey String No Specifies the vendor configuration key VendorConfigValue String No Specifies the vendor configuration value VendorKeysEnabled Boolean No When true, enables vendor keys AllowAttachments Boolean No When true, allows attachments AllowMultipleExport Boolean No When true, allows user to perform multiple export AllowScreenCapture Boolean No When true, allows user to capture device screen AllowSingleExport Boolean No When true, allows user to perform single export VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 932 Chapter 10: Profile Management Version 1 and Version 2 AttachmentRestrictedAppList String Yes Specifies the attachment restricted application list AuthenticationType Numeric Yes Specifies the Authentication type to be used w AutoLockDeviceLock Boolean No When true, performs automatic lock on device lock AutoLockMinutes Numeric No Specifies the time in minutes to auto lock the device DisableCopyPaste Numeric No Disables the user from copy paste option DomainNameList String Yes List of domain names that are blacklisted or whitelisted IgnoreSSL Boolean No Setting to true allows the device to ignore SSL error for agent processes MaxAttachmentSize Numeric No Specifies the allowed maximum attachment size MaximumFailedAttempts Numeric No Specifies the maximum number of failed attempts before the data in the app gets erased MaximumPasscodeAge Numeric No Specifies the maximum allowed days for the passcode, after which the passcode expires and has to be reset. MinimumPasscodeLength Numeric No Specifies the minimum number of numeric characters a passcode must contain PasscodeComplexity Numeric No Specifies the number of characters required to set the passcode complexity PasscodeHistory Numeric No Determines the history of passcodes used to prevent the user from reusing passcodes RequirePasscode Boolean No When true, requires passcode to access the application RestrictAttachmentInApps Boolean No When true, restricts user from attaching attachments in apps RestrictDomains Boolean No When true, restricts domains RestrictLinksInApps Boolean No When true, restricts user from accessing links in the app RestrictionType Numeric No Specifies if the domain specified is Whitelisted or Blacklisted VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 933 Chapter 10: Profile Management Version 1 and Version 2 SingleSignOn Boolean No When true, enables single sign on feature Domain String No Specifies the domain name EmailAddress String No Email address of the account EmailMaxAttachmentSizeMB Numeric No Specifies the email maximum attachment size in MB EmailSignatureDefault String No Specifies the default email signature to be used EnableValidationOnSSLCertificates Boolean No When true, enables the validation on SSL certificates in the email account Host String No Server host name or IP address MailClient Numeric No Name of the mail client used for the connection Password String Yes Password for the account RequireSSL Boolean No When true, requires SSL UseSMIME Boolean No Device user's S/MIME credentials to be used UserName String No Username for the account AllowContactsCalendarSync Boolean No When true, allows syncing of calendar and contacts EnableVendorKeys Boolean No When true, enables vendor keys ServerType Numeric Yes Specifies the server type VendorConfigKeys String No Specifies the vendor configuration keys VendorConfigValues String No Specifies the vendor configuration values AfwAppMinimumLetters Numeric AfwAppMinimumLowerCase Numeric AfwAppMinimumNonLetter Numeric AfwAppMinimumNumeric Numeric AfwAppMinimumSymbols Numeric AfwAppMinimumUpperCase Numeric AfwAppSetMaximumFailedPasswordsForWipe Numeric AfwAppSetMaximumTimeToLock Numeric AfwAppSetPasswordExpirationTimeout Numeric AfwAppSetPasswordHistoryLength Numeric AfwAppSetPasswordMinimumLength Numeric VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 934 Chapter 10: Profile Management Version 1 and Version 2 AfwAppSetPasswordQuality Numeric EnableWorkPasscodePolicy Boolean EnableDevicePasscodePolicy Boolean minimumLetters Numeric minimumLowerCase Numeric minimumNonLetterminimumNumeric Numeric minimumSymbols Numeric minimumUpperCase Numeric setMaximumFailedPasswordsForWipe Numeric setMaximumTimeToLock Numeric setPasswordExpirationTimeout Datetime setPasswordHistoryLength Numeric setPasswordMinimumLength Numeric setPasswordQuality Numeric AllowAccountChanges Boolean No When false, restricts user from changing accounts AllowAddingUsers Boolean No When false, restricts user from adding multiple users AllowAllTethering Boolean No When true, enables All Tethering AllowBluetooth Boolean No When true, enables device bluetooth AllowBluetoothContactSharing Boolean No When true, enables sharing contacts through bluetooth AllowCamera Boolean No When true, allows user to use device camera AllowChrome Boolean No When true, allows user to access Chrome AllowContactSharing Numeric No Specifies the number of contacts to be shared AllowContacts Boolean No When true, allows user to add contacts AllowCopyPaste Numeric No Specifies the app copy paste restriction AllowCredentialsChanges Boolean No When true, allows user for changing account credentials AllowDataRoaming Boolean No When true, allows user device data roaming AllowDisableAppVerify Boolean No When true, disables app verification AllowFactoryReset Boolean No When true, allows device factory reset VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 935 Chapter 10: Profile Management Version 1 and Version 2 AllowInstallingApps Boolean No When true, allows user to install applications AllowKeyguard Boolean No When true, allows key guard AllowKeyguardCamera Boolean No When true, allows key guard camera AllowKeyguardFeatures Boolean No When true, allows key guard features AllowKeyguardFingerprint Boolean No When true, allows key guard fingerprint AllowKeyguardNotifications Boolean No When true, allows key guard Notifications AllowKeyguardTrustAgent Boolean No When true, allows key guard trust agent AllowKeyguardUnredacted Boolean No When true, allows key guard unredacted AllowLocationAccess Boolean No When true, allows device location access AllowManagedWifiChanges Boolean No When true, allows user to change managed wifi AllowMobileChanges Boolean No When true, allows user to change mobiles AllowModifyingAppsSettings Boolean No When true, allows user to modify app settings AllowNFC Boolean No When true, allows NFC AllowNonMarketAppInstall Boolean No When true, allows user to install nonmarket applications AllowNonWhitelistedIME Boolean No When true, allows non-whitelisted IME AllowNotifcationsInFull Numeric No Specifies the number of notifications received AllowOutgoingPhoneCalls Boolean No When true, allows user to make outgoing phone calls AllowPersonalShareWithWork Boolean No When true, allows user to share personal data with work data AllowPersonalToAccessWork Boolean No When true, allows user to access work data AllowRemoveWorkAccount Boolean No When true, allows user to remove work account AllowRemovingUsers Boolean No When true, allows to remove multiple users AllowSMS Boolean No When true, allows SMS facility VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 936 Chapter 10: Profile Management Version 1 and Version 2 AllowSafeBoot Boolean No When true, allows user to safely boot the device AllowScreenCapture Boolean No When true, allows user to capture device screen AllowStatusBar Boolean No When true, allows user to access status bar AllowUSBDebugging Boolean No When true, allows USB debugging AllowUSBFileTransfer Boolean No When true, allows user to perform USB file transfer AllowUSBMassStorage Boolean No When true, allows user to perform USB mass storage AllowUninstallingApps Boolean No When true, allows user to uninstall applications AllowVPNChanges Boolean No When true, allows VPN changes AllowWifiChanges Boolean No When true, allows Wifi changes AllowWorkContactsInPhone Boolean No When true, allows user to view work contacts in Phone contact list AllowWorkPersonalPaste Boolean No When true, allows work and personal data copy-paste AllowWorkShareWithPersonal Boolean No When true, allows user to share work data with personal AllowWorkToAccessPersonal Boolean No When true, allows user to access personal data AllowWorkWidgetsToPersonal Boolean No When true, allows user to access work widgets in personal ForceScreenOnPluggedAC Boolean No When true, allows force screen on plugged AC ForceScreenOnPluggedUSB Boolean No When true, allows force screen on plugged USB ForceScreenOnPluggedWireless Boolean No When true, allows force screen on plugged wireless InstallPolicyType Boolean No When true, specifies install policy type RequiredIMEOptionList String Yes Specifies the required IME option list AuthenticationType Numeric ConnectionName String ConnectionType String EnableAlwaysOnVPN Boolean VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 937 Chapter 10: Profile Management Version 1 and Version 2 EnableVPNOnDemand Boolean FipsMode Boolean GatewayUID String Password String PayloadCertificateName String PerAppVPN Boolean Realm String Role String Server String UseWebLogonForAuthentication Boolean UserName String VPNEnabledWrapper String VPNLockDown Boolean VendorConfigKey String VendorConfigValue String VendorKeys Boolean VpnUUID String Response Payload XML XML Payload Numeric Numeric Numeric Numeric String Boolean Boolean Boolean Numeric String String String String String Numeric Boolean Boolean String String Boolean Boolean Boolean Boolean VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 917 Chapter 10: Profile Management Version 1 and Version 2Boolean Numeric Numeric Numeric Numeric Numeric Numeric Boolean Numeric Numeric Boolean Numeric Boolean String Boolean Boolean Numeric String Boolean Numeric String String String Numeric String String Numeric String String Numeric VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 918 Chapter 10: Profile Management Version 1 and Version 2String String Numeric Boolean 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. 919 Chapter 10: Profile Management Version 1 and Version 2 String Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean String Boolean Numeric Numeric Boolean Boolean Boolean String String Boolean String String String String String String Boolean Boolean Boolean Boolean String String String Numeric VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 920 Chapter 10: Profile Management Version 1 and Version 2Numeric Boolean String Numeric 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 \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. 921 Chapter 10: Profile Management Version 1 and Version 2Boolean Numeric Boolean String String String Boolean Boolean Boolean String String String String Boolean Boolean Numeric Boolean String String String String Boolean String String String String Boolean Numeric Numeric Numeric <_passcodeAge>92233720368547758079223372036854775807 Numeric <_deviceLockoutTime>Numeric Numeric Numeric Numeric Numeric Numeric Numeric Numeric Boolean VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 922 Chapter 10: Profile Management Version 1 and Version 2Numeric Numeric Numeric 9223372036854775807 Numeric Numeric Numeric Numeric Numeric Numeric Numeric Numeric Boolean Boolean Boolean 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. 938 Chapter 10: Profile Management Version 1 and Version 2 Create Android Container Profile Version 1 Functionality – Creates an Android container profile that can be used with other profiles. HTTP Method – POST API URI – https://host/api/mdm/profiles/platforms/android/create Request Payloads XMLJSON { "AndroidContainerCredentialsList" : [ { "CertificateAuthority" : Numeric, "CertificateData" : "String", "CertificateID" : Numeric, "CertificatePassword" : "String", "CertificateTemplate" : Numeric, "CertificateThumbprint" : "String", "CertificateType" : "String", "CredentialName" : "String", VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 940 Chapter 10: Profile Management Version 1 and Version 2 "CredentialSource" : "String", "EnableTimaKeystore" : Boolean, "Name" : "String", "Smime" : "String" } ], "AndroidContainerVpnList" : [ { "AuthenticationType" : Numeric, "ClientType" : Numeric, "ConnectionName" : "String", "ConnectionType" : Numeric, "EnableAdvancedConfigurations" : Boolean, "MocanaSettings" : { "BackupServerName" : "String", "DeadPeerDetection" : Boolean, "DefaultRouteEnabled" : Boolean, "DhGroup" : Numeric, "IKEVersion" : Numeric, "PFSExchange" : Boolean, "PhaseOneMode" : "String", "SuiteB" : "String" }, "NetMotionSettings" : { "DebugLoggingEnabled" : Boolean, "DeviceName" : "String", "Domain" : "String", "ServerSuffix" : "String", "ShowWarnings" : Boolean, "ValidateServer" : Boolean }, "Password" : "String", "PulseSecureSettings" : { "PacUrl" : "String", "Port" : "String", "ProxyPassword" : "String", "ProxyType" : Numeric, "ProxyUserName" : "String", "Server" : "String" }, "Realm" : "String", "Role" : "String", "ServerName" : "String", "SplitTunnelType" : Numeric, "UseAuthentication" : Boolean, "Username" : "String", "VPNApplicationsList" : [ "String" ], "VpnAssignment" : Numeric } VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 941 Chapter 10: Profile Management Version 1 and Version 2 ] "General" : JSON Payload } Request Tag Details Tag Type Mandatory Description General Tag Yes The JSON/XML General profile. Refer General profile for details CertificateAuthority Numeric No Specifies the unique numeric identifier of the certificate authority CertificateData String No Base-64 encoded certificate Data string CertificateID Numeric No Unique numeric ID of the certificate that was generated from the upload certificate API CertificatePassword String Yes (for Password of the certificate being uploaded credential source=upload) CertificateTemplate Numeric No Specifies the numeric identifier of the certificate template CertificateThumbprint String No Thumbprint of the certificate being uploaded CertificateType String No Type of the certificate being uploaded CredentialName String Yes Desired name of the credential chosen when credential source is "Upload". Mandatory when credential source is "Upload" CredentialSource String Yes Specifies the source of the credentials. EnableTimaKeystore Boolean No Name String No Desired name of the credential chosen when credential source is "Upload". Mandatory when credential source is "Upload Smime String Yes Species if the S/MIME signing or encryption certificate of the user is used a credential AuthenticationType Numeric No Specifies the Authentication type to be used with the VPN ClientType Numeric Yes Type of the client used for the vpn connection ConnectionName String Yes Name of the connection displayed on the device ConnectionType Numeric Yes Type of connection enabled by the payload VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 942 Chapter 10: Profile Management Version 1 and Version 2 EnableAdvancedConfigurations Boolean No When true, enables all the advanced vpn configurations BackupServerName String Yes Name of the backup server DeadPeerDetection Boolean No When true, enables dead peer detection DefaultRouteEnabled Boolean No When true, default route is enabled DhGroup Numeric No Dh Group identifier IKEVersion Numeric No Unique Internet Key Exchange version associated with the connection PFSExchange Boolean No When true, PFS exchange is enabled for the connection PhaseOneMode String No Phase one mode for vpn connection SuiteB String No SuiteB algorithm used for the connection DebugLoggingEnabled Boolean No When true, debug logging is enabled for net motion settings DeviceName String No Name of the device Domain String No Domain name for the account. ServerSuffix String No Server suffix for the domain ShowWarnings Boolean No When true, shows the warning messages ValidateServer Boolean No When true, validates the server Password String Yes Password for the account PacUrl String Yes Proxy auto configuration URL address Port String Yes (for Port number of the VPN proxy server Proxy=Manual) ProxyPassword String No Specifies the password of the proxy ProxyType Numeric No Type of proxy if any on the Wireless network. Defaults to None ProxyUserName String No Username for proxy server authentication Server String Yes Host name or IP address of the server Realm String No Kerberos realm name. This field accepts look up values ServerName String Yes Name of the server SplitTunnelType Numeric No Type of the split tunnel used UseAuthentication Boolean No User authentication type for the connection Username String No Username for the account. This field accepts lookup values VPNApplicationsList String Yes VPN application list VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 943 Chapter 10: Profile Management Version 1 and Version 2 VpnAssignment Numeric Yes VPN assignment Response Payload XML XML Payload Boolean String String String Numeric String String String Numeric Numeric String String Numeric String String Boolean 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. 939 Chapter 10: Profile Management Version 1 and Version 2Boolean Numeric Numeric String Boolean Numeric Boolean Boolean String String Numeric Numeric String String String String String Boolean String String String Boolean Boolean 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. 944 Chapter 10: Profile Management Version 1 and Version 2 Version 2 Functionality – Creates an Android container profile that can be used with other profiles. HTTP Method – POST API URI – https://host/api/mdm/profiles/platforms/android/create Request Payloads XMLJSON { "AndroidContainerCredentialsList" : [ { "CertificateAuthority" : Numeric, "CertificateData" : "String", "CertificateID" : Numeric, "CertificatePassword" : "String", "CertificateTemplate" : Numeric, "CertificateThumbprint" : "String", "CertificateType" : "String", "CredentialName" : "String", "CredentialSource" : "String", "EnableTimaKeystore" : Boolean, "Name" : "String", "Smime" : "String" VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 946 Chapter 10: Profile Management Version 1 and Version 2 } ], "AndroidContainerVpnList" : [ { "AuthenticationType" : Numeric, "ClientType" : Numeric, "ConnectionName" : "String", "ConnectionType" : Numeric, "EnableAdvancedConfigurations" : Boolean, "MocanaSettings" : { "BackupServerName" : "String", "DeadPeerDetection" : Boolean, "DefaultRouteEnabled" : Boolean, "DhGroup" : Numeric, "IKEVersion" : Numeric, "PFSExchange" : Boolean, "PhaseOneMode" : "String", "SuiteB" : "String" }, "NetMotionSettings" : { "DebugLoggingEnabled" : Boolean, "DeviceName" : "String", "Domain" : "String", "ServerSuffix" : "String", "ShowWarnings" : Boolean, "ValidateServer" : Boolean }, "Password" : "String", "PulseSecureSettings" : { "PacUrl" : "String", "Port" : "String", "ProxyPassword" : "String", "ProxyType" : Numeric, "ProxyUserName" : "String", "Server" : "String" }, "Realm" : "String", "Role" : "String", "ServerName" : "String", "SplitTunnelType" : Numeric, "UseAuthentication" : Boolean, "Username" : "String", "VPNApplicationsList" : [ "String" ], "VpnAssignment" : Numeric } ] "General" : JSON Payload } VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 947 Chapter 10: Profile Management Version 1 and Version 2 Request Tag Details Tag Type Mandatory Description General Tag Yes The JSON/XML General profile. Refer General profile for details CertificateAuthority Numeric No Specifies the unique numeric identifier of the certificate authority CertificateData String No Base-64 encoded certificate Data string CertificateID Numeric No Unique numeric ID of the certificate that was generated from the upload certificate API CertificatePassword String Yes (for Password of the certificate being uploaded credential source=upload) CertificateTemplate Numeric No Specifies the numeric identifier of the certificate template CertificateThumbprint String No Thumbprint of the certificate being uploaded CertificateType String No Type of the certificate being uploaded CredentialName String Yes Desired name of the credential chosen when credential source is "Upload". Mandatory when credential source is "Upload" CredentialSource String Yes Specifies the source of the credentials. EnableTimaKeystore Boolean No Name String No Desired name of the credential chosen when credential source is "Upload". Mandatory when credential source is "Upload Smime String Yes Species if the S/MIME signing or encryption certificate of the user is used a credential AuthenticationType Numeric No Specifies the Authentication type to be used with the VPN ClientType Numeric Yes Type of the client used for the vpn connection ConnectionName String Yes Name of the connection displayed on the device ConnectionType Numeric Yes Type of connection enabled by the payload EnableAdvancedConfigurations Boolean No When true, enables all the advanced vpn configurations BackupServerName String Yes Name of the backup server DeadPeerDetection Boolean No When true, enables dead peer detection DefaultRouteEnabled Boolean No When true, default route is enabled VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 948 Chapter 10: Profile Management Version 1 and Version 2 DhGroup Numeric No Dh Group identifier IKEVersion Numeric No Unique Internet Key Exchange version associated with the connection PFSExchange Boolean No When true, PFS exchange is enabled for the connection PhaseOneMode String No Phase one mode for vpn connection SuiteB String No SuiteB algorithm used for the connection DebugLoggingEnabled Boolean No When true, debug logging is enabled for net motion settings DeviceName String No Name of the device Domain String No Domain name for the account. ServerSuffix String No Server suffix for the domain ShowWarnings Boolean No When true, shows the warning messages ValidateServer Boolean No When true, validates the server Password String Yes Password for the account PacUrl String Yes Proxy auto configuration URL address Port String Yes (for Port number of the VPN proxy server Proxy=Manual) ProxyPassword String No Specifies the password of the proxy ProxyType Numeric No Type of proxy if any on the Wireless network. Defaults to None ProxyUserName String No Username for proxy server authentication Server String Yes Host name or IP address of the server Realm String No Kerberos realm name. This field accepts look up values ServerName String Yes Name of the server SplitTunnelType Numeric No Type of the split tunnel used UseAuthentication Boolean No User authentication type for the connection Username String No Username for the account. This field accepts lookup values VPNApplicationsList String Yes VPN application list VpnAssignment Numeric Yes VPN assignment VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 949 Chapter 10: Profile Management Version 1 and Version 2 Response Payload XML XML Payload Boolean String String String Numeric String String String Numeric Numeric String String Numeric String String Boolean String String String String Numeric Numeric String Boolean Numeric VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 945 Chapter 10: Profile Management Version 1 and Version 2Numeric String Boolean Numeric Boolean Boolean String String Numeric Numeric String String String String String Boolean String String String Boolean Boolean 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. 950 Chapter 10: Profile Management Version 1 and Version 2 Create AppleOsX Device Profile Version 2 Functionality – Creates an AppleOsX device profile. HTTP Method – POST API URL – https://host/api/mdm/profiles/platforms/appleosx/create Important: Profile details can be modified by providing the numerictag under the General payload. Use the Get Payload Keys API to retrieve the tags to be modified. Request Payload XML JSON { "General" : { JSON Payload }, "CredentialsList" : [ { "AllowAccessToAllApplications" : Boolean, "AllowExportFromKeyChain" : Boolean, "CertificateAuthority" : Numeric, "CertificateID" : Numeric, "CertificateTemplate" : Numeric, "CredentialName" : "String", "CredentialSource" : "String", "Name" : "String" } ], "CustomSettingsList" : [ { "CustomSettings" : "String" } ], "EasMicrosoftOutlook" : { "AccountName" : "String", "DirectoryServer" : "String", VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 959 Chapter 10: Profile Management Version 1 and Version 2 "DirectoryServerPort" : "String", "DirectoryServerRequiresSSL" : Boolean, "Domain" : "String", "EmailAddress" : "String", "ExchangeHost" : "String", "ExchangePort" : "String", "Password" : "String", "SearchBase" : "String", "UseSSL" : Boolean, "UserName" : "String" }, "EasNativeMailclient" : { "AccountName" : "String", "EmailAddress" : "String", "ExternalExchangeHost" : "String", "ExternalPort" : "String", "ExternalServerPath" : "String", "InternalExchangeHost" : "String", "InternalServerPath" : "String", "InternallPort" : "String", "Password" : "String", "PayloadCertificate" : "String", "UseSslForExternalExchangeHost" : Boolean, "UseSslForInternalExchangeHost" : Boolean, "UserName" : "String" }, "EmailList" : [ { "AccountDescription" : "String", "AccountType" : "String", "EmailAddress" : "String", "IncomingMailServerAuthentication" : "String", "IncomingMailServerHostName" : "String", "IncomingMailServerPortNumber" : "String", "IncomingMailServerUseSSL" : Boolean, "IncomingMailServerUsername" : "String", "IncomingPassword" : "String", "OutgoingMailServerAuthentication" : "String", "OutgoingMailServerHostName" : "String", "OutgoingMailServerPortNumber" : "String", "OutgoingMailServerUseSSL" : Boolean, "OutgoingMailServerUsername" : "String", "OutgoingPassword" : "String", "OutgoingPasswordSameAsIncoming" : Boolean, "PathPrefix" : "String", "UserDisplayName" : "String" } ], VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 960 Chapter 10: Profile Management Version 1 and Version 2 "FlexPolicies" : { "AllowImage" : Boolean, "Audio" : Boolean, "ChangeCPUSettings" : Boolean, "ChangeMemorySettings" : Boolean, "CommunicationAndCDC" : Boolean, "ContentSecurity" : Boolean, "CopyAndPaste" : Boolean, "DaysAllowedOffline" :Numeric, "DaysBeforeExpiration" : Numeric, "Description" : "String", "DownloadUrl" : "String", "DragAndDrop" : Boolean, "ExpirationDate" : "Numeric", "ExpirationMessage" : "String", "ExpirationWarning" : Boolean, "ExpirationWarningMessage" : "String", "ForcePasswordChangeWhenVMIsMovedOrCopied" : Boolean, "Image" : Numeric, "MassStorage" : Boolean, "MatchUserADPassword" : Boolean, "Miscellaneous" : Boolean, "Name" : "String", "Physical" : Boolean, "Printer" : Boolean, "ProductId" : [ "String" ], "SharedFolders" : Boolean, "SmartCard" : Boolean, "UsbDevices" : Numeric, "VendorId" : [ "String" ], "VendorName" : [ "String" ], "Video" : Boolean, "VmxFile" : Numeric, "WirelessController" : Boolean }, "NetworkList" : [ { "AllowTrustExceptions" : Boolean, "AllowTwoRANDs" : Boolean, "AutoJoin" : Boolean, "EAPAKA" : Boolean, "EAPFAST" : Boolean, "EAPSIM" : Boolean, "HiddenNetwork" : Boolean, VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 961 Chapter 10: Profile Management Version 1 and Version 2 "IdentityCertificate" : "String", "InnerIdentity" : "String", "LEAP" : Boolean, "NetworkInterface" : "String", "OuterIdentity" : "String", "PEAP" : Boolean, "PacFallback" : Boolean, "Password" : "String", "ProxyPassword" : "String", "ProxyServer" : "String", "ProxyServerPort" : Numeric, "ProxyType" : "String", "ProxyUrl" : "String", "ProxyUsername" : "String", "SecurityType" : "String", "ServiceSetIdentifier" : "String", "TLS" : Boolean, "TTLS" : Boolean, "TrustedCertificates" : [ "String" ], "UseAsLoginWindowConfiguration" : Boolean, "UsePAC" : Boolean, "UserName" : "String", "UserPassword" : "String" } ], "Passcode" : { "AllowSimpleValue" : Boolean, "AutoLock" : "String", "MaximumPasscodeAge" : "String", "MinimumNumberOfComplexCharacters" : "String", "MinimumPasscodeLength" : Numeric, "RequireAlphanumericValue" : Boolean, "RequirePasscodeOnDevice" : Boolean }, "Restrictions" : { "Applications" : { "AllowApplication" : [ "String" ], "AllowFolders" : [ "String" ], "AppStore" : { "AllowAppStoreAppAdoption" : Boolean, "RequireAdminPasswordToInstallOrUpdateApp" : Boolean, "RestrictAppStoreToSoftwareUpdatesOnly" : Boolean }, VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 962 Chapter 10: Profile Management Version 1 and Version 2 "AppleMusic" : { "AllowMusicService" : Boolean }, "Camera" : { "AllowUseOfBuiltInCamera" : Boolean }, "DisallowFolders" : [ "String" ], "GameCentre" : { "AllowAddingGameCenterFriends" : Boolean, "AllowGameCenterModification" : Boolean, "AllowMultiplayerGaming" : Boolean, "AllowUseOfGameCenter" : Boolean }, "RestrictWhichApplicationsAreAllowedToLaunch" : Boolean, "Safari" : { "AllowSafariAutoFill" : Boolean } }, "Desktop" : { "DesktopPicturePath" : "String", "LockDesktopPicture" : Boolean }, "Functionality" : { "ICloud" : { "AllowICloudFMM" : Boolean, "AllowIcloudAddressBook" : Boolean, "AllowIcloudBTMM" : Boolean, "AllowIcloudBookmarks" : Boolean, "AllowIcloudCalendar" : Boolean, "AllowIcloudDocumentsAndData" : Boolean, "AllowIcloudKeychainSync" : Boolean, "AllowIcloudMail" : Boolean, "AllowIcloudNotes" : Boolean, "AllowIcloudReminders" : Boolean, "AllowUseIcloudPasswordForLocalAccounts" : Boolean }, "Spotlight" : { "AllowSpotlightSuggestions" : Boolean } }, "Media" : { "AutoEjectMedia" : Boolean, "DiskMediaCDs" : { "Allow" : Boolean, "Authenticate" : Boolean, "Read-Only" : Boolean }, "DiskMediaDVDs" : { "Allow" : Boolean, VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 963 Chapter 10: Profile Management Version 1 and Version 2 "Authenticate" : Boolean, "Read-Only" : Boolean }, "ExternalHardDiskMediaAccess" : { "Allow" : Boolean, "Authenticate" : Boolean, "Read-Only" : Boolean }, "HardDiskDvdRam" : { "Allow" : Boolean, "Authenticate" : Boolean, "Read-Only" : Boolean }, "HardDiskImages" : { "Allow" : Boolean, "Authenticate" : Boolean, "Read-Only" : Boolean }, "InternalHardDiskMediaAccess" : { "Allow" : Boolean, "Authenticate" : Boolean, "Read-Only" : Boolean }, "NetworkAccess" : { "AirDrop" : Boolean }, "RecordableDisc" : { "BurnSupport" : { "Allow" : Boolean, "Authenticate" : Boolean, "Read-Only" : Boolean } } }, "Preferences" : { "Accessibility" : Boolean, "AppStore" : Boolean, "Bluetooth" : Boolean, "CDsAndDVDs" : Boolean, "DateAndTime" : Boolean, "DesktopAndScreenSaver" : Boolean, "DictationAndSpeech" : Boolean, "Displays" : Boolean, "Dock" : Boolean, "EnabledPreferencePanes" : Boolean, "EnergySaver" : Boolean, "FibreChannel" : Boolean, "General" : Boolean, "Ink" : Boolean, "InternetAccounts" : Boolean, "Keyboard" : Boolean, VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 964 Chapter 10: Profile Management Version 1 and Version 2 "LanguageAndText" : Boolean, "MissionControl" : Boolean, "MobileMe" : Boolean, "Mouse" : Boolean, "Network" : Boolean, "Notifications" : Boolean, "ParentalControls" : Boolean, "PrintAndScan" : Boolean, "Profiles" : Boolean, "SecurityAndPrivacy" : Boolean, "Sharing" : Boolean, "SoftwareUpdate" : Boolean, "Sound" : Boolean, "Spotlight" : Boolean, "StartupDisk" : Boolean, "TimeMachine" : Boolean, "Trackpad" : Boolean, "UsersAndGroups" : Boolean, "Xsan" : Boolean, "iCloud" : Boolean }, "Sharing" : { "AddtoAperture" : Boolean, "AddtoReadingList" : Boolean, "AddtoiPhoto" : Boolean, "AirDrop" : Boolean, "AutomaticallyEnableNewSharingServices" : Boolean, "Facebook" : Boolean, "Mail" : Boolean, "Messages" : Boolean, "RestrictWhichSharingServicesAreEnabled" : Boolean, "SinaWeibo" : Boolean, "Twitter" : Boolean, "VideoServices" : Boolean }, "Widgets" : { "AllowOnlyConfiguredWidgets" : Boolean, "AllowedWidgets" : [ "String" ] } }, "ScepList" : [ { "CertificateAuthorityId" : Numeric, "CertificateTemplateId" : Numeric, "CredentialSource" : "String", "Name" : "String" } ], VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 965 Chapter 10: Profile Management Version 1 and Version 2 "VpnList" : [ { "Account" : "String", "AppMapping" : Boolean, "ApplicationBundleId" : [ "String" ], "ConnectAutomatically" : Boolean, "ConnectionName" : "String", "ConnectionType" : "String", "CustomDatas" : [ { "Key" : "String", "Value" : "String" } ], "EnableSafariDomains" : Boolean, "EnableVPNOnDemand" : Boolean, "EncryptionLevel" : Numeric, "GroupName" : "String", "IdentityCertificate" : "String", "IncludeUserPIN" : Boolean, "MachineAuthentication" : Numeric, "Password" : "String", "PerAppVpn" : Boolean, "Port" : Numeric, "PromptForPassword" : Boolean, "Proxy" : "String", "ProxyServer" : "String", "ProxyServerAutoConfigURL" : "String", "SafariDomains" : [ "String" ], "SendAllTraffic" : Boolean, "Server" : "String", "SharedSecret" : "String", "UseHybridAuthentication" : Boolean, "UserAuthentication" : "String", "UserName" : "String", "VpnOnDemand" : [ { "Domain" : "String", "OnDemandAction" : "String" } ], "VpnPassword" : "String" } ] } VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 966 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 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 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 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. 967 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 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 VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 968 Chapter 10: Profile Management Version 1 and Version 2 AllowApplication String No When false, prevents user from accessing application on the device AllowFolders String No When false, prevents users from accessing application folders on the device AllowAppStoreAppAdoption Boolean No When true, allows user device for app store app adoption RequireAdminPasswordToInstallOrUpdateApp Boolean No When true, user device requires admin password to install or update app RestrictAppStoreToSoftwareUpdatesOnly Boolean No When true, device restricts app store to software updates only AllowMusicService Boolean No When false, prevents user from accessing music service AllowUseOfBuiltInCamera Boolean No When false, prevents user from using built-in-camera DisallowFolders String No When true, user cannot access device folders AllowAddingGameCenterFriends Boolean No When false, prohibits adding friends to Game Center AllowGameCenterModification Boolean No When false, prevents modifying game center friends AllowMultiplayerGaming Boolean No When false, prevents multi player gaming AllowUseOfGameCenter Boolean No When false, prevents use of game center AllowSafariAutoFill Boolean No When false, prevents Safari auto fill DesktopPicturePath Boolean No When false, prevents user from finding out desktop picture path LockDesktopPicture Boolean No When false, prevents user from accessing lock desktop picture AllowICloudFMM Boolean No When false, prevents icloud FMM AllowIcloudAddressBook Boolean No When false, prevents user from accessing icloud address book AllowIcloudBTMM Boolean No When false, prevents icloud BTMM AllowIcloudBookmarks Boolean No When false, prevents user from accessing icloud bookmarks VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 969 Chapter 10: Profile Management Version 1 and Version 2 AllowIcloudCalendar Boolean No When false, prevents user from accessing icloud calendar AllowIcloudDocumentsAndData Boolean No When false, prevents user from accessing icloud documents and data AllowIcloudKeychainSync Boolean No When false, prevents user from accessing icloud keychain sync AllowIcloudMail Boolean No When false, prevents user from accessing icloud mail AllowIcloudNotes Boolean No When false, prevents user from accessing icloud notes AllowIcloudReminders Boolean No When false, prevents user from accessing icloud reminders AllowUseIcloudPasswordForLocalAccounts Boolean No When true, user can use icloud password for local accounts AllowSpotlightSuggestions Boolean No When false, prevents spotlight suggestions AutoEjectMedia Boolean No When false, prevents auto ejection of media DiskMediaCDs (Allow/Authenticate/Readonly) Boolean No When false, prevents use of disk media cds DiskMediaDVDs(Allow/Authenticate/Readonly) Boolean No When false, prevents use of disk media dvds ExternalHardDiskMediaAccess (Allow/Authenticate/Read-only) Boolean No When false, prevents access to external hard disk media HardDiskDvdRam(Allow/Authenticate/Readonly) Boolean No When false, prevents use of hard disk dvd ram HardDiskImages(Allow/Authenticate/Readonly) Boolean No When false, prevents access to hard disk images InternalHardDiskMediaAccess (Allow/Authenticate/Read-only) Boolean No When false, prevents access to internal hard disk media NetworkAccess Boolean No When false, prevents network access AirDrop Boolean No When false, prevents use of Airdrop RecordableDisc Boolean No When false, prevents use of recordable disc BurnSupport(Allow/Authenticate/Read-only) Boolean No When false, prevents burn support VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 970 Chapter 10: Profile Management Version 1 and Version 2 AppStore Boolean No When false, prevents access to device app store Bluetooth Boolean No When false, prevents access to device bluetooth CDsAndDVDs Boolean No When false, prevents use of cds and dvds DateAndTime Boolean No When false, prevents access to device date and time DesktopAndScreenSaver Boolean No When false, prevents access to desktop and screen saver DictationAndSpeech Boolean No When false, prevents access to device dictation and speech Displays Boolean No When false, prevents access to device displays Dock Boolean No When false, prevents access to device dock EnabledPreferencePanes Boolean No When false, prevents use of device preference panes EnergySaver Boolean No When false, prevents access to device energy saver FibreChannel Boolean No When false, prevents access to fibre channel InternetAccounts Boolean No When false, prevents access to device internet accounts Keyboard Boolean No When false, prevents access to device keyboard LanguageAndText Boolean No When false, prevents access to device language and text MissionControl Boolean No When false, prevents access to device mission control MobileMe Boolean No When false, prevents access to Mobile Me Mouse Boolean No When false, prevents access to device mouse Network Boolean No When false, prevents access to device network Notifications Boolean No When false, prevents access to device notifications VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 971 Chapter 10: Profile Management Version 1 and Version 2 ParentalControls Boolean No When false, prevents access to device parental controls PrintAndScan Boolean No When false, prevents access to device print and scan Profiles Boolean No When false, prevents access to device profiles SecurityAndPrivacy Boolean No When false, prevents access to device security and privacy Sharing Boolean No When false, prevents access to device sharing SoftwareUpdate Boolean No When false, prevents access to device software update Sound Boolean No When false, prevents access to device sound Spotlight Boolean No When false, prevents access to device spotlight StartupDisk Boolean No When false, prevents access to device startup disk TimeMachine Boolean No When false, prevents access to device time machine Trackpad Boolean No When false, prevents access to device track pad UsersAndGroups Boolean No When false, prevents access to other device users and groups Xsan Boolean No When false, prevents access to device xsan iCloud Boolean No When false, prevents access to device icloud AddtoAperture Boolean No When false, you cannot add to aperture AddtoReadingList Boolean No When false, you cannot add to reading list AddtoiPhoto Boolean No When false, you cannot add to iphoto AirDrop Boolean No When false, you cannot access to airdrop AutomaticallyEnableNewSharingServices Boolean No When false, you cannot automatically enable new sharing services VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 972 Chapter 10: Profile Management Version 1 and Version 2 Facebook Boolean No When false, you cannot access to facebook Mail Boolean No When false, you cannot access to mail Messages Boolean No When false, you cannot access to messages RestrictWhichSharingServicesAreEnabled Boolean No When true, you can restrict sharing services SinaWeibo Boolean No When false, you cannot access to Sinaweibo Twitter Boolean No When false, you cannot access to Twitter VideoServices Boolean No When false, you cannot access to video services AllowOnlyConfiguredWidgets Boolean No When true, allow only configured widgets AllowedWidgets Boolean No When true, allow all allowed widgets Account String Yes User account for authenticating the server connection AppMapping Boolean No When true, allows app mapping ApplicationBundleId String Yes Bundle id of the identifier ConnectAutomatically Boolean No When true, the VPN connection happens automatically ConnectionName String Yes Name of the connection displayed on the device ConnectionType String Yes Type of connection enabled by the payload CustomDatas String Yes VPN custom datas EnableSafariDomains Boolean No When true, enable safari domains EnableVPNOnDemand Boolean No When true, enable VPN on demand EncryptionLevel Numeric Yes Encryption level for the vpn connection GroupName String Yes Group name where the profile is present IdentityCertificate String No Certificate to be used for User Identification. Certificates can be added using the credentials payload VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 973 Chapter 10: Profile Management Version 1 and Version 2 IncludeUserPIN Boolean No Setting to true sends the device user's pin along with the Authentication MachineAuthentication Numeric No Machine authentication for the connection Password String No Password for proxy server authentication PerAppVpn Boolean No Specifies if a per-app VPN needs to be configured on the iOS device Port Numeric No Port number of the VPN proxy PromptForPassword Boolean No When true, prompts the user for a password on the device ProxyServer String No Host name or the IP address of the Proxy server ProxyServerAutoConfigURL String No Server URL from which the proxy setting will be retrieved 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 SendAllTraffic Boolean No When true, routes all network traffic through the VPN connection Server String No Host name or the IP address of the Proxy server SharedSecret String No Shared secret for this VPN account. Only present if MachineAuthentication tag is set to Shared Secret/Group Name UseHybridAuthentication Boolean No Specifies if a combination of Secret, Name and Certificate need to be used for Authentication UserAuthentication String No User authentication type for the connection UserName String No Username for proxy server authentication VpnOnDemand Domain String No Domain name for VPN connection VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 974 Chapter 10: Profile Management Version 1 and Version 2 OnDemandAction String No On Demand Action on the Domain VpnPassword String No Password for the VPN connection AllowAccessToAllApplications Boolean No When true, allows access to all applications AllowExportFromKeyChain Boolean 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 CredentialName String CredentialSource String Yes The source of the credentials Name String Yes Desired name of the credential chosen when credential source is "Upload". Mandatory when credential source is "Upload". CertificateAuthorityId Numeric No Specifies the unique numeric identifier of the certificate authority CertificateTemplateId Numeric No Specifies the numeric identifier of the certificate template CredentialSource String No Specifies the source of the SCEP credentials Name String No Desired name of the SCEP configuration AllowTrustExceptions Boolean No When true, allow trust decisions to be made by the user AllowTwoRANDs Boolean No When true, allow tworands AutoJoin Boolean No When true, the network is autojoined. If false, the user has to tap the network name to join it. Available in iOS 5.0 and later EAPAKA Boolean No Specifies if EAPAKA protocol is used for authentication for the Wi-Fi network connection When true, allows export from Key chain Name of the credentials VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 975 Chapter 10: Profile Management Version 1 and Version 2 EAPFAST Boolean No Specifies if EAPFAST protocol is used for authentication for the Wi-Fi network connection EAPSIM Boolean No Specifies if EAPSIM protocol is used for authentication for the Wi-Fi network connection HiddenNetwork Boolean No By default (false), it is assumed that all configured networks are open or broadcast. To specify a hidden network, the value must be true IdentityCertificate String No Name of the Identity certificate used for Authentication 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 NetworkInterface String No Specifies the network interface OuterIdentity String No Externally Visible Identification (For TTLS, PEAP, And EAP-FAST) PEAP Boolean No Specifies if PEAP Protocol is used for Authentication for the Wi-Fi network ProxyPassword String No Specifies the password of the HTTP proxy Password String No Specifies if the password needs to provided during connection ProxyServer String Yes (for Hostname or the IP address of the Proxy=Manual) Proxy Server ProxyServerPort Numeric Yes (for Port number of the Proxy server Proxy=Manual) ProxyType String No Type of proxy if any on the Wireless network. Defaults to None ProxyUrl String No Specifies the Proxy URL for Auto Proxy type ProxyUsername String No Username of the HTTP Proxy SecurityType String/Numeric No The security type of the Wi-Fi Network. The allowed values for this tag can be obtained from the SecurityType Picklist VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 976 Chapter 10: Profile Management Version 1 and Version 2 ServiceSetIdentifier String No SSID of the Wi-Fi network to be used 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 TrustedCertificates String No Array of strings. Specifies the Certificates assigned. Certificates can be added using the credentials payload UseAsLoginWindowConfiguration Boolean No When true, use login window configuration UsePAC Boolean No Specifies if the Protected Access Credentials need to be used UserName String No Username used for Authentication. Allows lookup values UserPassword String No Password for the Authenticated Account AccountName String Yes Name of the EAS native mail client account EmailAddress String No User's email address. This field accepts lookup values ExternalExchangeHost String Yes External exchange host name for the Email server ExternalPort String Yes External exchange port number ExternalServerPath String Yes External exchange server path InternalExchangeHost String Yes Internal exchange host name for the Email server InternalServerPath String Yes Internal exchange server path InternallPort String Yes Internal exchange port number Password String No Password for the account PayloadCertificate String No Name of the certificate associated with the payload UseSslForExternalExchangeHost Boolean No When true, use SSL for external exchange host VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 977 Chapter 10: Profile Management Version 1 and Version 2 UseSslForInternalExchangeHost Boolean No When true, use SSL for internal exchange host UserName String No Username for authenticating the connection AccountName String Yes Account name for EAS Microsoft outlook DirectoryServer String Yes Name of the directory server DirectoryServerPort String Yes Port number of the directory server to setup connection DirectoryServerRequiresSSL Boolean No When true, directory server requires SSL protocol Domain String Yes Domain name for the account. This field accepts look-up values EmailAddress String Yes Email Address of the account. Supports look up values. ExchangeHost String Yes Exchange host name for the email server ExchangePort String Yes Exchange host email server port number Password String No Password for the EAS Microsoft outlook account UseSSL Boolean No Setting to true routes all communications through the secure socket layer UserName String Yes Username used for Authentication. Allows lookup values CustomSettings String Yes Custom settings for device profile Response Payload XML XML Payload Boolean Boolean Boolean Numeric String String String String String String String String String String String String String Boolean String VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 951 Chapter 10: Profile Management Version 1 and Version 2String String String Boolean String Boolean VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 952 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 Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean String String String Boolean String Boolean Boolean Boolean Boolean VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 953 Chapter 10: Profile Management Version 1 and Version 2Boolean 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. 954 Chapter 10: Profile Management Version 1 and Version 2 Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean String Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean String String String String Numeric Boolean Boolean Boolean Boolean String Boolean String String String String VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 955 Chapter 10: Profile Management Version 1 and Version 2String Numeric String Boolean Boolean String Boolean Boolean String String String String String Numeric String String String String String Numeric Numeric Numeric Boolean Boolean 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. 956 Chapter 10: Profile Management Version 1 and Version 2Boolean Boolean String String Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean String String String String String Boolean Boolean String Boolean String String Numeric String String String Boolean VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 957 Chapter 10: Profile Management Version 1 and Version 2 String String String String String String String String Boolean String String String Boolean String String String Boolean String String String String String String String Boolean String Numeric String String String String String Numeric Boolean Boolean Boolean Boolean Boolean Boolean Boolean Numeric 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. 958 Chapter 10: Profile Management Version 1 and Version 2 String String String 9223372036854775807 9223372036854775807 Numeric String Boolean String Numeric String Numeric JSON { VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 978 Chapter 10: Profile Management Version 1 and Version 2 "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. 979 Chapter 10: Profile Management Version 1 and Version 2 Update AppleOsX Device Profile Version 2 Functionality – Updates an AppleOsX device profile identified by its numeric ID. HTTP Method – POST API URI – https://host/api/mdm/profiles/platforms/appleosx/update Response Payload – NA Important: Profile details can be modified by providing the numerictag under the General payload. Use the Get Payload Keys API to retrieve the tags to be modified. Request Payload XML JSON { "General" : { JSON Payload }, "CredentialsList" : [ { "AllowAccessToAllApplications" : Boolean, "AllowExportFromKeyChain" : Boolean, "CertificateAuthority" : Numeric, "CertificateID" : Numeric, "CertificateTemplate" : Numeric, "CredentialName" : "String", "CredentialSource" : "String", "Name" : "String" } ], "CustomSettingsList" : [ { "CustomSettings" : "String" } ], "EasMicrosoftOutlook" : { "AccountName" : "String", VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 988 Chapter 10: Profile Management Version 1 and Version 2 "DirectoryServer" : "String", "DirectoryServerPort" : "String", "DirectoryServerRequiresSSL" : Boolean, "Domain" : "String", "EmailAddress" : "String", "ExchangeHost" : "String", "ExchangePort" : "String", "Password" : "String", "SearchBase" : "String", "UseSSL" : Boolean, "UserName" : "String" }, "EasNativeMailclient" : { "AccountName" : "String", "EmailAddress" : "String", "ExternalExchangeHost" : "String", "ExternalPort" : "String", "ExternalServerPath" : "String", "InternalExchangeHost" : "String", "InternalServerPath" : "String", "InternallPort" : "String", "Password" : "String", "PayloadCertificate" : "String", "UseSslForExternalExchangeHost" : Boolean, "UseSslForInternalExchangeHost" : Boolean, "UserName" : "String" }, "EmailList" : [ { "AccountDescription" : "String", "AccountType" : "String", "EmailAddress" : "String", "IncomingMailServerAuthentication" : "String", "IncomingMailServerHostName" : "String", "IncomingMailServerPortNumber" : "String", "IncomingMailServerUseSSL" : Boolean, "IncomingMailServerUsername" : "String", "IncomingPassword" : "String", "OutgoingMailServerAuthentication" : "String", "OutgoingMailServerHostName" : "String", "OutgoingMailServerPortNumber" : "String", "OutgoingMailServerUseSSL" : Boolean, "OutgoingMailServerUsername" : "String", "OutgoingPassword" : "String", "OutgoingPasswordSameAsIncoming" : Boolean, "PathPrefix" : "String", "UserDisplayName" : "String" } ], VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 989 Chapter 10: Profile Management Version 1 and Version 2 "FlexPolicies" : { "AllowImage" : Boolean, "Audio" : Boolean, "ChangeCPUSettings" : Boolean, "ChangeMemorySettings" : Boolean, "CommunicationAndCDC" : Boolean, "ContentSecurity" : Boolean, "CopyAndPaste" : Boolean, "DaysAllowedOffline" :Numeric, "DaysBeforeExpiration" : Numeric, "Description" : "String", "DownloadUrl" : "String", "DragAndDrop" : Boolean, "ExpirationDate" : "Numeric", "ExpirationMessage" : "String", "ExpirationWarning" : Boolean, "ExpirationWarningMessage" : "String", "ForcePasswordChangeWhenVMIsMovedOrCopied" : Boolean, "Image" : Numeric, "MassStorage" : Boolean, "MatchUserADPassword" : Boolean, "Miscellaneous" : Boolean, "Name" : "String", "Physical" : Boolean, "Printer" : Boolean, "ProductId" : [ "String" ], "SharedFolders" : Boolean, "SmartCard" : Boolean, "UsbDevices" : Numeric, "VendorId" : [ "String" ], "VendorName" : [ "String" ], "Video" : Boolean, "VmxFile" : Numeric, "WirelessController" : Boolean }, "NetworkList" : [ { "AllowTrustExceptions" : Boolean, "AllowTwoRANDs" : Boolean, "AutoJoin" : Boolean, "EAPAKA" : Boolean, "EAPFAST" : Boolean, "EAPSIM" : Boolean, VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 990 Chapter 10: Profile Management Version 1 and Version 2 "HiddenNetwork" : Boolean, "IdentityCertificate" : "String", "InnerIdentity" : "String", "LEAP" : Boolean, "NetworkInterface" : "String", "OuterIdentity" : "String", "PEAP" : Boolean, "PacFallback" : Boolean, "Password" : "String", "ProxyPassword" : "String", "ProxyServer" : "String", "ProxyServerPort" : Numeric, "ProxyType" : "String", "ProxyUrl" : "String", "ProxyUsername" : "String", "SecurityType" : "String", "ServiceSetIdentifier" : "String", "TLS" : Boolean, "TTLS" : Boolean, "TrustedCertificates" : [ "String" ], "UseAsLoginWindowConfiguration" : Boolean, "UsePAC" : Boolean, "UserName" : "String", "UserPassword" : "String" } ], "Passcode" : { "AllowSimpleValue" : Boolean, "AutoLock" : "String", "MaximumPasscodeAge" : "String", "MinimumNumberOfComplexCharacters" : "String", "MinimumPasscodeLength" : Numeric, "RequireAlphanumericValue" : Boolean, "RequirePasscodeOnDevice" : Boolean }, "Restrictions" : { "Applications" : { "AllowApplication" : [ "String" ], "AllowFolders" : [ "String" ], "AppStore" : { "AllowAppStoreAppAdoption" : Boolean, "RequireAdminPasswordToInstallOrUpdateApp" : Boolean, "RestrictAppStoreToSoftwareUpdatesOnly" : Boolean VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 991 Chapter 10: Profile Management Version 1 and Version 2 }, "AppleMusic" : { "AllowMusicService" : Boolean }, "Camera" : { "AllowUseOfBuiltInCamera" : Boolean }, "DisallowFolders" : [ "String" ], "GameCentre" : { "AllowAddingGameCenterFriends" : Boolean, "AllowGameCenterModification" : Boolean, "AllowMultiplayerGaming" : Boolean, "AllowUseOfGameCenter" : Boolean }, "RestrictWhichApplicationsAreAllowedToLaunch" : Boolean, "Safari" : { "AllowSafariAutoFill" : Boolean } }, "Desktop" : { "DesktopPicturePath" : "String", "LockDesktopPicture" : Boolean }, "Functionality" : { "ICloud" : { "AllowICloudFMM" : Boolean, "AllowIcloudAddressBook" : Boolean, "AllowIcloudBTMM" : Boolean, "AllowIcloudBookmarks" : Boolean, "AllowIcloudCalendar" : Boolean, "AllowIcloudDocumentsAndData" : Boolean, "AllowIcloudKeychainSync" : Boolean, "AllowIcloudMail" : Boolean, "AllowIcloudNotes" : Boolean, "AllowIcloudReminders" : Boolean, "AllowUseIcloudPasswordForLocalAccounts" : Boolean }, "Spotlight" : { "AllowSpotlightSuggestions" : Boolean } }, "Media" : { "AutoEjectMedia" : Boolean, "DiskMediaCDs" : { "Allow" : Boolean, "Authenticate" : Boolean, "Read-Only" : Boolean }, "DiskMediaDVDs" : { VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 992 Chapter 10: Profile Management Version 1 and Version 2 "Allow" : Boolean, "Authenticate" : Boolean, "Read-Only" : Boolean }, "ExternalHardDiskMediaAccess" : { "Allow" : Boolean, "Authenticate" : Boolean, "Read-Only" : Boolean }, "HardDiskDvdRam" : { "Allow" : Boolean, "Authenticate" : Boolean, "Read-Only" : Boolean }, "HardDiskImages" : { "Allow" : Boolean, "Authenticate" : Boolean, "Read-Only" : Boolean }, "InternalHardDiskMediaAccess" : { "Allow" : Boolean, "Authenticate" : Boolean, "Read-Only" : Boolean }, "NetworkAccess" : { "AirDrop" : Boolean }, "RecordableDisc" : { "BurnSupport" : { "Allow" : Boolean, "Authenticate" : Boolean, "Read-Only" : Boolean } } }, "Preferences" : { "Accessibility" : Boolean, "AppStore" : Boolean, "Bluetooth" : Boolean, "CDsAndDVDs" : Boolean, "DateAndTime" : Boolean, "DesktopAndScreenSaver" : Boolean, "DictationAndSpeech" : Boolean, "Displays" : Boolean, "Dock" : Boolean, "EnabledPreferencePanes" : Boolean, "EnergySaver" : Boolean, "FibreChannel" : Boolean, "General" : Boolean, "Ink" : Boolean, "InternetAccounts" : Boolean, VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 993 Chapter 10: Profile Management Version 1 and Version 2 "Keyboard" : Boolean, "LanguageAndText" : Boolean, "MissionControl" : Boolean, "MobileMe" : Boolean, "Mouse" : Boolean, "Network" : Boolean, "Notifications" : Boolean, "ParentalControls" : Boolean, "PrintAndScan" : Boolean, "Profiles" : Boolean, "SecurityAndPrivacy" : Boolean, "Sharing" : Boolean, "SoftwareUpdate" : Boolean, "Sound" : Boolean, "Spotlight" : Boolean, "StartupDisk" : Boolean, "TimeMachine" : Boolean, "Trackpad" : Boolean, "UsersAndGroups" : Boolean, "Xsan" : Boolean, "iCloud" : Boolean }, "Sharing" : { "AddtoAperture" : Boolean, "AddtoReadingList" : Boolean, "AddtoiPhoto" : Boolean, "AirDrop" : Boolean, "AutomaticallyEnableNewSharingServices" : Boolean, "Facebook" : Boolean, "Mail" : Boolean, "Messages" : Boolean, "RestrictWhichSharingServicesAreEnabled" : Boolean, "SinaWeibo" : Boolean, "Twitter" : Boolean, "VideoServices" : Boolean }, "Widgets" : { "AllowOnlyConfiguredWidgets" : Boolean, "AllowedWidgets" : [ "String" ] } }, "ScepList" : [ { "CertificateAuthorityId" : Numeric, "CertificateTemplateId" : Numeric, "CredentialSource" : "String", "Name" : "String" } VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 994 Chapter 10: Profile Management Version 1 and Version 2 ], "VpnList" : [ { "Account" : "String", "AppMapping" : Boolean, "ApplicationBundleId" : [ "String" ], "ConnectAutomatically" : Boolean, "ConnectionName" : "String", "ConnectionType" : "String", "CustomDatas" : [ { "Key" : "String", "Value" : "String" } ], "EnableSafariDomains" : Boolean, "EnableVPNOnDemand" : Boolean, "EncryptionLevel" : Numeric, "GroupName" : "String", "IdentityCertificate" : "String", "IncludeUserPIN" : Boolean, "MachineAuthentication" : Numeric, "Password" : "String", "PerAppVpn" : Boolean, "Port" : Numeric, "PromptForPassword" : Boolean, "Proxy" : "String", "ProxyServer" : "String", "ProxyServerAutoConfigURL" : "String", "SafariDomains" : [ "String" ], "SendAllTraffic" : Boolean, "Server" : "String", "SharedSecret" : "String", "UseHybridAuthentication" : Boolean, "UserAuthentication" : "String", "UserName" : "String", "VpnOnDemand" : [ { "Domain" : "String", "OnDemandAction" : "String" } ], "VpnPassword" : "String" } ] } VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 995 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 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 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 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. 996 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 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 VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 997 Chapter 10: Profile Management Version 1 and Version 2 AllowApplication String No When false, prevents user from accessing application on the device AllowFolders String No When false, prevents users from accessing application folders on the device AllowAppStoreAppAdoption Boolean No When true, allows user device for app store app adoption RequireAdminPasswordToInstallOrUpdateApp Boolean No When true, user device requires admin password to install or update app RestrictAppStoreToSoftwareUpdatesOnly Boolean No When true, device restricts app store to software updates only AllowMusicService Boolean No When false, prevents user from accessing music service AllowUseOfBuiltInCamera Boolean No When false, prevents user from using built-in-camera DisallowFolders String No When true, user cannot access device folders AllowAddingGameCenterFriends Boolean No When false, prohibits adding friends to Game Center AllowGameCenterModification Boolean No When false, prevents modifying game center friends AllowMultiplayerGaming Boolean No When false, prevents multi player gaming AllowUseOfGameCenter Boolean No When false, prevents use of game center AllowSafariAutoFill Boolean No When false, prevents Safari auto fill DesktopPicturePath Boolean No When false, prevents user from finding out desktop picture path LockDesktopPicture Boolean No When false, prevents user from accessing lock desktop picture AllowICloudFMM Boolean No When false, prevents icloud FMM AllowIcloudAddressBook Boolean No When false, prevents user from accessing icloud address book AllowIcloudBTMM Boolean No When false, prevents icloud BTMM AllowIcloudBookmarks Boolean No When false, prevents user from accessing icloud bookmarks VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 998 Chapter 10: Profile Management Version 1 and Version 2 AllowIcloudCalendar Boolean No When false, prevents user from accessing icloud calendar AllowIcloudDocumentsAndData Boolean No When false, prevents user from accessing icloud documents and data AllowIcloudKeychainSync Boolean No When false, prevents user from accessing icloud keychain sync AllowIcloudMail Boolean No When false, prevents user from accessing icloud mail AllowIcloudNotes Boolean No When false, prevents user from accessing icloud notes AllowIcloudReminders Boolean No When false, prevents user from accessing icloud reminders AllowUseIcloudPasswordForLocalAccounts Boolean No When true, user can use icloud password for local accounts AllowSpotlightSuggestions Boolean No When false, prevents spotlight suggestions AutoEjectMedia Boolean No When false, prevents auto ejection of media DiskMediaCDs (Allow/Authenticate/Readonly) Boolean No When false, prevents use of disk media cds DiskMediaDVDs(Allow/Authenticate/Readonly) Boolean No When false, prevents use of disk media dvds ExternalHardDiskMediaAccess (Allow/Authenticate/Read-only) Boolean No When false, prevents access to external hard disk media HardDiskDvdRam(Allow/Authenticate/Readonly) Boolean No When false, prevents use of hard disk dvd ram HardDiskImages(Allow/Authenticate/Readonly) Boolean No When false, prevents access to hard disk images InternalHardDiskMediaAccess (Allow/Authenticate/Read-only) Boolean No When false, prevents access to internal hard disk media NetworkAccess Boolean No When false, prevents network access AirDrop Boolean No When false, prevents use of Airdrop RecordableDisc Boolean No When false, prevents use of recordable disc BurnSupport(Allow/Authenticate/Read-only) Boolean No When false, prevents burn support VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 999 Chapter 10: Profile Management Version 1 and Version 2 AppStore Boolean No When false, prevents access to device app store Bluetooth Boolean No When false, prevents access to device bluetooth CDsAndDVDs Boolean No When false, prevents use of cds and dvds DateAndTime Boolean No When false, prevents access to device date and time DesktopAndScreenSaver Boolean No When false, prevents access to desktop and screen saver DictationAndSpeech Boolean No When false, prevents access to device dictation and speech Displays Boolean No When false, prevents access to device displays Dock Boolean No When false, prevents access to device dock EnabledPreferencePanes Boolean No When false, prevents use of device preference panes EnergySaver Boolean No When false, prevents access to device energy saver FibreChannel Boolean No When false, prevents access to fibre channel InternetAccounts Boolean No When false, prevents access to device internet accounts Keyboard Boolean No When false, prevents access to device keyboard LanguageAndText Boolean No When false, prevents access to device language and text MissionControl Boolean No When false, prevents access to device mission control MobileMe Boolean No When false, prevents access to Mobile Me Mouse Boolean No When false, prevents access to device mouse Network Boolean No When false, prevents access to device network Notifications Boolean No When false, prevents access to device notifications VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 1000 Chapter 10: Profile Management Version 1 and Version 2 ParentalControls Boolean No When false, prevents access to device parental controls PrintAndScan Boolean No When false, prevents access to device print and scan Profiles Boolean No When false, prevents access to device profiles SecurityAndPrivacy Boolean No When false, prevents access to device security and privacy Sharing Boolean No When false, prevents access to device sharing SoftwareUpdate Boolean No When false, prevents access to device software update Sound Boolean No When false, prevents access to device sound Spotlight Boolean No When false, prevents access to device spotlight StartupDisk Boolean No When false, prevents access to device startup disk TimeMachine Boolean No When false, prevents access to device time machine Trackpad Boolean No When false, prevents access to device track pad UsersAndGroups Boolean No When false, prevents access to other device users and groups Xsan Boolean No When false, prevents access to device xsan iCloud Boolean No When false, prevents access to device icloud AddtoAperture Boolean No When false, you cannot add to aperture AddtoReadingList Boolean No When false, you cannot add to reading list AddtoiPhoto Boolean No When false, you cannot add to iphoto AirDrop Boolean No When false, you cannot access to airdrop AutomaticallyEnableNewSharingServices Boolean No When false, you cannot automatically enable new sharing services VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 1001 Chapter 10: Profile Management Version 1 and Version 2 Facebook Boolean No When false, you cannot access to facebook Mail Boolean No When false, you cannot access to mail Messages Boolean No When false, you cannot access to messages RestrictWhichSharingServicesAreEnabled Boolean No When true, you can restrict sharing services SinaWeibo Boolean No When false, you cannot access to Sinaweibo Twitter Boolean No When false, you cannot access to Twitter VideoServices Boolean No When false, you cannot access to video services AllowOnlyConfiguredWidgets Boolean No When true, allow only configured widgets AllowedWidgets Boolean No When true, allow all allowed widgets Account String Yes User account for authenticating the server connection AppMapping Boolean No When true, allows app mapping ApplicationBundleId String Yes Bundle id of the identifier ConnectAutomatically Boolean No When true, the VPN connection happens automatically ConnectionName String Yes Name of the connection displayed on the device ConnectionType String Yes Type of connection enabled by the payload CustomDatas String Yes VPN custom datas EnableSafariDomains Boolean No When true, enable safari domains EnableVPNOnDemand Boolean No When true, enable VPN on demand EncryptionLevel Numeric Yes Encryption level for the vpn connection GroupName String Yes Group name where the profile is present IdentityCertificate String No Certificate to be used for User Identification. Certificates can be added using the credentials payload VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 1002 Chapter 10: Profile Management Version 1 and Version 2 IncludeUserPIN Boolean No Setting to true sends the device user's pin along with the Authentication MachineAuthentication Numeric No Machine authentication for the connection Password String No Password for proxy server authentication PerAppVpn Boolean No Specifies if a per-app VPN needs to be configured on the iOS device Port Numeric No Port number of the VPN proxy PromptForPassword Boolean No When true, prompts the user for a password on the device ProxyServer String No Host name or the IP address of the Proxy server ProxyServerAutoConfigURL String No Server URL from which the proxy setting will be retrieved 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 SendAllTraffic Boolean No When true, routes all network traffic through the VPN connection Server String No Host name or the IP address of the Proxy server SharedSecret String No Shared secret for this VPN account. Only present if MachineAuthentication tag is set to Shared Secret/Group Name UseHybridAuthentication Boolean No Specifies if a combination of Secret, Name and Certificate need to be used for Authentication UserAuthentication String No User authentication type for the connection UserName String No Username for proxy server authentication VpnOnDemand Domain String No Domain name for VPN connection VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 1003 Chapter 10: Profile Management Version 1 and Version 2 OnDemandAction String No On Demand Action on the Domain VpnPassword String No Password for the VPN connection AllowAccessToAllApplications Boolean No When true, allows access to all applications AllowExportFromKeyChain Boolean 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 CredentialName String CredentialSource String Yes The source of the credentials Name String Yes Desired name of the credential chosen when credential source is "Upload". Mandatory when credential source is "Upload". CertificateAuthorityId Numeric No Specifies the unique numeric identifier of the certificate authority CertificateTemplateId Numeric No Specifies the numeric identifier of the certificate template CredentialSource String No Specifies the source of the SCEP credentials Name String No Desired name of the SCEP configuration AllowTrustExceptions Boolean No When true, allow trust decisions to be made by the user AllowTwoRANDs Boolean No When true, allow tworands AutoJoin Boolean No When true, the network is autojoined. If false, the user has to tap the network name to join it. Available in iOS 5.0 and later EAPAKA Boolean No Specifies if EAPAKA protocol is used for authentication for the Wi-Fi network connection When true, allows export from Key chain Name of the credentials VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 1004 Chapter 10: Profile Management Version 1 and Version 2 EAPFAST Boolean No Specifies if EAPFAST protocol is used for authentication for the Wi-Fi network connection EAPSIM Boolean No Specifies if EAPSIM protocol is used for authentication for the Wi-Fi network connection HiddenNetwork Boolean No By default (false), it is assumed that all configured networks are open or broadcast. To specify a hidden network, the value must be true IdentityCertificate String No Name of the Identity certificate used for Authentication 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 NetworkInterface String No Specifies the network interface OuterIdentity String No Externally Visible Identification (For TTLS, PEAP, And EAP-FAST) PEAP Boolean No Specifies if PEAP Protocol is used for Authentication for the Wi-Fi network ProxyPassword String No Specifies the password of the HTTP proxy Password String No Specifies if the password needs to provided during connection ProxyServer String Yes (for Hostname or the IP address of the Proxy=Manual) Proxy Server ProxyServerPort Numeric Yes (for Port number of the Proxy server Proxy=Manual) ProxyType String No Type of proxy if any on the Wireless network. Defaults to None ProxyUrl String No Specifies the Proxy URL for Auto Proxy type ProxyUsername String No Username of the HTTP Proxy SecurityType String/Numeric No The security type of the Wi-Fi Network. The allowed values for this tag can be obtained from the SecurityType Picklist VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 1005 Chapter 10: Profile Management Version 1 and Version 2 ServiceSetIdentifier String No SSID of the Wi-Fi network to be used 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 TrustedCertificates String No Array of strings. Specifies the Certificates assigned. Certificates can be added using the credentials payload UseAsLoginWindowConfiguration Boolean No When true, use login window configuration UsePAC Boolean No Specifies if the Protected Access Credentials need to be used UserName String No Username used for Authentication. Allows lookup values UserPassword String No Password for the Authenticated Account AccountName String Yes Name of the EAS native mail client account EmailAddress String No User's email address. This field accepts lookup values ExternalExchangeHost String Yes External exchange host name for the Email server ExternalPort String Yes External exchange port number ExternalServerPath String Yes External exchange server path InternalExchangeHost String Yes Internal exchange host name for the Email server InternalServerPath String Yes Internal exchange server path InternallPort String Yes Internal exchange port number Password String No Password for the account PayloadCertificate String No Name of the certificate associated with the payload UseSslForExternalExchangeHost Boolean No When true, use SSL for external exchange host VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 1006 Chapter 10: Profile Management Version 1 and Version 2 UseSslForInternalExchangeHost Boolean No When true, use SSL for internal exchange host UserName String No Username for authenticating the connection AccountName String Yes Account name for EAS Microsoft outlook DirectoryServer String Yes Name of the directory server DirectoryServerPort String Yes Port number of the directory server to setup connection DirectoryServerRequiresSSL Boolean No When true, directory server requires SSL protocol Domain String Yes Domain name for the account. This field accepts look-up values EmailAddress String Yes Email Address of the account. Supports look up values. ExchangeHost String Yes Exchange host name for the email server ExchangePort String Yes Exchange host email server port number Password String No Password for the EAS Microsoft outlook account UseSSL Boolean No Setting to true routes all communications through the secure socket layer UserName String Yes Username used for Authentication. Allows lookup values CustomSettings String Yes Custom settings for device profile VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 1007 Chapter 10: Profile Management Version 1 and Version 2 Create QNX Device Profile Version 2 Functionality – Updates a QNX device profile identified by its numeric ID. HTTP Method – POST API URL – https://host/api/mdm/profiles/platforms/qnx/create Response Payload – NA Important: Profile details can be modified by providing the numeric XML Payload Boolean Boolean Boolean Numeric String String String String String String String String String String String String String Boolean VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 980 Chapter 10: Profile Management Version 1 and Version 2String String String String Boolean String 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 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. 981 Chapter 10: Profile Management Version 1 and Version 2Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean String String String Boolean String Boolean Boolean Boolean VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 982 Chapter 10: Profile Management Version 1 and Version 2Boolean 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. 983 Chapter 10: Profile Management Version 1 and Version 2 Boolean String Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean String String String String Numeric Boolean Boolean Boolean Boolean String Boolean String VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 984 Chapter 10: Profile Management Version 1 and Version 2 String String String String Numeric String Boolean Boolean String Boolean Boolean String String String String String Numeric String String String String String Numeric Numeric Numeric Boolean Boolean String String Numeric Numeric String String VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 985 Chapter 10: Profile Management Version 1 and Version 2String Boolean Boolean String String Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean String String String String String Boolean Boolean String Boolean String String Numeric String String String Boolean String String String String String String String String Boolean String String String Boolean VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 986 Chapter 10: Profile Management Version 1 and Version 2 String String String Boolean String String String String String String String Boolean String Numeric String String String String String Numeric Boolean Boolean Boolean Boolean Boolean Boolean Boolean Numeric 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. 987 Chapter 10: Profile Management Version 1 and Version 2String String String 9223372036854775807 9223372036854775807 Numeric String Boolean String Numeric String tag under the General payload. Use the Get Payload Keys API to retrieve the tags to be modified. Request Payload XML JSON { "General" : JSON Payload { "CustomAttributePayload" : { "CustomAttributes" : [ { "IsDynamic" : Boolean, "Name" : "String", "Value" : "String" } ] VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 1008 Chapter 10: Profile Management Version 1 and Version 2 } } } Request Tag Details Tag Mandatory Description IsDynamic Yes Value should be True or False Name Yes Name of the custom attribute Value Yes Value of the custom attribute Tag Data type Description Long /Value Numeric Unique ID of the newly created profile Response Payload XML XML Payload String String Boolean Numeric JSON { "value": Numeric } Response Tag Details VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 1009 Chapter 10: Profile Management Version 1 and Version 2 Update QNX Device Profile Version 2 Functionality – Updates a QNX device profile identified by its numeric ID. HTTP Method – POST API URL – https://host/api/mdm/profiles/platforms/qnx/update Response Payload – NA Important: Profile details can be modified by providing the numerictag under the General payload. Use the Get Payload Keys API to retrieve the tags to be modified. Request Payload XML JSON { "General" : JSON Payload { "CustomAttributePayload" : { "CustomAttributes" : [ { "IsDynamic" : Boolean, "Name" : "String", "Value" : "String" } ] VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 1010 Chapter 10: Profile Management Version 1 and Version 2 } } } Request Tag Details Tag Mandatory Description IsDynamic Yes Value should be True or False Name Yes Name of the custom attribute Value Yes Value of the custom attribute VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 1011 Chapter 10: Profile Management Version 1 and Version 2 Create Windows PC Device Profile Version 2 Functionality – Creates a Windows PC device profile. HTTP Method – POST API URI – https://host/api/mdm/profiles/platforms/windowspc/create Request Payload XML XML Payload String String Boolean JSON { "General" : { JSON Payload }, "AutomaticUpdates" : { "ImportantUpdates" : Numeric, "InstallRecommendedUpdatestheSameWayasImportantUpdates" : Boolean, "UpdateOtherMicrosoftProductsWhenUpdatingWindows" : Boolean, "WSUSGroup" : "String", "WSUSServerUrl" : "String", "WindowsUpdateSource" : Numeric }, "CredentialsList" : [ { "CertificateAuthority" : Numeric, "CertificateID" : Numeric, "CertificateStore" : "String", "CertificateTemplateId" : Numeric, "CredentialName" : "String", "CredentialSource" : "String", "Name" : "String", "StoreLocation" : "String" } ], "Encryption" : { "EncryptedVolume" : Numeric, "StoreRecoveryKeyInAirWatch" : Boolean }, "ExchangeActiveSync" : { "Domain" : "String", "EmailAddress" : "String", "EmailServer" : "String" }, "Firewall" : { "BlockAllIncomingConnectionsToAllAppsForPrivateNetwork" : Boolean, VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 1014 Chapter 10: Profile Management Version 1 and Version 2 "BlockAllIncomingConnectionsToAllAppsForPublicNetwork" : Boolean, "EnableFirewallForPrivateNetwork" : Boolean, "EnableFirewallForPublicNetwork" : Boolean, "NotifyUserWhenFirewallBlocksNewAppForPrivateNetwork" : Boolean, "NotifyUserWhenFirewallBlocksNewAppForPublicNetwork" : Boolean, "UseWindowsRecommendedSettings" : Boolean }, "Passcode" : { "AccountLockoutDurationMins" : "String", "AccountLockoutThreshold" : "String", "AllowSimpleValue" : Boolean, "EnableScreenLockout" : Boolean, "EnforcePasscodeHistory" : Numeric, "InactivityPeriodBeforeLockingScreenMins" : "String", "MaximumPasscodeAge" : Numeric, "MinimumPasscodeAge" : Numeric, "MinimumPasscodeLength" : "String", "RequirePasscodeOnDevice" : Boolean, "ResetAccountLockoutCounterMins" : "String", "SetupAccountLockout" : Boolean }, "ShortcutList" : [ { "IconBlobId" : Numeric, "Label" : "String" } ], "VpnList" : [ { "ConnectionName" : "String", "ConnectionType" : "String", "Domain" : "String", "EnableVpn" : Boolean, "Password" : "String", "Server" : "String", "UserName" : "String" } ], "WifiList" : [ { "ConnectionMode" : "String", "ConnectionType" : "String", "EnableADAuthentication" : Boolean, "Encryption" : "String", "Password" : "String", "RootCertificate" : "String", "SecurityType" : "String", "WifiNetworkName" : "String" } ] } VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 1015 Chapter 10: Profile Management Version 1 and Version 2 Request Tag Details Tag Mandatory Description General Yes The JSON/XML General payload. Refer General payload for details Yes Specifies the number of important updates AutomaticUpdates ImportantUpdates InstallRecommendedUpdatestheSameWayasImportantUpdates Yes When true, installs recommended updates same as important updates UpdateOtherMicrosoftProductsWhenUpdatingWindows Yes When true, updates other Microsoft products while updating Windows WSUSGroup Yes Name of WSUS group created in WSUS server. WSUSServerUrl Yes The URL of the WSUS server. WindowsUpdateSource Yes Windows update source for downloading the updates. Supported values: 1 (Microsoft Default) and 2 (Corporate WSUS) CredentialsList CertificateAuthority Yes Specifies the unique numeric identifier of the certificate authority CertificateID Yes Unique numeric identifier obtained after upload a certificate using the upload cert API. Mandatory when credential source is "Upload" CertificateStore Yes The appropriate certificate store for the credential to reside in on the device CertificateTemplateId Yes Specifies the numeric identifier of the certificate template CredentialName Yes Desired name of the credential chosen when credential source is "Upload". Mandatory when credential source is "Upload". CredentialSource Yes The source of the credentials Name Yes Desired name of the credential chosen when credential source is "Upload". Mandatory when credential source is "Upload". VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 1016 Chapter 10: Profile Management Version 1 and Version 2 StoreLocation Yes The location of the certificate EncryptedVolume Yes The type of encryption on the device StoreRecoveryKeyInAirWatch Yes When true, the recovery key is hosted in AirWatch Domain Yes Specifies the email domain EmailAddress Yes Email address of the user EmailServer Yes The server hosting the EAS BlockAllIncomingConnectionsToAllAppsForPrivateNetwork Yes When true, blocks all incoming connections to all the apps in private network. BlockAllIncomingConnectionsToAllAppsForPublicNetwork Yes When true, blocks all incoming connections to all the apps in public network. EnableFirewallForPrivateNetwork Yes When true, enables firewall for private network. EnableFirewallForPublicNetwork Yes When true, enables firewall for public network. NotifyUserWhenFirewallBlocksNewAppForPrivateNetwork Yes When true, allow notifications to display when the Windows Firewall blocks a new app for private network. NotifyUserWhenFirewallBlocksNewAppForPublicNetwork Yes When true, allow notifications to display when the Windows Firewall blocks a new app for public network. UseWindowsRecommendedSettings Yes When true, use the Windows recommended settings. AccountLockoutDurationMins Yes Specifies the number of minutes before the device automatically locks and requires a passcode re-entry. AccountLockoutThreshold Yes Specifies the maximum number of attempts the end user may enter before the device is restarted. AllowSimpleValue Yes When true, allows the user to use simple passcodes. EnableScreenLockout Yes When true, allows screen lockout Encryption ExchnageActiveSync Firewall Passcode VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 1017 Chapter 10: Profile Management Version 1 and Version 2 EnforcePasscodeHistory Yes Specifies the number of occurrences a password is remembered. InactivityPeriodBeforeLockingScreenMins Yes Specifies the number in mins the device is inactive before the screen locks. MaximumPasscodeAge Yes Specifies the maximum allowed days for the passcode, after which the passcode expires and has to be reset. MinimumPasscodeAge Yes Specifies the minimum allowed days for the passcode, after which the passcode expires and has to be reset. MinimumPasscodeLength Yes Specifies the minimum number of numeric characters a passcode must contain. RequirePasscodeOnDevice Yes When true, requires passcode to access the application ResetAccountLockoutCounterMins Yes Specifies the number of minutes before the device passcode can be reset. SetupAccountLockout Yes When true, allow the user to set up the account lockout period. IconBlobId Yes Icon for the Blob Id Label Yes Name of the shortcut ConnectionName Yes Name of the connection displayed on the device ConnectionType Yes Type of connection enabled by the payload Domain Yes Specifies the domain address to connect to the VPN EnableVpn Yes When true, enable VPN Password Yes Password for the VPN connection Server Yes Server address for the VPN connection UserName Yes User name for the VPN connection ConnectionMode Yes The Wi-Fi connection mode ConnectionType Yes The WI-Fi connection type ShortcutList VpnList WifiList VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 1018 Chapter 10: Profile Management Version 1 and Version 2 EnableADAuthentication Yes When true, enables active directory authentication Encryption Yes Encryption method for the Wi-Fi connection Password Yes Password for the Wi-Fi connection RootCertificate Yes Certificate for the Wi-Fi connection, if needed SecurityType Yes Security type of the Wi-Fi Network. WifiNetworkName Yes Name of the Wi-Fi Network. Note: When you are configuring a payload, the related tags become mandatory. Response Payload XML XML Payload String String String String String String Boolean String Boolean String String String String String String String String Numeric Numeric Numeric String String String VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 1012 Chapter 10: Profile Management Version 1 and Version 2String Numeric String String String Numeric Boolean Boolean Boolean Numeric Numeric Numeric String Boolean String String String Boolean String Numeric String String 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. 1013 Chapter 10: Profile Management Version 1 and Version 2 Boolean Boolean Boolean Boolean Numeric JSON Numeric Response Tag Details Tag Type Description 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. 1019 Chapter 10: Profile Management Version 1 and Version 2 Update Windows PC Device Profile Version 2 Functionality – Updates a Windows PC device profile. HTTP Method – POST API URI – https://host/api/mdm/profiles/platforms/windowspc/update Response Payload – NA Request Payload XMLJSON { "General" : { JSON Payload }, "AutomaticUpdates" : { "ImportantUpdates" : Numeric, "InstallRecommendedUpdatestheSameWayasImportantUpdates" : Boolean, "UpdateOtherMicrosoftProductsWhenUpdatingWindows" : Boolean, "WSUSGroup" : "String", "WSUSServerUrl" : "String", "WindowsUpdateSource" : Numeric }, "CredentialsList" : [ { "CertificateAuthority" : Numeric, "CertificateID" : Numeric, "CertificateStore" : "String", "CertificateTemplateId" : Numeric, "CredentialName" : "String", "CredentialSource" : "String", "Name" : "String", "StoreLocation" : "String" } ], "Encryption" : { "EncryptedVolume" : Numeric, "StoreRecoveryKeyInAirWatch" : Boolean }, "ExchangeActiveSync" : { "Domain" : "String", "EmailAddress" : "String", "EmailServer" : "String" }, VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 1022 Chapter 10: Profile Management Version 1 and Version 2 "Firewall" : { "BlockAllIncomingConnectionsToAllAppsForPrivateNetwork" : Boolean, "BlockAllIncomingConnectionsToAllAppsForPublicNetwork" : Boolean, "EnableFirewallForPrivateNetwork" : Boolean, "EnableFirewallForPublicNetwork" : Boolean, "NotifyUserWhenFirewallBlocksNewAppForPrivateNetwork" : Boolean, "NotifyUserWhenFirewallBlocksNewAppForPublicNetwork" : Boolean, "UseWindowsRecommendedSettings" : Boolean }, "Passcode" : { "AccountLockoutDurationMins" : "String", "AccountLockoutThreshold" : "String", "AllowSimpleValue" : Boolean, "EnableScreenLockout" : Boolean, "EnforcePasscodeHistory" : Numeric, "InactivityPeriodBeforeLockingScreenMins" : "String", "MaximumPasscodeAge" : Numeric, "MinimumPasscodeAge" : Numeric, "MinimumPasscodeLength" : "String", "RequirePasscodeOnDevice" : Boolean, "ResetAccountLockoutCounterMins" : "String", "SetupAccountLockout" : Boolean }, "ShortcutList" : [ { "IconBlobId" : Numeric, "Label" : "String" } ], "VpnList" : [ { "ConnectionName" : "String", "ConnectionType" : "String", "Domain" : "String", "EnableVpn" : Boolean, "Password" : "String", "Server" : "String", "UserName" : "String" } ], "WifiList" : [ { "ConnectionMode" : "String", "ConnectionType" : "String", "EnableADAuthentication" : Boolean, "Encryption" : "String", "Password" : "String", "RootCertificate" : "String", "SecurityType" : "String", "WifiNetworkName" : "String" } VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 1023 Chapter 10: Profile Management Version 1 and Version 2 ] } Request Tag Details Tag Mandatory Description General Yes The JSON/XML General payload. Refer General payload for details Yes Specifies the number of important updates AutomaticUpdates ImportantUpdates InstallRecommendedUpdatestheSameWayasImportantUpdates Yes When true, installs recommended updates same as important updates UpdateOtherMicrosoftProductsWhenUpdatingWindows Yes When true, updates other Microsoft products while updating Windows WSUSGroup Yes Name of WSUS group created in WSUS server. WSUSServerUrl Yes The URL of the WSUS server. WindowsUpdateSource Yes Windows update source for downloading the updates. Supported values: 1 (Microsoft Default) and 2 (Corporate WSUS) CredentialsList CertificateAuthority Yes Specifies the unique numeric identifier of the certificate authority CertificateID Yes Unique numeric identifier obtained after upload a certificate using the upload cert API. Mandatory when credential source is "Upload" CertificateStore Yes The appropriate certificate store for the credential to reside in on the device CertificateTemplateId Yes Specifies the numeric identifier of the certificate template CredentialName Yes Desired name of the credential chosen when credential source is "Upload". Mandatory when credential source is "Upload". VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 1024 Chapter 10: Profile Management Version 1 and Version 2 CredentialSource Yes The source of the credentials Name Yes Desired name of the credential chosen when credential source is "Upload". Mandatory when credential source is "Upload". StoreLocation Yes The location of the certificate EncryptedVolume Yes The type of encryption on the device StoreRecoveryKeyInAirWatch Yes When true, the recovery key is hosted in AirWatch Domain Yes Specifies the email domain EmailAddress Yes Email address of the user EmailServer Yes The server hosting the EAS BlockAllIncomingConnectionsToAllAppsForPrivateNetwork Yes When true, blocks all incoming connections to all the apps in private network. BlockAllIncomingConnectionsToAllAppsForPublicNetwork Yes When true, blocks all incoming connections to all the apps in public network. EnableFirewallForPrivateNetwork Yes When true, enables firewall for private network. EnableFirewallForPublicNetwork Yes When true, enables firewall for public network. NotifyUserWhenFirewallBlocksNewAppForPrivateNetwork Yes When true, allow notifications to display when the Windows Firewall blocks a new app for private network NotifyUserWhenFirewallBlocksNewAppForPublicNetwork Yes When true, allow notifications to display when the Windows Firewall blocks a new app for public network UseWindowsRecommendedSettings Yes When true, use the Windows recommended settings. Yes Specifies the number of minutes before the device automatically locks and requires a passcode re-entry. Encryption ExchnageActiveSync Firewall Passcode AccountLockoutDurationMins VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 1025 Chapter 10: Profile Management Version 1 and Version 2 AccountLockoutThreshold Yes Specifies the maximum number of attempts the end user may enter before the device is restarted. AllowSimpleValue Yes When true, allows the user to use simple passcodes. EnableScreenLockout Yes When true, allows screen lockout EnforcePasscodeHistory Yes Specifies the number of occurrences a password is remembered. InactivityPeriodBeforeLockingScreenMins Yes Specifies the number in mins the device is inactive before the screen locks. MaximumPasscodeAge Yes Specifies the maximum allowed days for the passcode, after which the passcode expires and has to be reset. MinimumPasscodeAge Yes Specifies the minimum allowed days for the passcode, after which the passcode expires and has to be reset. MinimumPasscodeLength Yes Specifies the minimum number of numeric characters a passcode must contain. RequirePasscodeOnDevice Yes When true, requires passcode to access the application ResetAccountLockoutCounterMins Yes Specifies the number of minutes before the device passcode can be reset. SetupAccountLockout Yes When true, allow the user to set up the account lockout period. IconBlobId Yes Icon for the Blob Id Label Yes Name of the shortcut ConnectionName Yes Name of the connection displayed on the device ConnectionType Yes Type of connection enabled by the payload Domain Yes Specifies the domain address to connect to the VPN EnableVpn Yes When true, enable VPN Password Yes Password for the VPN connection Server Yes Server address for the VPN connection ShortcutList VpnList VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 1026 Chapter 10: Profile Management Version 1 and Version 2 UserName Yes User name for the VPN connection ConnectionMode Yes The Wi-Fi connection mode ConnectionType Yes The WI-Fi connection type EnableADAuthentication Yes When true, enables active directory authentication Encryption Yes Encryption method for the Wi-Fi connection Password Yes Password for the Wi-Fi connection RootCertificate Yes Certificate for the Wi-Fi connection, if needed SecurityType Yes Security type of the Wi-Fi Network. WifiNetworkName Yes Name of the Wi-Fi Network. WifiList VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 1027 Chapter 10: Profile Management Version 1 and Version 2 Get Device Profile Details Version 1 Functionality – Gets device profile details identified by the profile Id. HTTP Method – GET API URI – https://host/api/mdm/profiles/{profileid} Request Body – NA Response Payload XML XML Payload String String String String String String Boolean String Boolean String String String String String String String String Numeric Numeric Numeric String VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 1020 Chapter 10: Profile Management Version 1 and Version 2String String String Numeric String String String Numeric Boolean Boolean Boolean Numeric Numeric Numeric String Boolean String String String Boolean String Numeric String String Numeric Boolean Boolean Boolean Boolean VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 1021 Chapter 10: Profile Management Version 1 and Version 2 Boolean Boolean Boolean Boolean Boolean JSON { "General": { "ProfileId" : Numeric }, "Passcode":{}, "Restrictions":{} } Note: The XML/JSON sample payload shown above is only for reference. The details of all the payloads present in a profile will be sent in the response for this API. Response Tag Details Tag Type Description ProfileId Numeric Specifies the unique numeric ID of the Profile VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 1028 Chapter 10: Profile Management Version 1 and Version 2 Version 2 Functionality – Gets device profile details identified by the profile Id. HTTP Method – GET API URL – https://host/api/mdm/profiles/{profileid} Request Body – NA Response Payload XML Numeric JSON { "General": { "ProfileId" : Numeric }, "Passcode":{}, "Restrictions":{} } Note: The XML/JSON sample payload shown above is only for reference. The details of all the payloads present in a profile will be sent in the response for this API. Response Tag Details Tag Type Description ProfileId Numeric Specifies the unique numeric ID of the Profile VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 1029 Chapter 10: Profile Management Version 1 and Version 2 Activate Device Profile Version 1 Functionality – Activates a device profile identified by the profile Id. HTTP Method – POST API URI – https://host/api/mdm/profiles/{Profileid}/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. 1030 Chapter 10: Profile Management Version 1 and Version 2 Version 2 Functionality – Activates a device profile identified by the profile Id. HTTP Method – POST API URI – https://host/api/mdm/profiles/{Profileid}/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. 1031 Chapter 10: Profile Management Version 1 and Version 2 Deactivate Device Profile Version 1 Functionality – Deactivates a device profile identified by the profile Id. HTTP Method – POST API URI – https://host/api/mdm/profiles/{profileid}/deactivate 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. 1032 Chapter 10: Profile Management Version 1 and Version 2 Version 2 Functionality – Deactivates a device profile identified by the profile Id. HTTP Method – POST API URL – https://host/api/mdm/profiles/{profileid}/deactivate 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. 1033 Chapter 10: Profile Management Version 1 and Version 2 Install Device Profile Version 1 Functionality – Installs a profile on a device identified by the device parameter. HTTP Method – POST API URI – https://host/api/mdm/profiles/{profileid}/install Response Payload – NA Request Payload XML Numeric JSON { "DeviceId":Numeric, "Udid":"String", "SerialNumber":"String", "MacAddress":"String" } Important: Provide only one device parameter in the above payload. VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 1034 Chapter 10: Profile Management Version 1 and Version 2 Request Tag Details Tag Type Description DeviceId Numeric Unique numeric identifier of the device 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. 1035 Chapter 10: Profile Management Version 1 and Version 2 Version 2 Functionality – Installs a profile on a device identified by the device parameter. HTTP Method – POST API URL – https://host/api/mdm/profiles/{profileid}/install Response Payload – NA Request Payload XML Numeric String String String JSON { "DeviceId":Numeric, "Udid":"String", "SerialNumber":"String", "MacAddress":"String" } Important: Provide only one device parameter in the above payload. Request Tag Details Tag Type Description DeviceId Numeric Unique numeric identifier of the device 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. 1036 Chapter 10: Profile Management Version 1 and Version 2 Remove Device Profile Version 1 Functionality – Removes the profile from the device identified by the device parameter provided. HTTP Method – POST API URI – https://host/api/mdm/profiles/{profileid}/remove Response Payload – NA Request Payload XML Numeric String String String JSON { "DeviceId":Numeric, "Udid":"String", "SerialNumber":"String", "MacAddress":"String" } Important: Provide only one device parameter in the above payload. VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 1037 Chapter 10: Profile Management Version 1 and Version 2 Request Tag Details Tag Type Description DeviceId Numeric Unique identification of the device Udid String Udid of the device SerialNumber String Unique serial number of the device MacAddress String Unique Mac address of the device VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 1038 Chapter 10: Profile Management Version 1 and Version 2 Version 2 Functionality – Removes the profile from the device identified by the device parameter provided. HTTP Method – POST API URL – https://host/api/mdm/profiles/{profileid}/remove Response Payload – NA Request Payload XML Numeric String String String JSON { "DeviceId":Numeric, "Udid":"String", "SerialNumber":"String", "MacAddress":"String" } Important: Provide only one device parameter in the above payload. Request Tag Details Tag Type Description DeviceId Numeric Unique identification of the device Udid String Udid of the device SerialNumber String Unique serial number of the device MacAddress String Unique Mac address of the device VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 1039 Chapter 10: Profile Management Version 1 and Version 2 Search Device Profile Version 1 Functionality – Searches for all profiles applicable using the query information provided. HTTP Method – GET API URI – https://host/api/mdm/profiles/search?type={type}&profilename={profilename}&organizationgroupid= {organizationgroupid}&platform={platform}&status={status}&ownership={ownership}&orderby={orderby}&sortorder= {sortorder}&page={page}&pagesize={pagesize} l l Exact Match Parameter – type, platform, status, ownership, sortorder Pattern (Contains) Match Parameter – profilename, organizationgroupid, modifiedfrom, modifiedtill, orderby, page, pagesize Request Body – NA URI Parameters Tag Type Description type String Type of the assignment profilename String Name of the profile organizationgroupid Numeric Unique numeric ID of the organization group where the profile is present platform String Device platform. Example: Android status Boolean Current status of the profile. Allowed values are "Active" and "Inactive" ownership String Ownership type of the enrolled device orderby String Order of the search result. Any of the column parameters mentioned above can be sent as a parameter sortorder String Sorting order. Values ASC or DESC. Defaults to ASC page Numeric Page number of the retrieved response pagesize Numeric Page size of the retrieved response Response Payload XML Numeric String String String JSON { "Page":Numeric, "PageSize":Numeric, "Total":Numeric, "Profiles":{ "Id":Numeric, "ProfileName":"String", "OrganizationGroup":"String", "OrganizationGroupId":"Text value", "ProfileStatus":"String", "ProfileScope":"Text value", "Platform":"String", "OperatingSystem":"String", "Model":"String", "Ownership":"String", "ManagedBy":"String", "Type":"String", VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 1041 Chapter 10: Profile Management Version 1 and Version 2 "AssignedOrganizationGroups":{ "AssignedOg":[{ "OrganizationGroupId":Numeric, "OrganizationGroupName":"String" }] } } } Response Tag Details Tag Type Description Id Numeric Unique numeric Id of the profile ProfileName String Name of the profile OrganizationGroup String Unique organization group where the profile is present ProfileStatus String Current status of the profile ("Active" or "Inactive") Platform String Device platform for which the profile is created OperatingSystem String Minimum operating system of the devices to which the profile has been pushed Model String Model of the device Ownership String Ownership type of the device ManagedBy String ID of the organization group managing the profile Type String Assignment type of the profile OrganizationGroupId String Unique numeric Id of the organization group where the profile is present OrganizationGroupName String Unique name of the organization group where the profile is present Page Numeric Page number of the retrieved response PageSize Numeric Page size of the retrieved response Total Numeric Specifies the total number of records obtained from the search response VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 1042 Chapter 10: Profile Management Version 1 and Version 2 Version 2 Functionality – Searches for all profiles applicable using the query information provided. HTTP Method – GET API URL – https://host/api/mdm/profiles/search?type={type}&profilename={profilename}&organizationgroupid= {organizationgroupid}&platform={platform}&status={status}&ownership={ownership}&orderby={orderby}&sortorder= {sortorder}&page={page}&pagesize={pagesize} l l Exact Match Parameter – type, platform, status, ownership, sortorder Pattern (Contains) Match Parameter – profilename, organizationgroupid, modifiedfrom, modifiedtill, orderby, page, pagesize Request Body – NA URL Parameters Tag Type Description type String Type of the assignment profilename String Name of the profile organizationgroupid Numeric Unique numeric ID of the organization group where the profile is present platform String Device platform. Example: Android status Boolean Current status of the profile. Allowed values are "Active" and "Inactive" ownership String Ownership type of the enrolled device orderby String Order of the search result. Any of the column parameters mentioned above can be sent as a parameter sortorder String Sorting order. Values ASC or DESC. Defaults to ASC page Numeric Page number of the retrieved response pagesize Numeric Page size of the retrieved response Response Payload XML Numeric VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 1040 Chapter 10: Profile Management Version 1 and Version 2Numeric Numeric Numeric String Text value String String Text value String String String String String Numeric String Numeric String JSON { "Page":Numeric, "PageSize":Numeric, "Total":Numeric, "Profiles":{ "Id":Numeric, "ProfileName":"String", "OrganizationGroup":"String", "ProfileStatus":"String", "Platform":"String", "OperatingSystem":"String", "Model":"String", "Ownership":"String", "ManagedBy":"String", "Type":"String", "AssignedOrganizationGroups":{ "AssignedOg":[{ "OrganizationGroupId":Numeric, "OrganizationGroupName":"String" }] } } } VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 1044 Chapter 10: Profile Management Version 1 and Version 2 Response Tag Details Tag Type Description Id Numeric Unique numeric Id of the profile ProfileName String Name of the profile OrganizationGroup String Unique organization group where the profile is present ProfileStatus String Current status of the profile ("Active" or "Inactive") Platform String Device platform for which the profile is created OperatingSystem String Minimum operating system of the devices to which the profile has been pushed Model String Model of the device Ownership String Ownership type of the device ManagedBy String ID of the organization group managing the profile Type String Assignment type of the profile OrganizationGroupId String Unique numeric Id of the organization group where the profile is present OrganizationGroupName String Unique name of the organization group where the profile is present Page Numeric Page number of the retrieved response PageSize Numeric Page size of the retrieved response Total Numeric Specifies the total number of records obtained from the search response VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 1045 Chapter 10: Profile Management Version 1 and Version 2 Delete Device Profile Version 1 Functionality – Deletes the device profile identified by the numeric profile Id. HTTP Method – DELETE API URI – https://host/api/mdm/profiles/{ProfileID} 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. 1046 Chapter 10: Profile Management Version 1 and Version 2 Version 2 Functionality – Deletes the device profile identified by the numeric profile Id. HTTP Method – DELETE API URL – https://host/api/mdm/profiles/{ProfileID} 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. 1047 Chapter 10: Profile Management Version 1 and Version 2 Get Resource Version 2 Functionality – Retrieves resource. HTTP Method – GET API URI – https://host/api/mdm/profiles/resources/{id} Request Payload – NA URI Parameters Tag Type Description Id Numeric Unique numeric ID of the resource 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. 1043 Chapter 10: Profile Management Version 1 and Version 2String String String String String String String String Numeric String Numeric String JSON { "Assignment" : { "AssignedSmartGroups" : [ Numeric VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 1048 Chapter 10: Profile Management Version 1 and Version 2 ], "AssignmentType" : "String", "ExcludedSmartGroups" : [ Numeric ], "ManagedLocationGroupID" : Numeric }, "Description" : "String", "Id" : Numeric, "Name" : "String" } Response Tag Details Tag Type Description AssignedSmartGroups Numeric Assigned smart groups of the resource AssignmentType String Specifies the way a resource is assigned to the device. Allowed values are "Auto" ,"Optional", "Interactive" and "Compliance". ExcludedSmartGroups Numeric Excluded smart groups of the resource ManagedLocationGroupID Numeric Unique Id of the managed organization group Description String Description of the resource Id Numeric Unique id of the resource Name String Name of the resource VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 1049 Chapter 10: Profile Management Version 1 and Version 2 Get Resource Keys and Advanced Settings Version 2 Functionality – Gets resource keys and advanced settings for the specified resource type. HTTP Method – GET API URI – https://host/api/mdm/profiles/resources/{resourcetype}/resourcekeys Request Payload – NA URI Parameters Tag Type Description resourceType String Type of the resource. Valid values are EAS, WiFi, VPN Response Payload XML String String Numeric String Numeric Numeric Numeric Numeric Numeric JSON { "Name" : "String", "Description" : "String", "Id" : Numeric } Response Tag Details Tag Type Description Name String Name of the resource type Description String Description of the resource type Id Numeric Unique identifier of the resource type VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 1050 Chapter 10: Profile Management Version 1 and Version 2 Create Resource of Requested Type Version 2 Functionality – Creates resource of requested type. HTTP Method – POST API URI – https://host/api/mdm/profiles/resources/{resourceType} Request Payload – NA Response Payload XML String String Numeric Numeric JSON Numeric Response Tag Details Tag Type Description int Numeric Unique ID of the newly created resource VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 1051 Chapter 10: Profile Management Version 1 and Version 2 Delete Resource Version 2 Functionality – Deletes the resource identified by the resource Id. HTTP Method – DELETE API URI – https://host/api/mdm/profiles/resources/{id} URI Parameters Tag Type Description Id Numeric Unique numeric ID of the resource 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. 1052 Chapter 10: Profile Management Version 1 and Version 2 Update Requested Resource Version 2 Functionality – Updates requested resource. HTTP Method – PUT API URI – https://host/api/mdm/profiles/resources/{resourceType} 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. 1053 Chapter 10: Profile Management Version 1 and Version 2 Edit Smart Group Assignment for Resource Version 2 Functionality – Edit the smart groups assignment for the given resource. HTTP Method – PUT API URI – https://host/api/mdm/profiles/resources/editassignment/{id} Response Obtained – NA URI Parameters Tag Type Description Id Numeric Unique numeric ID of the resource Request Payload XMLJSON { "AssignedSmartGroups" : [ Numeric ], "AssignmentType" : "String", "ExcludedSmartGroups" : [ Numeric ], "ManagedLocationGroupID" : Numeric VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 1054 Chapter 10: Profile Management Version 1 and Version 2 } Request Tag Details Tag Mandatory Description AssignedSmartGroups Yes Assigned smart groups of the resource AssignmentType Yes Type of assignment ExcludedSmartGroups Yes Excluded smart groups of the resource that are excluded ManagedLocationGroupID Yes Unique id of the managed organization group VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 1055 Chapter 11: Product Management Version 1 and Version 2 Overview 1058 Activate Product 1058 Deactivate Product 1059 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 VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 1056 Chapter 11: Product Management Version 1 and Version 2 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 Retrieve Productset 1152 VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 1057 Chapter 11: Product Management Version 1 and Version 2 Overview AirWatch REST APIs enables you to create and manage Products. Product details can be viewed in the following path on the AirWatch Console: l Product Details – Devices > Products > List View. l Device Dashboard – Devices > List View. l Smart Group Details – Groups & Settings > Groups > Smart Groups. Please Note: There are only two V2 API endpoints; Get Provisioning Assigned Devices and Get Product Compliant Devices, rest all the endpoints are V1 APIs. Activate Product Functionality – Activates the product. HTTP Method – POST API URI – https://host/api/mdm/products/{id}/activate Request Body – NA Response Body – NA URI Parameters Tag Type Description Product id Numeric Product identifier VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 1058 Chapter 11: Product Management Version 1 and Version 2 Deactivate Product Functionality – Deactivates the product. HTTP Method – POST API URI – https://host/api/mdm/products/{id}/deactivate Request Body – NA Response Body – NA URI Parameters Tag Type Description Product id Numeric Product identifier VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 1059 Chapter 11: Product Management Version 1 and Version 2 Product Conditions Functionality Functionality – Adds passed Download and Install Conditions to specified Product. HTTP Method – POST API URI – https://host/api/mdm/products/{productid}/addconditions URI Parameters Tag Type Description productid Numeric Identifier of the Product to which conditions to be added conditions String Conditions to be added to Product Request Payload XML String Numeric Numeric Numeric Numeric Numeric JSON { "DownloadConditions":[Numeric], "InstallConditions":[Numeric] } Request Tag Details Tag Mandatory Description DownloadConditions Yes Passed download conditions for the product InstallConditions Yes Passed install conditions for the product VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 1060 Chapter 11: Product Management Version 1 and Version 2 Response Payload XML Numeric Numeric Numeric Numeric 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 download/install conditions added to the Product FailedItems Numeric Number of download/install conditions failed to be added to the Product 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. 1061 Chapter 11: Product Management Version 1 and Version 2 ErrorCode Numeric HTTP status code for the failed element Message String Reason for the failed attempt TotalItems Numeric Total number of download/install conditions sent in the request VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 1062 Chapter 11: Product Management Version 1 and Version 2 Copy Product Functionality – Copies the existing product to create a new product with the details passed in input, i.e. name and organization group id. HTTP Method – POST API URI – https://host/api/mdm/products/{id}/copy URI Parameters Tag Type Description id Numeric Identifier of the product from which copy has to be made product String Product details for the new product to be created, i.e. name and managedbyorganizationgroupid Request Payload XML Numeric Numeric Numeric String Numeric String String Numeric String String JSON { "ManagedByOrganizationGroupID":Numeric, "Name":"String" } Request Tag Details Tag Mandatory Description ManagedByOrganizationGroupID Yes Unique identification of the organization group which manages the smart group Name Name of the device product Yes VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 1063 Chapter 11: Product Management Version 1 and Version 2 Response Payload XML String String Numeric JSON Numeric Response Tag Details Tag Type Description Long Numeric Unique identification of the product VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 1064 Chapter 11: Product Management Version 1 and Version 2 Create Product Functionality – Creates a new product. HTTP Method – POST API URI – https://host/api/mdm/products/create Request Payload XMLJSON { "ActivationDateTime":"Datetime", "DeactivationDateTime":"Datetime", "Description":"String", "DevicePolicyTypeID":Numeric, "ManagedByOrganizationGroupID":Numeric, "Manifest":{ "Action":[{ VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 1065 Chapter 11: Product Management Version 1 and Version 2 "ActionTypeID":Numeric, "ItemID":Numeric, "Persist":Boolean }] }, "Name":"String", "PauseResume":Boolean, "PlatformID":Numeric } Request Tag Details Tag Type Description ActivationDateTime Datetime Timestamp when the product is activated DeactivationDateTime Datetime Timestamp when the product is deactivated Description String Description about the product DevicePolicyTypeID Numeric Unique identification of the product device policy ManagedByOrganizationGroupID Numeric Unique identification of the organization group which manages the product ActionTypeID Numeric Unique identification of the action type assigned to the product ItemID Numeric Profile Id, Apple Id, etc Persist Boolean True or False Name String Name of the product PauseResume Boolean True or False PlatformID Numeric Unique identification associated with the platform Response Payload XML Numeric String Numeric String Numeric Numeric Boolean Numeric Numeric Boolean Datetine String Boolean Numeric Numeric JSON Numeric VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 1066 Chapter 11: Product Management Version 1 and Version 2 Response Tag Details Tag Type Description Long Numeric Unique ID of the newly created admin user VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 1067 Chapter 11: Product Management Version 1 and Version 2 Delete Product Functionality – Deletes specified Product. HTTP Method – DELETE API URI – https://host/api/mdm/products/{id} 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. 1068 Chapter 11: Product Management Version 1 and Version 2 Get Provisioning Assigned Devices Version 1 Functionality – Returns the details of the device for which provisioning is assigned. HTTP Method – GET API URI – https://host/api/mdm/products/{id}/assigned?seensince={seensince}&lastjobupdatefrom= {lastjobupdatefrom}&page={page}&pagesize={pagesize} l Pattern (Contains) Match Parameter – seensince, lastjobupdatefrom, page, pagesize Request Body – NA Use the below APIs to retrieve: l Devices with Provisioning Failed – https://host/api/mdm/products/{id}/failed l Devices with Provisioning In-Progress – https://host/api/mdm/products/{id}/inprogress Response Payload XMLVMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 1069 Chapter 11: Product Management Version 1 and Version 2 JSON [{ "DeviceId":Numeric, "LastJobStatus":"String", "LastSeen":"String", "Name":"String" }] Response Tag Details Tag Type Description DeviceId Numeric Unique identification of the device LastJobStatus String Status of the device previous job LastSeen Datetime Time stamp when the device was last seen Name String Name of the device Version 2 Functionality – Returns the details of the device for which provisioning is assigned. HTTP Method – GET API URI – https://host/api/mdm/products/{id}/assigned?seensince={seensince}&lastjobupdatefrom= {lastjobupdatefrom}&page={page}&pagesize={pagesize} l Pattern (Contains) Match Parameter – seensince, lastjobupdatefrom, page, pagesize Request Body – NA Response Payload XML Numeric String String Datetime Numeric String String Datetime JSON [{ "DeviceId":Numeric, "LastJobStatus":"String", "LastSeen":"String", "Name":"String" }] Response Tag Details Tag Type Description DeviceId Numeric Unique identification of the device LastJobStatus String Status of the device previous job LastSeen Datetime Time stamp when the device was last seen Name String Name of the device VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 1071 Chapter 11: Product Management Version 1 and Version 2 Get Product Compliant Devices Version 1 Functionality – Returns the details of the devices which are product compliant. HTTP Method – GET API URI – https://host/api/mdm/products/{id}/compliant l Pattern (Contains) Match Parameter – id, compliant Request Body – NA Response Payload XML VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 1070 Chapter 11: Product Management Version 1 and Version 2 Numeric String String Datetime Numeric String String Datetime JSON [{ "DeviceId":Numeric, "LastJobStatus":"String", "Name":"String" }] VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 1072 Chapter 11: Product Management Version 1 and Version 2 Response Tag Details Tag Type Description DeviceId Numeric Unique identification of the device LastJobStatus String Status of the device previous job Name String Name of the device VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 1073 Chapter 11: Product Management Version 1 and Version 2 Version 2 Functionality – Returns the details of the devices which are product compliant. HTTP Method – GET API URI – https://host/api/mdm/products/{id}/compliant l Pattern (Contains) Match Parameter – id, compliant Request Body – NA Response Payload XML Numeric String String Numeric String String JSON [{ "DeviceId":Numeric, "LastJobStatus":"String", "Name":"String" }] VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 1074 Chapter 11: Product Management Version 1 and Version 2 Response Tag Details Tag Type Description DeviceId Numeric Unique identification of the device LastJobStatus String Status of the device previous job Name String Name of the device VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 1075 Chapter 11: Product Management Version 1 and Version 2 Get Provisioning Failed Devices Functionality – Returns the details of the devices for which Provisioning is Failed. HTTP Method – GET API URI – https://host/api/mdm/products/{id}/failed?page={page}&pagesize={pagesize} l Pattern (Contains) Match Parameter – page, pagesize Request Body – NA Response Payload XML Numeric String String Numeric String String JSON { "Page":Numeric, "PageSize":Numeric, "Total":Numeric, "Devices":[{ "DeviceId":Numeric, "LastJobStatus":"String", "Name":"String" }] } VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 1076 Chapter 11: Product Management Version 1 and Version 2 Response Tag Details Tag Type Description DeviceId Numeric Unique identification number of the device LastJobStatus String Status of the device previous job Name String Name of the device Total Numeric Total number of devices for which Provisioning is failed VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 1077 Chapter 11: Product Management Version 1 and Version 2 Get Provisioning In-Progress Devices Functionality – Returns the details of the device for which Provisioning is In-Progress. HTTP Method – GET API URI – https://host/api/mdm/products/{id}/inprogress?page={page}&pagesize={pagesize} l Pattern (Contains) Match Parameter – page, pagesize Request Body – NA Response Payload XML Numeric Numeric Numeric Numeric String String Numeric String String JSON { "Page":Numeric, "PageSize":Numeric, "Total":Numeric, "Devices":[{ "DeviceId":Numeric, "LastJobStatus":"String", "Name":"String" }] } VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 1078 Chapter 11: Product Management Version 1 and Version 2 Response Tag Details Tag Type Description DeviceId Numeric Unique identification number of the device LastJobStatus String Status of the device previous job Name String Name of the device Total Numeric Total number of devices for which Provisioning is In-Progress VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 1079 Chapter 11: Product Management Version 1 and Version 2 Get Product ID Functionality – Get specified Product. HTTP Method – GET API URI – https://host/api/mdm/products/{id} Request Body – NA Response Payload XML Numeric Numeric Numeric Numeric String String Numeric String String JSON { "ActivationDateTime":"String", "ActivationOrDeactivationType":"String", "Active":Boolean, "ComplianceOverrideRule":"String", "Compliant":Numeric, "Conditions":[{ "ConditionId":"String", "ConditionName":"String", "ConditionType":"String", "OrganizationGroupId":"String" }], "DeactivationDateTime":"String", "Description":"String", "DevicePolicyType":"String", "DevicePolicyTypeID":Numeric, "Failed":Numeric, "ID":Numeric, "InProgress":Numeric, "ManagedByOrganizationGroupID":"String", "ManagedByOrganizationGroupName":"String", "Manifest":{ "Action":[{ "ActionTypeID":Numeric, "ItemID":Numeric, "Persist":Boolean }] }, "Name":"String", "PauseResume":Boolean, "Platform":"String", "PlatformID":Numeric, "RuleLogic":"String", "SmartGroups":[{ "Name":"String", "SmartGroupId":Numeric }], VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 1081 Chapter 11: Product Management Version 1 and Version 2 "TotalAssigned":Numeric } Response Tag Details Tag Type Description ActivationDateTime Datetime Timestamp when the product is activated ActivationOrDeactivationType String Specifies the activation and deactivation types Active Boolean Status of the product. Values include Boolean or False ComplianceOverrideRule String The rule to override compliance Compliant Boolean Specifies if the device is compliant of not ConditionName String Name of the condition applied on the product ConditionType String Type of the condition OrganizationGroupId Numeric Unique identification of the target organization group where the product can be searched DeactivationDateTime Datetime Timestamp when the product is deactivated Description String Description of the product DevicePolicyType String The type of device policy associated with the product DevicePolicyTypeID Numeric Unique identification number of the device policy Failed Numeric Number of enrollment users that could not be activation ID Numeric Unique identification of the product InProgress Numeric Shows the status of the product activation or deactivation ManagedByOrganizationGroupID Numeric Unique identification of the organization group which manages the smart group ManagedByOrganizationGroupName String Name of the organization group where the smart group is managed ActionTypeID Numeric Unique identification of the action type applied to the product ItemID Numeric Profile ID , App ID etc Persist Boolean Boolean or False Name String Name of the product PauseResume Boolean Boolean or False Platform String Device platform for which the product is associated PlatformID Numeric Unique identification of the device platform VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 1082 Chapter 11: Product Management Version 1 and Version 2 RuleLogic String The logic applied for a data rule to perform extensive search Name String Unique name of the smart group SmartGroupId Numeric Unique identification of the smart group TotalAssigned Numeric Total products assigned to the smart group VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 1083 Chapter 11: Product Management Version 1 and Version 2 Get Files/Action Functionality – Searches for the Files/Actions with the search parameters passed. HTTP Method – GET API URI – https://host/api/mdm/products/{id}/fileactions Request Body – NA Response Payload XML Numeric Numeric String String String String Boolean String Numeric String Numeric Numeric Boolean 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. 1080 Chapter 11: Product Management Version 1 and Version 2String String Boolean Numeric String String String VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 1085 Chapter 11: Product Management Version 1 and Version 2 JSON { "FilesActionsDetails":[{ "Description":"String", "Files":[{ "FileId":Numeric, "Name":"String", "Path":"String" }], "Id":Numeric, "InstallManifests":[{ "ActionType":"String", "AirwatchMdmAgentUpgradeFile":"String", "CommandLineAndArgumentsToRun":"String", "Critical":"String", "ExecuteAsRoot":"String", "FilePathAndName":"String", "InstallFilePath":"String", "InstallUnManagedApp":"String", "NameOfProgramToUninstall":"String", "OsFile":"String", "PathAndNameOfFolder":"String", "ProcessOrAppToTerminate":"String", "ScriptFilePathAndName":"String", "ScriptToExecute":"String", "SoftwareToInstall":"String", "SourceFilePathAndName":"String", "TargetFilePathAndName":"String", "TargetFolderPathAndName":"String", "TimeOut":"String", "UnInstallUnManagedApp":"String", "Wait":"String" }], "ModifiedOn":"String", "Name":"String", "OrganizationGroupId":Numeric, "Platform":"String", "UninstallManifests":[{ "ActionType":"String", "AirwatchMdmAgentUpgradeFile":"String", "CommandLineAndArgumentsToRun":"String", "Critical":"String", "ExecuteAsRoot":"String", "FilePathAndName":"String", "InstallFilePath":"String", "InstallUnManagedApp":"String", "NameOfProgramToUninstall":"String", "OsFile":"String", "PathAndNameOfFolder":"String", "ProcessOrAppToTerminate":"String", "ScriptFilePathAndName":"String", VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 1086 Chapter 11: Product Management Version 1 and Version 2 "ScriptToExecute":"String", "SoftwareToInstall":"String", "SourceFilePathAndName":"String", "TargetFilePathAndName":"String", "TargetFolderPathAndName":"String", "TimeOut":"String", "UnInstallUnManagedApp":"String", "Wait":"String" }], "Version":Numeric }] } Response Tag Details Tag Type Description Description String Description of the Files/actions detail FileId Numeric Unique Identification of the file Name String Name of the file to be searched for Path String Path where file is located ActionType String Type of action taken on files/actions AirwatchMdmAgentUpgradeFile String File for upgrading AirWatch MDM agent CommandLineAndArgumentsToRun String Command line and arguments to run the application file FilePathAndName String File name and the path InstallFilePath String Path to install/uninstall the file InstallUnManagedApp String Install the unmanaged application NameOfProgramToUninstall String Program name to install/uninstall file OsFile String OS file for the application PathAndNameOfFolder String Folder name and path to install/uninstall file ProcessOrAppToTerminate String Continue processing the app or terminate the app ScriptFilePathAndName String Path and name of the script file ScriptToExecute String Script for the file execution SoftwareToInstall String Software required for app installation/uninstallation SourceFilePathAndName String Path and name of the source file TargetFilePathAndName String Path and name of the target file TargetFolderPathAndName String Folder name and path for the target file UnInstallUnManagedApp String Install/uninstall the managed application VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 1087 Chapter 11: Product Management Version 1 and Version 2 Get Product Profiles Functionality – Returns the list of Profiles which are assigned to the passed ProductId. HTTP Method – GET API URI – https://host/api/mdm/products/{id}/profiles Request Body – NA Response Payload XML Numeric String String Numeric String Numeric String Numeric String String Numeric 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. 1084 Chapter 11: Product Management Version 1 and Version 2 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 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. 1096 Chapter 11: Product Management Version 1 and Version 2 JSON { "AssignedProfiles":[{ "General":{ "AllowRemoval":"String", "AssignedGeofenceArea":[Numeric], "AssignedSchedule":[Numeric], "AssignedSmartGroups":[{ "Name":"String", "SmartGroupId":Numeric }], "AssignmentType":"String", "CreateNewVersion":Boolean, "Description":"String", "EnableProvisioning":Boolean, "ExpirationDate":"String", "IsActive":Boolean, "IsManaged":Boolean, "ManagedLocationGroupID":Numeric, "Name":"String", "Password":"String", "ProfileContext":"String", "ProfileId":Numeric, "ProfileScope":"String", "Version":Numeric } }], "ProductId":Numeric } Response Tag Details Tag Type Description AllowRemoval String Allow removal of the profile AssignedGeofenceArea Numeric Geofence area assigned to the profile AssignedSchedule Numeric Schedule assigned to the profile AssignedSmartGroups Name String Name of the smart group where the profile is assigned SmartGroupId Numeric Unique identification of the smart group AssignmentType String Type of profile assignment CreateNewVersion Numeric Create new version of the profile Description String Description of the profile EnableProvisioning Boolean Provisioning status. Value: Boolean/False ExpirationDate Datetime Time stamp of the profile expiration date VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 1097 Chapter 11: Product Management Version 1 and Version 2 IsActive Boolean Specifies if the profile created is Active ("Boolean") or Inactive ("false") IsManaged Boolean Specifies if the profile created is managed by AirWatch ManagedLocationGroupID Numeric Numeric ID of the organization group where the profile will be managed Name String Name of the profile Password String Password for the profile ProfileContext String Context/description of the profile ProfileId Numeric Unique identification of the profile ProfileScope String Scope of the profile Version Numeric Version of the profile VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 1098 Chapter 11: Product Management Version 1 and Version 2 Get Product Time Condition Functionality – Get specified Product time conditions with the specified parameters. HTTP Method – GET API URI – https://host/api/mdm/products/{id}/timesconditions Request Body – NA Response Payload XML Numeric Numeric String String String Numeric Boolean String String Boolean Boolean Boolean String String Numeric String Numeric Numeric Numeric String Numeric Numeric String VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 1088 Chapter 11: Product Management Version 1 and Version 2 Numeric String String String Numeric Numeric Numeric Numeric Numeric Numeric Numeric String Boolean Boolean Boolean Boolean Boolean String Numeric String Boolean Boolean 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. 1089 Chapter 11: Product Management Version 1 and Version 2 String String String String String String Numeric String String String Numeric Numeric String String String String Numeric String String Boolean Numeric Boolean String Boolean Boolean String String String String String String Boolean Boolean Boolean String String VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 1090 Chapter 11: Product Management Version 1 and Version 2 String String String String 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 Boolean Boolean VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 1091 Chapter 11: Product Management Version 1 and Version 2 Boolean Numeric Boolean Boolean Boolean Numeric Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean String String Boolean Boolean Boolean String String Numeric String String Numeric Boolean String Boolean Numeric 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. 1092 Chapter 11: Product Management Version 1 and Version 2Boolean 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 String String String String String Numeric String Boolean String VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 1093 Chapter 11: Product Management Version 1 and Version 2String String String String Boolean Boolean String String Numeric String String Boolean Boolean Boolean String String String String String Numeric Numeric Numeric Boolean Boolean Boolean Boolean Boolean String Numeric Numeric Boolean Numeric Numeric Numeric Numeric Numeric Numeric Numeric Boolean Numeric VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 1094 Chapter 11: Product Management Version 1 and Version 2 Boolean Boolean String Boolean Boolean Numeric String String Boolean Numeric Boolean Boolean Boolean Boolean Numeric Numeric String String Numeric Numeric String 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. 1095 Chapter 11: Product Management Version 1 and Version 2Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean String Boolean String Boolean Boolean Boolean Boolean Numeric Numeric String Boolean String String Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean JSON { "DownloadConditions":[{ "ConditionId":Numeric, "Description":"String", "ModifiedOn":"Datetime", "Name":"String", "OrganizationGroupId":Numeric, "TimeCondition1":{ "DayEnd":"Datetime", "DayStart":"Datetime", "HourEnd":"Datetime", "HourStart":"Datetime", "MinuteEnd":"Datetime", "MinuteStart":"Datetime", "MonthEnd":"Datetime", "MonthStart":"Datetime", "YearEnd":"Datetime", "YearStart":"Datetime" } }], "InstallConditions":[{ "ConditionId":Numeric, "Description":"String", "ModifiedOn":"Datetime", "Name":"String", "OrganizationGroupId":Numeric, "TimeCondition1":{ "DayEnd":"Datetime", "DayStart":"Datetime", "HourEnd":"Datetime", "HourStart":"Datetime", "MinuteEnd":"Datetime", "MinuteStart":"Datetime", "MonthEnd":"Datetime", "MonthStart":"Datetime", "YearEnd":"Datetime", "YearStart":"Datetime" } }] } VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 1100 Chapter 11: Product Management Version 1 and Version 2 Response Tag Details Tag Type Description ConditionId Numeric Unique identification of the time condition to be retrieved Description Datetime Description for the time condition ModifiedOn Datetime Time stamp when the time condition was last modified Name Datetime Name of the time condition OrganizationGroupId Numeric Unique identification of the location group where the time condition is to be retrieved VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 1101 Chapter 11: Product Management Version 1 and Version 2 Insert Device Functionality – Pushes the device onto the product policy engine. HTTP Method – POST API URI – https://host/api/mdm/products/{id}/pushdeviceonqueue?fasttrack={fasttrack} Important: To push the device and policy onto the product policy engine, use https://host/api/mdm/products/pushdeviceandpolicyonqueue?deviceid={id}&devicepolicyid= {devicepolicyid}&fasttrack={fasttrack} Response Obtained – NA URI Parameters Tag Type Description deviceid Numeric DeviceId to insert devicepolicyid Numeric PolicyId to insert fasttrack String Should the device be fast tracked Request Payload XML Numeric String String Numeric Datetime Datetime Datetime Datetime Datetime Datetime Datetime Datetime Datetime Datetime Datetime Numeric String String Numeric Datetime Datetime Datetime Datetime Datetime Datetime Datetime Datetime Datetime Datetime VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 1099 Chapter 11: Product Management Version 1 and Version 2Datetime String JSON "String" Request Tag Details Tag Mandatory Description String No Unique identifier of the smart group where the device needs to be fast tracked VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 1102 Chapter 11: Product Management Version 1 and Version 2 Search Product Condition Functionality – Returns available conditions for the specified device platform. HTTP Method – GET API URI – https://host/api/mdm/products/conditionsearch?organizationgroupid={organizationgroupid}&page= {page}&pagesize={pagesize} l Pattern (Contains) Match Parameter – organizationgroupid, starttime, endtime Request Body – NA Response Payload XMLJSON [{ "ConditionId":Numeric, "ConditionName":"String", "ConditionType":"String", "OrganizationGroupId":Numeric }] VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 1103 Chapter 11: Product Management Version 1 and Version 2 Response Tag Details Tag Type Description ConditionId Numeric Unique condition ID of the product to be searched for ConditionName String Name of the condition ConditionType String Type of the condition OrganizationGroupId Numeric Unique identification where the product condition is searched for VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 1104 Chapter 11: Product Management Version 1 and Version 2 Product Health Check Functionality – Returns the details of the device health which satisfies the search parameters specified in the request. HTTP Method – GET API URI – https://host/api/mdm/products/devicehealthcheck?organizationgroupid= {organizationgroupid}&organizationgroupname={organizationgroupname}&platform={platform}&customattributes= {customattributes}&orderby={orderby}&sortorder={sortorder}&page={page}&pagesize={pagesize} l l Exact Match Parameter – platform, sortorder Pattern (Contains) Match Parameter – organizationgroupid, organizationgroupname, customattributes, orderby, page, pagesize Request Body – NA URI Parameters Tag Type Description organizationgroupid Numeric OrganizationGroupId to be searched for organizationgroupname String OrganizationGroup name to be searched for platform String Platform name customattributes String Custom Attribute name orderby String Order results by sortorder String Sort Ascending or descending page Numeric Page index pagesize Numeric Number of records per page Response Payload XML Numeric String String Numeric Numeric String String Numeric JSON { "Device":[{ "AssetNumber":"String", "AvailableDiskSpace":"String", "CustomAttributes":[{ "Key":"String", "Value":"String" }], "DeviceId":Numeric, "DeviceNetworkInfo":[{ "ConnectionType":"String", "IPAddress":"String", "MACAddress":"String" }], "FriendlyName":"String", "GPSCoordinates":{ VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 1106 Chapter 11: Product Management Version 1 and Version 2 "Elevation":"String", "Latitude":"String", "Longitude":"String" }, "OrganizationGroupId":Numeric, "SerialNumber":"String", "TotalMemory":"String", "UDID":"String", "Username":"String" }] } Response Tag Details Tag Type Description AssetNumber String Asset number of the device AvailableDiskSpace String Total memory available in the device CustomAttributes Key String Key for the custom attribute CustomAttributes Value String Value of the custom attribute DeviceId Numeric Unique numeric identifier of the device ConnectionType String Type of connection enabled by the profile IPAddress String IP address of the device network MACAddress String MAC address of the device network FriendlyName String Friendly name assigned to the device GPSCoordinates Elevation String Device's GPS elevation details in decimal degrees GPSCoordinates Latitude String Device's GPS latitude details in decimal degrees GPSCoordinates Longitude String Device's GPS longitude details in decimal degrees OrganizationGroupId Numeric Unique identification of the organization group to search for the product SerialNumber String Serial number of the device TotalMemory Numeric Total memory available in the device UDID String Udid of the device Username String Name of the enrollment user to whom the device is assigned VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 1107 Chapter 11: Product Management Version 1 and Version 2 Extensive Product Search Functionality – Returns the details of Products which satisfies the search parameter. HTTP Method – GET API URI – https://host/api/mdm/products/extensivesearch?productid={productid}&name= {name}&organizationgroupid={organizationgroupid}&managedbyorganizationgroupid= {managedbyorganizationgroupid}&platform={platform}&smartgroupid={smartgroupid}&page={page}&pagesize= {pagesize}&orderby={orderby}&sortorder={sortorder} Request Body – NA URI Parameters Tag Type Description productid Numeric Product identifier name String Product name organizationgroupid Numeric Organization group id which is similar to selected organization group selected in console managedbyorganizationgroupid Numeric Managed by organization group id of the product platform String Platform name smartgroupid Numeric Smart Group Identifier page Numeric page number pagesize Numeric Maximum results which should be returned in each page orderby String Orders the results by this attribute sortorder String Sorts the result based on this attribute, i.e. ASC for Ascending order 'DESC' for descending order Response Payload XML Numeric String String/SerialNumber> 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. 1105 Chapter 11: Product Management Version 1 and Version 2String String String String String String String String String String String String String JSON { "Product":[{ "ActivationDateTime":"Datetime", "ActivationOrDeactivationType":"String", "Active":Boolean, "ComplianceOverrideRule":"String", "Compliant":Boolean, "Conditions":[{ "ConditionName":"String", "ConditionType":"String", "OrganizationGroupId":Numeric }], "DeactivationDateTime":"Datetime", "Description":"String", "DevicePolicyType":"String", "DevicePolicyTypeID":Numeric, "Failed":Numeric, "ID":Numeric, "InProgress":Numeric, "ManagedByOrganizationGroupID":Numeric, "ManagedByOrganizationGroupName":"String", "Manifest":{ "Action":[{ "ActionTypeID":Numeric, "ItemID":Numeric, "Persist":Boolean }] }, "Name":"String", "PauseResume":Boolean, "Platform":"String", "PlatformID":Numeric, "RuleLogic":"String", "SmartGroups":[{ "Name":"String", "SmartGroupId":Numeric }], "TotalAssigned":Numeric }] } VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 1110 Chapter 11: Product Management Version 1 and Version 2 Response Tag Details Tag Type Description ActivationDateTime Datetime Timestamp when the product is activated ActivationOrDeactivationType String Specifies the activation and deactivation types Active Boolean Status of the product. Values include True or False ComplianceOverrideRule String The rule to override compliance Compliant Boolean Specifies if the device is compliant of not ConditionName String Name of the condition applied on the product ConditionType String Type of the condition OrganizationGroupId Numeric Unique identification of the target organization group where the product can be searched DeactivationDateTime Datetime Timestamp when the product is deactivated Description String Description of the product DevicePolicyType String The type of device policy associated with the product DevicePolicyTypeID Numeric Unique identification number of the device policy Failed Numeric Number of enrollment users that could not be activation ID Numeric Unique identification of the product InProgress Numeric Shows the status of the product activation or deactivation ManagedByOrganizationGroupID Numeric Unique identification of the organization group which manages the smart group ManagedByOrganizationGroupName String Name of the organization group where the smart group is managed ActionTypeID Numeric Unique identification of the action type applied to the product ItemID Numeric Profile ID , App ID etc Persist Boolean True or False Name String Name of the product PauseResume Boolean True or False Platform String Device platform for which the product is associated PlatformID Numeric Unique identification of the device platform RuleLogic String The logic applied for a data rule to perform extensive search SmartGroups Name String Unique name of the smart group SmartGroupId Numeric Unique identification of the smart group TotalAssigned Numeric Total products assigned to the smart group VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 1111 Chapter 11: Product Management Version 1 and Version 2 Search Files/Actions Functionality – Searches for the Files/Actions with the search parameters passed. HTTP Method – GET API URI – https://host/api/mdm/products/filesactionssearch?organizationgroupid={organizationgroupid}&platform= {platform}&lastmodifiedon={lastmodifiedon}&lastmodifiedtill={lastmodifiedtill}&page={page}&pagesize={pagesize} l Exact Match Parameter – platform l Pattern (Contains) Match Parameter – organizationgroupid, lastmodifiedon, lastmodifiedtill, page, pagesize Request Body – NA Response Payload XML Numeric Numeric String Numeric String VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 1108 Chapter 11: Product Management Version 1 and Version 2String Boolean String Numeric String Numeric String Numeric Numeric Boolean Numeric Numeric Boolean String String numeric String String Numeric Numeric Boolean Numeric Numeric String Datetime Datetime Boolean Numeric String String VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 1109 Chapter 11: Product Management Version 1 and Version 2String VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 1113 Chapter 11: Product Management Version 1 and Version 2 JSON { "FilesActionsDetails":[{ "Description":"String", "Files":[{ "FileId":Numeric, "Name":"String", "Path":"String" }], "Id":Numeric, "InstallManifests":[{ "ActionType":"String", "AirwatchMdmAgentUpgradeFile":"String", "CommandLineAndArgumentsToRun":"String", "Critical":"String", "ExecuteAsRoot":"String", "FilePathAndName":"String", "InstallFilePath":"String", "InstallUnManagedApp":"String", "NameOfProgramToUninstall":"String", "OsFile":"String", "PathAndNameOfFolder":"String", "ProcessOrAppToTerminate":"String", "ScriptFilePathAndName":"String", "ScriptToExecute":"String", "SoftwareToInstall":"String", "SourceFilePathAndName":"String", "TargetFilePathAndName":"String", "TargetFolderPathAndName":"String", "TimeOut":"String", "UnInstallUnManagedApp":"String", "Wait":"String" }], "ModifiedOn":"String", "Name":"String", "OrganizationGroupId":Numeric, "Platform":"String", "UninstallManifests":[{ "ActionType":"String", "AirwatchMdmAgentUpgradeFile":"String", "CommandLineAndArgumentsToRun":"String", "Critical":"String", "ExecuteAsRoot":"String", "FilePathAndName":"String", "InstallFilePath":"String", "InstallUnManagedApp":"String", "NameOfProgramToUninstall":"String", "OsFile":"String", "PathAndNameOfFolder":"String", "ProcessOrAppToTerminate":"String", "ScriptFilePathAndName":"String", VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 1114 Chapter 11: Product Management Version 1 and Version 2 "ScriptToExecute":"String", "SoftwareToInstall":"String", "SourceFilePathAndName":"String", "TargetFilePathAndName":"String", "TargetFolderPathAndName":"String", "TimeOut":"String", "UnInstallUnManagedApp":"String", "Wait":"String" }], "Version":Numeric }] } Response Tag Details Tag Type Description Description String Description of the Files/actions detail FileId Numeric Unique Identification of the file Name String Name of the file to be searched for Path String Path where file is located ActionType String Type of action taken on files/actions AirwatchMdmAgentUpgradeFile String File for upgrading AirWatch MDM agent CommandLineAndArgumentsToRun String Command line and arguments to run the application file FilePathAndName String File name and the path InstallFilePath String Path to install/uninstall the file InstallUnManagedApp String Install the unmanaged application NameOfProgramToUninstall String Program name to install/uninstall file OsFile String OS file for the application PathAndNameOfFolder String Folder name and path to install/uninstall file ProcessOrAppToTerminate String Continue processing the app or terminate the app ScriptFilePathAndName String Path and name of the script file ScriptToExecute String Script for the file execution SoftwareToInstall String Software required for app installation/uninstallation SourceFilePathAndName String Path and name of the source file TargetFilePathAndName String Path and name of the target file TargetFolderPathAndName String Folder name and path for the target file UnInstallUnManagedApp String Install/uninstall the managed application VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 1115 Chapter 11: Product Management Version 1 and Version 2 Product Download and Install Statistics Functionality – Retrieves the product installation and download statistics. HTTP Method – GET API URI – https://host/api/mdm/products/productdownloadandinstallstatistics?organizationgroupid= {organizationgroupid}&starttime={starttime}&endtime={endtime}&page={page}&pagesize={pagesize} l Pattern (Contains) Match Parameter – organizationgroupid, starttime, endtime, page, pagesize Request Body – NA URI Parameters Tag Type Description organizationgroupid Numeric Organization group identifier starttime Datetime DateTime, Filters the result where Product's Last modified date on device is greater than or equal to starttime value endtime Datetime DateTime, Filters the result where Product's Last modified date on device is lesser than or equal to endtime value page Numeric Page Number pagesize Numeric Page size Response Payload XML Numeric String String Numeric String Numeric String Numeric String String Numeric 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. 1112 Chapter 11: Product Management Version 1 and Version 2 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 String String String String String String String String String JSON { "ProductDownloadAndInstallStatistics":[{ "ComplianceState":"String", "DeviceID":Numeric, "FriendlyName":"String", "JobStatistics":[{ "DeviceProductJobId":Numeric, "DownloadDuration":"String", "LastDownloadDate":"Datetime", "LastInstallDate":"Datetime", "LastJobStatus":"String" }], "ProductName":"String", "SerialNumber":"String" }] } Response Tag Details Tag Type Description ComplianceState String Compliant status of the device DeviceID Numeric Unique identification of the device FriendlyName String Friendly name of the device DeviceProductJobId Numeric Product job identification of the device DownloadDuration Numeric Duration for the product download to happen LastDownloadDate Datetime Time stamp of the last product download LastInstallDate Datetime Time stamp of the last product install LastJobStatus String Time stamp of the last product job ProductName String Name of the product VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 1117 Chapter 11: Product Management Version 1 and Version 2 SerialNumber String Serial number assigned to the product VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 1118 Chapter 11: Product Management Version 1 and Version 2 Search Product Functionality – Searches for the products with the search parameters passed. HTTP Method – GET API URI – https://host/api/mdm/products/search?name={name}&organizationgroupid= {organizationgroupid}&managedbyorganizationgroupid={managedbyorganizationgroupid}&platform= {platform}&smartgroupid={smartgroupid}&page={page}&pagesize={pagesize}&orderby={orderby}&sortorder= {sortorder} l l Exact Match Parameter – platform, sortorder Pattern (Contains) Match Parameter – name, organizationgroupid, managedbyorganizationgroupid, smartgroupid, page, pagesize, orderby, modifiedfrom, modifiedtill Request Body – NA URI Parameters Tag Type Description name String Product name organizationgroupid Numeric Organization group id which is similar to selected organization group selected in console managedbyorganizationgroupid Numeric Managed by organization group id of the product platform String Platform name smartgroupid Numeric Smart Group Identifier page Numeric page number pagesize Numeric Maximum results which should be returned in each page orderby String Orders the results by this attribute sortorder String Sorts the result based on this attribute, i.e. ASC for Ascending order 'DESC' for descending order Response Payload XML Numeric String String String String Numeric D Numeric Datetime String VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 1116 Chapter 11: Product Management Version 1 and Version 2 Numeric Datetime Numeric Datetime String JSON { "Page":Numeric, "PageSize":Numeric, "Total":Numeric, "Products":[{ "ActivationOrDeactivationType":"String", "Active":Boolean, "Compliant":Numeric, "Description":"String", "DevicePolicyType":"String", "DevicePolicyTypeID":Numeric, "Failed":Numeric, "ID":Numeric, "InProgress":Numeric, "ManagedByOrganizationGroupID":Numeric, "ManagedByOrganizationGroupName":"String", "Name":"String", "Platform":"String", "PlatformID":Numeric, "SmartGroups":[{ "Name":"String", "SmartGroupId":Numeric }], "TotalAssigned":Numeric }] } Response Tag Details Tag Type Description Page Numeric Page number of the search result VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 1121 Chapter 11: Product Management Version 1 and Version 2 PageSize Numeric Number of content details shown on each page Total Numeric Total number of products on the device ActivationOrDeactivationType String Specifies the activation and deactivation types Active Boolean Specifies if the product created is Active ("true") or Inactive ("false") Compliant Boolean Specifies if the device is compliant of not Description String Description of the product DevicePolicyType String Type of device policy associated with the product DevicePolicyTypeID Numeric Unique identification number of the device policy Failed Numeric Number of enrollment users that could not be activated ID Numeric Unique identification of the product InProgress Numeric Shows the status of the product activation or deactivation ManagedByOrganizationGroupID Numeric Unique identification of the organization group which manages the smart group ManagedByOrganizationGroupName String Name of the organization group where the smart group is managed Name String Name of the product Platform String Device platform for which the product is associated PlatformID Numeric Unique identification of the device platform SmartGroups Name String Unique name of the smart group SmartGroupId Numeric Unique identification of the smart group TotalAssigned Numeric Total products assigned to the smart group VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 1122 Chapter 11: Product Management Version 1 and Version 2 Search Product Time Condition Functionality – Searches for TimeConditions with the specified parameters. HTTP Method – GET API URI – https://host/api/mdm/products/timeconditionsearch?organizationgroupid= {organizationgroupid}&starttime={starttime}&endtime={endtime} l Pattern (Contains) Match Parameter – organizationgroupid, starttime, endtime Request Body – NA URI Parameters Tag Type Description organizationgroupid Numeric Organization group id which is similar to selected organization group selected in console starttime Datetime DateTime, Filters the result where TimeCondition modified date is greater than or equal to starttime value endtime Datetime DateTime, Filters the result where TimeCondition modified date is lesser than or equal to endtime value 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. 1119 Chapter 11: Product Management Version 1 and Version 2Numeric Numeric String Numeric String String Boolean String Numeric String Numeric String Numeric Boolean Numeric Numeric Numeric String String Numeric Numeric String Numeric String String Boolean String Numeric String VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 1120 Chapter 11: Product Management Version 1 and Version 2 Numeric String Numeric Boolean Numeric Numeric Numeric String String JSON [{ "ConditionId":Numeric, "Description":"String", "ModifiedOn":"Datetime", "Name":"String", "OrganizationGroupId":Numeric, "TimeCondition1":{ "DayEnd":"Datetime", "DayStart":"Datetime", "HourEnd":"Datetime", "HourStart":"Datetime", "MinuteEnd":"Datetime", "MinuteStart":"Datetime", "MonthEnd":"Datetime", "MonthStart":"Datetime", "YearEnd":"Datetime", "YearStart":"Datetime" } }] Response Tag Details Tag Type Description ConditionId Numeric Unique identification of the time condition to be searched for Description String Description for the time condition ModifiedOn Datetime Time stamp when the condition was last modified Name String Name of the time condition OrganizationGroupId Numeric Unique identification of the time condition to be searched for VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 1124 Chapter 11: Product Management Version 1 and Version 2 Search File Condition Functionality – Searches for file conditions with the specified parameters. HTTP Method – GET API URI – https://host/api/mdm/products/fileconditionsearch?organizationgroupid={organizationgroupid}&starttime= {starttime}&endtime={endtime} l Pattern (Contains) Match Parameter – organizationgroupid, starttime, endtime Request Body – NA URI Parameters Tag Type Description organizationgroupid Numeric Organization group id which is similar to selected organization group selected in console starttime Datetime DateTime, Filters the result where TimeCondition modified date is greater than or equal to starttime value endtime Datetime DateTime, Filters the result where TimeCondition modified date is lesser than or equal to endtime value Response Payload XML Numeric String String Numeric Datetime Datetime Datetime Datetime Datetime Datetime Datetime Datetime Datetime Datetime Datetime VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 1123 Chapter 11: Product Management Version 1 and Version 2 Datetime Datetime Datetime Datetime Datetime Datetime Datetime Datetime Datetime Datetime VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 1125 Chapter 11: Product Management Version 1 and Version 2 JSON [{ "ConditionId":Numeric, "Description":"String", "FlagFileDetails":{ "FileContents":"String", "FileLocation":"String" }, "ModifiedOn":"String", "Name":"String", "OrganizationGroupId":Numeric, "ScenarioDetails":{ "FileToBeTested":"String", "RemoveFileAfterTest":"String", "TestType":"String" } }] Response Tag Details Tag Type Description ConditionId Numeric Unique identification of the file condition to be searched for Description String Description of the file condition FileContents String Contents of the file to be searched for FileLocation String Location of the file to be searched for ModifiedOn Datetime Time stamp when the time condition was last modified Name String Name of the time condition OrganizationGroupId Numeric Unique identification of the location group where the time condition is to be retrieved FileToBeTested String File that is to be tested for RemoveFileAfterTest String Yes or No, if the file to be removed after testing TestType String Type of the test conducted on the file VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 1126 Chapter 11: Product Management Version 1 and Version 2 Add Smart Group to Product Functionality – Adds SmartGroup to the specified Product. HTTP Method – POST API URI – https://host/api/mdm/products/{id}/addsmartgroup/{smartgroupid} Response Body – NA Request Payload XML Numeric String String Numeric String String String String String String String JSON "String" Request Tag Details Tag Mandatory Description String No Smart group to be added to the product VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 1127 Chapter 11: Product Management Version 1 and Version 2 Remove Smart Group from Product Functionality – Removes smart group from the specified product. HTTP Method – POST API URI – https://host/api/mdm/products/{id}/removesmartgroup/{smartgroupid} Response Body – NA Request Payload XMLString JSON "String" Request Tag Details Tag Mandatory Description String No Smart group to be removed from the product VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 1128 Chapter 11: Product Management Version 1 and Version 2 Update Product Functionality – Updates the product details. HTTP Method – POST API URI – https://host/api/mdm/products/{id}/update Response Obtained – NA URI Parameters Tag Type Description id Numeric Product identifier product String Details of product to be edited Request Payload XMLVMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 1129 Chapter 11: Product Management Version 1 and Version 2 JSON { "ManagedByOrganizationGroupID":Numeric, "Description":"String", "SmartGroups":[{ "SmartGroupId":Numeric, "Name":"String" }], "ActivationDateTime":"Datetime", "DeactivationDateTime":"Datetime", "PauseResume":Boolean, "DevicePolicyTypeID":Numeric } Request Tag Details Tag Mandatory Description Name No Name of the product ManagedByOrganizationGroupID Yes Unique identifier of the organization group Description No Description of the product SmartGroupId Yes Numeric ID of the smart group ActivationDateTime No Time stamp of the time to activate the product DeactivationDateTime No Time stamp of the time to deactivate the product PauseResume Yes Pause the resume. Values: True or False DevicePolicyTypeID Yes Unique identifier of the device policy type Important: The activation datetime / deactivation datetime must be set in the increments of 5 minute. VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 1130 Chapter 11: Product Management Version 1 and Version 2 Get Product Details Functionality – Get the product details with application id. HTTP Method – GET API URI – https://host/api/mdm/products/{appid}/assignments Request Body – NA Response Payload XML Text value Numeric String Numeric String Numeric String Datetime Datetime Boolean Numeric JSON [{ "AssignmentDate":"Datetime", "ProductID":Numeric }] Response Tag Details Tag Type Description AssignmentDate Datetime Time stamp when the product was assigned ProductID Numeric Unique identification of the product VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 1131 Chapter 11: Product Management Version 1 and Version 2 Reprocess Product Functionality – Initiates reprocessing of a product or product and device(s) by the policy engine. Supports a reprocess and a forced reprocess. HTTP Method – POST API URI – https://host/api/mdm/products/reprocessProduct Response Obtained – NA Request Payload XML Numeric Datetime Numeric Datetime JSON { "ForceFlag" : Boolean, "DeviceIds" : [ { "ID" : Numeric }, { "ID" : Numeric } ], "ProductID" : Numeric } VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 1132 Chapter 11: Product Management Version 1 and Version 2 Request Tag Details Tag Mandatory Description DeviceIdss Yes Unique identification numbers of the devices ProductID Yes Unique identification number of the product to be reprocessed VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 1133 Chapter 11: Product Management Version 1 and Version 2 Retrieve Job status Change Functionality – Returns the details of job status changes along with timestamps for those changes, for a device, a product, or a job. HTTP Method – GET API URI – https://host/api/mdm/products/jobstatuschangetimestamp?organizationgroupid= {organizationgroupid}&deviceid={deviceid}&productid={productid}&jobid={jobid}&modifieddatefrom= {modifieddatefrom}&modifieddateto={modifieddateto}&page={page}&pagesize={pagesize} Request Payload – NA URI Parameters Tag Type Description organizationgroupid Numeric ID of the Organization Group where Device/Product/Job is present deviceid String Device ID of the device for which the job status change timestamp is desired productid String Product ID of the product for which the job status change timestamp is desired jobid String Job ID of the job for which the job status change timestamp is desired modifieddatefrom Datetime The start date of the duration for which the job status change timestamp is desired. If none is provided, all the results since enrollment will be shown modifieddateto Datetime The start date of the duration for which the job status change timestamp is desired. If none is provided, all the results since enrollment will be shown page Numeric Page index pagesize Numeric Number of records per page Response Payload XML Boolean Numeric Numeric Numeric JSON { "ProvisioningStatusJobDetails" : [ { "DeviceID" : Numeric, "DeviceSerialNumber" : "String", "LastSeen" : "Datetime", "JobTimestampDetails" : [ { "ProductID" : Numeric, "ProductName" : "String", "JobID" : Numeric, "JobType" : "String", "PartOfSet" : "String", "ProductSet" : "String", "QueuedTimestamp" : "String", "DeliveredTimestamp" : "String", VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 1135 Chapter 11: Product Management Version 1 and Version 2 "CancelledTimestamp" : "String", "DeletedTimestamp" : "String", "CompletedTimestamp" : "String", "FailedTimestamp" : "String", "DetachedTimestamp" : "String", "DeferredTimestamp" : "String", "StartedTimestamp" : "String", "WaitingTimestamp" : "String", "OrphanedTimestamp" : "String", "InstallingTimestamp" : "String" } ] } ], "Page" : Numeric, "PageSize" : Numeric, "Total" : Numeric } Response Tag Details Tag Type Description DeviceID Numeric Unique identification number of the device DeviceSerialNumber Numeric Serial number of the device LastSeen Datetime Last seen time stamp of the device ProductID Numeric Unique identification number of the product ProductName String Unique name of the product JobID Numeric Unique identification number of the Job JobType String Job type of the product ProductSet String Product set for which the job status change has to be retrieved QueuedTimestamp String Queued job status change timestamp DeliveredTimestamp String Delivered job status change timestamp CancelledTimestamp String Cancelled job status change timestamp DeletedTimestamp String Deleted job status change timestamp CompletedTimestamp String Completed job status change timestamp FailedTimestamp String Failed job status change timestamp DetachedTimestamp String Detached job status change timestamp DeferredTimestamp String Deferred job status change timestamp StartedTimestamp String Job status change started timestamp VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 1136 Chapter 11: Product Management Version 1 and Version 2 WaitingTimestamp String Waiting job status change timestamp OrphanedTimestamp String Orphaned job status change timestamp InstallingTimestamp String Installing job status change timestamp Page Numeric page number of the result PageSize Numeric Maximum results which should be returned in each page Total Numeric Total number of objects in the result VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 1137 Chapter 11: Product Management Version 1 and Version 2 Activate Productset Functionality – Activates a product in a productset. HTTP Method – POST API URI – https://host/api/mdm/productsets/ActivateProductInProductSet?productSetID={id}&productID={productid} Request Payload – NA Response Obtained – NA Add Product in Productset Functionality – Adds a product to or modifies an existing product in a productset. HTTP Method – POST API URI – https://host/api/mdm/productsets/MaintainProductInProductSet Request Payload XML Numeric Numeric Numeric VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 1134 Chapter 11: Product Management Version 1 and Version 2 Numeric String Datetime Numeric String Numeric String String String String String String String String String String String String String String String JSON { "MaintainGeneralInput" : { "LocationGroupID" : Numeric, "InsertOnly" : Boolean }, "ProductRanks" : [ { VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 1139 Chapter 11: Product Management Version 1 and Version 2 "ProductName" : "String", "ProductID" : Numeric, "Rank" : Numeric, "Active" : Boolean } ], "Products" : [ { "DownLoadConditions" : [ { "ConditionID" : Numeric, "ConditionName" : "String" } ], "InstallConditions" : [ { "ConditionID" : Numeric, "ConditionName" : "String" } "SmartGroups" : [ { "SmartGroupID" : Numeric, "SmartGroupName" : "String" } ], "Steps" : [ { "StepType" : Numeric, "SequenceNumber" : Numeric, "FileActionID" : Numeric, "FileActionName" : "String", "ProfileID" : Numeric, "ProfileName" : "String", "ApplicationID" : Numeric, "ApplicationBundleID" : "String", "ApplicationPackageVersion" : "String", "Persist" : Boolean } ], "Name" : "String", "ProductID" : Numeric, "Description" : "String", "Platform" : Numeric, "ApplicabilityRule" : "String", "PauseResume" : Boolean, "ProductType" : Numeric, "ActivationDate" : "String", "DeactivationDate" : "String" } ], "Name" : "String", VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 1140 Chapter 11: Product Management Version 1 and Version 2 "Description" : "String", "PlatformID" : Numeric } Request Tag Details Tag Mandatory Description LocationGroupID Yes Unique identifier of the organization group InsertOnly Yes Boolean or False ProductName Yes Name of the product ProductID Yes Unique identifier of the product Rank Yes Rank of the product Active Yes Is the product active or not. Values: Boolean , False DownLoadConditions ConditionID Yes Unique identifier of the download condition DownLoadConditions ConditionName Yes Name of the download condition InstallConditions ConditionID Yes Unique identifier of the install condition InstallConditions ConditionName Yes Unique identifier of the install condition SmartGroupID Yes Unique identifier of the smart group SmartGroupName Yes Name of the smart group StepType Yes Type of the step SequenceNumber Yes Sequence number of the step FileActionID Yes Unique identifier of the file action FileActionName Yes Name of the file action ProfileID Yes Unique identifier of the profile ProfileName Yes Name of the profile ApplicationID Yes Unique identifier of the application ApplicationBundleID Yes Bundle id of the identifier ApplicationPackageVersion Yes Version of the application package Persist Yes Boolean of False Name Yes Name of the product ProductID Yes Unique identifier of the product VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 1141 Chapter 11: Product Management Version 1 and Version 2 Description Yes Description about the product Platform Yes Device platform ApplicabilityRule Yes The applicability rule PauseResume Yes Boolean of False ProductType Yes Type of the product ActivationDate Yes Timestamp of the product activation DeactivationDate Yes Timestamp of the product deactivation VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 1142 Chapter 11: Product Management Version 1 and Version 2 Create Product in Productset Functionality – Creates or updates a product in productset. HTTP Method – POST API URI – https://host/api/mdm/productsets/maintainProductset Request Payload XML Numeric Boolean String Numeric Numeric Boolean Numeric String Numeric String VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 1138 Chapter 11: Product Management Version 1 and Version 2Numeric String Numeric Numeric Numeric String Numeric String Numeric String String Boolean String Numeric String Numeric String Boolean Numeric String String String String Numeric JSON { "MaintainGeneralInput" : { "LocationGroupID" : Numeric, "InsertOnly" : Boolean }, "ProductRanks" : [ { "ProductName" : "String", "ProductID" : Numeric, "Rank" : Numeric, "Active" : Boolean } ], "Products" : [ { "DownLoadConditions" : [ { "ConditionID" : Numeric, VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 1144 Chapter 11: Product Management Version 1 and Version 2 "ConditionName" : "String" } ], "InstallConditions" : [ { "ConditionID" : Numeric, "ConditionName" : "String" } "SmartGroups" : [ { "SmartGroupID" : Numeric, "SmartGroupName" : "String" } ], "Steps" : [ { "StepType" : Numeric, "SequenceNumber" : Numeric, "FileActionID" : Numeric, "FileActionName" : "String", "ProfileID" : Numeric, "ProfileName" : "String", "ApplicationID" : Numeric, "ApplicationBundleID" : "String", "ApplicationPackageVersion" : "String", "Persist" : Boolean } ], "Name" : "String", "ProductID" : Numeric, "Description" : "String", "Platform" : Numeric, "ApplicabilityRule" : "String", "PauseResume" : Boolean, "ProductType" : Numeric, "ActivationDate" : "String", "DeactivationDate" : "String" } ], "Name" : "String", "Description" : "String", "PlatformID" : Numeric } Request Tag Details Tag Mandatory Description LocationGroupID Yes Unique identifier of the organization group InsertOnly Yes Boolean or False ProductName Yes Name of the product VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 1145 Chapter 11: Product Management Version 1 and Version 2 ProductID Yes Unique identifier of the product Rank Yes Rank of the product Active Yes Is the product active or not. Values: Boolean , False DownLoadConditions ConditionID Yes Unique identifier of the download condition DownLoadConditions ConditionName Yes Name of the download condition InstallConditions ConditionID Yes Unique identifier of the install condition InstallConditions ConditionName Yes Unique identifier of the install condition SmartGroupID Yes Unique identifier of the smart group SmartGroupName Yes Name of the smart group StepType Yes Type of the step SequenceNumber Yes Sequence number of the step FileActionID Yes Unique identifier of the file action FileActionName Yes Name of the file action ProfileID Yes Unique identifier of the profile ProfileName Yes Name of the profile ApplicationID Yes Unique identifier of the application ApplicationBundleID Yes Bundle id of the identifier ApplicationPackageVersion Yes Version of the application package Persist Yes Boolean of False Name Yes Name of the product ProductID Yes Unique identifier of the product Description Yes Description about the product Platform Yes Device platform ApplicabilityRule Yes The applicability rule PauseResume Yes Boolean of False ProductType Yes Type of the product ActivationDate Yes Timestamp of the product activation DeactivationDate Yes Timestamp of the product deactivation VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 1146 Chapter 11: Product Management Version 1 and Version 2 Deactivate Productset Functionality – Deactivates a product in a productset. HTTP Method – POST API URI – https://host/api/mdm/productsets/DeactivateProductInProductSet?productSetID={id}&productID= {productid} 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. 1147 Chapter 11: Product Management Version 1 and Version 2 Delete Product From Productsets Functionality – Deletes a product from a productset. HTTP Method – DELETE API URI – https://host/api/mdm/productsets/RemoveProductFromProductSet/{OGId}/{productSetIdOrName}/ {productIdOrName} URI Parameters Tag Type Description OGId String The location group of the ProductSet productSetIdOrName String Product Set containing the product to be deleted productIdOrName String The product 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. 1148 Chapter 11: Product Management Version 1 and Version 2 Push Productset to Policy Engine Functionality – Pushes the productset onto the product policy engine. HTTP Method – POST API URI – https://host/api/mdm/productsets/pushproductsetonpolicyengine?productSetID={id}&fasttrack={fasttrack} 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. 1149 Chapter 11: Product Management Version 1 and Version 2 Rank All Products in a Productset Functionality – Reranks all products in a productset. HTTP Method – POST API URI – https://host/api/mdm/productsets/RankAllProductsInProductSet Request Payload XML Numeric Boolean String Numeric Numeric Boolean Numeric String Numeric String Numeric String Numeric VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 1143 Chapter 11: Product Management Version 1 and Version 2Numeric Numeric String Numeric String Numeric String String Boolean String Numeric String Numeric String Boolean Numeric String String String String Numeric JSON { "LocationGroupID" : Numeric, "ProductSetName" : "String", "ProductSetID" : Numeric, "ProductRanks" : [ { "ProductName" : "String", "ProductID" : Numeric, "Rank" : Numeric, "Active" : Boolean } ] } VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 1150 Chapter 11: Product Management Version 1 and Version 2 Request Tag Details Tag Mandatory Description LocationGroupID Yes Unique id of the organization group ProductSetName No Name of the productset ProductSetID Yes Unique id of the productset ProductName No Name of the product ProductID Yes Unique id of the product Rank Yes Rank of the product Active Yes Is the product Active. True or False Response Payload XML Numeric String Numeric String Numeric Numeric Boolean JSON { "ResultString" : "String" } Response Tag Details Tag Type Description ResultString String Result obtained after re-ranking all the products in a productset VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 1151 Chapter 11: Product Management Version 1 and Version 2 Retrieve Productset Functionality – Retrieves information about a productset including a list of products. HTTP Method – GET API URI – https://host/api/mdm/productsets/ProductSetInquiry?OrganizationGroupID= {OrganizationGroupID}&ProductSetName={ProductSetName}&ProductSetID={ProductSetID} URI Parameters Tag Type Description OrganizationGroupID String The location group of the productset ProductSetName String Name of the productset ProductSetID String Unique identifier of the productset 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. 1152 Chapter 12: Smart Group Management 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 VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 1153 Chapter 12: Smart Group Management Overview AirWatch REST APIs allows you to manage Smart Groups that are used for assigning applications, profiles, and so on. Smart Group details can be viewed in the following path on the AirWatch Console: l Smart Group Details – Groups & Settings > Smart Groups. Create Smart Group (*Refactored) Functionality – Creates a smart group in an organization group. HTTP Method – POST Deprecated API URI – https://host/api/mdm/smartgroups/create. This URI will be deprecated soon. Start using the *Supported API URI. *Supported API URI – https://host/api/mdm/smartgroups (HTTP Method Used – POST) Request Payload XML String JSON { "Name" : "String", "ManagedByOrganizationGroupId":Numeric, "OrganizationGroups":[{ "Id":Numeric }], "UserGroups":[{ "Id":Numeric }], "Ownerships":["String"], "Platforms":["String"], "Models":["String"], "OperatingSystems":[{ "DeviceType":"String", "Operator":"String", "Value":"String" }], "Tags":[{ "Id":"String", VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 1155 Chapter 12: Smart Group Management }], "UserAdditions":[{ "Id":Numeric }], "DeviceAdditions":[{ "Id":Numeric }], "UserExclusions":[{ "Id":Numeric }], "DeviceExclusions":[{ "Id":Numeric }] } Request Tag Details Tag Mandatory Description Name Yes Unique name of the smart group ManagedByOrganizationGroupId Yes Unique identification of the organization group which manages the smart group OrganizationGroups Id No Unique identification of the organization group from where the devices are filtered UserGroups Id No Unique identification of the user groups from which the devices are filtered Ownerships No Ownership type of the device. Allowed values are 'CorporateShared', 'CorporateDedicated', 'EmployeeOwned', and 'Unknown' Platforms No Device platform. Refer Tables for complete List of device platforms Models No The model of the device. Refer Tables for complete list of device models OperatingSystems DeviceType No The platform of the device. Refer Tables for complete list of device platforms OperatingSystems Operator No Operator applied to the operating system value. Allowed values are "Equals", "GreaterThan", "LessThan", "GreaterThanOrEqualTo", and "LessThanOrEqualTo" OperatingSystems Value No Operating system value. Refer Tables for the complete list of operating systems UserAdditions Id No 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 VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 1156 Chapter 12: Smart Group Management DeviceAdditions Id No 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 UserExclusions Id No Unique identification of the enrollment users whose devices need to be removed from the smart group device list DeviceExclusions Id No Unique identification of the devices that need to be removed from the smart group device list Response Payloads XML String Numeric Numeric Numeric String String String String VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 1154 Chapter 12: Smart Group Management String String String Numeric Numeric Numeric Numeric Numeric JSON { "Value":Numeric } Response Tag Details Tag Type Description Name String Unique user identification of the newly created smart group VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 1157 Chapter 12: Smart Group Management Get 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 XMLJSON { "Name" : "String", "Devices":Numeric, "Exclusions":Numeric, "Assignments":Numeric, "CriteriaType" : "String", "SmartGroupID":Numeric, "ManagedByOrganizationGroupId":Numeric, "ManagedByOrganizationGroupName":"string", "OrganizationGroups":[{ "Name":"String", "Id":Numeric }], "UserGroups":[{ VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 1159 Chapter 12: Smart Group Management "Name":"String", "Id":Numeric }], "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. 1160 Chapter 12: Smart Group 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. 1161 Chapter 12: Smart Group Management Get Device Details in the Smart Group Functionality – Retrieves the device details in the smart group. HTTP Method – GET API URI – https://host/api/mdm/smartgroups/{smartgroupid}/devices Request Body – NA Response Payload XML String Numeric Numeric Numeric String Numeric String Numeric String 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. 1158 Chapter 12: Smart Group Management String String String Numeric String Numeric String/Name> Numeric String Numeric String JSON { "Devices":[{ "Id":Numeric, "Name":"String", "Model":"String", "OSVersion":"String", "Username":"String", "Platform":"String", "Ownership":"String" }] Response Tag Details Tag Type Description Id Numeric Unique identifier of the device Name 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. 1162 Chapter 12: Smart Group Management Model String Name of the device model OSVersion String Operating System version of the model Username String Name of the enrollment user to whom the device is assigned Platform String Name of the device platform Ownership String Ownership type of the device. Values: Corporate-Shared, CorporateDedicated, Employee Owned VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 1163 Chapter 12: Smart Group Management Search Smart Groups Functionality – Searches for smart groups using the query information provided. HTTP Method – GET API URI – https://host/api/mdm/smartgroups/search?name={name}&organizationgroupid= {organizationgroupid}&managedbyorganizationgroupid={managedbyorganizationgroupid}&modifiedfrom= {modifiedfrom}&modifiedtill={modifiedtill}&page={page}&pagesize={pagesize}&orderby={orderby}&sortorder= {sortorder} l l Exact Match Parameter – sortorder, page, pagesize, orderby, modifiedfrom, modifiedtill, organizationgroupid, managedbyorganizationgroupid, Pattern (Contains) Match Parameter – name Request Body – NA URI Parameters Tag Description name Smartgroup name organizationgroupid Numeric ID of the smart group's organization group managedbyorganizationgroupid Smart group managing organization group identifier modifiedfrom DateTime, Filters the result where SmartGroup modified date is greater or equal to modifiedfrom value modifiedtill DateTime, Filters the result where SmartGroup modified date is less or equal to modifiedtill value page Page number pagesize Records per page orderby Column by which the search results will be sorted sortorder Sorting order. Values ASC or DESC. Defaults to ASC Response Payload XML Numeric String String String String String String JSON { "Page" : Numeric, "PageSize" : Numeric, "Total" : Numeric, "SmartGroups" : [ { "Assignments" : Numeric, "Devices" : Numeric, "Exclusions" : Numeric, "ManagedByOrganizationGroupId" : "String", "ManagedByOrganizationGroupName" : "String", "Name" : "String", "SmartGroupID" : Numeric } ] } Response Tag Details Tag Type Description Page Numeric Page number of the result PageSize Numeric Page size of the Result Total Numeric Total number of objects in the result 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 Name String Name of the organization group 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. 1165 Chapter 12: Smart Group Management ManagedByOrganizationGroupId Numeric ManagedByOrganizationGroupName String ID of the organization group where the smart group is managed 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. 1166 Chapter 12: Smart Group Management Update Smart Group (*Refactored) Functionality – Updates a smart group's details. HTTP Method – POST Deprecated API URI – https://host/api/mdm/smartgroups/{id}/update. This URI will be deprecated soon. Start using the *Supported API URI. *Supported API URI – https://host/api/mdm/smartgroups/{id} (HTTP Method Used – PUT) Response Obtained – NA URI Parameters Tag Type Description id Numeric Numeric Id of the smart group to be updated. Request Payload XML Numeric Numeric Numeric VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 1164 Chapter 12: Smart Group Management Numeric Numeric Numeric String Numeric Numeric String JSON { "Name":"String", "Exclusions":Numeric, "ManagedByOrganizationGroupName":Numeric, "OrganizationGroups":[{ "Id":"String" }], "UserGroups":[{ "Id":"String" }], "Ownerships":["String"], "Platforms":["String"], "Models":["String"], "Name":"String", VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 1168 Chapter 12: Smart Group Management "OperatingSystems":[{ "DeviceType":"String", "Operator":"String", "Value":"String" }], "Tags":[{ "Id":"String", }], "UserAdditions":[{ "Id":"String", "Name":"String" }], "DeviceAdditions":[{ "Id":"String" }], "UserExclusions":[{ "Id":"String" }], "DeviceExclusions":[{ "Id":"String" }] } Request Tag Details Tag Mandatory Description Name No Name of the smart group Assignment No Number of application assignments made to the smart group Exclusions No Number of devices that are excluded from the smart group’s list of devices ManagedByOrganizationGroupName No Name of the organization group OrganizationGroups Name No Name of the organization group from where the devices are filtered OrganizationGroups Id No Unique identification of the organization group from where the devices are filtered UserGroups Name No Name of the user groups assigned to the smart group UserGroups Id No Unique identification of the user groups assigned to the smart group UserAdditions Id No 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 VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 1169 Chapter 12: Smart Group Management UserAdditions Name No 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 No 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 No 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 DeviceAdditions Model No Model of the devices that need to be added to the smart group in addition to the devices added by the smart group filters DeviceAdditions OSVersion No Operating system of the devices that need to be added to the smart group in addition to the devices added by the smart group filters DeviceAdditions Username No Name of the device users that need to be added to the smart group in addition to the devices added by the smart group filters DeviceAdditions Platform No Platform of the devices that need to be added to the smart group in addition to the devices added by the smart group filters DeviceAdditions Ownership No Ownership 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 No Unique identification of the enrollment users whose devices need to be removed from the smart group device list UserExclusions Name No The name of the enrollment users whose devices need to be removed from the smart group device list DeviceExclusions Id No ID of the devices that need to be removed from the smart group device list DeviceExclusions Name No Friendly name of the devices that need to be removed from the smart group device list DeviceExclusions Model No Model of the devices that need to be removed from the smart group device list DeviceExclusions OSVersion No Operating system of the device that need to be removed from the smart group device list DeviceExclusions Username No Name of the device users that need to be removed from the smart group device list DeviceExclusions Platform No Platform 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. 1170 Chapter 12: Smart Group Management DeviceExclusions Ownership No Ownership 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. 1171 Chapter 12: Smart Group Management Delete Smart Group (*Refactored) Functionality – Deletes the smart group identified by smartgroup identifier. HTTP Method – DELETE Deprecated API URI – https://host/api/mdm/smartgroups/{id}/delete. This URI will be deprecated soon. Start using the *Supported API URI. *Supported API URI – https://host/api/mdm/smartgroups/{id} (HTTP Method Used – DELETE) 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. 1172 Chapter 12: Smart Group Management Get List of Apps Assigned to Smart Group Functionality – Gets the list of apps assigned to Smart Group. HTTP Method – GET API URI – https://host/api/mdm/smartgroups/{id}/apps Request Body – NA Response Payload XML String 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. 1167 Chapter 12: Smart Group Management String String String String String String String String String JSON [ { "applicationName" : "String", "bundleId" : "String", "platform" : "String", "version" : "String", "managedBy" : "String", "id" : Numeric } ] VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 1173 Chapter 12: Smart Group Management Response Tag Details Tag Type Description applicationName String Name of the application bundleId String Unique bundle id of the application platform String Device platform version String Version of the application managedBy String Unique identification of the smart group which manages the application id Numeric Device's alternate id VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 1174 Chapter 13: Tag Management 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 VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 1175 Chapter 13: Tag Management Overview AirWatch REST APIs allows you to manage various tag functionalities on the devices from the AirWatch Console. Create Tag Functionality – Creates a tag. HTTP Method – POST API URI – https://host/api/mdm/tags/addtag Request Payload XML Numeric String String String String String JSON { "LocationGroupId":Numeric, "TagName":"String", "TagType":Numeric } Request Tag Details Tag Mandatory Description LocationGroupId Yes Unique identifier of the organization group TagName Yes Name of the tag TagType Yes Tag Type id. Tag type Device : 1, General : 2 VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 1176 Chapter 13: Tag Management Response Payload XML String String Numeric Numeric JSON Numeric Response Tag Details Tag Type Description Long Numeric Unique identifier of the newly created tag VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 1177 Chapter 13: Tag Management Retrieve Devices with Specific Tag Functionality – Retrieves all the devices with the specified tag. HTTP Method – GET API URI – https://host/api/mdm/tags/{tagid}/devices?LastSeen={lastseen} Request Payload – NA URI Parameters Tag Type Description lastseen Datetime Specifies the date filter for device search, which retrieves the devices with the specific tag from the date the device was tagged. Response Payload XMLJSON { "Device":[{ "DateTagged":"Datetime", "DeviceId":Numeric, "FriendlyName":"String" }] } VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 1178 Chapter 13: Tag Management Response Tag Details Tag Type Description DateTagged Datetime Time stamp when the device was tagged DeviceId Numeric Unique identification of the device FriendlyName String Friendly name given to the device VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 1179 Chapter 13: Tag Management Search Tag Functionality – Searches for tags using the query information provided. HTTP Method – GET API URI – https://host/api/mdm/tags/search?name={name}&organizationgroupid={organizationgroupid}&tagtype= {tagtype}&page={page}&pagesize={pagesize} l Exact Match Parameter – tagtype l Pattern (Contains) Match Parameter – name, organizationgroupid, page, pagesize Request Body – NA URI Parameters Tag Type Description name String Tag name organizationgroupid Numeric Organization group identifier tagtype Numeric Tag Type id. Tag type: Device - 1, General - 2 page Numeric Page pagesize Numeric Page size Response Payload XML Numeric String Datetime Numeric String Datetime VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 1180 Chapter 13: Tag Management JSON { "Page":Numeric, "PageSize":Numeric, "Total":Numeric, "Tags":[{ "Id":Numeric, "DateTagged":"Datetime", "TagName":"String" }] } Response Tag Details Tag Type Description Page Numeric Page number of the search result PageSize Numeric Number of the tag details shown on each page Total Numeric Total number of tags Tags Id Numeric Unique identification of the tag DateTagged Datetime Time stamp when the device was tagged TagName String Name of the tag VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 1181 Chapter 13: Tag Management Update Tag Functionality – Updates a tag. HTTP Method – POST API URI – https://host/api/mdm/tags/{tagid}/update Response Obtained – NA Request Payload XML Numeric Numeric Numeric Numeric String Datetime Numeric String Datetime JSON { "TagName":"String", "TagType":Numeric } Request Tag Details Tag Mandatory Description TagName Yes Name of the tag TagType Yes Tag Type id. Tag type Device : 1, General : 2 VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 1182 Chapter 13: Tag Management Add Devices to the Tag Functionality – Add devices to the tag. HTTP Method – POST API URI – https://host/api/mdm/tags/{tagid}/adddevices Request Payload XML String Numeric JSON { "BulkValues":{ "Value":["String"] } } Request Tag Details Tag Mandatory Description Value Yes (at least 1) Desired device parameter: DeviceID Response Payload XML 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 devices successfully added to the tag FailedItems Numeric Number of the devices failed to add to the tag Fault Numeric This chunk of XML/JSON indicates the cause of failure in addition of devices to the tag ErrorCode Numeric HTTP status code for the failed element TotalItems Numeric Total Number of Items sent in the request for addition VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 1184 Chapter 13: Tag Management Remove Devices from Tag Functionality – Remove devices from the tag. HTTP Method – POST API URI – https://host/api/mdm/tags/{tagid}/removedevices Request 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. 1183 Chapter 13: Tag ManagementNumeric String String Numeric String String JSON { "BulkValues":{ "Value":["String"] } } Request Tag Details Tag Mandatory Description Value Yes (at least 1) Desired device parameter: DeviceID Response Payload XML 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 devices successfully removed from the tag FailedItems Numeric Number of the devices failed to be removed from the tag Fault Numeric This chunk of XML/JSON indicates the cause of failure in removal of devices ErrorCode Numeric HTTP status code for the failed element TotalItems Numeric Total Number of Items sent in the request for removal VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 1186 Chapter 13: Tag Management Delete Tag Functionality – Deletes a tag. HTTP Method – DELETE API URI – https://host/api/mdm/tags/{tagid} 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. 1187 Chapter 14: User Group Management 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 VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 1188 Chapter 14: User Group Management Overview AirWatchREST APIs allows you to create Custom User groups and add or remove device enrollment users to the User group. User Group details can be viewed in the following path on the AirWatch Console: l User Group Details – Groups & Settings > User Groups. Create Custom User Group Functionality – Creates a custom user group in the desired customer type organization group. HTTP Method – POST API URI – https://host/api/system/usergroups/createcustomusergroup Request 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. 1185 Chapter 13: Tag ManagementNumeric String String Numeric String String JSON { "GroupName":"String", "Description":"String", "ManagedByOrganizationGroupID":Numeric } Request Tag Details Tag Mandatory Description GroupName Yes Desired unique name of the custom user group Description Yes Description of the custom user group ManagedByOrganizationGroupID Yes Numeric identification of the organization group managing the custom user group VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 1189 Chapter 14: User Group Management Response Payload XML String String Numeric Numeric JSON { "Value": Numeric } Response Tag Details Tag Type Description Long/Value Numeric Unique identification of the newly created custom user group VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 1190 Chapter 14: User Group Management Add Enrollment User To a Custom User Group Functionality – Adds an enrollment user to a custom user group. HTTP Method – POST API URI – https://host/api/system/usergroups/{usergroupid}/user/{enrollmentuserid}/addusertogroup Request Payload – NA Response Payload – NA URI Parameters Tag Type Description Usergroupid Numeric Unique numeric identification of the custom user group enrollmentuserid Numeric Unique numeric identification of the enrollment user VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 1191 Chapter 14: User Group Management Remove an Enrollment User From the Custom User Group Functionality – Removes an enrollment user from the custom user group. HTTP Method – POST API URI – https://host/api/system/usergroups/{usergroupid}/user/{enrollmentuserid}/removeuserfromgroup Request Payload – NA Response Payload – NA URI Parameters Tag Type Description Usergroupid Numeric Unique numeric identification of the custom user group enrollmentuserid Numeric Unique numeric identification of the enrollment user VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 1192 Chapter 14: User Group Management Get User group Functionality – Retrieves list of users from the provided user group id. HTTP Method – GET API URI – https://host/api/system/usergroups/{usergroupid}/users?page={page}&pagesize={pagesize} l Pattern (Contains) Match Parameter – usergroups, usergroupid, users, page, pagesize Request Body – NA URI Parameters Tag Type Description Usergroupid Numeric Unique numeric identification of the custom user group page Numeric Specifies the page number pagesize Numeric Maximum records per page Response Payload XMLVMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 1193 Chapter 14: User Group Management JSON { "Page":Numeric, "PageSize":Numeric, "Total":Numeric, "EnrollmentUser":{ "UserName":"String", "FirstName":"String", "LastName":"String", "SecurityType":"String", "OrganizationGroup":Numeric, } } Response Tag Details Tag Type Description Page Numeric Current page number of the result PageSize Numeric Maximum records/users per page to be displayed Total Numeric Total number of users present in the search result UserName String Username of the enrollment user FirstName String First name of the enrollment user LastName String Last name of the enrollment user SecurityType String/Numeric Security type of the enrollment users. In XML payload, you can pass String values ("Basic" for a basic user, and "Directory" for a directory user) and Numeric values (1 for directory users and 2 for basic users). For JSON payload, you can pass only Numeric values. OrganizationGroup Numeric Unique identification of the Organization Group associated with the enrollment user VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 1194 Chapter 14: User Group Management Search User Group Functionality – Search user group from the provided user group name, user group type, organization group, and organization group id. HTTP Method – GET API URI – https://host/api/system/usergroups/custom/search?groupname={groupname}&organzationgroupid= {organizationgroupid}&page={page}&pagesize={pagesize} l Pattern (Contains) Match Parameter – groupname, organzationgroupid, page, pagesize Request Body – NA URI Parameters Tag Type Description groupname String Name of the user group organizationgroupid Numeric Unique Numeric identifier of the Organization Group page Numeric Specifies the page number pagesize Numeric Maximum records per page Response Payload XML Numeric Numeric Numeric String String String String Numeric String String String String Numeric JSON { "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. 1195 Chapter 14: User Group Management "UserGroup":{ "UserGroupId":Numeric, "UserGroupName":"String", "OrganizationGroup":"String", "UserCount":Numeric } } Response Tag Details Tag Type Description Page Numeric Current page number of the result PageSize Numeric Maximum records/users per page to be displayed Total Numeric Total number of users present in the search result UserGroupId Numeric Unique identification of the user groups from which the devices are filtered UserGroupName String Unique name of the user group OrganizationGroup String Unique organization group name UserCount Numeric Number of users in the user group VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 1196 Chapter 14: User Group Management Delete User Group Functionality – Deletes a user group from the numeric user group id provided in the request URI. HTTP Method – DELETE API URI – https://host/api/system/usergroups/{usergroupid}/delete 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. 1197 Chapter 14: User Group Management Retrieve List of Notifications Functionality – Retrieves the list of notifications based on the core user. HTTP Method – GET API URI – https://host/api/system/notifications?startIndex={startIndex}&pageSize={pageSize}&active= {active}&cultureCode={cultureCode} Request Payload – NA URI Parameters Tag Type Description startIndex Numeric (Optional) Start index for the list of fetched notifications. Default value is 0. startIndex Numeric (Optional) Number of notifications fetched per page. Default value is 0. active Boolean (Optional) Option to fetch active or dismissed notifications. Value: True or False. Default value is true. culturecode String (Optional) Option to provide the locale setting for the fetched notifications. Default value is the default culture code for the core user. Response Payload XML Numeric Numeric Numeric Numeric String String Numeric VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 1198 Chapter 14: User Group Management JSON [ { "CoreUserId": "Numeric", "CreatedOn": "Datetime", "OrganizationGroupId": "Numeric", "Title": "String", "IsAcknowledged": "Boolean", "TypeId": "Numeric" "TypeValue": "String", "CategoryId": "Numeric", "CategoryValue": "String", "ResourceKey": "String", "ResourceValue": "String", "Priority": "Numeric", "Message": "String", "id" : Numeric } ] Response Tag Details Tag Type Description CoreUserId Numeric The unique identifier of the user CreatedOn Datetime The date of the notification OrganizationGroupId Numeric The unique identifier of the Organization group Title String The title of the notification IsAcknowledged Boolean Specifies if the admin has acknowledged the notification or not TypeId Numeric The unique identifier of the displayed notification type TypeValue String The value for the displayed notification CategoryId Numeric The unique identifier of the notification category CategoryValue String The value of the notification category Resource Key String The key of the resource that is used for the notification ResourceValue String The value of the resource that is used for the notification Priority Numeric The priority set for the notification Message String The notification message displayed for the admin id Numeric The unique identifier of the notification count model VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 1199 Chapter 14: User Group Management Retrieve Notifications Count Functionality – Retrieves the total, active, and dismissed count of notifications. HTTP Method – GET API URI – https://host/api/system/notifications/count Request Payload – NA Response Payload XML Numeric Datetime Numeric String Boolean Numeric String Numeric String String String Numeric String Numeric JSON { "Total" : Numeric, "Active" : Numeric, "Dismissed" : Numeric, "id" : Numeric } Response Tag Details Tag Type Description Total Numeric The total number of notifications Active Numeric The number of active notifications Dismissed Numeric The number of dismissed notifications id Numeric The unique identifier of the notification count model VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 1200 Chapter 15: Event Notification Overview 1202 Create Event Notification 1202 Delete Event Notification 1206 Retrieve Event Notification 1207 Search Event Notification 1210 Update Event Notification 1214 VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 1201 Chapter 15: Event Notification Overview AirWatch REST APIs allows you to subscribe to device events and manage event notification functionalities from the AirWatch Console. Create Event Notification Functionality – Creates a new event notification rule with events to subscribe to. HTTP Method – POST API URI – https://host/api/system/eventnotifications Request Payload XML Numeric Numeric Numeric Numeric JSON { VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 1202 Chapter 15: Event Notification "TargetName": "string", "TargetUrl": "string", "Username": "string", "Password": "string", "Format": 0, "OrganisationGroupId" : Numeric, "DeviceEvents": { "Enrollment": Boolean, "UnenrolledEnterpriseWipe": Boolean, "Wipe": Boolean, "CompromisedStatusChange": Boolean, "Delete": Boolean, "ComplianceStatusChange": Boolean, "DeviceAttributes": { "AssetNumber": Boolean, "FriendlyName": Boolean, "OrganizationGroup": Boolean, "UserEmailAddress": Boolean, "Ownership": Boolean, "OperatingSystem": Boolean, "PhoneNumber": Boolean, "DeviceMCC": Boolean } } } Request Tag Details Tag Mandatory Description ComplianceStatusChange Yes Whether the compliance status change for the device event must be enabled. True or False CompromisedStatusChange Yes Whether the compromised status change for the device event must be enabled. True or False AssetNumber Yes Whether the asset number of the device event be enabled. True or False DeviceMCC Yes Whether the device MCC of the device event be enabled. True or False FriendlyName Yes Whether the friendly name of the device event be enabled. True or False OperatingSystem Yes Whether the operating system of the device event be enabled. True or False OrganizationGroup Yes Whether the organization group of the device event be enabled. True or False Ownership Yes Whether the ownership of the device event be enabled. True or False VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 1203 Chapter 15: Event Notification PhoneNumber Yes Whether the phone number of the device event be enabled. True or False UserEmailAddress Yes Whether the user email address of the device event be enabled. True or False Enrollment Yes Whether the device enrollment event must be enabled. True or False UnenrolledEnterpriseWipe Yes Whether the device unenrolled enterprise wipe event must be enabled. True or False Wipe Yes Whether the device wipe event must be enabled. True or False Delete Yes Whether an outbound event has been triggered for deletion of the device Format Yes Type of the format. By default, the format type is XML OrganizationGroupId Yes Unique id of the organization group Username No Username of the Target URL Username and Password is required only if the target URL is secured with basic authentication. Password No Password of the Target URL TargetName Yes Name of the Target URL TargetUrl Yes URL of the Target Note: An event is enabled if the corresponding field is set to True, otherwise it is disabled. At least one event must be enabled to create a new event notification. Response Payload XML String String String String Xml Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean Numeric Numeric JSON { "Value" : Numeric } VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 1204 Chapter 15: Event Notification Response Tag Details Tag Type Description Value Numeric Value of the new event notification rule when created VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 1205 Chapter 15: Event Notification Delete Event Notification Functionality – Deletes an event notification rule identified by the event notification Id. HTTP Method – DELETE API URI – https://host/api/system/eventnotifications/{id} URI Parameters Tag Type Description id Numeric Event notification id 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. 1206 Chapter 15: Event Notification Retrieve Event Notification Functionality – Retrieves details of an event notification rule identified by event notification Id. HTTP Method – GET API URI – https://host/api/system/eventnotifications/{id} Request Payload – NA URI Parameters Tag Type Description id Numeric Event notification id Response Payload XMLVMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 1207 Chapter 15: Event Notification JSON { "TargetName" : "String", "TargetUrl" : "String", "Username" : "String", "Password" : "String", "Format" : Numeric, "OrganizationGroupId" : Numeric, "IsActive" : Boolean, "DeviceEvents" : { "Enrollment" : Boolean, "UnenrolledEnterpriseWipe" : Boolean, "Wipe" : Boolean, "CompromisedStatusChange" : Boolean, "Delete" : Boolean, "ComplianceStatusChange" : Boolean, "DeviceAttributes" : { "AssetNumber" : Boolean, "FriendlyName" : Boolean, "OrganizationGroup" : Boolean, "UserEmailAddress" : Boolean, "Ownership" : Boolean, "OperatingSystem" : Boolean, "PhoneNumber" : Boolean, "DeviceMCC" : Boolean } }, "id" : Numeric } Response Tag Details Tag Type Description ComplianceStatusChange Boolean Whether the compliance status change for the device event is to be retrieved. True or False CompromisedStatusChange Boolean Whether the compromised status change for the device event is to be retrieved. True or False Delete Boolean Whether an outbound event has been triggered for deletion of the device. True or False AssetNumber Boolean Whether the asset number of the device attributes is to be retrieved. True or False DeviceMCC Boolean Whether the device MCC of the device attributes is to be retrieved. True or False FriendlyName Boolean Whether the friendly name of the device attributes is to be retrieved. True or False VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 1208 Chapter 15: Event Notification OperatingSystem Boolean Whether the operating system of the device attributes is to be retrieved. True or False OrganizationGroup Boolean Whether the organization group of the device attributes to be retrieved. True or False Ownership Boolean Whether the ownership of the device attributes is to be retrieved. True or False PhoneNumber Boolean Whether the phone number of the device attributes is to be retrieved. True or False UserEmailAddress Boolean Whether the user email address of the device attributes is to be retrieved. True or False Enrollment Boolean Whether the device enrollment event is to be retrieved. True or False UnenrolledEnterpriseWipe Boolean Whether the device unenrolled enterprise wipe event is to be retrieved. True or False Wipe Boolean Whether the device wipe event is to be retrieved. True or False Format Numeric Type of the format. By default, the format type is XML OrganizationGroupId Numeric Unique id of the organization group Username String Username of the Target URL Username and Password is required only if the target URL is secured with basic authentication. Password String Password of the Target URL TargetName String Name of the Target URL TargetUrl String URL of the Target VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 1209 Chapter 15: Event Notification Search Event Notification Functionality – Searches for event notification based on the query information provided. HTTP Method – GET API URI – https://host/api/system/eventnotifications/search?targetname={targetname}&organizationgroupid= {organizationgroupid}&status={status}&orderby={orderby}&sortorder={sortorder}&page={page}&pagesize={pagesize} Request Payload – NA URI Parameters Tag Type Description targetname String Name of the target organizationgroupid Numeric Unique id of the organization group Status String Event notification status orderby String Sorts the response based on the attribute (targettname, targetUrl, formattype, username, active) sortorder String Sorting order. Values ASC or DESC. Defaults to ASC. page Numeric Page number pagesize Numeric Number of records per page Response Payload XML Numeric String String String String Xml Numeric Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean JSON { "EventNotifications" : [ { "TargetName" : "String", "TargetUrl" : "String", "Username" : "String", "Password" : "String", "Format" : Numeric, "OrganizationGroupId" : Numeric, "IsActive" : Boolean, "DeviceEvents" : { "Enrollment" : Boolean, "UnenrolledEnterpriseWipe" : Boolean, "Wipe" : Boolean, "CompromisedStatusChange" : Boolean, "Delete" : Boolean, "ComplianceStatusChange" : Boolean, "DeviceAttributes" : { "AssetNumber" : Boolean, "FriendlyName" : Boolean, "OrganizationGroup" : Boolean, VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 1211 Chapter 15: Event Notification "UserEmailAddress" : Boolean, "Ownership" : Boolean, "OperatingSystem" : Boolean, "PhoneNumber" : Boolean, "DeviceMCC" : Boolean } }, "id" : Numeric } ], "AdditionalInfo" : { "Links" : [], "id" : Numeric }, "TotalResults" : Numeric } Response Tag Details Tag Type Description ComplianceStatusChange Boolean Whether the compliance status change for the device event is to be searched for. True or False CompromisedStatusChange Boolean Whether the compromised status change for the device event is to be searched for. True or False Delete Boolean Whether an outbound event has been triggered for deletion of the device. True or False AssetNumber Boolean Whether the asset number of the device attributes is to be searched for. True or False DeviceMCC Boolean Whether the device MCC of the device attributes is to be searched for. True or False FriendlyName Boolean Whether the friendly name of the device attributes is to be searched for. True or False OperatingSystem Boolean Whether the operating system of the device attributes is to be searched for. True or False OrganizationGroup Boolean Whether the organization group of the device attributes is to be searched for. True or False Ownership Boolean Whether the ownership of the device attributes is to be searched for. True or False PhoneNumber Boolean Whether the phone number of the device attributes is to be searched for. True or False VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 1212 Chapter 15: Event Notification UserEmailAddress Boolean Whether the user email address of the device attributes is to be searched for. True or False Enrollment Boolean Whether the device enrollment event is to be searched for. True or False UnenrolledEnterpriseWipe Boolean Whether the device unenrolled enterprise wipe event is to be searched for. True or False Wipe Boolean Whether the device wipe event is to be searched for. True or False Format Numeric Type of the format. By default, the format type is XML OrganizationGroupId Numeric Unique id of the organization group Username String Username of the Target URL Username and Password is required only if the target URL is secured with basic authentication. Password String Password of the Target URL TargetName String Name of the Target URL TargetUrl String URL of the Target VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 1213 Chapter 15: Event Notification Update Event Notification Functionality – Updates an event notification rule identified by the event notification Id. HTTP Method – PUT API URI – https://host/api/system/eventnotifications/{id} URI Parameters Tag Type Description id Numeric Event notification id Request Payload XML Numeric Numeric Numeric String String String String VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 1210 Chapter 15: Event NotificationXml Numeric 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. 1214 Chapter 15: Event Notification JSON { "TargetName": "string", "TargetUrl": "string", "Username": "string", "Password": "string", "Format": 0, "OrganisationGroupId" : Numeric, "DeviceEvents": { "Enrollment": true, "UnenrolledEnterpriseWipe": Boolean, "Wipe": Boolean, "CompromisedStatusChange": Boolean, "Delete": Boolean, "ComplianceStatusChange": Boolean, "DeviceAttributes": { "AssetNumber": Boolean, "FriendlyName": Boolean, "OrganizationGroup": Boolean, "UserEmailAddress": Boolean, "Ownership": Boolean, "OperatingSystem": Boolean, "PhoneNumber": Boolean, "DeviceMCC": Boolean } } } Request Tag Details Tag Mandatory Description ComplianceStatusChange Yes Whether the compliance status change for the device event must be updated. True or False CompromisedStatusChange Yes Whether the compromised status change for the device event must be updated. True or False AssetNumber Yes Whether the asset number of the device attributes be updated. True or False DeviceMCC Yes Whether the device MCC of the device attributes be updated. True or False FriendlyName Yes Whether the friendly name of the device attributes be updated. True or False OperatingSystem Yes Whether the operating system of the device attributes be updated. True or False VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 1215 Chapter 15: Event Notification OrganizationGroup Yes Whether the organization group of the device attributes be updated. True or False Ownership Yes Whether the ownership of the device attributes be updated. True or False PhoneNumber Yes Whether the phone number of the device attributes be updated. True or False UserEmailAddress Yes Whether the user email address of the device attributes be updated. True or False Enrollment Yes Whether the device enrollment event must be updated. True or False UnenrolledEnterpriseWipe Yes Whether the device unenrolled enterprise wipe event must be updated. True or False Wipe Yes Whether the device wipe event must be updated. True or False Delete Yes Whether an outbound event has been triggered for deletion of the device Format Yes Type of the format. By default, the format type is XML OrganizationGroupId Yes Unique id of the organization group Username No Username of the Target URL Username and Password is required only if the target URL is secured with basic authentication. Password No Password of the Target URL TargetName Yes Name of the Target URL TargetUrl Yes URL of the Target Note: An event is enabled if the corresponding field is set to True, otherwise it is disabled. At least one event must be enabled to create a new event notification. VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 1216 Chapter 16: Custom Attribute Management Overview 1218 Create Custom Attributes 1218 Search Custom Attribute 1220 VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 1217 Chapter 16: Custom Attribute Management Overview AirWatch REST APIs enables you to extract particular values from the devices and return it to the AirWatch Console. These attributes can then be associated with other rules to further assign to the devices. Custom attributes can be viewed in the following path on the AirWatch Console: l Custom Attributes Details – Groups & Settings > All Settings > Devices & Users > Advanced > Custom Attributes. Create Custom Attributes Functionality – Creates a custom attribute definition in AirWatch Console. HTTP Method – POST API URI – https://host/api/system/customattributes/create Request Payload XML String String String String Xml Boolean Boolean Boolean Boolean Booelan Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean Numeric JSON { "ApplicationGroup":"String", "CollectValuesForRuleCreator":Boolean, "Description":"String", "ManagedByOrganizationGroupID":"String", "Name":"String", "Persist":Boolean, VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 1218 Chapter 16: Custom Attribute Management "ShowInRuleCreator":Boolean, "Values":[{ "Value":"String" }] } Request Tag Details Tag Type Description ApplicationGroup String Name of the application group CollectValuesForRuleCreator Boolean True / False, for the values to be collected for the Rule creator Description String Description of the custom attribute ManagedByOrganizationGroupID Numeric Unique identification of the location group where custom attribute is created Name String Name of the custom attribute Persist Boolean True /False ShowInRuleCreator Boolean True / False Value String Desired device parameter. Response Payload XML String String String Boolean String Boolean Boolean String String Numeric JSON Numeric Response Tag Details Tag Type Description Numeric Numeric Unique numeric ID associated with the custom attribute VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 1219 Chapter 16: Custom Attribute Management Search Custom Attribute Functionality – Searches for the Custom Attributes in AirWatch Console for the filters provided in input. HTTP Method – GET API URI – https://host/api/system/customattributes/search?organizationgroupid={organizationgroupid}&name= {name}&page={page}&pagesize={pagesize} l Pattern (Contains) Match Parameter – search, organizationgroupid, name Request Body – NA Response Payload XMLVMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 1220 Chapter 16: Custom Attribute Management JSON { "Page":Numeric, "PageSize":Numeric, "Total":Numeric, "CustomAttributes":[{ "ApplicationGroup":"String", "AttributeID":Numeric, "CollectValuesForRuleCreator":Boolean, "Description":"String", "ManagedByOrganizationGroupID":"String", "Name":"String", "Persist":Boolean, "ShowInRuleCreator":Boolean }] } Response Tag Details Tag Type Description ApplicationGroup String Name of the application group AttributeID Numeric Unique identification of the CollectValuesForRuleCreator Boolean True / False, for the values to be collected for the Rule creator Description String Description of the custom attribute ManagedByOrganizationGroupID Numeric Unique identification of the location group where custom attribute is created Name String Name of the custom attribute Persist Boolean True /False ShowInRuleCreator Boolean True / False VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 1221 Chapter 17: List of System and Device Parameters Chapter 17: List of System and Device Parameters Device Platform ID Platform Name Platform IDs WindowsMobile 1 Apple 2 BlackBerry 3 Symbian 4 Android 5 WindowsPhone 8 WindowsPc 9 AppleOsX 10 WindowsPhone8 11 WinRT 12 BlackBerry10 13 Apple TV 14 ChromeBook 16 Tizen 17 ZebraPrinter 101 ToshibaPrinter 102 AveryDennisonPrinter 103 DataMaxONeilPrinter 104 VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 1222 Chapter 17: List of System and Device Parameters Device Ownership Type Ownership Type Ownership ID Corporate Owned C Corporate Shared S Employee Owned E Device Model Platform Device Model Model ID Android Android 5 Apple iPhone 1 Apple iPad 2 Apple iPod Touch 3 AppleOsX MacBook Pro 14 AppleOsX MacBook Air 15 AppleOsX Mac Mini 16 AppleOsX iMac 30 AppleOsX Mac Pro 31 AppleOsX MacBook 35 AppleTv Apple TV 33 AveryDennisonPrinter ADTP1 39 BlackBerry BlackBerry 4 BlackBerry BES Managed 9 BlackBerry10 OtherBlackBerry10 26 BlackBerry10 BlackBerryQ10 28 BlackBerry10 BlackBerryZ10 29 ChromeBook Google Chrome Book 43 DatamaxONeilPrinter RL3 40 DatamaxONeilPrinter RL4 41 DatamaxONeilPrinter Generic 42 DatamaxONeilPrinter RL3e 48 DatamaxONeilPrinter RL4e 49 Qnx QNX 37 Symbian Symbian 7 VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 1223 Chapter 17: List of System and Device Parameters ToshibaPrinter B-EP4DL-G 38 ToshibaPrinter B-EP2DL-G 44 Tizen Tizen Mobile 51 WindowsMobile WindowsMobile 6 WindowsPc Windows PC 10 WindowsPhone WindowsPhone 8 WindowsPhone8 Windows Phone 8 17 WinRT Windows 8.0 22 WinRT Windows 8.1 32 WinRT Windows 10 50 ZebraPrinter QLn220 18 ZebraPrinter QLn320 19 ZebraPrinter ZT220 20 ZebraPrinter ZT230 21 ZebraPrinter QLn420 23 ZebraPrinter iMZ220 24 ZebraPrinter iMZ320 25 ZebraPrinter ZD500R 34 ZebraPrinter ZT210 36 ZebraPrinter ZD500 45 ZebraPrinter ZT410 46 ZebraPrinter ZT420 47 ZebraPrinter ZQ510 52 ZebraPrinter ZQ520 53 VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 1224 Chapter 17: List of System and Device Parameters Device Operating system IDs Device Platform Device Operating System OS ID Android Android 2.2 8 Android Android 2.2.1 35 Android Android 2.2.2 36 Android Android 2.3 37 Android Android 2.3.3 38 Android Android 2.3.4 39 Android Android 2.3.5 40 Android Android 2.3.6 61 Android Android 2.3.7 126 Android Android 2.2.3 127 Android Android 2.3.1 129 Android Android 3.0 21 Android Android 3.0.1 22 Android Android 3.2 30 Android Android 3.1 33 Android Android 3.2.1 124 Android Android 3.2.6 125 Android Android 3.2.2 128 Android Android 4.0.1 51 Android Android 4.0.2 52 Android Android 4.0.3 53 Android Android 4.0.4 54 Android Android 4.1.0 77 Android Android 4.1.1 78 Android Android 4.2.0 85 Android Android 4.2.1 86 Android Android 4.1.2 92 Android Android 4.2.2 98 Android Android 4.3.0 149 Android Android 4.4.0 157 Android Android 4.4.1 162 VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 1225 Chapter 17: List of System and Device Parameters Android Android 4.4.2 163 Android Android 4.4.3 171 Android Android 4.4.4 174 Android Android 5.0.0 188 Android Android 5.0.1 202 Android Android 5.0.2 203 Android Android 5.1.0 206 Android Android 5.1.1 220 Android Android 6.0.0 236 Apple iOS 3.0 1 Apple iOS 3.1 2 Apple iOS 4.0 3 Apple iOS 4.0.1 4 Apple iOS 4.0.2 5 Apple iOS 4.1 6 Apple iOS 4.2 7 Apple iOS 4.2.1 17 Apple iOS 4.2.6 18 Apple iOS 4.3 19 Apple iOS 4.3.1 20 Apple iOS 4.2.7 23 Apple iOS 4.3.2 24 Apple iOS 4.2.8 26 Apple iOS 4.3.3 27 Apple iOS 4.2.9 28 Apple iOS 4.3.4 29 Apple iOS 4.2.10 31 Apple iOS 4.3.5 32 Apple iOS 4.2.5 122 Apple iOS 5.0.0 34 Apple iOS 5.0.1 43 Apple iOS 5.1.0 60 Apple iOS 5.1.1 65 VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 1226 Chapter 17: List of System and Device Parameters Apple iOS 6.0.0 66 Apple iOS 6.0.1 81 Apple iOS 6.0.2 87 Apple iOS 6.1.0 89 Apple iOS 6.1.1 93 Apple iOS 6.1.2 94 Apple iOS 6.1.3 95 Apple iOS 6.1.4 141 Apple iOS 6.1.5 158 Apple iOS 6.1.6 167 Apple iOS 7.0.0 142 Apple iOS 7.0.1 145 Apple iOS 7.0.2 147 Apple iOS 7.0.3 151 Apple iOS 7.0.4 159 Apple iOS 7.1.0 160 Apple iOS 7.0.5 164 Apple iOS 7.0.6 166 Apple iOS 7.1.1 168 Apple iOS 7.1.2 173 Apple iOS 8.0.0 181 Apple iOS 8.0.1 184 Apple iOS 8.0.2 185 Apple iOS 8.1.0 187 Apple iOS 8.1.1 189 Apple iOS 8.1.2 200 Apple iOS 8.1.3 204 Apple iOS 8.2.0 207 Apple iOS 8.3.0 208 Apple iOS 8.4.0 221 Apple iOS 8.4.1 226 Apple iOS 9.0.0 224 Apple iOS 9.1.0 233 VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 1227 Chapter 17: List of System and Device Parameters Apple iOS 9.0.1 235 Apple iOS 9.0.2 237 Apple iOS 9.2.0 241 AppleOsX OS X Lion 10.7.2 62 AppleOsX OS X Lion 10.7.0 67 AppleOsX OS X Lion 10.7.1 68 AppleOsX OS X Lion 10.7.3 69 AppleOsX OS X Lion 10.7.4 70 AppleOsX OS X Mountain Lion 10.8.0 71 AppleOsX OS X Mountain Lion 10.8.1 79 AppleOsX OS X Lion 10.7.5 83 AppleOsX OS X Mountain Lion 10.8.2 91 AppleOsX OS X Mountain Lion 10.8.3 140 AppleOsX OS X Mountain Lion 10.8.4 143 AppleOsX OS X Mountain Lion 10.8.5 144 AppleOsX OS X Mavericks 10.9.0 150 AppleOsX OS X Mavericks 10.9.1 161 AppleOsX OS X Mavericks 10.9.2 165 AppleOsX OS X Mavericks 10.9.3 169 AppleOsX OS X Mavericks 10.9.4 172 AppleOsX OS X Mavericks 10.9.5 182 AppleOsX OS X Yosemite 10.10 186 AppleOsX OS X Yosemite 10.10.1 190 AppleOsX OS X Yosemite 10.10.2 205 AppleOsX OS X Yosemite 10.10.3 213 AppleOsX OS X Yosemite 10.10.4 222 AppleOsX OS X Yosemite 10.10.5 227 AppleOsX OS X El Capitan 10.11.0 234 AppleOsX OS X El Capitan 10.11.1 239 AppleTv Apple TV 6.0.0 176 AppleTv Apple TV 6.0.1 177 AppleTv Apple TV 6.0.2 178 AppleTv Apple TV 6.1.0 179 VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 1228 Chapter 17: List of System and Device Parameters AppleTv Apple TV 6.1.1 180 AppleTv Apple TV 7.0.2 148 BlackBerry BlackBerry 4.5 45 BlackBerry BlackBerry 4.6 46 BlackBerry BlackBerry 4.7 47 BlackBerry BlackBerry 5.0 48 BlackBerry BlackBerry 6.0 9 BlackBerry BlackBerry 7.0 49 BlackBerry BlackBerry 7.1 50 BlackBerry10 BlackBerry10 10.0.9 96 BlackBerry10 BlackBerry10 10.0.10 97 BlackBerry10 BlackBerry10 10.1.0 123 ChromeBook Chrome OS 39 201 ChromeBook Chrome OS 40 211 ChromeBook Chrome OS 41 212 ChromeBook Chrome OS 42 215 ChromeBook Chrome OS 43 219 ChromeBook Chrome OS 44 231 ChromeBook Chrome OS 45 232 Qnx QNX 6.5.0 175 Symbian Symbian OS 3.2 41 Symbian Symbian OS 3.1 76 Symbian Symbian OS 5.2 25 Symbian Symbian OS 5.0 42 Symbian Symbian OS 5.3 74 Symbian Symbian OS 5.4 75 Tizen Tizen 2.3.0 216 WindowsMobile Windows Mobile 5 5.1.0 84 WindowsMobile Windows Mobile 6 5.2.23121 100 WindowsMobile Windows Mobile 6 5.2.20963 101 WindowsMobile Windows Mobile 6 5.2.21840 102 WindowsMobile Windows Mobile 6 5.2.23145 103 WindowsMobile Windows Mobile 6 5.2.23103 104 VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 1229 Chapter 17: List of System and Device Parameters WindowsMobile Windows Mobile 6 5.2.20269 105 WindowsMobile Windows Mobile 6 5.2.20961 106 WindowsMobile Windows Mobile 6 5.2.23137 107 WindowsMobile Windows Mobile 6 5.2.29044 108 WindowsMobile Windows Mobile 6 5.2.21913 109 WindowsMobile Windows Mobile 6 5.2.19600 110 WindowsMobile Windows Mobile 6 5.2.21051 111 WindowsMobile Windows Mobile 6 5.2.21009 112 WindowsMobile Windows Mobile 6 5.2.21869 113 WindowsMobile Windows Mobile 6 5.2.21889 114 WindowsMobile Windows Mobile 6 5.2.23152 115 WindowsMobile Windows Mobile 6 5.2.20774 116 WindowsMobile Windows Mobile 6 5.2.21916 117 WindowsMobile Windows Mobile 6 5.2.23127 118 WindowsMobile Windows Mobile 6 5.2.29058 119 WindowsMobile Windows Mobile 6 5.2.21864 120 WindowsMobile Windows Mobile 6 5.2.29040 121 WindowsMobile WindowsMobile 5.1 135 WindowsMobile Windows Mobile 5.0 138 WindowsMobile Windows CE 5.0 139 WindowsMobile Windows CE 6.0 136 WindowsMobile Windows CE 7.0 137 WindowsPc WindowsXP 5.1.0 55 WindowsPc Windows XP 64-Bit 56 WindowsPc WindowsVista 6.0.0 57 WindowsPc Windows 7 6.1.0 58 WindowsPc Windows 8 59 WindowsPc Windows 8.1 228 WindowsPc Windows 8.1 w/Update 1 229 WindowsPc Windows 10 230 WindowsPhone Windows Phone 7.0.0 44 WindowsPhone Windows Phone 7.10.7720 63 WindowsPhone Windows Phone 7.10.8107 64 VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 1230 Chapter 17: List of System and Device Parameters WindowsPhone Windows Phone 7.10.8773 72 WindowsPhone Windows Phone 7.10.8112 73 WindowsPhone Windows Phone 7.0.7004 130 WindowsPhone Windows Phone 7.0.7392 131 WindowsPhone Windows Phone 7.0.7389 132 WindowsPhone Windows Phone 7.10.7740 133 WindowsPhone Windows Phone 7.10.7712 134 WindowsPhone Windows Phone 7.10.8862 154 WindowsPhone8 Windows Phone 8.0.9900 80 WindowsPhone8 Windows Phone 8.0.9903 82 WindowsPhone8 Windows Phone 8.0.10211 90 WindowsPhone8 Windows Phone 8.0.10327 152 WindowsPhone8 Windows Phone 8.0.10328 153 WindowsPhone8 Windows Phone 8.0.10501 155 WindowsPhone8 Windows Phone 8.0.10512 156 WindowsPhone8 Windows Phone 8.10.12359 170 WindowsPhone8 Windows Phone 8.10.12397 183 WindowsPhone8 Windows Phone 8.10.12382 191 WindowsPhone8 Windows Phone 8.10.12393 192 WindowsPhone8 Windows Phone 8.10.12400 193 WindowsPhone8 Windows Phone 8.10.14141 194 WindowsPhone8 Windows Phone 8.10.14147 195 WindowsPhone8 Windows Phone 8.10.14157 196 WindowsPhone8 Windows Phone 8.10.14176 197 WindowsPhone8 Windows Phone 8.10.14192 198 WindowsPhone8 Windows Phone 8.10.14203 199 WindowsPhone8 Windows Phone 8.10.14219 214 WindowsPhone8 Windows Phone 8.10.15143 217 WindowsPhone8 Windows Phone 8.10.15145 218 WindowsPhone8 Windows Phone 8.10.15148 225 WindowsPhone8 Windows Phone 10.0.10575 240 WinRT Windows 8.0 (6.2.9200) 88 WinRT Windows 8.1 (6.3.9431) 146 VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 1231 Chapter 17: List of System and Device Parameters WinRT Windows 8.1 (6.3.9600) 238 WinRT Windows 10 (10.0.10240) 223 WinRT Windows 10 223 Time Zone Codes Time Zone Code (GMT+13:00) Tokelau, Tonga TKT (GMT+12:00) Kiribati, Marshall Is., Tuvalu MHT (GMT+12:00) Fiji, New Zealand NZ (GMT+11:00) New Caledonia, Solomon Is., Vanuatu SBT (GMT+10:00) Chita, Yakutsk, Blagoveschensk YAKT (GMT-05:00) Eastern Time (US & Canada) EST (GMT-09:00) Alaska AKST (GMT-04:00) Atlantic Time (Canada) AST (GMT-06:00) Central Time (US & Canada) CST (GMT-10:00) Hawaii, French Polynesia HST (GMT-07:00) Mountain Time (US & Canada) MST (GMT-08:00) Pacific Time (US & Canada) PST (GMT+09:00) Japan JST (GMT+08:00) Philippines PHT (GMT+08:00) Singapore SGT (GMT+08:00) Malaysia MAST (GMT+08:00) Taiwan CSTT (GMT+08:00) Beijing, Hong Kong, Macau (China) CSTC (GMT+07:00) Novosibirsk, Omsk (Russia) OMST (GMT+07:00) Jakarta, Thailand, Vietnam ICT (GMT+06:30) Burma, Cocos (Keeling) Is. MMT (GMT+06:00) Bangladesh, Bhutan BST (GMT+06:00) Astana (Kazakhstan) BTT (GMT+06:00) Bishkek (Kyrgyzstan) KGT (GMT+05:45) Nepal NPT (GMT+05:30) India, Sri Lanka INST (GMT+05:00) Pakistan PKT VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 1232 Chapter 17: List of System and Device Parameters (GMT+05:00) Maldives MVT (GMT+04:30) Afghanistan AFT (GMT+04:00) Azerbaijan AZT (GMT+04:00) Mauritius, Oman, Seychelles, UAE GSTA (GMT+03:30) Iran IRST (GMT+03:00) Belarus FET (GMT+03:00) Madagascar EATM (GMT+03:00) Ethiopia, Kenya, Tanzania EAT (GMT+03:00) Iraq ASTI (GMT+02:00) Bulgaria, Cyprus, Greece, Moldova, Romania EETE (GMT+02:00) Israel IST (GMT+02:00) Egypt EEET (GMT+02:00) Estonia, Finland, Latvia, Lithuania EETN (GMT+02:00) Mozambique, South Africa, Zimbabwe SAST (GMT+02:00) Ukraine EETF (GMT+01:00) Algeria, Angola, Congo, Nigeria, Tunisia WAT (GMT+01:00) Albania, Croatia, Serbia, Slovenia CETS (GMT+01:00) Andorra, France, Italy, Spain CETW (GMT+01:00) Belgium, Germany, Netherlands, Switzerland CETC (GMT+01:00) Denmark, Norway, Sweden CETN (GMT) Burkina Faso, Côte d'Ivoire, Senegal GMTA (GMT) Morocco, Portugal, Ireland, United Kingdom GMT (GMT-01:00) Azores AZOT (GMT-01:00) Cape Verde CVT (GMT-02:00) South Georgia and the South Sandwich Islands GST (GMT-03:00) French Guiana, Suriname ADT (GMT-03:00) Argentina ADTA (GMT-03:00) Rio de Janeiro, Uruguay WGT (GMT-03:30) Newfoundland NST (GMT+10:00) Melbourne, Victoria, New South Wales AEST (GMT-04:30) Venezuela VET (GMT-04:00) Aruba, Barbados, Curaçao, Dominican Rep. ASTC (GMT-05:00) Colombia, Ecuador, Peru COT VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 1233 Chapter 17: List of System and Device Parameters (GMT+10:00) Tasmania (Australia) AUSH (GMT-05:00) Cayman Islands, Jamaica, Panama ESTC (GMT-06:00) Belize, Costa Rica, Guatemala, Honduras HNC (GMT+10:00) Northern Marianas, Papua New Guinea PGT (GMT-06:00) Zona Centro (Mexico) CSTM (GMT-06:00) Saskatchewan (Canada) CSTS (GMT-07:00) Arizona (US) MSTA (GMT-07:00) Zona Pacífico (Mexico) MSTM (GMT+09:00) Palau, Timor-Leste PWT (GMT+09:00) Korea KST (GMT+10:00) Guam CHST (GMT+09:30) Adelaide (Australia) ACST (GMT-11:00) American Samoa, Niue NUT (GMT-12:00) International Date Line IDY (GMT+13:00) Samoa SOBT (GMT+09:30) Darwin (Australia) CAST (GMT+08:00) Perth (Australia) AWST (GMT+08:00) Ulan Bator (Mongolia) ULAT (GMT+05:00) Tajikistan, Turkmenistan, Uzbekistan UZT (GMT+04:00) Moscow, St. Petersburg, Armenia MSK (GMT+03:00) Bahrain, Kuwait, Qatar, Saudi Arabia ASTA (GMT+02:00) Jordan, Lebanon, Syria, Turkey EETS (GMT+01:00) Czech Rep., Poland, Slovakia CETE (GMT+01:00) Libya, Namibia CETA (GMT) Iceland GMTN (GMT-04:00) Bermuda, Chile, Paraguay CLT (GMT-04:00) Bolivia, Guyana BOT (GMT-08:00) Zona Noroeste (Mexico) PSTM Device Application Status StatusID Name 1 Pending Install 2 Installed VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 1234 Chapter 17: List of System and Device Parameters 3 Pending Removal 4 Removed 5 Unknown Locale Descriptions and Codes Locale Description Locale Code Arabic ar Bulgarian bg Catalan ca Czech cs Danish da German de Greek el English en Spanish es Finnish fi French fr Hebrew he Hungarian hu Icelandic is Italian it Japanese ja Korean ko Dutch nl Norwegian no Polish pl Portuguese pt Romanian ro Russian ru Croatian hr Slovak sk Albanian sq Swedish sv VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 1235 Chapter 17: List of System and Device Parameters Arabic (Saudi Arabia) ar-SA Arabic (Iraq) ar-IQ Arabic (Egypt) ar-EG Arabic (Libya) ar-LY Arabic (Algeria) ar-DZ Arabic (Morocco) ar-MA Arabic (Tunisia) ar-TN Arabic (Oman) ar-OM Arabic (Yemen) ar-YE Arabic (Syria) ar-SY Arabic (Jordan) ar-JO Arabic (Lebanon) ar-LB Arabic (Kuwait) ar-KW Arabic (U.A.E.) ar-AE Arabic (Bahrain) ar-BH Arabic (Qatar) ar-QA Czech (Czech Republic) cs-CZ Danish (Denmark) da-DK German (Germany) de-DE German (Switzerland) de-CH German (Austria) de-AT German (Luxembourg) de-LU German (Liechtenstein) de-LI Greek (Greece) el-GR English (United States) en-US English (United Kingdom) en-GB English (Australia) en-AU English (Canada) en-CA English (New Zealand) en-NZ English (Ireland) en-IE English (South Africa) en-ZA English (Jamaica) en-JM English (Caribbean) en-029 VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 1236 Chapter 17: List of System and Device Parameters English (Belize) en-BZ English (Trinidad and Tobago) en-TT English (Zimbabwe) en-ZW English (Republic of the Philippines) en-PH English (Singapore) en-SG English (Malaysia) en-MY English (India) en-IN Spanish (Mexico) es-MX Spanish (Spain) es-ES Spanish (Guatemala) es-GT Spanish (Costa Rica) es-CR Spanish (Panama) es-PA Spanish (Dominican Republic) es-DO Spanish (Venezuela) es-VE Spanish (Colombia) es-CO Spanish (Peru) es-PE Spanish (Argentina) es-AR Spanish (Ecuador) es-EC Spanish (Chile) es-CL Spanish (Uruguay) es-UY Spanish (Paraguay) es-PY Spanish (Bolivia) es-BO Spanish (El Salvador) es-SV Spanish (Honduras) es-HN Spanish (Nicaragua) es-NI Spanish (Puerto Rico) es-PR Spanish (United States) es-PS French (France) fr-FR French (Belgium) fr-BE French (Canada) fr-CA French (Switzerland) fr-CH French (Luxembourg) fr-LU French (Principality of Monaco) fr-MC VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 1237 Chapter 17: List of System and Device Parameters Hebrew (Israel) he-IL Italian (Italy) it-IT Italian (Switzerland) it-CH Japanese (Japan) ja-JP Korean (Korea) ko-KR Dutch (Netherlands) nl-NL Dutch (Belgium) nl-BE Polish (Poland) pl-PL Portuguese (Brazil) pt-BR Portuguese (Portugal) pt-PT Russian (Russia) ru-RU Swedish (Sweden) sv-SE Swedish (Finland) sv-FI Turkish (Turkey) tr-TR Chinese - Simplified (People's Republic of China) zh-CN Chinese - Simplified (Singapore) zh-SG Chinese - Simplified (Taiwan) zh-CN Chinese - Simplified (Hong Kong S.A.R.) zh-CN Chinese - Simplified (Macao S.A.R.) zh-CN Chinese - Traditional (People's Republic of China) zh-TW Chinese - Traditional (Singapore) zh-TW Chinese - Traditional (Taiwan) zh-TW Chinese - Traditional (Hong Kong S.A.R.) zh-HK Chinese - Traditional (Macao S.A.R.) zh-TW VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 1238 Finding Additional Documentation Finding Additional Documentation While reading through this documentation you may encounter references to documents that are not included here. You can access this additional documentation through the AirWatch Resources page (https://resources.air-watch.com) on myAirWatch. Note: AirWatch recommends you always pull the document from AirWatch Resources each time you need to reference it. To search for and access additional documentation on the AirWatch Resources page, perform the following step-by-step instructions: 1. Navigate to http://my.air-watch.com and log in using your AirWatch ID credentials. 2. Select AirWatch Resources from the navigation bar or home screen. The AirWatch Resources page displays with a list of recent documentation and a list of Resources Categories on the left. 3. Select your AirWatch Version from the drop-down list in the search parameters to filter a displayed list of documents. Once selected, you will only see documentation that pertains to your particular version of AirWatch. 4. Access documentation using the following methods: l l Select a resource category on the left to view all documents belonging to that category. For example, selecting Documentation filters your search to include the entire technical documentation set. Selecting Platform filters your search to only include platform guides. Search for a particular resource using the search box in the top-right by entering keywords or document names. VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 1239 Finding Additional Documentation l l Add a document to your favorites and it will be added to My Resources. Access documents you have favorited by selecting myAirWatch from the navigation bar and then selected My Resources from the toolbar. Download a PDF of a document by selecting the button. Note, however, that documentation is frequently updated with the latest bug fixes and feature enhancements. Therefore, AirWatch recommends you always pull the document from AirWatch Resources each time you need to reference it. Having trouble finding a document? Make sure a specific AirWatch Version is selected. All Versions will typically return many results. Make sure you select Documentation from the category list, at a minimum. If you know which category you want to search (e.g., Platform, Install & Architecture, Email Management) then selecting that will also further narrow your search and provide better results. Filtering by PDF as a File Type will also narrow your search even further to only include technical documentation manuals. VMware AirWatch REST API Guide | v.2016.04 | April 2017 Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential. 1240 Numeric Numeric Numeric Numeric String String String Boolean String Boolean Boolean Numeric String String String Boolean String Boolean Boolean
Source Exif Data:
File Type : PDF File Type Extension : pdf MIME Type : application/pdf PDF Version : 1.4 Linearized : No Page Count : 1240 Page Mode : UseOutlines Page Layout : OneColumn Language : af Producer : madbuild Create Date : 2017:11:13 10:29:32+05:30 Modify Date : 2017:11:13 10:29:32+05:30 Title : My Document Author : AirWatch Subject :EXIF Metadata provided by EXIF.tools