Files
apple_device-management/mdm/commands/application.installed.list.yaml
2025-09-15 20:38:03 -04:00

334 lines
12 KiB
YAML

title: Installed Application List Command
description: Get a list of the installed apps on a device.
payload:
requesttype: InstalledApplicationList
supportedOS:
iOS:
introduced: '5.0'
accessrights: AllowQueryApplications
supervised: false
requiresdep: false
sharedipad:
mode: allowed
devicechannel: true
userchannel: false
userenrollment:
mode: allowed
macOS:
introduced: '10.7'
accessrights: AllowQueryApplications
devicechannel: true
userchannel: true
supervised: false
requiresdep: false
userenrollment:
mode: forbidden
tvOS:
introduced: '10.2'
accessrights: AllowQueryApplications
supervised: false
visionOS:
introduced: '1.1'
accessrights: AllowQueryApplications
supervised: false
requiresdep: false
userenrollment:
mode: allowed
watchOS:
introduced: '10.0'
accessrights: AllowQueryApplications
supervised: false
payloadkeys:
- key: Identifiers
supportedOS:
iOS:
introduced: '7.0'
macOS:
introduced: '10.15'
type: <array>
presence: optional
content: |-
An array of app identifiers. Provide this value to limit the response to only include these apps. This value is available in iOS 7 and later, macOS 10.15 and later, tvOS 10.2 and later, visionOS 1.1 and later, and watchOS 10 and later.
> Important:
> 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`.
subkeys:
- key: IdentifiersItem
type: <string>
- key: ManagedAppsOnly
supportedOS:
iOS:
introduced: '7.0'
macOS:
introduced: '10.15'
type: <boolean>
presence: optional
default: false
content: |-
If `true`, only get a list of managed apps, excluding ones that Declarative Device Management is managing. This value is available in iOS 7 and later, macOS 10.15 and later, and tvOS 10.2 and later.
> Note:
> If the enrollment type is a user enrollment, the system always considers this key as set to `true` and only returns managed apps, excluding ones that Declarative Device Management is managing.
- key: Items
supportedOS:
iOS:
introduced: '14.0'
macOS:
introduced: n/a
tvOS:
introduced: '14.0'
type: <array>
presence: optional
content: |-
An array of strings that represent keys in `InstalledApplicationListItem`. If present, the response only contains the keys listed here, except `Identifier` is always included. If not present, the response contains all keys. Starting in iOS 26, macOS 26, tvOS 26, watchOS 26, and visionOS 26, if this key isn't present, the response omits values that are expensive to calculate.
> Tip:
> Only request the keys that you need, because some key values can take significant time and power to calculate on the device.
subkeys:
- key: ItemsItem
type: <string>
rangelist:
- AdHocCodeSigned
- AppStoreVendable
- BetaApp
- BundleSize
- DeviceBasedVPP
- DistributorIdentifier
- DynamicSize
- ExternalVersionIdentifier
- HasUpdateAvailable
- Identifier
- Installing
- IsAppClip
- IsValidated
- Name
- ShortVersion
- Version
responsekeys:
- key: InstalledApplicationList
type: <array>
presence: required
content: An array of dictionaries that describes each installed app.
subkeys:
- key: InstalledApplicationListItem
type: <dictionary>
content: A dictionary that describes an app list item.
subkeys:
- key: Identifier
type: <string>
presence: optional
content: |-
The app's identifier. This key is always be present on iOS and tvOS, but may be missing on macOS.
> Note:
> For a watchOS app, the identifier is the watch's bundle identifier, which differs from the main bundle identifier for the iPhone to which the watch is paired.
- key: ExternalVersionIdentifier
supportedOS:
iOS:
introduced: '11.0'
macOS:
introduced: '10.13'
tvOS:
introduced: '11.0'
type: <integer>
presence: optional
content: |-
The app's external version identifier. You can also retrieve this value from the App Store. For more information, see `Apps and Books for Organizations`.
If the current external version identifier of an app on the App Store doesn't match the external version identifier reported by the device, there may be an app update available for the device.
> Note:
> A newer version of an app might not be available for installation on the device for a variety of reasons. A common reason is that the device's operating system version or hardware is incompatible with the available version of the app.
- key: DistributorIdentifier
supportedOS:
iOS:
introduced: '17.4'
macOS:
introduced: n/a
tvOS:
introduced: n/a
visionOS:
introduced: n/a
watchOS:
introduced: n/a
type: <string>
presence: optional
content: The marketplace hosted application's distributor ID. This value is
available in iOS 17.4 and later.
- key: Version
type: <string>
presence: optional
content: The app's version.
- key: ShortVersion
supportedOS:
iOS:
introduced: '5.0'
type: <string>
presence: optional
content: The app's short version.
- key: Name
type: <string>
presence: optional
content: The app's name.
- key: BundleSize
supportedOS:
macOS:
introduced: '10.7'
type: <integer>
presence: optional
content: The app's static bundle size, in bytes. This value is expensive to
calculate. Starting in iOS 26, macOS 26, tvOS 26, watchOS 26, and visionOS
26 it isn't present in the response unless it is included in the `Items` request
key. This value is available in iOS 5 and later, and macOS 10.7 and later,
tvOS 10.2 and later, watchOS 10 and later, and visionOS 1.1 and later.
- key: DynamicSize
supportedOS:
iOS:
introduced: '5.0'
macOS:
introduced: n/a
type: <integer>
presence: optional
content: The size of the app's file system in bytes, including the Documents,
Library, and other directories. This value is expensive to calculate. Starting
in iOS 26, tvOS 26, watchOS 26, and visionOS 26 it isn't present in the response
unless it is included in the `Items` request key. This value is available
in iOS 5 and later, tvOS 10.2 and later, watchOS 10 and later, and visionOS
1.1 and later.
- key: IsValidated
supportedOS:
iOS:
introduced: '9.2'
macOS:
introduced: n/a
type: <boolean>
presence: optional
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: Installing
type: <boolean>
presence: optional
content: If `true`, the app is downloading. If `false`, it's already installed.
- key: AppStoreVendable
supportedOS:
iOS:
introduced: '11.3'
macOS:
introduced: n/a
tvOS:
introduced: '11.3'
type: <boolean>
presence: optional
content: If `true`, the app came from the App Store and can participate in store
features. For device-based Volume Purchase Program (VPP) apps, this value
is `false`. This value is available in iOS 11.3 and later, and tvOS 11.3 and
later.
- key: DeviceBasedVPP
supportedOS:
iOS:
introduced: '11.3'
macOS:
introduced: n/a
tvOS:
introduced: '11.3'
type: <boolean>
presence: optional
content: If `true`, installing the app didn't require an Apple Account. This
value is available in iOS 11.3 and later, and tvOS 11.3 and later.
- key: BetaApp
supportedOS:
iOS:
introduced: '11.3'
macOS:
introduced: n/a
tvOS:
introduced: '11.3'
type: <boolean>
presence: optional
content: If `true`, the app is part of the Apple Beta Software Program. This
value is available in iOS 11.3 and later, and tvOS 11.3 and later.
- key: AdHocCodeSigned
supportedOS:
iOS:
introduced: '11.3'
macOS:
introduced: n/a
tvOS:
introduced: '11.3'
type: <boolean>
presence: optional
content: If `true`, the app is ad-hoc code signed. This query is available in
iOS 11.3 and later, and tvOS 11.3 and later.
- key: HasUpdateAvailable
supportedOS:
iOS:
introduced: '11.3'
macOS:
introduced: 10.13.4
type: <boolean>
presence: optional
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: DownloadFailed
type: <boolean>
presence: optional
default: false
content: If `true`, the download failed.
- key: DownloadWaiting
type: <boolean>
presence: optional
default: false
content: If `true`, the app is in the initial state, which is waiting to download.
- key: DownloadPaused
type: <boolean>
presence: optional
default: false
content: If `true`, the user paused the download.
- key: DownloadCancelled
type: <boolean>
presence: optional
default: false
content: If `true`, the user canceled the download.
- key: IsAppClip
supportedOS:
iOS:
introduced: '16.0'
macOS:
introduced: n/a
tvOS:
introduced: n/a
watchOS:
introduced: n/a
type: <boolean>
presence: optional
default: false
content: If `true`, the app is an App Clip. Available in iOS 16 and later.
- key: Source
supportedOS:
iOS:
introduced: '17.2'
macOS:
introduced: n/a
tvOS:
introduced: n/a
visionOS:
introduced: n/a
watchOS:
introduced: n/a
type: <string>
presence: optional
content: The source of the application. When the app is managed by Declarative
Device Management this value is `Declarative Device Management`.
notes:
- title: ''
content: |-
This command allows the server to query for installed 3rd party applications. The response also includes system apps in macOS, iOS 26 and later, tvOS 26 and later, visionOS 26 and later, and watchOS 26 and later.
This command doesn't return apps that Declarative Device Management is managing if the `ManagedAppsOnly` key is set to `true`, or if the enrollment type is a user enrollment.
Refer to the following sections to determine supported channels and requirements, and to see request and response examples for iOS and macOS.