API v2.4 / Orders / Create orders
POST /orders
Orders can be validated and processed using this endpoint. Total will be deducted from your Organisation’s balance.
Auto-assign
By specifying ICCID(s) of eSIM(s) belonging to your Organisation and setting ‘assign’ to true, a bundle can be automatically assigned to eSIM(s).
If specified ICCID(s) of eSIM(s) and the specified bundle(s) are not compatible, and ‘allowReassign’ set to true, the bundle(s) will be assigned to new ICCID(s).
Bundle assignments to an eSIM are usually instant but please allow for up to 10 minutes for the bundle to fully process. While the bundle is processing the eSIM can be successfully installed and the eSIM will register onto a network if within coverage.
The Bundle Status can be checked through Get the Status of a bundle assigned to an eSIM
Usage:
- eSIM ICCIDs can only be specified if assign is set to true
- If assign is set to true, but no ICCIDs are provided, bundles are assigned to new eSIMs
- If ICCIDs are provided, quantity is required to match the number of ICCIDs for each bundle
- If quantity is specified and assign is set to false, the quantity of that bundle is purchased into inventory
- If new bundles and specified eSIM ICCIDs are not compatible and ‘allowReassign’ set to true, bundles will be assigned to new ICCIDs
Authorizations
Request Body
object
To specify if bundle(s) to be assigned to eSIM(s)
object
Quantity of the bundles to purchase. If you purchase several different bundles, specify the quantity of each item separately.
Name of the bundle
ICCID of the eSIM to assign bundle to (quantity of items and number of ICCIDs should match)
Allow a new eSIM to be provided if the bundle is not compatible with the eSIM profile
Example
{ "type": "transaction", "assign": true, "order": [ { "type": "bundle", "quantity": 3, "item": "esim_10GB_30D_IM_U", "allowReassign": false }, { "type": "bundle", "quantity": 5, "item": "esim_10GB_30D_IM_U", "iccids": [ "8901234567890123456", "8901234567890123457" ], "allowReassign": true } ]}
Responses
200
OK
object
Order type [ validate ]
object
Item type [ bundle ]
Name of the bundle
Quantity of items
Cost of a bundle multiplied by its quantity
Price per each item
Allow a new eSIM to be provided if the bundle is not compatible with the eSIM profile
Total price
Indicates if request is valid
Currency of the transaction
Data and time of order creation
Indicates if bundle was assigned to eSIM
{ "order": [ { "type": "bundle", "item": "esim_1GB_7D_AX_V2", "quantity": 1, "subTotal": 2.28, "pricePerUnit": 2.28, "AllowReassign": false } ], "total": 2.28, "valid": true, "currency": "USD", "createdDate": "2025-03-28T14:47:26.153875019Z", "assigned": true}
object
Order type [ transaction ]
object
object
ICCID of eSIM new bundle was assigned to
SMDP+ ID (used in eSIM activation)
SMDP+ Address (used in eSIM activation)
Item type [ bundle ]
Name of the bundle
ICCID of eSIM new bundle was assigned to
Quantity of items
Cost of a bundle multiplied by its quantity
Price per each item
Allow a new eSIM to be provided if the bundle is not compatible with the eSIM profile
Total price
Currency of the transaction
Status of the order
Status message
Order reference
Data and time of order creation
Indicates if bundle was assigned to eSIM
Source IP of the order
{ "order": [ { "type": "bundle", "item": "esim_data_plan_2", "quantity": 1, "subTotal": 9.99, "pricePerUnit": 9.99, "AllowReassign": false, "esims": [ { "iccid": "8900000000000000001", "matchingId": "MATCH-001", "smdpAddress": "http://smdp.example.com" } ], "iccids": [ "8900000000000000001" ] } ], "total": 9.99, "currency": "USD", "status": "completed", "statusMessage": "Order completed: 1 eSIM assigned", "orderReference": "order-ref-002", "createdDate": "2023-06-14T15:45:00Z", "assigned": true, "sourceIP": "244.178.44.111"}
Examples
Example of a validation response
{ "order": [ { "type": "bundle", "item": "esim_1GB_7D_AX_V2", "quantity": 1, "subTotal": 2.28, "pricePerUnit": 2.28, "AllowReassign": false } ], "total": 2.28, "valid": true, "currency": "USD", "createdDate": "2025-03-28T14:47:26.153875019Z", "assigned": true}
Example of a transaction response
{ "order": [ { "type": "bundle", "item": "esim_data_plan_2", "quantity": 1, "subTotal": 9.99, "pricePerUnit": 9.99, "AllowReassign": false, "esims": [ { "iccid": "8900000000000000001", "matchingId": "MATCH-001", "smdpAddress": "http://smdp.example.com" } ], "iccids": [ "8900000000000000001" ] } ], "total": 9.99, "currency": "USD", "status": "completed", "statusMessage": "Order completed: 1 eSIM assigned", "orderReference": "order-ref-002", "createdDate": "2023-06-14T15:45:00Z", "assigned": true, "sourceIP": "244.178.44.111"}
400
Bad Request
object
Status of api functions which do not return data
401
Unauthorized
object
Status of api functions which do not return data
503
Service Unavailable
object
Status of api functions which do not return data