Docs
API Overview

API Overview

Platform Vendor API - Deliver eSIM data packages via HTTP API

Vendor API

Deliver eSIM data plan packages via the Platform HTTP API. The API contract is 1:1 compatible with eSIM Provider API.

Quick Start

  1. Create a vendor account at Platform
  2. Top up your wallet for testing and ordering
  3. Copy your Access Code and Secret Key from the dashboard
  4. Make your first API call:
curl --location --request POST 'https://your-api-domain.com/api/v1/open/balance/query' \
--header 'RT-AccessCode: YOUR_ACCESS_CODE' \
--header 'RT-SecretKey: YOUR_SECRET_KEY' \
--data ''
curl -Uri "https://your-api-domain.com/api/v1/open/balance/query" `
     -Method POST `
     -Headers @{"RT-AccessCode"="YOUR_ACCESS_CODE"; "RT-SecretKey"="YOUR_SECRET_KEY"} `
     -Body ""

Base URL

Production: https://your-api-domain.com

Image Assets: https://static.redteago.com/

Authentication

All API requests require authentication via the RT-AccessCode and RT-SecretKey headers.

HeaderRequiredDescription
RT-AccessCodeYesYour vendor access code from dashboard
RT-SecretKeyYesYour vendor secret key from dashboard
RT-RequestIDNoUnique request ID for idempotency
RT-TimestampNoUnix timestamp in milliseconds
--header 'RT-AccessCode: YOUR_ACCESS_CODE' \
--header 'RT-SecretKey: YOUR_SECRET_KEY'

Both RT-AccessCode and RT-SecretKey are required for all API requests. Keep your secret key confidential and never expose it in client-side code.

Standards

  • Time codes: UTC timezone
  • Country codes: Alpha-2 ISO (e.g., US, JP, TH)
  • Data values: Bytes (e.g., 1GB = 1073741824 bytes)
  • Currency: USD, price values * 10,000 (e.g., $1.00 = 10000)

Rate Limit

8 API requests per second are allowed per vendor account.

Error Codes

General Errors

CodeMessage
000001Server error
000101Request header (mandatory) is null
000102Wrong request header format
000103This HTTPS request method (GET/POST) is not supported
000104Request in invalid JSON format
000105Request parameters (mandatory) are not contained
000106Request parameter (mandatory) is null
000107The length of the request parameter does not meet the requirement

Authentication Errors

CodeMessage
101001The timestamp of the request has expired
101002This IP is in the blocklist
101003Request signature mismatch

Order Errors

CodeMessage
200002This operation is not allowed due to the order status
200005Package price error. Check price
200006Total order price amount is wrong. Check prices
200007Insufficient account balance
200008Order parameters error, please contact customer service
200009Abnormal order status
200010Profile is being downloaded for the order
200011Insufficient available Profiles for the package

Resource Errors

CodeMessage
310201The bundle.code does not exist
310211The data_plan_location.id does not exist
310221The currencyId does not exist
310231The carrierId does not exist
310241The packageCode does not exist
310243The package does not exist
310251The vendor does not exist
310272The orderNo does not exist
310403The ICCID does not exist in the order

System Errors

CodeMessage
900001The system is busy, please try again later

API Endpoints

CategoryEndpointDescription
PackagesPOST /package/listGet available data packages
OrdersPOST /esim/orderOrder eSIM profiles
QueryPOST /esim/queryQuery allocated profiles
Profile ManagementVariousCancel, Suspend, Unsuspend, Revoke
BalancePOST /balance/queryCheck wallet balance
Top UpPOST /esim/topupAdd data to existing eSIM
WebhooksPOST /webhook/saveConfigure webhook notifications
SMSPOST /esim/sendSmsSend SMS to eSIM
UsagePOST /esim/usage/queryCheck data usage
RegionsPOST /location/listGet supported regions