API Docs

Partner API reference for eSIM ordering, balance management, and fulfillment tracking.

This reference is based on the current eSIM Distribute tenant API flow and follows the same operational model we use for provider integrations such as TSIM: authenticated requests, explicit order creation, asynchronous fulfillment, and structured order lookup.

Base URL

`https://esimdistribute.com`

All authenticated partner endpoints use tenant JWT Bearer tokens issued by the tenant login flow. The APIs below are intentionally limited to partner console and order operations. White-label storefront endpoints are not included on this page.

Auth Headers

Authorization: Bearer <tenant_jwt_token>
Content-Type: application/json

Authentication

Tenant account creation and sign-in for accessing the partner console APIs.

POST/api/tenant/register

Create a tenant account

Request Body

{
  "name": "Fire Flow Limited",
  "subdomain": "fireflow",
  "contactEmail": "ops@example.com",
  "password": "strong-password"
}
POST/api/tenant/login

Sign in and receive a Bearer token

Request Body

{
  "email": "ops@example.com",
  "password": "strong-password"
}
GET/api/tenant/profile

Get the current tenant profile

Plans & Fulfillment

Browse available eSIM plans and place balance-based purchase orders.

GET/api/tenant/available-plans

List currently available eSIM plans

POST/api/tenant/orders/checkout

Purchase one or more plans using tenant balance

Request Body

{
  "items": [
    { "planId": "plan_uuid", "quantity": 2 }
  ],
  "email": "customer@example.com",
  "customerName": "End Customer",
  "phone": "88888888"
}

Orders

Review order status, fulfillment results, and exported delivery history.

GET/api/tenant/orders

List tenant orders

GET/api/tenant/orders/:orderId

Get a single order with QR delivery details

GET/api/tenant/orders/export

Export order records as CSV

Balance & Top Up

Check available credits, review transactions, and create top-up orders.

GET/api/tenant/balance

Get current credit balance

GET/api/tenant/transactions

List balance transactions

POST/api/tenant/top-up

Create a Stripe or bank-transfer top-up order

Request Body

{
  "amount": 300,
  "paymentMethod": "stripe",
  "successUrl": "https://esimdistribute.com/dashboard/billing",
  "cancelUrl": "https://esimdistribute.com/dashboard/billing"
}
GET/api/tenant/top-up/:orderId

Get top-up order status

POST/api/tenant/top-up/:orderId/proof

Upload bank transfer proof URL

Request Body

{
  "transferProofUrl": "https://your-storage.example.com/proof.png"
}

Public Contact

Public contact endpoint for partnership, pricing, hardware, support, and API inquiries.

POST/api/tenant/contact

Submit the public contact form

Request Body

{
  "fullName": "Jane Doe",
  "email": "jane@example.com",
  "companyName": "Example Co",
  "phone": "+852 1234 5678",
  "inquiryType": "api",
  "message": "We would like to discuss an integration."
}

Sample success response

Most tenant endpoints return the standard eSIM Distribute envelope with `success`, `data`, `message`, and `error` fields.

{
  "success": true,
  "data": {
    "orders": [],
    "summary": {
      "totalAmount": 0,
      "orderCount": 0,
      "refundedAmount": 0,
      "creditBalance": 300
    }
  },
  "message": "Balance checkout completed",
  "error": ""
}