1. Authenticate
2. Browse the catalog
Two separate catalogs feed a provision call: SIM products (the physical/eSIM unit itself) and plans (the data/voice/SMS product you attach to it).simId (BIB010A) and productId (AT0001) — you’ll pass them as simId/planId in the next step.
3. Provision an eSIM with a plan
One call both provisions the eSIM and activates the plan on it. This endpoint is always asynchronous — it returns202 immediately with a transactionId, not the finished SIM:
statusEndpoint — no auth header needed, the transactionId itself is the credential — until status leaves PENDING/PROCESSING:
result.iccid — that’s the identifier for every SIM-scoped call from here on, including the usage check below.
See Core Concepts → Async operations for the full polling contract, including what a
FAILED transaction looks like.4. Confirm usage
The same flow in Node.js
What you just did
- Exchanged credentials for a bearer token.
- Browsed the SIM-product and plan catalogs your account can purchase.
- Provisioned a new eSIM with a plan attached in one call, then polled the returned
transactionIdto completion. - Checked usage against the new SIM’s billing cycle.

