v1/esim_profiles
The v1/esim_profiles API is the basis for most of the eSIM actions and information available by the system.
-
An eSIM profile (ICCID) is downloaded to a device using an activation code. After the activation code secret is validated by the carrier and eSIM provder, the profile is installed on the device.
-
Once downloaded, an eSIM profile can be enabled to start using cellular service via the profile.
-
Although the API separates the
download, andenableactions, the UI will often call the combination of these two actions anactivaterequest. -
eSIM profiles are created or deleted in the system only when the device reports successful profile actions
-
eSIM profile actions are generally processed asynchronously and make take 3-10 minutes for the devices eSIM to contact the profile server (SM-DP+) and the eSIM registry (EIS). The APIs for
delete,disable,downloadandenablereturn a transaction ID that can be used to monitor the progress of the action. -
eSIM profile multistep operations combine actions like download and enable into a single API call. Additionally, the multistep operation will wait for the device to successfully report the profiles after contacting the profile server and EIS. The multistep operation is most commonly used via an automation or template or the UI. A multistep operation may have multiple transactions.
The bulk API returns at most 20,000 records and sets the Truncated HTTP header if the data is truncated.
Use the query parameter to limit the data returned.
Warning: Be careful in specifying the Service Provider Network SPN in the carrier field. An eSIM profile may not report the same SPN as the full name from the supplier of the activation code. For example, the carrier providing an activation code might be “Fred’s Fast Wireless Service”, but the SPN reported by the eSIM profile might be “Mobile”. This discrepancy could cause confusion in your API and UI usage. If you try to activate “Fred’s Fast Wireless Service” profile on a device but the system sees only “Mobile” being reported, it may attempt to activate another profile.
URI
https://<hostname>/ws/v1/esim_profiles
Profile Formats
| HTTP method | Format | Description | Parameters |
|---|---|---|---|
| GET | /ws/v1/esim_profiles | Get a summary of the esim_profiles APIs. | None |
| GET | /ws/v1/esim_profiles/inventory/{iccid} | Retrieve an eSIM profile by ICCID. | None |
| GET | /ws/v1/esim_profiles/bulk | Retrieve eSIM profiles for the current user’s account in CSV format. | fields size query orderby |
| GET | /ws/v1/esim_profiles/inventory | Retrieve eSIM profiles for the current user’s account. | cursor size query orderby |
Profile action formats
| HTTP method | Format | Description | Parameters |
|---|---|---|---|
| GET | /ws/v1/esim_profiles/progress/{tx} | Monitor the progress of an eSIM profile action. | None |
| GET | /ws/v1/esim_profiles/transactions/inventory | Monitor the progress of an eSIM profile action. | cursor size query orderby |
| POST | /ws/v1/esim_profiles/delete | Delete an eSIM profile from a device | None |
| POST | /ws/v1/esim_profiles/disable | Disable an active eSIM profile on a device | None |
| POST | /ws/v1/esim_profiles/download | Download an eSIM profile to a device using an activation code | None |
| POST | /ws/v1/esim_profiles/enable | Enable an already downloaded eSIM profile on a device | None |
Multistep operation formats
| HTTP method | Format | Description | Parameters |
|---|---|---|---|
| GET | /ws/v1/esim_profiles/operations/inventory | Retrive the status multi-step eSIM profile operations. | cursor size query orderby |
| GET | /ws/v1/esim_profiles/operations/inventory/{id} | Retrieve the status of a multi-step eSIM profile operation. | cursor size query orderby |
| POST | /ws/v1/esim_profiles/operations/inventory | Start a multi-step eSIM profile operation | None |
eSIM Profile Data
carrier- The service provider network (SPN) of the eSIM profilecustomer_id- The account in which the eSIM profile is reporteddevice_id- The device ID of the device that reported the eSIM profileeid- The eSIM’s EID.iccid- The ICCID of the eSIM profileid- The profile’s id number within the eSIMnormalized_carrier- The normalized service provider network (SPN) of the eSIM profile (output only, created by the system for display and matching purposes)status- The status of the eSIM profile. Output only. Possible values areactive,inactive.type- The type of eSIM profile, set by the service provider. Some possible values areoperational,bootstrap,test.
eSIM Action Data
When requesting a download, enable, disable or delete action, specify the following payload:
device_id- The device ID of the device that the action is applied toeid- The eSIM’s EID.iccid- Required forenable,disableanddeleteactions. If the activation code is registered with the system, then required fordownload.activation_code- The activation code secret. Only required if the activation code is not already registered with the system. If the activation code is already registered with the system, then use theiccidfor download.
eSIM Profile Transaction Data
eSIM transaction statuses are checked when a progress API is called. The system intermittently checks the status of in-progress actions as well, marking those transactions as completed as appropriate.
action- The action performed by the system on the device. Possible values aredownload,enable,disable,delete.created- The date and time the transaction was createdcustomer_id- The account in which the eSIM profile is reporteddevice_id- The device ID of the device that the action is applied toeid- The eSIM’s EID.iccid- The ICCID of the eSIM profilemessage_code- A short summary code describing the transaction messagemessage- A message describing the status of the transaction from the system or profile server (SM-DP+) or eSIM registry (EIS)status- The status of the eSIM profile action. Possible values arein_progress,complete,failed,unknown.transaction- The unique identifier for the transaction.updated- The date and time the transaction was last updated
eSIM Multistep Operation Data
As the system processes multistep eSIM profile operations, it records debug and diagnostic information about the steps and progress. The system uses the service provider network (carrier) field to find an identify an appropriate activation code or profile to take action on.
carrier- The requested service provider network (SPN) of the eSIM operation. Used to find a matching activation code or existing profile on the device.cause_id- The cause identifier like the automation ID or template ID.cause- The cause of the operation. Possible values arerequest,automation,template.created_by- The user or system service that initiated the operationcreated- The date and time the operation was createdcustomer_id- The account in which the multistep operation is createddevice_id- The device ID of the device that the action is applied todownload_tx- The transaction ID for the download operation.eid- The eSIM’s EID.enable_tx- The transaction ID for the enable operation.iccid- The ICCID of the eSIM profile requested.id- The identifier for the multistep operationjob_id- The Remote Manager system job ID for the operation.message_code- A short summary code describing the transaction messagemessage- A message describing the status of the transaction from the system or profile server (SM-DP+) or eSIM registry (EIS)operation- The operation being performed. Possible values areactivate,download,enablesource- The source API or system service that originated the requeststatus- The overall status of the multistep operation. Possible values arestarting,download,download_verify,enable,enable_verify,failed,successful.updated- The date and time the operation was last updated`
Parameters
Parameters for the v1/esim_profiles/inventory and v1/esim_profiles/bulk APIs include the following:
| Name | Type | Description |
|---|---|---|
| cursor | string | If a full page is returned and more activation codes are available a cursor value is returned in the full page. The cursor parameter can be used to continue with the same query parameters and fetch the next page. For example, cursor=d7eec0d4-557a-11e9-ab8e-d20bcc91db8a |
| fields | string | Comma-separated list of fields to return for bulk API |
| orderby | string | A field in the activation code to sort by. Specify “asc field” or “desc field” to change the sort order |
| query | string | The Remote Manager query language query condition used to filter results |
| size | integer | Number of items to return. The maximum and default is 1000. |