eSIMDual Reseller API

Use the eSIMDual reseller API in your own website or app

This documentation covers authentication, packages, reseller pricing, VPN plans, orders, eSIM resources, wallet data and webhook payloads for the reseller API. Use the online reference below or download the OpenAPI JSON file for Postman, Insomnia or your own integration tools.

Quick start
  • 1Create an API token with POST /login
  • 2Send Bearer tokens on all protected endpoints
  • 3Use Idempotency-Key on order creation
  • 4Read VPN plans with GET /vpn/plans when you sell Secure VPN options
  • 5Cancel reseller VPN subscriptions with POST /vpn/subscriptions/{id}/cancel when your customer ends the service
  • 6Check SaaS release updates with GET /updates/latest
  • 7Validate webhook signatures with your shared secret
Base URL https://esimdual.com/api/reseller/v1
Authentication Authorization: Bearer <token>
Idempotency Idempotency-Key: unique-order-key
Sample login request
curl --request POST 'https://esimdual.com/api/reseller/v1/login' \
  --header 'Content-Type: application/json' \
  --data '{
    "email": "partner@example.com",
    "password": "StrongPassword123!",
    "device_name": "production-server"
  }'
Sample order request
curl --request POST 'https://esimdual.com/api/reseller/v1/orders' \
  --header 'Authorization: Bearer YOUR_TOKEN' \
  --header 'Idempotency-Key: ORDER-2026-0001' \
  --header 'Content-Type: application/json' \
  --data '{
    "package_id": 1120,
    "external_order_id": "NOANET-2026-0001",
    "device_imei": "356938035643809"
  }'
Sample VPN plans request
curl --request GET 'https://esimdual.com/api/reseller/v1/vpn/plans' \
  --header 'Authorization: Bearer YOUR_TOKEN'

The price_for_reseller field is the amount charged by eSIMDual to the reseller. Your storefront can add its own customer selling price on top.

Sample VPN order request
curl --request POST 'https://esimdual.com/api/reseller/v1/vpn/orders' \
  --header 'Authorization: Bearer YOUR_TOKEN' \
  --header 'Idempotency-Key: VPN-2026-0001' \
  --header 'Content-Type: application/json' \
  --data '{
    "vpn_plan_id": 1,
    "external_subscription_id": "VPN-CUSTOMER-0001",
    "customer_reference": "customer@example.com",
    "customer_price": 4.99
  }'
Sample SaaS update check
curl --request GET 'https://esimdual.com/api/reseller/v1/updates/latest?current_version=1.0.0&channel=stable' \
  --header 'Authorization: Bearer YOUR_TOKEN'

The update endpoints are for hosted/self-hosted SaaS storefront releases. They are authenticated with the same reseller Bearer token.

Webhook events

eSIMDual signs webhook payloads with HMAC SHA-256 using your webhook secret.

ping order.completed order.processing order.failed vpn.subscription.active vpn.subscription.cancelled vpn.subscription.expired vpn.subscription.failed
X-eSIMDual-Event
X-eSIMDual-Delivery
X-eSIMDual-Signature

We may use cookies or any other tracking technologies when you visit our website, including any other media form, mobile website, or mobile application related or connected to help customize the Site and improve your experience. learn more

Allow