<!--
{
  "availability" : [
    "iOS: 17.0.0 -",
    "iPadOS: 17.0.0 -",
    "macCatalyst: 17.0.0 -",
    "macOS: 14.0.0 -",
    "tvOS: 18.4.0 -",
    "visionOS: 26.0.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "DeviceManagement",
  "identifier" : "/documentation/DeviceManagement/SoftwareUpdateEnforcementSpecific",
  "metadataVersion" : "0.1.0",
  "role" : "Object",
  "symbol" : {
    "kind" : "Object",
    "modules" : [
      "Device Management"
    ],
    "preciseIdentifier" : "rmdm-declarations:SoftwareUpdateEnforcementSpecific"
  },
  "title" : "SoftwareUpdateEnforcementSpecific"
}
-->

# SoftwareUpdateEnforcementSpecific

The declaration to configure a software update enforcement policy for a specific OS release.

```
object SoftwareUpdateEnforcementSpecific
```

## Discussion

Specify `com.apple.configuration.softwareupdate.enforcement.specific` as the declaration type.

If the `TargetOSVersion` and optional `TargetBuildVersion` values don’t match an available software update, the device keeps the configuration active, but won’t be able to update. If a software update that matches these keys becomes available later, the device will process the update.

To determine available software updates to show to an admin, a device management service uses the Apple GDMF service via `https://gdmf.apple.com/v2/pmv`. Configurations only enforce a software update if GDMF has the corresponding OS version or build available. So device management services need to regularly check available versions, and adjust the list shown to admins, and also remove any deployed configurations that use OS versions or builds that are no longer available. Device management services should check GDMF no more than once a day.

The system installs the specific version set in the `TargetOSVersion`, and it won’t install a patch version if only a minor version is set.

The system can only install a supplemental software update on a device that already has the base OS version installed. For example, the system can only install a `16.1`(a) update on a device that currently has `16.1` installed, but it can’t install that update on a device that has only `16.0` installed. To update to a supplemental version from an older base version, use two configurations. Use the first configuration to update to the new base version, and the second configuration to update the new base version to its supplemental version.

If the device isn’t running at the target date-time, the system enforces the software update 1 hour after restarting, or when the device meets all required conditions, such as minimum battery level.

### Configuration availability

|||
|--------------------------------|----------------------------------------------|
|Allowed in supervised enrollment|iOS, macOS, Shared iPad, tvOS, visionOS       |
|Allowed in device enrollment    |iOS, Shared iPad, tvOS, visionOS              |
|Allowed in user enrollment      |N/A                                           |
|Allowed in local enrollment     |N/A                                           |
|Allowed in system scope         |iOS, macOS, Shared iPad, tvOS, visionOS       |
|Allowed in user scope           |N/A                                           |
|Apply                           |Multiple configurations are applied separately|

### Configuration example

This configuration enforces a software update to a specific OS version and build at a specified time.

```json
{
    "Type": "com.apple.configuration.softwareupdate.enforcement.specific",
    "Identifier": "EB13EE2B-5D63-4EBA-810F-5B81D07F5017",
    "ServerToken": "E180CA9A-F089-4FA3-BBDF-94CC159C4AE8",
    "Payload": {
        "TargetOSVersion": "26.0",
        "TargetBuildVersion": "23A309",
        "TargetLocalDateTime": "2025-09-21T01:00:00"
    }
}
```

---

Copyright &copy; 2026 Apple Inc. All rights reserved. | [Terms of Use](https://www.apple.com/legal/internet-services/terms/site.html) | [Privacy Policy](https://www.apple.com/privacy/privacy-policy)
