VPP API v2 returns 9609 "Unable to find the registered user." when I disassociate assets from an existing user.
Repro step:
1. Create user
POST https://vpp.itunes.apple.com/mdm/v2/users/create
{
"users": [
{
"clientUserId": "client-1",
"managedAppleId": "valid managed apple id"
}
]
}
=> user is associated
2. Retire user
POST https://vpp.itunes.apple.com/mdm/v2/users/retire
{
"users": [
{
"clientUserId": "client-1"
}
]
}
=> user is retired
3. Recreate user with the same clientUserId
POST https://vpp.itunes.apple.com/mdm/v2/users/create
{
"users": [
{
"clientUserId": "client-1",
"managedAppleId": "valid managed apple id"
}
]
}
=> user is associated
4. Associate asset
POST https://vpp.itunes.apple.com/mdm/v2/assets/associate
{
"assets": [
{
"adamId": "408709785"
}
],
"clientUserIds": [
"client-1"
]
}
=> asset associated
5. Disassociate asset
POST https://vpp.itunes.apple.com/mdm/v2/assets/disassociate
{
"assets": [
{
"adamId": "408709785"
}
],
"clientUserIds": [
"client-1"
]
}
=> {"errorNumber":9609,"errorMessage":"Unable to find the registered user."}
Notes
associate API works fine with the same payload.
disassociate work with v1 API.
Explore the intersection of business and app development. Discuss topics like device management, education, and resources for aspiring app developers.
Selecting any option will automatically load the page
Post
Replies
Boosts
Views
Activity
Issue -
Safari application not fetched from system_profile command
Use case -
We are trying to get list of installed applications in the mac. For this we use System_profiler command to fetch the details list. It is working good, but the thing is , It doesnt fetch Safari app as an installed Application.
Command used -
**/usr/sbin/system_profiler SPApplicationsDataType**
Can anyone suggest any other way to fetch the installed applications list from the mac , which includes all the apps (including safari app) and remains effective ?
We are expering frequent delays recently when associating a device serial with the adamid of an app in our business manager account. I get an event id back when calling the /associate api but when i check the status of that event id is can be sat in a pending state for sometimes several hours. Need to understand why and if its a configuration issue
Topic:
Business & Education
SubTopic:
Device Management
As we know, we can't add restrictions payload in the mobileconfig when registing the device.
We are developing MDM by ourselfs, met some trouble.
Please help.
Topic:
Business & Education
SubTopic:
Device Management
Hi,
We developed a Platform SSO extension for our IdP, Keycloak. It would be great to get some feedback on it:
https://francisaugusto.com/2025/Platform_single_sign_on_diy/
Hi There
Our app is used in the hospital field and receives remote APNS via the Notification Service Extension.
We found a scenario where screen is on, our app is in background, if a "Critical" notification is displayed as a banner at the top of the screen, subsequent normal notifications will be suppressed and no sound will play. Only after the user swipes away the critical notification will the normal notification appear and play a sound.
is this as expected? I could not find any document on such case from Apple.
Thanks.
Topic:
Business & Education
SubTopic:
General
Hi
We've had an Enterprise Developer a/c for years. But last year they asked a bunch a questions to confirm we were a company. I answered them all and then it said it would review the answers. Were a big company and answered these questions before so just expected it to go through.
Then our Enterprise Program a/c was up for renewal in April. But the money was never taken from the company cc and every expiry date the renewal date keeps moving forward a month. Its now been moved to Sep 2025. Either were getting April-Sep free or were going to be landed with a CC bill for 12+5 months soon. Anyone else seeing this.
Is there an email or webpage for Enterprise a/c support? We have the money :)
I have a question regarding MDM functionality for iOS/iPadOS.
Background:
According to Apple's support page(https://support.apple.com/en-us/125073), since iOS 26.1, "Previous Wi-Fi configurations will be replaced when a new profile is installed."
We have observed that because of this change, when we apply a Wi-Fi configuration profile to an iPad via MDM, the manually configured network settings on the device (specifically, "Configure IPv4" and "Configure DNS") are reset to "Automatic". This erases the manually entered IP address, subnet mask, router, and DNS server addresses.
Goal:
We want to apply a Wi-Fi configuration profile from our MDM server to connect the device to a specific SSID, while preserving the manual IP and DNS settings that have been configured on the device.
Question:
Is there a way to prevent the IPv4 and DNS settings from being switched from "Manual" to "Automatic" when applying the configuration profile?
For example, is there a specific key-value pair we can add to the profile to either preserve the existing manual settings, or to explicitly define manual/static IP settings within the profile itself for iOS/iPadOS?
Reference: Sample Configuration Profile
Below is a simplified version of the Wi-Fi configuration profile we are currently using. This profile does not contain any keys for IP address configuration.
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>PayloadContent</key>
<array>
<dict>
<key>PayloadType</key>
<string>com.apple.wifi.managed</string>
<key>PayloadIdentifier</key>
<string>com.apple.wifi.managed.13E2E6B3-D4B9-4E23-888A-524B3ED40C38</string>
<key>PayloadUUID</key>
<string>13E2E6B3-D4B9-4E23-888A-524B3ED40C38</string>
<key>PayloadVersion</key>
<integer>1</integer>
<key>SSID_STR</key>
<string>SSID</string>
<key>EncryptionType</key>
<string>WPA</string>
<key>Password</key>
<string>Password</string>
</dict>
</array>
<key>PayloadType</key>
<string>Configuration</string>
</dict>
</plist>
Topic:
Business & Education
SubTopic:
General
Tags:
Business and Enterprise
Apple Business Manager
Device Management
Hello,
I’m facing an issue while trying to add iOS devices to Apple Business Manager (ABM) using Apple Configurator during enrollment. When going through the setup process, the device fails to complete enrollment and times out.
I’ve tried it multiple times. The device does appear in ABM during the process and I am able to assign it to different MDM servers but since the setup times out and fails, the device is automatically released. I have tried this with multiple iOS devices and it times out on every single one of them.
Steps attempted:
Factory reset and re-enrollment of the device
Ensured network connectivity is stable and tested on multiple Wi-Fi networks
Tried the following process using Apple Configurator on Mac (wired):
Created a Wi-Fi profile in Configurator
Connected the iPhone via cable and used Prepare (manual configuration)
Used the “MDM server” placeholder and trusted anchors (as recommended)
Linked the device to the ABM organization
Skipped Setup Assistant steps
Attached the Wi-Fi profile, then prepared and wiped the device
Verified that the device should appear in ABM
Attempted to assign the device to my MDM in ABM
Despite these checks, the enrollment process times out.
I’m attaching a screenshot of the error for reference.
Could someone advise what might be causing this timeout or how I can further troubleshoot this? Any guidance would be greatly appreciated.
Thanks in advance.
Topic:
Business & Education
SubTopic:
Device Management
Tags:
Enterprise
iOS
Apple Business Manager
Device Management
Steps to Reproduce
Step 1: Fetch Initial Device List
Called the device list endpoint to retrieve all devices and saved the cursor:
GET https://mdmenrollment.apple.com/server/devices
Step 2: Modify Devices
Added and deleted several devices via https://business.apple.com/
Step 3: Sync Without Pagination
Called the sync endpoint using the cursor from Step 1 (no limit):
GET https://mdmenrollment.apple.com/devices/sync?cursor={step1_cursor}
Result: Returned 3 device records as expected:
{
"devices": [
{
"serial_number": "F70JJ4C16L",
"op_type": "added",
"op_date": "2025-12-11T07:05:05Z"
},
{
"serial_number": "F70JJ4C16L",
"op_type": "deleted",
"op_date": "2025-12-11T07:04:36Z"
},
{
"serial_number": "C8RWGXZXJWF5",
"op_type": "deleted",
"op_date": "2025-12-11T07:04:52Z"
}
],
"more_to_follow": false
}
Step 4: Sync With Pagination (First Page)
Called the sync endpoint using the same cursor from Step 1 with limit=1:
GET https://mdmenrollment.apple.com/devices/sync?cursor={step1_cursor}&limit=1
Result: Returned 1 record with more_to_follow: true — indicating more data exists:
{
"devices": [
{
"serial_number": "F70JJ4C16L",
"op_type": "added",
"op_date": "2025-12-11T07:05:05Z"
}
],
"more_to_follow": true,
"cursor": "MTowOjE3NjU0MzgyNDI5ODc6..."
}
Step 5: Sync With Pagination (Second Page)
Called the sync endpoint using the cursor from Step 4 with limit=1:
{
"devices": [],
"more_to_follow": false
}
Expected Behavior
When paginating with limit=1, the API should return all 3 records across 3 sequential requests.
Actual Behavior
Without pagination: Returns 3 records ✓
With pagination (limit=1): Returns only 1 record, then empty array ✗
2 records are missing when using pagination.
Impact
This inconsistency makes the sync API unreliable for incremental device synchronization workflows.
Topic:
Business & Education
SubTopic:
Device Management
How to test ManagedAppConfigurationProvider without MDM ?
Task { /* Configuration provider task */
for await configuration in configurationProvider.configurations(MyAppConfiguration.self) {
self.configuration = configuration ?? MyAppConfiguration.defaultConfiguration
}
}
Can the existence of a configuration be simulated, e.g. by storing a mocked configuration in UserDefaults? The UserDefaults key "com.apple.configuration.managed" seems not relevant here.
Topic:
Business & Education
SubTopic:
Device Management
Tags:
Frameworks
Managed Settings
Device Management
We’re looking for best practices to remotely update iOS apps that are deployed in Single App Mode (SAM) or Autonomous Single App Mode (ASAM), managed through MDM.
Imagine a typical use case: an iPad installed as a self-service kiosk at an airport restaurant. We need to update the app periodically without:
Displaying any prompts to the user
Relying on the user to approve or initiate the update (since the device is unattended)
Sending technicians onsite, as many devices are in remote locations
MDM providers have stated, “This is how Apple handles it,” without offering a workable solution. We’re hoping someone here has experience or suggestions for:
Seamless or silent app updates in SAM/ASAM
Update workflows that avoid interruptions or user interaction
Any proven strategies or automation options under MDM supervision
Any insight or documented approaches would be greatly appreciated.
Thank you!
Topic:
Business & Education
SubTopic:
Device Management
During MDM Automated Device Enrollment of Apple TV, the web view defined by configuration_web_url is not working. We are using the web view to display the usage policy for all devices. While the web view functions correctly for other devices, it is resulting in an error specifically for Apple TV. Could you please clarify whether Apple plans to implement support for this feature on Apple TV in the future or if it will not be supported?
Referring to configuration_web_url in: https://developer.apple.com/documentation/devicemanagement/profile
Topic:
Business & Education
SubTopic:
Device Management
Tags:
Apple TV
Apple Business Manager
Device Management
We’ve run into what looks like a gap in how forceAirDropUnmanaged is enforced on iOS devices.
Setup:
Device: iOS 17.x (unsupervised, enrolled in MDM)
MDM Restriction: forceAirDropUnmanaged = true
Managed Open-In restriction also applied (block unmanaged destinations).
Verified: from a managed app, the AirDrop icon is hidden in the share sheet. This part works as expected.
Issue:
When two iOS devices are brought close together, the proximity-initiated AirDrop / NameDrop flow still allows transfer of photos, videos, or files between devices. In this path, forceAirDropUnmanaged does not appear to apply, even though the same restriction works correctly in the standard sharing pane.
What I’d expect: If forceAirDropUnmanaged is enabled, all AirDrop transfer paths (including proximity/NameDrop) should be treated as unmanaged, and thus blocked when “Managed Open-In to unmanaged destinations” is restricted.
What I observe instead:
Share sheet → AirDrop hidden ✅
Proximity/NameDrop → transfer still possible ❌
Questions for Apple / Community:
Is this a known limitation or expected behavior?
Is there a different restriction key (or combination) that also covers proximity-based AirDrop?
If not currently supported, should this be filed as Feedback (FB) to request alignment between share sheet AirDrop and NameDrop enforcement?
This behaviour introduces a compliance gap for organisations relying on MDM to control data exfiltration on unsupervised or user-enrolled devices. Any clarification or guidance would be greatly appreciated.
Topic:
Business & Education
SubTopic:
Device Management
Tags:
Privacy
Apple Business Manager
Device Management
I originally posted here & was referred to post in developer forumsn.
https://discussions.apple.com/thread/256036430?login=true&sortBy=rank&answerId=261319559022
There has to be someone else out here that's gone through this. I've tried everything I can think of, forums, reddit, Microsoft documentation.... just can't find any clear cut method of doing this.
I'm working on an InTune Mobile App Protection Policy. I know there are going to be some VPs out there asking why they can't use native iOS Apps, especially Apple Calendar, Contacts & Mail.
I have not been able to get anywhere, I always end up with this error.
Things I've tried:
Allow sync of native apps with work account
Putting in app exemptions (But I don't truly know if I know if I have the right values for this and there's no simple way of getting it from what I've seen. Having to download app to PC, finding config files, finding specific values.... that people say are hit or miss).
Allow data transfer of ALL Apps
What am I missing here? I'm pretty much giving up and just going to say sorry, you can't use Native apps.. Period!
Anyone have any experience with this, especially for Mail, Calendar & Contacts?
Thank you for anyone that can offer advice on this.
Topic:
Business & Education
SubTopic:
General
I'm currently testing app updates using the App:Managed declarative device management payload, and I have a question regarding app update status reporting.
Presently, by subscribing to the app.managed.list status item, we can retrieve a list of managed applications along with their installation status. Additionally, we enable automatic updates for managed App Store apps using the UpdateBehavior.AutomaticAppUpdates key.
However, especially when a critical application update is initiated, we frequently find ourselves needing more detailed information about the update process. For instance, having status items similar to softwareupdate.install-state and softwareupdate.failure-reason would be incredibly helpful for user troubleshooting.
My question is: Is there a way to obtain a similar level of detailed, real-time status updates for app updates?
Any insights you might have, or existing methods to achieve this, would be greatly appreciated.
Thank you.
Hi everyone,
I’m sharing this because I’ve been stuck with this issue for over two weeks, and I still haven’t found a solution — or received a meaningful response from Apple Support.
A yellow banner has appeared on my account saying:
“The Apple Developer Program License Agreement has been updated and needs to be reviewed.”
But here’s the problem:
I’ve already accepted the latest agreement long ago.
When I log into both:
App Store Connect
Developer Portal
…there’s no new agreement to accept, no prompt, no button — absolutely nothing new. The yellow banner simply refuses to go away, and it's preventing updates.
I’ve already:
Cleared cache & cookies
Tried Safari, Chrome, Firefox
Logged in from different devices/networks
Verified that I am the Account Holder
Reported the issue via Apple Developer Support (more than a week ago)
Despite clearly stating the urgency of the matter, I’ve received no fix and no timeline. This is beginning to feel like developers’ time — especially for those who depend on timely releases — isn’t being taken seriously.
So I’m writing here to ask:
🔹 Has anyone else encountered this same issue recently?
🔹 Is there any known workaround or fix?
I’d appreciate any help or shared experience.
Thank you.
Topic:
Business & Education
SubTopic:
General
Nuestra cuenta está aprobada como MDM Vendor y necesitamos emitir por primera vez el certificado APNs para MDM en el portal de Push Certificates.
Procedimiento seguido
Primero hemos descargado desde nuestra cuenta de Apple Developer el certificado de MDM Vendor y lo hemos instalado en el ordenador.
Esto lo hemos hecho para que, al lanzar la instrucción de OpenSSL, se pueda utilizar el UUID gestionado por Apple y así generar el CSR de forma correcta.
La instrucción que estamos ejecutando es la siguiente:
openssl req -new -newkey rsa:2048 -nodes
-keyout mdm_private.key
-out mdm.csr
-subj "/O=Numbux/OU=MDM/CN=com.apple.mgmt.External."
El CSR resultante es puro (no está firmado ni empaquetado) y está generado con RSA 2048 y SHA256.
Sin embargo, al subirlo al portal de Push Certificates, seguimos recibiendo el error “invalid signing request”.
Solicitud
Dado que es nuestra primera emisión, entendemos que necesitamos el External UUID asignado por Apple a nuestra organización, porque veo que el problema se deriva de una incorrecto UUID que se está generando en el comando OpenSSL.
¿Podríais confirmarnos cuál es ese valor para poder completar el CSR y así emitir correctamente el certificado APNs MDM?
He llamado a los números 900 812 703 y al 900 812 468 y he escrito al soporte de developer. NADIE ES CAPAZ DE DARMELO.
Sin el external UUID no puedo crear el APN para mi MDM.
Alguien me puede ayudar?
No me mandeis links ni posibles números que llamar porque ya lo he hecho.
Topic:
Business & Education
SubTopic:
Device Management
Platform SSO not working on macos devices for zscaler application other app like safari / chrome working well.
Need help from apple expert on the same.
Environment :
IDP : Entra ID
MDM : Omnissa Workspace one UEM
platform : macOS
Issue Description:
We are experiencing MDM profile installation failures specifically on iPhone 17
devices. After extensive testing and comparison between affected and working
devices, we suspect this appears to be a parameter transmission error rather
than device settings.
Technical Analysis:
Device Settings Comparison: No differences found between problematic and
working devices in system settings, indicating this is not a configuration
issue.
Suspected Parameter Transmission Error:
• Device model information appears to be restricted or blocked during profile
download
• User ID and phone number parameters are not being transmitted to the server
• Installation logs show missing login ID and phone number entries
Symptoms:
• During MDM profile installation, the "Apps & Restrictions" section that should
appear is missing
• Profile download parameters are suspected to not be properly transmitted to
the server
• Installation process fails at the profile configuration stage
Critical Finding:
When we cloned a previously working device to create a problematic device
configuration, the cloned device also began experiencing the same installation
failures. This strongly suggests the issue is related to device-specific
parameters or identifiers.
Additional Information:
We continue to receive reports of this issue from our iPhone 17 users, and these
reports are occurring across various iOS versions.
Request for Assistance:
Has anyone encountered similar MDM profile installation issues on iPhone 17? Are
there known limitations or changes in how device parameters are transmitted
during MDM enrollment on this model?
Any guidance on debugging parameter transmission or known workarounds would be
greatly appreciated.
Topic:
Business & Education
SubTopic:
Device Management