Yes. From Android 15, AMAPI supports remote provisioning and management of eSIM profiles on managed devices. This includes deploying profiles, removing them, and controlling whether end users can add their own.
Enterprise eSIM deployment relies on the GSMA's SM-DP+ (Subscription Manager Data Preparation Plus) infrastructure. The flow works like this:
ADD_ESIM commandWhere a partial eSIM profile is deployed - containing only a pointer to the SM-DP+ server rather than a full activation code - the device fetches the full configuration itself. This simplifies provisioning when device EIDs are pre-registered with the carrier.
The device must already be online (typically via Wi-Fi or an existing SIM) to receive the ADD_ESIM command and download the profile. eSIM cannot provide the initial connectivity needed for enrolment - the device needs network access first.
AMAPI provides three eSIM-related commands via enterprises.devices.issueCommand:
Deploys an eSIM profile to the device. Parameters include:
ACTIVATED - the profile activates silently (company-owned devices only; rejected on personally-owned devices)NOT_ACTIVATED - the profile downloads but the user must manually activate itOn success, the command returns the ICC ID of the installed profile.
Deletes an eSIM profile from the device. Requires the iccId of the profile to remove.
Retrieves the device EID on personally-owned devices (Android 13+), where EID is not automatically reported. The user is prompted to approve disclosure - they can decline.
Getting the EID is the first step in most eSIM workflows, since carriers need it to bind profiles to hardware.
euiccChipInfo field within HardwareInfo in the device resource. No user interaction needed.REQUEST_DEVICE_INFO command. The user sees a prompt and can approve or decline. The command returns PENDING_USER_ACTION until the user responds, or USER_DECLINED if they refuse.On company-owned devices (Android 15+), the userInitiatedAddEsimSettings field within deviceRadioState controls whether users can add their own eSIM profiles. When restricted, users cannot add eSIMs through device settings - only admin-deployed profiles are permitted.
The DISALLOW_CONFIG_MOBILE_NETWORKS user restriction prevents users from deleting admin-managed eSIMs on company-owned devices.
On personally-owned work profile devices, users always retain the ability to delete managed eSIMs. This cannot be overridden.
On Android 16+, when a work profile is removed from a personally-owned device, managed eSIM profiles are always wiped regardless of other policy settings. This is a platform-enforced behaviour to ensure carrier subscriptions provisioned through the enterprise do not persist after management is removed.
On company-owned devices, the behaviour depends on the wipe command configuration - eSIMs can optionally be retained or removed during a device wipe.
Android 13 introduced support for Multiple Enabled Profiles, allowing a single eUICC chip to maintain multiple simultaneously active profiles. This enables dual SIM dual standby (DSDS) from a single eSIM chip - useful in enterprise scenarios where a device needs both a corporate and personal carrier subscription on one eSIM.
MEP requires hardware support - the device must declare the android.hardware.telephony.euicc.mep feature flag. Not all devices with eSIM support MEP.
Custom DPCs have limited eSIM management capabilities compared to AMAPI. The Android platform's EuiccManager class provides methods for downloading, switching, and deleting profiles (available since Android 9), but:
READ_PRIVILEGED_PHONE_STATE - a privileged permission that third-party DPCs typically cannot hold. The AMAPI SDK (v1.7.0+) provides a workaround for custom DPCs that have integrated the SDKIn practice, eSIM management through a custom DPC requires AMAPI SDK integration. Pure Play EMM API-based custom DPCs without the SDK cannot access the managed eSIM features introduced in Android 15.
eSIM management depends entirely on carrier cooperation:
AMAPI provides eSIM telemetry through the device resource: