Buvei
API ReferenceeSIM

Recharge eSIM

Renew an eSIM with its current plan (top-up). The plan cannot be changed.

POST/open-api/v1/esim/recharge

Renews (tops up) an eSIM with its current plan — the data allowance is added on top of any remaining balance. Your wallet is charged the plan's catalog price for your project.

The plan is fixed by design. This endpoint takes no planNo — the eSIM's current plan is renewed, always.

Like purchase, fulfilment is asynchronous with a short synchronous window; the terminal state is delivered via the ESIM_RECHARGED webhook (or ESIM_REFUNDED if it cannot complete, with a full refund).

Headers

X-Idempotency-Keystringheader

Strongly recommended — same semantics as purchase: same key + same body retried returns the same orderNo without a second charge.

Body

esimNostringbodyrequired

eSIM id (esim_...) to renew.

Response

orderNostring
Recharge order id (eord_...).
statusstring
ISSUED (renewed) or PAID (in progress — wait for the webhook).
iccidstring
qrCodestring
Unchanged — the install QR is per-eSIM, not per-plan.
esimNostring
The renewed eSIM (echoes the request).
operationIdstring
Present only when X-Idempotency-Key was supplied.
Request
{ "esimNo": "esim_6ba300976dbb48b8a1" }
Response
{
  "code": 0,
  "message": "SUCCESS",
  "data": {
    "orderNo": "eord_67701dc1ff534f19a8",
    "status": "ISSUED",
    "iccid": "8948010010043989416",
    "qrCode": "LPA:1$smdp.io$K2-XXXXXX-XXXXXXX",
    "esimNo": "esim_6ba300976dbb48b8a1",
    "operationId": "oaop_0bc40073aa20459a8f4f"
  }
}
{
  "code": 404,
  "message": "eSIM not found"
}