Download OpenAPI specification:
Server-to-Server API for automated partner integrations with digital goods distribution platform.
{- "success": true,
- "data": {
- "partner": {
- "uuid": "a3c3c002-1bcc-4593-bf39-e591c1d22cf0",
- "name": "Partner Name",
- "email": "partner@example.com",
- "currency": "USD",
- "is_active": true,
- "balance": {
- "balance": -58.18,
- "currency": "USD",
- "reserved_amount": 0,
- "available_balance": 41.82,
- "allow_overdraft": true,
- "overdraft_limit": 100,
- "is_overdrafted": true
}
}
}
}{- "success": true,
- "data": {
- "balance": -29.09,
- "currency": "USD",
- "reserved_amount": 0,
- "available_balance": 70.91,
- "allow_overdraft": true,
- "overdraft_limit": 100,
- "is_overdrafted": true
}
}Paginated balance transaction history
| cursor | string Pagination cursor from meta.next_cursor |
| per_page | integer [ 1 .. 100 ] Default: 50 Items per page (max 100) |
{- "success": true,
- "data": [
- {
- "type": "charge",
- "amount": -29.09,
- "balance_after": -58.18,
- "currency": "USD",
- "created_at": "2026-02-24T11:37:58+00:00",
- "order_id": "12161770-8560-4377-9795-e8a70aaceb07",
- "payment_method": null,
- "fee_amount": 0,
- "original_amount": null,
- "original_currency": null,
- "exchange_rate": null
}, - {
- "type": "topup",
- "amount": 500,
- "balance_after": 441.82,
- "currency": "USD",
- "created_at": "2026-02-23T11:37:58+00:00",
- "order_id": null,
- "payment_method": "bank_transfer",
- "fee_amount": 0,
- "original_amount": null,
- "original_currency": null,
- "exchange_rate": null
}
], - "meta": {
- "next_cursor": "eyJjcmVhdGVkX2F0IjoiMjAyNi0wMi0yMyAxMTozNzo1OCIsIl9wb2ludHNUb05leHRJdGVtcyI6dHJ1ZX0",
- "prev_cursor": null,
- "per_page": 50
}
}Get paginated product list with optional filters
| locale | string Enum: "en" "ru" Example: locale=en Locale for translations (defaults to partner's locale) |
| cursor | string Pagination cursor from previous response |
| per_page | integer <= 200 Default: 100 Items per page |
| category_id | integer Filter by category |
| type | string Enum: "voucher" "recharge_fixed" "recharge" "voucher_open_range" "esim" "other" Filter by product type |
| include_skus | boolean Default: false Include SKU list (without pricing) |
{- "success": true,
- "data": [
- {
- "id": "019bc0dd-8423-739c-a557-5387d900152b",
- "name": "Apple gift card | USA",
- "type": "voucher",
- "denomination_type": "fixed",
- "category": {
- "id": 18,
- "name": "Test"
}, - "description": "<p>With the credit from a gift card, you can get music, movies, TV shows, apps, books, audiobooks, Apple Music memberships and more.</p>",
- "image": "",
- "attributes": {
- "digital_acceptance": "online"
}, - "fields": [ ],
- "skus": [
- {
- "id": "019bc0dd-8434-7246-a0fa-a8a29b88eeee",
- "name": "$2 Apple Gift Card",
- "image": "",
- "attributes": {
- "denomination": "2",
- "denomination_currency": "USD"
}
}, - {
- "id": "019bc0dd-844e-726d-af0a-24187668feef",
- "name": "$3 Apple Gift Card",
- "image": "",
- "attributes": {
- "denomination": "3",
- "denomination_currency": "USD"
}
}
]
}
], - "meta": {
- "next_cursor": "eyJpZCI6MTIzLCJfcG9pbnRzVG9OZXh0SXRlbXMiOnRydWV9",
- "prev_cursor": null,
- "per_page": 100
}
}Get product with SKUs, pricing and stock information
| uuid required | string <uuid> |
| locale | string Enum: "en" "ru" Example: locale=en Locale for translations (defaults to partner's locale) |
{- "success": true,
- "data": {
- "id": "019bc0dd-8423-739c-a557-5387d900152b",
- "name": "Apple gift card | USA",
- "type": "voucher",
- "denomination_type": "fixed",
- "category": {
- "id": 18,
- "name": "Test"
}, - "description": "<p>With the credit from a gift card, you can get music, movies, TV shows, apps, books, audiobooks, Apple Music memberships and more.</p>",
- "image": "",
- "attributes": {
- "digital_acceptance": "online"
}, - "skus": [
- {
- "id": "019bc0dd-8434-7246-a0fa-a8a29b88eeee",
- "name": "$2 Apple Gift Card",
- "price": 2.2,
- "currency": "USD",
- "stock": 100,
- "max_per_order": 1,
- "image": "",
- "attributes": {
- "denomination": "2",
- "denomination_currency": "USD"
}
}, - {
- "id": "019bc0dd-844e-726d-af0a-24187668feef",
- "name": "$3 Apple Gift Card",
- "price": 3.3,
- "currency": "USD",
- "stock": 50,
- "max_per_order": 1,
- "image": "",
- "attributes": {
- "denomination": "3",
- "denomination_currency": "USD"
}
}
]
}
}SKU prices and stock status
| locale | string Enum: "en" "ru" Example: locale=en Locale for translations (defaults to partner's locale) |
| cursor | string |
| per_page | integer <= 200 Default: 100 |
| category_id | integer |
| type | string Enum: "voucher" "recharge_fixed" "esim" |
{- "success": true,
- "data": [
- {
- "sku_id": "019bc0dd-8434-7246-a0fa-a8a29b88eeee",
- "denomination_type": "fixed",
- "price": 2.2,
- "currency": "USD",
- "stock": 100,
- "max_per_order": 1
}, - {
- "sku_id": "019bc0dd-844e-726d-af0a-24187668feef",
- "denomination_type": "fixed",
- "price": 3.3,
- "currency": "USD",
- "stock": 50,
- "max_per_order": 1
}, - {
- "sku_id": "019d732c-57c0-739a-8a38-b767229f881f",
- "denomination_type": "custom",
- "currency": "AED",
- "stock": 9999,
- "max_per_order": 99,
- "markup_percent": -2,
- "markup_fixed": 0,
- "rate": 0.272
}
], - "meta": {
- "next_cursor": "eyJpZCI6MTIzLCJfcG9pbnRzVG9OZXh0SXRlbXMiOnRydWV9",
- "prev_cursor": null,
- "per_page": 100
}
}Available categories with attributes
| locale | string Enum: "en" "ru" Example: locale=en Locale for translations (defaults to partner's locale) |
| target | string Enum: "product" "sku" Filter attributes by target |
{- "success": true,
- "data": [
- {
- "id": 0,
- "name": "string",
- "parent_id": 0,
- "attributes": [
- {
- "code": "string",
- "name": "string",
- "type": "text",
- "target": "product"
}
]
}
]
}Get order history with filters
| cursor | string |
| per_page | integer <= 100 Default: 50 |
| status | string Enum: "created" "processing" "completed" "cancelled" "failed" "partially_completed" |
| external_id | string Search by your order ID |
| date_from | string <date-time> Example: date_from=2025-01-01T00:00:00Z |
| date_to | string <date-time> Example: date_to=2025-01-31T23:59:59Z |
{- "success": true,
- "data": [
- {
- "id": "7898e683-4e56-44a3-9782-eca3f758a844",
- "external_id": "ORD-12345",
- "status": "completed",
- "total_amount": 29.09,
- "currency": "USD",
- "metadata": null,
- "created_at": "2026-01-15T11:54:29+00:00",
- "items": [
- {
- "sku_id": "019bc0dd-8562-7173-afd9-a5cc534fafb7",
- "sku_name": "$30 Apple Gift Card",
- "quantity": 1,
- "price": 29.09,
- "currency": "USD",
- "status": "completed",
- "delivery_data": [
- {
- "pin": "9b329e7e9764a41cf516e7e716035c2e",
- "expiration": null,
- "serialNumber": ""
}
], - "customer_data": null,
- "error_message": null
}
]
}
], - "meta": {
- "next_cursor": null,
- "prev_cursor": null,
- "per_page": 50
}
}Create new order. Requires HMAC-SHA256 signature for S2S authentication.
X-Timestamp header is requiredX-Signature header is requiredAuthorization: Bearer {s2s_token} is requiredmessage = timestamp + sku_id + external_id
signature = HMAC-SHA256(message, partner_secret)
Where timestamp is the value from X-Timestamp header (Unix integer),
sku_id is item.sku_id from request body, external_id is external_id from request body.
Example:
timestamp = "1768478058"
sku_id = "019bc0dd-8562-7173-afd9-a5cc534fafb7"
external_id = "ORD-12345"
message = "1768478058019bc0dd-8562-7173-afd9-a5cc534fafb7ORD-12345"
signature = hmac_sha256(message, partner_secret)
partner_secret from your partner settings (not the API token!)| X-Timestamp required | integer Example: 1768478058 Unix timestamp (tolerance ±5 minutes) |
| X-Signature required | string Example: 13fbd7a9a501ea39aeec861a27158dfa00c491aa657798adac8ed9b2066a6fa2 HMAC-SHA256 signature (hex) |
| external_id required | string Your unique order identifier |
required | object |
| metadata | object or null Custom metadata for your records |
{- "external_id": "ORD-12345",
- "item": {
- "sku_id": "019bc0dd-8562-7173-afd9-a5cc534fafb7",
- "fields": {
- "quantity": 1
}
}
}{- "success": true,
- "message": "Order created successfully",
- "data": {
- "id": "12161770-8560-4377-9795-e8a70aaceb07",
- "external_id": "ORD-12345",
- "status": "completed",
- "total_amount": 29.09,
- "currency": "USD",
- "metadata": null,
- "created_at": "2026-01-15T12:58:23+00:00",
- "items": [
- {
- "sku_id": "019bc0dd-8562-7173-afd9-a5cc534fafb7",
- "sku_name": "$30 Apple Gift Card",
- "quantity": 1,
- "price": 29.09,
- "currency": "USD",
- "status": "completed",
- "delivery_data": [
- {
- "pin": "8f8649ff5c017b31869c99a37749d0d6",
- "expiration": null,
- "serialNumber": ""
}
], - "customer_data": null,
- "error_message": null
}
]
}
}Get order by UUID
| uuid required | string <uuid> Example: 7898e683-4e56-44a3-9782-eca3f758a844 Order UUID |
{- "success": true,
- "data": {
- "id": "7898e683-4e56-44a3-9782-eca3f758a844",
- "external_id": "ORD-12345",
- "status": "completed",
- "total_amount": 29.09,
- "currency": "USD",
- "metadata": null,
- "created_at": "2026-01-15T11:54:29+00:00",
- "items": [
- {
- "id": 1,
- "sku_id": "019bc0dd-8562-7173-afd9-a5cc534fafb7",
- "sku_name": "$30 Apple Gift Card",
- "quantity": 1,
- "price": 29.09,
- "currency": "USD",
- "status": "completed",
- "delivery_data": [
- {
- "pin": "9b329e7e9764a41cf516e7e716035c2e",
- "expiration": null,
- "serialNumber": ""
}
], - "customer_data": null,
- "error_message": null
}
]
}
}Add a new data package to an existing eSIM by creating a top-up order.
This endpoint creates a regular order that recharges an existing eSIM instead of creating a new one.
X-Timestamp header is requiredX-Signature header is requiredAuthorization: Bearer {s2s_token} is requiredIMPORTANT: Top-up signature uses ICCID instead of SKU ID.
message = timestamp + iccid + external_id
signature = HMAC-SHA256(message, partner_secret)
Where:
timestamp is the value from X-Timestamp header (Unix integer)iccid is the ICCID from URL pathexternal_id is from request bodyExample:
timestamp = "1768478058"
iccid = "8944422711108338982"
external_id = "topup-12345"
message = "17684780588944422711108338982topup-12345"
signature = hmac_sha256(message, partner_secret)
can_renew: true status (check via /services/esim/{iccid}/status)external_id must be unique across all your orders/orders endpointsku_uuid is not provided, uses the same SKU as original eSIM purchase| iccid required | string Example: 8944422711108338982 eSIM ICCID to top-up |
| X-Timestamp required | integer Example: 1768478058 Unix timestamp (tolerance ±5 minutes) |
| X-Signature required | string Example: 13fbd7a9a501ea39aeec861a27158dfa00c491aa657798adac8ed9b2066a6fa2 HMAC-SHA256 signature (hex, lowercase) |
| external_id required | string Your unique order identifier |
| sku_uuid | string <uuid> SKU UUID for the data package to add. Optional - if not provided, uses the same SKU as the original eSIM purchase. |
{- "external_id": "topup-12345",
- "sku_uuid": "029bc0dd-8562-7173-afd9-a5cc534fafb8"
}{- "success": true,
- "message": "Top-up order created successfully",
- "data": {
- "id": "42161770-8560-4377-9795-e8a70aaceb10",
- "external_id": "topup-12345",
- "status": "completed",
- "total_amount": 15,
- "currency": "USD",
- "metadata": null,
- "created_at": "2026-01-15T14:30:00+00:00",
- "items": [
- {
- "sku_id": "029bc0dd-8562-7173-afd9-a5cc534fafb8",
- "sku_name": "10GB Europe Data",
- "quantity": 1,
- "price": 15,
- "currency": "USD",
- "status": "completed",
- "delivery_data": [
- {
- "iccid": "8944422711108338982",
- "status": "recharged",
- "message": "Package successfully added to existing eSIM"
}
], - "customer_data": {
- "iccid": "8944422711108338982",
- "quantity": 1
}, - "error_message": null
}
]
}
}Get current status, data balance, and details for an eSIM by ICCID.
| iccid required | string Example: 8944422711108338982 eSIM ICCID (unique identifier) |
{- "success": true,
- "data": {
- "esim_id": "6c4045e5-e041-400e-ada1-b5320e20f01d",
- "iccid": "8944422711108338982",
- "status": "Installed",
- "qr_code": "LPA:1$rsp-3104.idemia.io$ABC-123-DEF",
- "can_renew": true,
- "last_bundle": "10GB Global Data",
- "data_balance": {
- "total_gb": 10,
- "remaining_gb": 8.5,
- "unit": "GB"
}, - "active_packages": [
- {
- "id": "pkg_123",
- "name": "10GB Europe Data",
- "data_total": 10,
- "data_remaining": 8.5,
- "data_unit": "GB",
- "activated_at": "2026-01-15T10:00:00Z",
- "expires_at": "2026-02-15T10:00:00Z",
- "status": "active"
}
], - "coverage": [
- {
- "country_name": "United Arab Emirates",
- "country_code": "AE",
- "network_name": "Etisalat"
}, - {
- "country_name": "United Kingdom",
- "country_code": "GB",
- "network_name": "Vodafone"
}
]
}
}Configure your webhook URL in partner settings. The system will send HTTP POST requests to that URL on order events.
Every webhook request includes two headers for authenticity verification:
X-Timestamp — Unix timestamp (seconds)X-Signature — HMAC-SHA256 signatureSignature calculation:
message = timestamp + event + idempotency_key
signature = HMAC-SHA256(message, partner_secret)
Where event and idempotency_key are top-level fields from the webhook JSON body.
Timestamp tolerance is ±5 minutes.
Each webhook includes a unique idempotency_key (UUID). Use it to safely
handle duplicate deliveries — the same event may be retried up to 3 times
with exponential backoff (10s, 100s) if your server doesn't return HTTP 2xx.
Your endpoint must return HTTP 2xx within 10 seconds. Non-2xx responses or timeouts are treated as failures and trigger retries.
Sent when an order reaches status: completed, failed or partially_completed.
| event | string Value: "order.status_changed" |
| timestamp | string <date-time> ISO 8601 timestamp of when the event occurred |
| idempotency_key | string <uuid> Unique key for this delivery — use to safely deduplicate retries |
object |
{- "event": "order.status_changed",
- "timestamp": "2026-01-15T12:58:23+00:00",
- "idempotency_key": "550e8400-e29b-41d4-a716-446655440000",
- "data": {
- "order": {
- "id": "12161770-8560-4377-9795-e8a70aaceb07",
- "external_id": "ORD-12345",
- "status": "completed",
- "total_amount": 29.09,
- "currency": "USD",
- "completed_at": "2026-01-15T12:58:23+00:00",
- "items": [
- {
- "sku_id": "019bc0dd-8562-7173-afd9-a5cc534fafb7",
- "quantity": 1,
- "price": 29.09,
- "status": "completed",
- "delivery_data": [
- {
- "pin": "ABCD-EFGH-IJKL-MNOP",
- "serial_number": "VOUCHER123456",
- "expiration_date": "2027-01-15"
}
]
}
]
}
}
}