StrongeSIM API documentation
Everything you need to sell eSIMs at scale, without reinventing the connectivity wheel. Auth, the live plan catalogue, orders, eSIM profiles, payments, webhooks, and the full reseller toolkit. You bring the app, we bring the signal.
Base URL
https://api.strongesim.com/api/v1All paths below are relative to this base.
Authentication
Authorization: Bearer {access_token}X-Session-ID: {session_id}
JWT bearer token + session id on every authenticated call.
Rate limits
- Login / Registration5 attempts per IP per 15 minutes
- Password reset3 attempts per email per hour
- All other endpoints1000 requests per user per hour
Response format
Every response is JSON with a success boolean and a message. Successful reads return a data object; errors return success: false with an HTTP 4xx/5xx status.
Getting started
Register a reseller account, log in to receive a JWT access token and session id, then send both on every request. 99 endpoints are available across 14 sections.
# 1 — Get an access token
curl -X POST https://api.strongesim.com/api/v1/auth/login \
-H "Content-Type: application/json" \
-d '{"email":"you@example.com","password":"••••••","role":"reseller"}'
# 2 — Call any endpoint with the token
curl https://api.strongesim.com/api/v1/plans \
-H "Authorization: Bearer ACCESS_TOKEN" \
-H "X-Session-ID: SESSION_ID"Auth
12 endpointsAccount creation, login, email/OTP verification, JWT access + refresh tokens, password reset, and session management. Start here to obtain the bearer token every other endpoint needs.
Register a new user account. Available roles: `mobile_user`, `reseller`,
Authenticate a user and receive access + refresh tokens. Creates a login
Verify a user's email address using the token sent during registration.
Verify a `mobile_user` email address using the 6-digit OTP sent at registration.
Resend a verification email to an unverified user
Refresh an expired access token using a valid refresh token. Handled by the
Logout the current user. Can revoke a specific session or all active
Request a password reset link via email. The link is valid for 1 hour
Browser-facing endpoint. Validates the reset token and serves an HTML form for
Reset the user's password using a valid reset token. All existing sessions are
Get all active (non-expired, non-revoked) sessions for the currently
Revoke a specific active session for the currently authenticated user. Cannot
Users
3 endpointsRead and update the authenticated account profile, and change the account password.
Get the currently authenticated user's profile, including role-specific
Update the authenticated user's profile. At least one of `name` or
Change the authenticated user's password. All active sessions are revoked and
Credits
2 endpointsCheck your prepaid (or postpaid) credit balance and review the credit transaction ledger. Reseller-scoped.
Get the current credit balance or postpaid credit usage for the authenticated
Get credit transactions for the authenticated reseller with filtering and
Payment
7 endpointsTop up credits via PayPal or Stripe: create and capture orders, handle redirects and webhooks, and read the credit balance.
Create a PayPal order in preparation for checkout. Returns a PayPal order ID
Capture an approved PayPal payment and credit the captured amount to the
PayPal redirect handler. Called by PayPal after the user approves a payment on
Receive and process PayPal webhook event notifications. Performs HMAC
Get the authenticated user's current credit account balance and the 5 most
Create a Stripe PaymentIntent and return its `clientSecret` so the client SDK
Verify a Stripe PaymentIntent succeeded (re-fetched directly from Stripe —
Plans
13 endpointsBrowse the live plan catalogue, countries, coverage stats, and incremental change feeds. V1 and V2 catalogues.
List all active eSIM plans with optional filtering, search, and pagination.
Get all unique countries that have at least one active plan, with the minimum
Trigger a manual sync of plans from a specific provider
Get the timestamp when any active plan was last modified, plus the total count
Get plans that were added, updated, or deactivated since a given timestamp.
Get a single active or inactive eSIM plan by its primary key. Applies the same
Get aggregated coverage statistics: total unique countries and regions with
List all active V2 eSIM plans with optional filtering, search, and pagination.
Get all unique countries that have at least one active V2 plan, with the
Get the timestamp when any active V2 plan was last modified, plus the total
Get V2 plans that were added, updated, or deactivated since a given
Get a single active V2 eSIM plan by its primary key. Includes the associated
Get aggregated global statistics across all active V2 plans in a single query:
Plan Comparison
3 endpointsFind the cheapest matching plan and compare a plan against equivalent plans across providers.
Find the cheapest available plan matching exact criteria (country, data size,
Compare a specific plan against equivalent plans from all providers. Finds
Health check for the plan comparison feature. Returns current feature flag
Orders
16 endpointsCreate eSIM orders, list and inspect them, cancel with credit refund, pull live usage, and top up activated eSIMs. V1 and the newer synchronous V2 flow are both documented.
Fetch the current usage data for a specific order from the eSIM Access
Force-refresh usage data for a specific order by fetching the latest data
Get combined usage data for a specific order — merges stored `OrderUsage`
Fetch usage data for multiple orders in a single request. Results are silently
Get aggregated usage statistics across all active orders for a user. Scoped to
Create a new eSIM order. Validates credit availability first, creates the eSIM
List all orders for the authenticated user with pagination and optional
Get the full status and eSIM profiles for a specific order. The `order_id`
Cancel an order. Calls the eSIM provider's cancel API, processes a credit
Get available top-up data plans for an activated eSIM. Fetches live from the
Top up an existing eSIM with additional data. Accepts either a `topupId` token
Get all top-up orders associated with a specific original order, with a
Create a new V2 eSIM order. Credits are deducted immediately and synchronously.
List V2 orders for the authenticated user with pagination and optional status
Get a specific V2 order by ID. Supports lookup by multiple identifier types
Cancel a V2 order and refund credits to the reseller's account. Unlike V1,
Profiles
8 endpointsOperate directly on an eSIM profile by ICCID / transaction number: usage, suspend, unsuspend, revoke, top up, and send SMS.
Look up eSIM profile data from the provider by ICCID, eSIM transaction number,
Check live usage data for a specific eSIM profile from the provider.
Suspend an eSIM profile via the provider API and update the linked order
Unsuspend a previously suspended eSIM profile and update the linked order
Permanently revoke an eSIM profile and update the linked order status to
Add data to an existing eSIM profile. Creates a linked topup `Order` record,
Send an SMS message to an eSIM profile via the provider API
Fetch available topup plans for a specific eSIM from the provider. Applies
Notifications
3 endpointsPer-order customer notification history, manual resends, and a reseller-wide notification feed.
Get the full notification history for a specific order, sorted newest first
Manually resend a customer notification email for a specific order. Creates a
Get all customer notifications for the authenticated reseller's orders, with
Notification Preferences
3 endpointsRead, update, and reset the per-account notification and order-email preferences.
Get the authenticated user's notification preferences. For resellers, also
Update the authenticated user's notification preferences and/or order email
Reset the authenticated user's notification preferences to defaults (all
Emails
2 endpointsQueue branded broadcast emails to a source group of users, with a single-recipient test send.
Queue a broadcast email to be sent to all users in the specified source group.
Queue a test send of the broadcast email to a single address. Identical to
Reseller
19 endpointsThe reseller toolkit: profiles, custom pricing, logo + SMTP branding, onboarding status, your end-users, their orders, and an aggregated dashboard.
Get all reseller profiles for the authenticated reseller, sorted with the
Create a new reseller profile. All fields are optional — defaults are inferred
Get a specific reseller profile by ID. Profile must belong to the
Update an existing reseller profile. Profile must belong to the authenticated
Delete a reseller profile. The default profile cannot be deleted. Profile must
Get the reseller's onboarding completion status
Get pricing information for all active eSIM plans, showing the final price the
Create or update a custom pricing entry for a plan. Provide either
Get the reseller's custom pricing entry for a specific plan
Delete the reseller's custom pricing entry for a plan (reverts to default
Upload a logo image for reseller profile(s). Uses `multipart/form-data`
List all `mobile_user` accounts associated with this reseller (users where
Get details for a specific user associated with this reseller, including their
List all orders from users associated with this reseller. Supports filtering
Get aggregated dashboard statistics for the reseller's associated users and
Get the SMTP configuration for a reseller profile. Password is never
Update SMTP configuration for a reseller profile. When `use_custom_smtp =
Disable custom SMTP for a reseller profile and clear all stored SMTP
Test the SMTP connection for a reseller profile. Profile must have custom SMTP
Uploads
1 endpointsUpload a logo image for use on reseller-branded assets.
Upload a logo image file for the authenticated reseller. The file is saved to
Webhook Subscriptions
7 endpointsSubscribe to platform events, send test deliveries, and inspect delivery logs.
List all webhook subscriptions belonging to the authenticated user
Create a new webhook subscription. A test webhook (`webhook.health_check`) is
Get a specific webhook subscription by ID. Only the owner can access it
Update a webhook subscription. All fields are optional — only provided fields
Permanently delete a webhook subscription
Send a test `webhook.health_check` event to the subscription's endpoint
Get delivery logs for a specific webhook subscription
Need a hand integrating?
Our team helps resellers go live fast. Reach out and we will get you selling.