title: Managed Application List Command description: This command allows the server to query the status of managed apps. Certain statuses are transient. Once they are reported to the server, the entries for the apps are removed from the next query. macOS supports this command on the user channel starting with macOS 11.3. payload: requesttype: ManagedApplicationList supportedOS: iOS: introduced: '5.0' accessrights: AllowAppInstallation supervised: false requiresdep: false sharedipad: mode: allowed devicechannel: true userchannel: false userenrollment: mode: allowed macOS: introduced: '11.0' accessrights: AllowAppInstallation devicechannel: true userchannel: true supervised: false requiresdep: false userenrollment: mode: allowed tvOS: introduced: '10.2' accessrights: AllowAppInstallation supervised: false visionOS: introduced: '1.1' accessrights: AllowAppInstallation supervised: false requiresdep: false userenrollment: mode: allowed watchOS: introduced: '10.0' accessrights: AllowAppInstallation supervised: false content: This command allows the server to query the status of managed apps. Certain statuses are transient. Once they are reported to the server, the entries for the apps are removed from the next query. macOS supports this command on the user channel starting with macOS 11.3. payloadkeys: - key: Identifiers supportedOS: iOS: introduced: '7.0' type: presence: optional content: |- The bundle identifiers of the managed apps to include in the response. For a watchOS app, the identifier needs to be the watch's bundle identifier, which differs from the main bundle identifier for the iPhone to which the watch is paired. Obtain the watch's bundle identifier for an app with a watch bundle, in the 'watchBundleId' key that's part of the Content Metadata query. For more information on this query, see Getting App and Book Information (Legacy). subkeys: - key: IdentifiersItem type: responsekeys: - key: ManagedApplicationList type: presence: required content: A dictionary that contains status information about each managed app. The response will not include apps that are managed by Declarative Device Management. subkeytype: ManagedApplicationListItem subkeys: - key: ANY app identifier type: presence: required content: The bundle identifier of the managed app. subkeytype: ManagedApplicationItem subkeys: - key: Status type: presence: required rangelist: - Queued - NeedsRedemption - Redeeming - Prompting - PromptingForLogin - ValidatingPurchase - PromptingForUpdate - PromptingForUpdateLogin - PromptingForManagement - ValidatingUpdate - Updating - Installing - Managed - ManagedButUninstalled - Unknown - UserInstalledApp - UserRejected - UpdateRejected - ManagementRejected - Failed content: |- The status of the managed app, which is one of the following values: * 'Queued': The app is scheduled for installation. * 'NeedsRedemption': The app needs a redemption code to complete installation. * 'Redeeming': The device is redeeming the redemption code for the app. * 'Prompting': The app installation is prompting the user. * 'PromptingForLogin' - The app installation is prompting the user for App Store credentials. * 'ValidatingPurchase': Validation of the app purchase is occurring. * 'PromptingForUpdate': An app update is prompting the user. * 'PromptingForUpdateLogin': An app update is prompting the user for App Store credentials. * 'PromptingForManagement': Changing the app to a managed app is prompting the user. * 'ValidatingUpdate': Validation of an app update is occurring. * 'Updating': The app is updating. * 'Installing': The app is installing. * 'Managed': The installed app is a managed app. * 'ManagedButUninstalled': The app is a managed app and the user removed it. Reinstalling the app reinstates it as a managed app. * 'Unknown': The app state is unknown. The following statuses are transient and report only once: * 'UserInstalledApp': The user installed the app before managed app installation could occur. * 'UserRejected': The user rejected the offer to install the app. * 'UpdateRejected': The user rejected the offer to update the app. * 'ManagementRejected':The user rejected management of an installed app. * 'Failed': The app installation failed. - key: ManagementFlags type: presence: required content: |- The bitwise OR of the following management flags: * '1': Remove app upon removal of MDM profile. * '4': Prevent backup of app data. - key: UnusedRedemptionCode supportedOS: macOS: introduced: n/a tvOS: introduced: n/a type: presence: required content: If the user already purchased a paid app, this code is available for use by another user. This code reports only once. This value is available in iOS 5 and later. - key: HasConfiguration supportedOS: iOS: introduced: '7.0' macOS: introduced: '11.0' type: presence: required content: If 'true', the app has an update available. This key is present only for App Store apps. In macOS, this key is present only for Volume Purchase Program (VPP) apps. This status updates daily and isn't always up-to-date when installing an app. - key: HasFeedback supportedOS: iOS: introduced: '7.0' macOS: introduced: '11.3' devicechannel: false type: presence: required content: If 'true', the app has feedback for the server. This value is available in iOS 7 and later, and tvOS 10.2 and later. On macOS 11.3 and later, this value is available if the request was sent on the user channel. - key: IsValidated supportedOS: iOS: introduced: '9.2' macOS: introduced: n/a type: presence: required content: If 'true', the app is valid and can run on the device. If the app is enterprise-distributed and unvalidated, it won't be able to run until validation has occurred. This value is available in iOS 9.2 and later, and tvOS 10.2 and later. - key: ExternalVersionIdentifier supportedOS: iOS: introduced: '10.3' macOS: introduced: '11.3' tvOS: introduced: '10.2' type: presence: required content: |- The app's external version identifier, which you can use in the iTunes Search API to determine if an updated version of the app is available. Compare this value to the 'externalId' value in the 'contentMetadataLookupUrl' response from the 'VPPServiceConfigSrv' endpoint. If these values don't match, an updated version of the app may be available. This value is available in iOS 10.3 and later, macOS 11.3 and later, and tvOS 10.2 and later. A newer version of an app may not be available for installation on the device for a variety of reasons, including that the device's operating system version or hardware is incompatible with the available version of the app.