About Apple Business Manager
Apple Business Manager (ABM) is Apple’s portal for IT administrators to deploy and manage Apple devices, apps, and Managed Apple Accounts at scale. Serval connects to the Apple Business Manager API using an ABM API account, so your workflows can assign or unassign devices to MDM servers, ingest your organization’s devices into Serval asset management, and reach anything else Apple’s Business Manager API offers. No browser sign-in is involved - the connection runs entirely on credentials you create inside Apple Business Manager. Authentication: ABM API account (Client ID + Key ID + EC private key). Each time Serval calls Apple on your behalf, it signs a short-lived token with your private key and exchanges it with Apple for access - and what the integration can do is governed by the API account’s role in ABM. Data sync: On-demand. The shipped “Ingest Computers from Apple Business Manager” workflow pages through your organization’s devices, looks up each device’s AppleCare coverage, and syncs both into Serval asset management; everything else runs only when a workflow calls it. There is no other background sync.What the Apple Business Manager integration enables
Get your credentials
You need an API account in Apple Business Manager with a generated private key. Only users with the Administrator role in ABM can create API accounts. Apple’s official guide: Create an API account in Apple Business Manager.Sign in to Apple Business Manager
Open the API preferences
Create the API account
Generate and download the private key
Copy the Client ID and Key ID
Connect in Serval
Client ID, Key ID, and Private Key are required - the form won’t accept a blank value for any of them. Connection Name is optional.Name the connection (optional)
Enter your Client ID
Enter your Key ID
Paste your Private Key
Save and test
Connect multiple Apple Business Manager organizations
A team can hold one Apple Business Manager connection per organization. Create an API account in each organization, then add a connection for each one with its own Client ID, Key ID, and private key. Give each a distinct Connection Name so you can tell them apart when choosing a connection for a workflow. Serval identifies each connection by its Client ID. Connecting a Client ID that’s already connected on the team updates that connection’s credentials rather than adding a second one.Verifying the connection
The integration ships one health check: Test Apple Business Manager Connection - requests a single device from your organization through Serval, verifying the full chain: private key parsing, token signing, the token exchange with Apple, and an authenticated API call to Apple Business Manager.- On success: “Successfully authenticated with Apple Business Manager and retrieved device data”
- On failure: “Unable to connect to Apple Business Manager. Please verify your Client ID and private key are correct. Common issues: invalid EC P-256 private key format, incorrect Client ID, or insufficient API permissions.”
Gotchas and troubleshooting
Private key must be an EC P-256 key in PKCS#8 format
Private key must be an EC P-256 key in PKCS#8 format
When editing, Client ID and Key ID are required - the Private Key can be left alone
When editing, Client ID and Key ID are required - the Private Key can be left alone
Older connections without a Key ID must be reconfigured
Older connections without a Key ID must be reconfigured
The private key downloads from Apple exactly once
The private key downloads from Apple exactly once
Permissions come from the ABM API account, not from Serval
Permissions come from the ABM API account, not from Serval
No typed API schema - fill in path placeholders yourself
No typed API schema - fill in path placeholders yourself
{param} placeholder is sent to Apple unmodified and will fail.AppleCare coverage is one extra request per device
AppleCare coverage is one extra request per device
appleCareCoverage - the active record ending last (an open-ended AppleCare+ for Business subscription ranks above any dated plan), or the most recently ended record when nothing is active - with status, paymentType, description, startDateTime, endDateTime, isRenewable, isCanceled, contractCancelDateTime and agreementNumber, plus the full history in appleCareCoverages. Map appleCareCoverage.endDateTime to your asset’s warranty expiration field. A device whose lookup fails (for example an API account without coverage access) still syncs, without those keys, and the run log says how many lookups failed. Turn Include AppleCare coverage off in the workflow inputs to skip the lookups entirely.Device assignment matches MDM servers by display name
Device assignment matches MDM servers by display name
Need help? Contact support@serval.com for assistance with your Apple Business Manager integration.

