eSIM Profiles
An eSIM profile allows access to the mobile data network. The user can install an eSIM using different methods on an eSIM-capable smartphone:
Scan the Activation Code
Direct Installation via Universal link (recommended)
eSIM API Object
Each eSIM profile comes with
uid - identitier; used for SDK eSIM download
ICCID - main identifier for end-user support
activationCode - used to install the eSIM
IMSI, lastSeen, activatedAt - additional identifiers for support
state - current state (e.g. INSTALLED)
{
"iccid": "89972123300991848961",
"imsi": "260060145143896",
"activationCode": "LPA:1$domain.tld$1234567890ABCDEF123456",
"appleUniversalLink": "https://esimsetup.apple.com/esim_qrcode_provisioning?carddata=LPA:1$<SM-DP+ Address>$<Activation Code>",
"installationUrl": "https://tunz.giga.store#/esim/profile?token=eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiI4OTk3MjEyMzMwMDk5MTg0ODk2MSJ9.V34vHdqG6QD9iyCLjIfh2zxsv5MUUjEaOkSw3EY_RVJAxhQQfTeZBfEL_EYwAS9TMNi_Rn6L2Q2cuuI8Ve9zmQ",
"lastSeen": null,
"activatedAt": null,
"state": "RELEASED",
"uid": "7555cab8-72bc-4e85-b56a-6cdf60e2d6e4",
"active": true
}Providing QR code for installation
Once the First Package is activated, the returned eSIM can be used to provide a QR code for installing the eSIM.
You can use any QR code renderer to generate a QR code using the activationCode and provide it to your user via email or through other channels.
The QR code must be scanned with an eSIM-capable device, like an iPhone 14.

Direct installation via Universal Links
On Android 10 and iOS 17.4 and above, users can install their eSIM directly on their devices by clicking a simple link. The Universal Link install method works by adding the unique SMDP+ address and Activation Code as parameters to the universal link URL, which can be tied to a button in your application. The universal link would look as follows:
Apple
https://esimsetup.apple.com/esim_qrcode_provisioning?carddata=
LPA:1$SMDP+_Address$Activation_Code
https://esimsetup.apple.com/esim_qrcode_provisioning?carddata=LPA:1$SMDP+_Address$Activation_Code
Android
https://esimsetup.android.com/esim_qrcode_provisioning?carddata=
LPA:1$SMDP+_Address$Activation_Code
https://esimsetup.android.com/esim_qrcode_provisioning?carddata=LPA:1$rsp.truphone.com$JQ-209U6H-6I82J5
Important Notes for Implementation:
URL Casing: The base URL should always be lowercase to ensure compatibility and avoid processing errors.
Activation Code: The Activation Code may contain capital letters and should be entered strictly as provided.
External Link Configuration: If integrating this link within an app, configure it to open externally. This ensures that the device’s browser handles the activation, adhering to Apple’s setup protocols.
SMDP+ address and Activation Code are provided with this request
POST /gigastore/activations/register
eSIM States
An eSIM can have different states. You can use the eSIM state to guide the user during your user journey.
RELEASED
Not installed on a device
Profile ready to be downloaded and installed
DISABLED
Installed, but user disabled the eSIM in the OS
Not available for all eSIM profiles / devices
INSTALLED/ENABLED
Installed and enabled
Profile is already installed, and may already be turned on in user's device
ERROR
Something went wrong during installation
Contact support to replace the profile.
To receive status updates, use the eSIM Status webhook. The webhook is triggered within a few seconds after the user interaction.
Last updated
Was this helpful?