Skip to main content
SimVoro
Loading your account…
SimVoro

API Integration

Available

API integration

Planning to sell eSIMs inside your own app or booking flow? Tell us what you need.

The API is available to approved partners after sales enables access. Create a read-only or ordering key in your Partner Dashboard. All purchases use your prepaid USD wallet.

API quick start

After your account is approved, sales assigns pricing and enables API access. Create a key in the Partner Dashboard. Read-only keys cannot place orders. Purchasing must also be enabled on your account.

https://simvoro.com/api/partner/v1

Use a server-side bearer key on every request. Keep the key out of browser code and URLs. Keys can be revoked in the Partner Dashboard.

Authorization: Bearer YOUR_API_KEY
MethodEndpointResult
GET/products?destination=japanYour assigned USD prices and product IDs. Filter by destination slug; paginate with cursor.
GET/balanceYour wallet balance, reserved funds and available USD.
GET/transactionsWallet transactions and nextCursor.
GET/ordersPartner order summaries and nextCursor (50 per page).
POST/ordersReserve funds and order one eSIM. Requires an ordering key.
GET/orders/{orderId}Order status, last-synced data usage and installation details after delivery.

Create an order

Send a UUID as Idempotency-Key. Reuse that same UUID after any timeout or connection failure. Send the price your customer confirmed and confirm the receiving device supports eSIM and is unlocked. Live price changes return 409 PRICE_CHANGED. This is a live API; accepted purchases use real wallet funds.

POST /api/partner/v1/orders
Authorization: Bearer YOUR_API_KEY
Content-Type: application/json
Idempotency-Key: 83c77d9f-395f-4ff0-8ed6-c461bda46559

{"productId":"PRODUCT_ID_FROM_CATALOG","expectedPrice":"2.25","deviceConfirmed":true}

A 201 response contains orderId and esim; inspect esim.status and esim.failure. Poll the order every 10 seconds. Funds are held first and captured on verified delivery. A replay may return a failed order. An uncertain supplier outcome keeps the hold while the original order is reconciled. Installation material is private and appears only after verified delivery.

Amounts are decimal USD strings. Lists return items and nextCursor; continue until nextCursor is null. Limit: 120 requests per key per minute, and 10 purchase attempts per user per minute. Respect Retry-After on 429. Other common errors: 401 invalid key, 403 permission denied, 402 insufficient funds, 404 inaccessible order, 409 price or idempotency conflict, 503 service unavailable. Retrieve the original order before attempting another purchase.

What to include in your request

  • Your platform and who your customers are
  • Your expected monthly volume
  • The destinations you want to offer
  • What your system needs to do, for example order an eSIM and show its QR code to your customer

Become a partner

Send an application and our team will contact you about it.