Purchase
Buy eSIMs and top up data. These endpoints spend your balance.
Buy eSIMs
Buys one or more packages from your balance and waits until they're ready, which can take several seconds. Use a generous client timeout (60 s).
The body is a JSON array. Every item must carry the same transaction_id, which you
generate. It's your reference for this purchase.
200: done. Fetch the eSIMs withPOST /myesimand{"transaction_id": "..."}.500: provisioning failed and the balance was refunded. You can retry with the sametransaction_id.- Sending a
transaction_idthat already completed returns200again, with no second charge.
Buy eSIMs › Request Body
packageCodeFrom /list-esim.
counttransaction_idYour reference. Same value on every item.
Buy eSIMs › Responses
Purchased. The eSIMs are ready.
statuscodemessagecurrencycurrent_balanceBalance after the purchase.
transaction_idBuy eSIMs (sub-reseller account)
Same contract as /checkout, for sub-reseller accounts. The cost is charged to the parent account.
Buy eSIMs (sub-reseller account) › Request Body
packageCodecounttransaction_idBuy eSIMs (sub-reseller account) › Responses
Purchased
statuscodemessagecurrencycurrent_balanceBalance after the purchase.
transaction_idTop up an eSIM
Adds a data plan from /list-topupdataplan to an eSIM. It's asynchronous: you get
202, and the top-up finishes in the background.
transaction_id is the eSIM's original purchase reference, not a new one. The
server creates a new reference for the top-up and returns it as transaction_id in the
response. Use that one with /check-status-payment.
Always send external_id (your own unique key for this top-up). The top-up reference
becomes topup-<external_id>, so a retry with the same external_id is never charged
twice.
Check the result with /check-status-payment: Success, or FAILED with the balance refunded.
Top up an eSIM › Request Body
packageCodeTopuppackageCode from /list-topupdataplan.
iccidtransaction_idThe transaction_id of the purchase this eSIM came from.
external_idRecommended. Your idempotency key for this top-up.
esimTranNoOptional. The eSIM's esimTranNo from /myesim.
Top up an eSIM › Responses
A retry of a top-up that already succeeded. Nothing was charged.
statuscodemessagecurrencycurrent_balancetransaction_idThe top-up reference. Use it with /check-status-payment.
transaction_status