11.34 Changes
What's changed
Accounts can be excluded from ROPF migration
GETandPOST/v1/accountsGETandPUT/v1/accounts/{id}
Accounts have a new ropfMigrationScope key (AUTO or EXCLUDED) that controls whether the account can be migrated by ROPF. When you create an account and leave it out, it defaults to AUTO. Send EXCLUDED to create the account with migration turned off. When you update an account and leave it out, the stored value stays the same. Send EXCLUDED to return a migrated account to its default state. EXCLUDED returns 400 for FEDERATED accounts.
POST /v1/accounts and PUT /v1/accounts/{id} now also return 403 when the requesting account can't grant the privileges in the request. Existing integrations keep working, because the key is optional on both create and update.
Computer inventory create and update return validation and conflict errors
POST/v3/computers-inventoryand/v4/computers-inventoryPATCH/v3/computers-inventory-detail/{id}and/v4/computers-inventory-detail/{id}
These endpoints now document two responses:
400when a field fails validation, or whenmacAddressandaltMacAddressmatch. On create,400is also returned if the specified site doesn't exist.409when the submittedudid,macAddress, oraltMacAddressis already assigned to another computer. On create, this check also coversserialNumber.
Handle 409 as a duplicate-device conflict instead of a general failure. Requests that succeed are unchanged.
Device compliance information reports grace periods and per-registration detail
GET/v1/conditional-access/device-compliance-information/computer/{deviceId}GET/v1/conditional-access/device-compliance-information/mobile/{deviceId}
Each record has two new keys.
gracePeriodSettingsStateshows whether a non-compliant state would be held back by a Device Compliance grace period (enabled) and how long that period is (durationHours, between 1 and 720). This applies only to Intune. BeyondCorp records returnnull.durationHoursisnullwhenenabledisfalse.registrationslists each of the device's registrations with that record's compliance vendor, such as one peroriginIdfor Intune or one per resource for BeyondCorp. Registrations marked for removal are included until the vendor sync deletes them. The array isn't sorted. To check whether a compliance change is being held back right now, readgracePeriodUntilon each registration.
These keys are additions, so existing parsers keep working.
Groups can be filtered by division
GET/v2/groupsand/v2/groups/{id}
Groups now include a read-only divisionId key. It's null when the group has no division.
GET /v2/groups also has a new division-id query parameter that returns only groups in that division. If the access token has a division, division-id must match it. Site-scoped API clients must use a token with a division. The endpoint returns:
400when the division doesn't exist (INVALID_DIVISION, for tokens without a division) or the filter is invalid.403whendivision-iddoesn't match the token's division, or a site-scoped API client uses a token without a division.
Calls without division-id behave the same as before.
Managed software updates support Apple Vision Pro, tvOS, and visionOS
GET/v1/managed-software-updates/available-updatesGETandPOST/v1/managed-software-updates/plansPOST/v1/managed-software-updates/plans/groupGET/v1/managed-software-updates/plans/group/{id}and/v1/managed-software-updates/plans/{id}GET/v1/managed-software-updates/update-statuses, plus thecomputer-groups/{id},computers/{id},mobile-device-groups/{id}, andmobile-devices/{id}variants
objectType for devices in plans and update statuses now accepts and returns VISION_PRO. available-updates also returns tvOS and visionOS version lists next to macOS and iOS. If your code uses a fixed list of objectType values, add VISION_PRO so these devices aren't rejected or dropped.
Return to Service can retry enrollment
POST/v2/mdm/commands
The returnToService command data has a new optional shouldRetryEnrollment key. When it's true, the device retries enrollment if the first enrollment after the erase fails. Requires iOS 27 or later. Commands without the key behave the same as before.