Skip to main content

Resell travel eSIMs to your customers

The Numbers → eSIM page is the reseller lane: you buy travel eSIM profiles in bulk against your Orbit balance, hand them to your own end customers, and keep resale of each profile in your own pricing. It sits beside — and is deliberately separate from — the Numbers → Connectivity lane, where you operate IoT/M2M SIMs yourself (Provision and operate eSIM / IoT SIMs). Which lane is yours: The rest of this page covers the reseller workflow end to end: finding the surface, buying in bulk, assigning profiles, and how the money side behaves. The remaining sections are the concept vocabulary — what an eSIM profile is, the status it reports, and the terms the page uses.

Where the surface lives

In the dashboard, open Numbers → eSIM. The list page shows every travel eSIM you own with four stat cards on top — Total, Active, Assigned, and Unassigned — and a table with one row per profile:
  • ICCID — the 19-digit identifier. Click it to open the per-SIM detail view.
  • Status — ACTIVE, ASSIGNED, SUSPEND (purchased but not yet activated — the provider’s own wire value), SUSPENDED, or EXPIRED.
  • Customer — the reference you assigned, or Unassigned.
  • Data used — consumption against the plan allowance.
  • Installation — whether the profile has been installed on a device.
Search and the status filter run in the browser. When you own more profiles than one list fetch can hold, the page says so above the table — in that state a “no matches” search result only covers the loaded rows, not your whole inventory. Clicking an ICCID opens the detail view: the install material (a scannable QR code, the LPA:1$... activation string, and the SM-DP+ address shown separately for manual entry), the data-usage meter, the Add data top-up control, and the Customer reference field. SCREENSHOT SLOT — in-repo note for the docs editor (do not publish): insert one screenshot of the list page showing stat cards + table, and one of the detail page showing the QR/activation card + data meter. Reference them from this section and the next; drop this line once the images land.

Buying in bulk

Click Purchase eSIMs. The dialog loads three things: the current catalog price per eSIM, how many profiles are in stock, and your Orbit balance.
  1. Pick a quantity. Quantity is a fixed set of batch sizes — the service rejects free-form numbers — and each option shows its total priced from the current unit cost. Batches larger than the stock on hand are disabled, and the picker defaults to the smallest batch the pool can satisfy.
  2. Optionally attach a data plan. The plan dropdown lists the available travel-eSIM catalog plans with their data allowance (for example a global pay-as-you-go plan). You can buy without a plan and still give the profiles to customers — the plan just pre-loads an allowance.
  3. Review the summary. The dialog shows the price per eSIM, your balance, and the total. When your balance provably can’t cover the total, the Buy button swaps to Add credit and links to Billing → top-up. If the balance check itself fails, the request goes through and the server decides — it is authoritative either way.
  4. Confirm. The batch is charged to your Orbit balance and the profiles land in your list immediately.
Example — buying 25 travel eSIMs at a 4.00unitprice:thewalletchargeis4.00 unit price: the wallet charge is 100.00, recorded in your balance history as one debit with the remaining balance shown beside it, and the purchase response counts the new profiles and reports the post-charge balance. The wallet behaves the way the rest of Orbit’s charges do. The charge runs first and the provider move runs second; if the move fails, the charge is refunded automatically and the balance returns to where it started. If your account is still being set up with the eSIM provider, the dialog says ordering isn’t ready yet instead of letting you attempt a charge — that state usually resolves on its own.

Assigning eSIMs to customers

Open a profile’s detail view and set the Customer reference — your own identifier for whoever receives it (an email, an order id, or your CRM key). Save, and the profile counts as assigned: the list’s Customer column shows the reference and the Assigned stat card picks it up. The reference is visible only to you. Hand the customer the install material from the same view: the QR code for a camera scan, or the activation string and SM-DP+ address for manual entry. Re-opening the page later shows Installed once their device has the profile. To change which customer a profile belongs to, edit the reference — there is no separate un-assign step; clearing the field returns the profile to your Unassigned bucket.

Money: charges, top-ups, and refunds

Every spend on this surface is a wallet charge, and every reversal is a wallet refund on the same balance:
  • Bulk purchase debits the batch total at purchase time.
  • Top-ups add data to a single profile from its detail view. The control quotes the exact cost — the per-MB rate from the current catalog pricing, with the platform’s one-cent minimum charge — before the second click spends. A priced Confirm button guards against a mistyped amount; the hint under the input shows the live rate per MB.
  • Refunds credit the balance back. When a purchase can’t be completed upstream, the charge is reversed automatically within the same flow; you never see a debit without its reversal when nothing was delivered. Corrections of eSIM charges by Orbit operations (or by you via support) refund to the same wallet, so the balance you see in Billing is always the full picture.
For tenant-owned control of spending: every charge attempts against your balance at request time, an insufficient balance refuses with a payment error before any provider work starts, and nothing here changes which Orbit roles may spend — the same role gates that apply to purchases apply to top-ups.

Freshness and lifecycle updates

The reseller surface is dashboard-operated; the API lane for cellular lifecycle events is the programmable-wireless surface. If you also operate IoT/M2M SIMs through GET/POST /numbers/connectivity/*, those transitions fire the connectivity_sim.* webhook events documented on the Webhook events page — quota warnings (connectivity_sim.usage_warning, connectivity_sim.limit_exceeded) are the ones worth automating. Travel-eSIM reseller purchases are not part of that event stream; the list page reflects purchases and top-ups as soon as they complete.

When something looks wrong

Where next