API v2.4 / eSIMs / Apply Bundle to an eSIM
POST /esims/apply
eSIM Provisioning and Bundle Application Endpoint
This endpoint allows you to obtain a new eSIM with a pre-applied Bundle or apply a Bundle to an existing eSIM.
Key Features:
- Assign Bundles to new or existing eSIMs
- Option to request multiple eSIMs with the same Bundle
- Ability to assign different Bundles to separate new eSIMs
Usage Guidelines:
- Provide either ‘Bundle’ or ‘Bundles’ parameter
- ICCID is optional for existing eSIMs
- ‘Repeat’ parameter for multiple new eSIMs (incompatible with ICCID)
- Bundle names are case-sensitive (e.g., “esim_1GB_7D_IM_U”)
Important Notes:
- Requires pre-purchased Bundles in your account inventory
- Bundle activation usually instant, but allow up to 10 minutes for full processing
- eSIM can be installed and registered on a network during processing
- The Bundle Status can be checked through Get the Status of a bundle assigned to an eSIM
The endpoint always returns the ICCID in the response.
Authorizations
Request Body required
Details of Bundle to apply to eSIM
object
ICCID of target eSIM to apply Bundle to. If not provided, a new eSIM will be assigned to you.
Name of Bundle to apply
How many eSIMs will be assigned with this bundle applied (if left empty Bundle will assign to one eSIM)
Allow a new eSIM to be provided if the bundle is not compatible with the eSIM profile
object
object
Name of Bundle to apply
How many eSIMs will be assigned with this bundle applied (if left empty Bundle will assign to one eSIM)
Allow a new eSIM to be provided if the bundle is not compatible with the eSIM profile
Examples
{ "iccid": "8943108165015003887", "name": "A_BUNDLE_20GB_30D_EU_U", "allowReassign": false}
{ "bundles": [ { "name": "A_BUNDLE_20GB_30D_EU_U" }, { "name": "A_BUNDLE_20GB_30D_EU_U" } ]}
Responses
200
Success message
object
object
Newly assigned eSIM ICCID
Status of Bundle
Name of bundle applied
Apply Reference
Example
{ "esims": [ { "iccid": "8944123456789012345", "status": "ACTIVE" } ], "applyReference": "123e4567-e89b-12d3-a456-426614174000"}
400
Bad Request - returned when request format is not accepted
object
Status of api functions which do not return data
403
Unauthorised - returned when the api token is invalid; the user does not have any available Bundles left or the ICCID is not accessible by the user
object
Status of api functions which do not return data
429
Too Many Requests
object
Status of api functions which do not return data
500
Server Error
object
Status of api functions which do not return data
503
Processing - Please come back later or use the Retry-After (seconds) header
object
Status of api functions which do not return data