Unlimited talk & text on every plan — your eSIM QR code arrives by email as soon as payment clears. See plans »

Developers

One Union Mobile Reseller API

Sell our eSIM plans from your own website. Every order created through the API lands instantly in our fulfilment queue.

API access

$70 one-time — lifetime API key

Pay once with crypto (USDT, BTC, ETH or BNB) and your key is issued automatically the moment the payment confirms. No monthly fee, no account balance — you simply pay for each eSIM order as you place it.

Get your API key — $70

1. Get an API key

Request access and pay the one-time $70 fee — or email support@oneunionmobile.com. Your key looks like usk_live_ab12cd34_…. Send it with every request:

X-Api-Key: usk_live_ab12cd34_your_secret

Base URL: https://your-domain.com/api/public/v1

2. Endpoints

GET/api/public/v1/plans

List every active eSIM plan with live pricing. Optional filters: ?region=Europe or ?country=Spain.

curl "https://your-domain.com/api/public/v1/plans" \
  -H "X-Api-Key: $UNION_SIM_KEY"
{
  "data": [
    {
      "id": "c0ffee00-...",
      "name": "Europe 10GB",
      "country": "Europe",
      "data": "10GB",
      "duration_days": 30,
      "price": 24.00,
      "price_cents": 2400,
      "list_price_cents": 3000,
      "promo": { "label": "20% off", "price_cents": 2400 },
      "currency": "USD"
    }
  ]
}
POST/api/public/v1/orders

Create an order for your customer. Send your own reference to make the call idempotent — repeating it returns the same order instead of creating a duplicate.

curl -X POST "https://your-domain.com/api/public/v1/orders" \
  -H "X-Api-Key: $UNION_SIM_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "plan_id": "c0ffee00-...",
    "full_name": "Jane Traveller",
    "email": "jane@example.com",
    "phone": "+15550000000",
    "country": "United States",
    "device_type": "iPhone 15",
    "reference": "your-order-8891"
  }'
{
  "data": {
    "order_number": "US-2405-01042",
    "status": "new",
    "payment_status": "unpaid",
    "amount": 24,
    "currency": "USD",
    "reference": "your-order-8891"
  }
}
GET/api/public/v1/orders/{order_number}

Check fulfilment status and fetch the eSIM QR code. Once we mark the order ready, qr_code_url returns a secure link valid for 1 hour.

curl "https://your-domain.com/api/public/v1/orders/US-2405-01042" \
  -H "X-Api-Key: $UNION_SIM_KEY"
{
  "data": {
    "order_number": "US-2405-01042",
    "status": "ready",
    "qr_code_url": "https://.../signed-link.png",
    "activation_instructions": "Scan the QR code in Settings > Mobile Data..."
  }
}
GET/api/public/v1/orders

List the orders created with your key, newest first. Optional ?limit=100.

3. Statuses & errors

Order status moves through new → processing → ready → sent → completed. Payment status is unpaid, paid or refunded — we settle partner balances on invoice.

401 invalid_api_key   — key missing, wrong or revoked
404 plan_not_found    — plan id unknown or inactive
422 invalid_request   — a field failed validation
500 server_error      — retry, then contact support