Order an eSIM package
POST/v1/esim/orders
Buys one package.
package_id names what you are buying; the package must be
available at the moment of the call, which is why it is worth
retrieving it
immediately beforehand rather than trusting a cached list. Ordering a
frozen or withdrawn package is refused with
esim_package_unavailable.
An eSIM is allocated from our inventory and the package provisioned
onto it before this call returns. There is no queue and no callback:
a 201 means the eSIM is ready, and almost every failure means nothing
was bought.
The exception is a 502 from a timeout against the network that
provisions the profile. We cannot tell in that moment whether it took
the order, so we neither charge you nor claim it failed. The order
appears in your order list without an esim_id until we settle it.
Look it up by your own reference. Do not re-send under a new
reference — that is a second purchase. If you still hold the
Idempotency-Key, replaying it is the better move.
reference is your order id, and it must be unique within your
organization.
activation_code on the response is the LPA string a traveller
scans. Encode it as a QR yourself — it is a short string, every
platform has a one-line library for it, and a hosted image would be a
URL that installs somebody's eSIM for whoever opens it.
price on the response is the price charged, captured at order time.
It does not track the catalog afterwards.
Send an Idempotency-Key. A timed-out order retried without one
is a second purchase, not a second look at the first.
Request
Responses
- 201
- 400
- 404
- 409
- 422
The order.
The request is malformed or contains an unrecognized parameter.
The resource does not exist, or belongs to another organization. The two are deliberately indistinguishable.
Idempotency key reused with a different body, or a concurrent modification.
Well-formed but fails a business rule.