List eSIM orders
GET/v1/esim/orders
Returns a page of your orders, newest first.
Filter by reference to answer the question this endpoint exists
for: did my order go through? A request that timed out has an
unknown outcome, and your own order id is the only handle you are
guaranteed to still hold. reference is unique within your
organization, so this returns one row or none.
It answers in three ways, and the third is why the row exists:
- no row — we never took the order; nothing was charged.
- a settled row — it went through. A package order carries an
esim_id; a top-up carries apackage_idand aprice. - an unsettled row — we do not know yet. The provisioning
network timed out and we are settling it, usually within minutes.
Ask again rather than re-ordering; a new
referencewould be a second purchase.
Branch on object before you check, because there is no single
field that answers it for both. The two order kinds learn things in
opposite orders, so each is still missing what the other already
knows — see EsimOrderSummary and EsimTopUpOrder for which is
which.
Idempotency-Key covers the same ground for 24 hours and returns the
original response outright, so reach for that first if you still have
the key. This is what is left when you do not.
Package purchases and top-ups share this ledger. Branch on
object — esim_order against esim_top_up_order — rather than
assuming every row has the same fields.
No row carries an activation_code, for the reason a list of eSIMs
does not carry one either. Retrieve the order, or the eSIM, when you
need to deliver install instructions.
Request
Responses
- 200
- 400
- 401
- 429
A page of orders.
The request is malformed or contains an unrecognized parameter.
Credentials are missing, invalid, or expired. Do not retry.
Rate limit exceeded. Honor Retry-After.
Response Headers
Seconds to wait before retrying.