Primo MDM communicates with managed devices over HTTPS. When devices sit behind a corporate firewall or proxy, the endpoints below must be reachable outbound for enrollment, policy delivery, and push notifications to function.Documentation Index
Fetch the complete documentation index at: https://docs.getprimo.com/llms.txt
Use this file to discover all available pages before exploring further.
Primo MDM server
Every Primo account has a dedicated MDM server URL:Platform-specific endpoints
- macOS / iOS / iPadOS
- Windows
- Linux
- Android
Apple MDM relies on the Apple Push Notification service (APNs) to wake devices when a command is pending. Without APNs access, devices do not receive MDM commands in real time.
For a complete and up-to-date list of Apple hosts and ports, see Use Apple products on enterprise networks.
| Host | Ports | Purpose |
|---|---|---|
*.push.apple.com | 443, 2197 | Push notifications (APNs) |
albert.apple.com | 443 | Device activation |
deviceenrollment.apple.com | 443 | Automated Device Enrollment (via ABM or ASM) |
mdmenrollment.apple.com | 443 | MDM enrollment |
iprofiles.apple.com | 443 | Configuration profile delivery |
Older networks that block non-standard HTTPS ports also require TCP 5223 outbound to
*.push.apple.com. If you are unsure, allow it.Summary
| Endpoint | Port | Required for |
|---|---|---|
[company slug].mdm.getprimo.com | 443 | All platforms |
*.push.apple.com | 443, 2197 | Apple MDM push notifications |
albert.apple.com | 443 | Apple device activation |
deviceenrollment.apple.com | 443 | Apple automated enrollment |
mdmenrollment.apple.com | 443 | Apple MDM enrollment |
iprofiles.apple.com | 443 | Apple profile delivery |
Advanced: specific routes
If you use a reverse proxy or firewall with path-level rules and prefer not to allowlist an entire domain, use the route-level allowlist below.Devices roaming outside VPN or intranet
To manage devices that travel outside your VPN or intranet, expose only the osquery endpoints:- macOS
- Windows
- iOS and iPadOS
- Android
| Route | Purpose |
|---|---|
/mdm/apple/scep | Devices obtain a SCEP certificate |
/mdm/apple/mdm | Devices communicate using the MDM protocol |
/api/mdm/apple/enroll | Devices fetch an enrollment profile (automated enrollment) |
/api/*/fleet/device/* | End users access their device page (manual enrollment profile, disk encryption key rotation) |
/mdm/sso, /api/*/fleet/mdm/sso, /mdm/sso/callback, /api/*/fleet/mdm/sso/callback, /assets/* | End user IdP authentication during out-of-the-box setup (if required) |
/api/*/fleet/mdm/setup/eula/* | End user EULA agreement during out-of-the-box setup (if required) |
/api/*/fleet/mdm/bootstrap | Bootstrap package installation during out-of-the-box setup (if applicable) |
/mdm/apple/scep and /mdm/apple/mdm sit outside the /api path because they implement non-RESTful Apple MDM protocols, not standard API endpoints.SCEP proxy
If you use Primo as a SCEP proxy:mTLS
The/api/*/fleet/* routes used by the Primo agent support mutual TLS (mTLS) using the certificate provided during agent packaging.
The /mdm/apple/mdm and /api/mdm/apple/enroll endpoints support mTLS using the SCEP certificate issued by the Primo server.
The following endpoints do not use mTLS: