Mobile Device Management Protocol Reference
Total Page:16
File Type:pdf, Size:1020Kb
Mobile Device Management Protocol Reference Developer Contents 1 About Mobile Device Management 7 At a Glance ................................................ 8 The MDM Check-in Protocol Lets a Device Contact Your Server ................... 8 The MDM Protocol Sends Management Commands to the Device .................. 8 The Way You Design Your Payload Matters .............................. 8 The Device Enrollment Program Lets You Configure Devices with the Setup Assistant ........ 8 The Volume Purchase Program Lets You Assign App Licenses to Users and Devices ......... 9 Apple Push Notification Certificates Can Be Generated Through the Apple Push Certificates Portal .. 9 See Also ................................................. 9 2 MDM Check-in Protocol 10 Structure of a Check-in Request ...................................... 10 Supported Check-in Commands ..................................... 11 Authenticate Message ........................................ 11 TokenUpdate Message ........................................ 12 CheckOut .............................................. 13 3 Mobile Device Management Protocol 14 Structure of MDM Payloads ........................................ 16 Structure of MDM Messages ....................................... 18 MDM Command Payloads ......................................... 20 MDM Result Payloads ........................................... 20 MDM Protocol Extensions ......................................... 21 macOS Extensions .......................................... 21 Network User Authentication Extensions ............................... 23 iOS Support for Per-User Connections ................................ 26 Error Handling ............................................... 27 Handling a NotNow Response ....................................... 28 Request Types .............................................. 30 ProfileList Commands Return a List of Installed Profiles ....................... 30 InstallProfile Commands Install a Configuration Profile ........................ 30 RemoveProfile Commands Remove a Profile from the Device ..................... 31 ProvisioningProfileList Commands Get a List of Installed Provisioning Profiles ............ 31 InstallProvisioningProfile Commands Install Provisioning Profiles ................... 32 RemoveProvisioningProfile Commands Remove Installed Provisioning Profiles ............ 32 CertificateList Commands Get a List of Installed Certificates ..................... 32 InstalledApplicationList Commands Get a List of Third-Party Applications .............. 33 DeviceInformation Commands Get Information About the Device ................... 35 SecurityInfo Commands Request Security-Related Information .................... 40 2019-03-25 | Copyright © 2019 Apple Inc. All Rights Reserved. 2 DeviceLock Command Locks the Device Immediately ........................ 43 RestartDevice Commands Restart Devices .............................. 44 ShutDownDevice Commands Shut Down Devices .......................... 44 ClearPasscode Commands Clear the Passcode for a Device ..................... 45 EraseDevice Commands Remotely Erase a Device .......................... 45 RequestMirroring and StopMirroring Control AirPlay Mirroring .................... 45 Restrictions Commands Get a List of Installed Restrictions ...................... 47 Shared iPad User Commands Manage User Access ......................... 49 MDM Lost Mode Helps Lock and Locate Lost Devices ........................ 50 Managed Applications ........................................ 52 Installed Books ........................................... 62 Managed Settings .......................................... 65 Managed App Configuration and Feedback ............................. 69 AccountConfiguration ........................................ 72 Firmware (EFI) Password Management ................................ 73 SetAutoAdminPassword ....................................... 75 DeviceConfigured .......................................... 75 Software Update ........................................... 75 Extension Management ....................................... 80 Support for macOS Requests .................................... 82 Error Codes ................................................ 84 MCProfileErrorDomain ........................................ 84 MCPayloadErrorDomain ....................................... 84 MCRestrictionsErrorDomain ..................................... 85 MCInstallationErrorDomain ..................................... 85 MCPasscodeErrorDomain ...................................... 86 MCKeychainErrorDomain ...................................... 86 MCEmailErrorDomain ........................................ 86 MCWebClipErrorDomain ...................................... 87 MCCertificateErrorDomain ..................................... 87 MCDefaultsErrorDomain ....................................... 87 MCAPNErrorDomain ......................................... 87 MCMDMErrorDomain ........................................ 87 MCWiFiErrorDomain ......................................... 89 MCTunnelErrorDomain ....................................... 90 MCVPNErrorDomain ......................................... 90 MCSubCalErrorDomain ....................................... 90 MCCalDAVErrorDomain ....................................... 90 MCDAErrorDomain ......................................... 90 MCLDAPErrorDomain ........................................ 91 MCCardDAVErrorDomain ...................................... 91 MCEASErrorDomain ......................................... 91 MCSCEPErrorDomain ........................................ 91 MCHTTPTransactionErrorDomain .................................. 92 MCOTAProfilesErrorDomain ..................................... 92 MCProvisioningProfileErrorDomain ................................. 92 MCDeviceCapabilitiesErrorDomain ................................. 92 MCSettingsErrorDomain ....................................... 93 2019-03-25 | Copyright © 2019 Apple Inc. All Rights Reserved. 3 MCChaperoneErrorDomain ..................................... 93 MCStoreErrorDomain ........................................ 93 MCGlobalHTTPProxyErrorDomain .................................. 93 MCSingleAppErrorDomain ...................................... 93 MCSSOErrorDomain ........................................ 93 MCFontErrorDomain ........................................ 94 MCCellularErrorDomain ....................................... 94 MCKeybagErrorDomain ....................................... 94 MCDomainsErrorDomain ...................................... 94 MCWebContentFilterErrorDomain .................................. 94 MCNetworkUsageRulesErrorDomain ................................. 95 MCOSXServerErrorDomain ..................................... 95 MCHomeScreenLayoutErrorDomain ................................. 95 MCNotificationSettingsErrorDomain ................................. 95 MCEDUClassroomErrorDomain ................................... 95 MCSharedDeviceConfigurationErrorDomain ............................. 95 4 Device Enrollment Program 96 Device Management Workflow ...................................... 96 DEP Server Tokens ............................................ 97 Obtaining a Server Token ...................................... 97 Using DEP Server Tokens ...................................... 97 Authentication and Authorization ................................... 99 Web Services ............................................ 101 Common Error Codes ........................................... 133 5 VPP App Assignment 135 VPP in Apple School Manager ....................................... 135 Supporting VPP in Apple School Manager .............................. 136 Using Web Services ............................................ 136 Service Request URL ........................................ 136 Providing Parameters ........................................ 137 Authentication ............................................ 137 Service Response .......................................... 138 Retry-After Header ......................................... 139 VPP Account Protection ....................................... 139 Initial Import of VPP Managed Distribution Assigned Licenses Using getVPPLicensesSrv ....... 140 productTypeId Codes ........................................ 140 Managed Apple IDs ......................................... 140 Program Facilitators ......................................... 141 Error Codes ............................................. 142 The Services ............................................... 144 registerVPPUserSrv ......................................... 144 getVPPUserSrv ........................................... 145 getVPPUsersSrv ........................................... 147 getVPPLicensesSrv ......................................... 150 getVPPAssetsSrv .......................................... 153 contentMetadataLookupUrl ..................................... 155 2019-03-25 | Copyright © 2019 Apple Inc. All Rights Reserved. 4 retireVPPUserSrv .......................................... 158 manageVPPLicensesByAdamIdSrv .................................. 159 associateVPPLicenseSrv ....................................... 162 associateVPPLicenseWithVPPUserSrv ................................ 162 disassociateVPPLicenseSrv ..................................... 162 disassociateVPPLicenseFromVPPUserSrv .............................. 162 editVPPUserSrv ..........................................