SKUs
A SKU represents a single coverage area. It can be a single country (e.g. Japan), a named group of countries (e.g. Asia 8 countries), or a continent-level region (e.g. Africa). SKUs are the top-level grouping for the catalog — you browse SKUs first, then look up the packages available within each SKU.SKU fields
| Field | Type | Description |
|---|---|---|
skuid | Integer | Unique identifier for the SKU. |
display | String | Human-readable name, e.g. "Japan", "Africa", "Asia 8 countries". |
countryCode | String | ISO country or region code associated with the SKU. |
Retrieving SKUs
Use one of the following endpoints depending on how you want to display the catalog:GET /api_esim/getSkus— returns a flat list of all SKUs.GET /api_esim/getSkuByGroup— returns SKUs grouped by continent: Asia, Europe, Africa, Latin America, North America, Oceania, and Common.
dpId assigned to your distribution partner account. The response lists only the SKUs that partner supports.
Packages (plans)
A package is a purchasable data plan within a SKU. It defines the data allowance, validity period, price, and behavior rules that govern the plan. When you place an order, you reference a specific package by itspriceid or apiCode.
Package fields
| Field | Type | Description |
|---|---|---|
priceid | Integer | Unique plan identifier. Pass this when placing an order. |
flows | Integer | Data amount (paired with unit). |
unit | String | Data unit: GB or MB. |
days | Integer | Plan validity in days from activation. |
price | Double | Cost of the plan. |
flowType | Integer | 0 = renewable plan, 1 = non-renewable plan. |
supportDaypass | Integer | DayPass behavior. See DayPass packages. |
minDay / maxDay | Integer | Valid range of days for DayPass orders. |
mustDate | Integer | 1 = a start date is required when placing the order. |
expireDays | Integer | 0 = plan activates immediately on SIM activation; non-zero = plan expires N days after the SIM is activated regardless of whether it was used. |
apiCode | String | Unique string identifier for the package, e.g. "40-0-3-1-G". Used for direct ordering. |
networkDtoList | Array | Supported network operators and types (3G, LTE, 5G). |
premark | String | Free-text plan description including APN, activation policy, and cancellation policy. |
Key fields explained
priceid vs apiCode — Both identify a package, but they are used differently. Use priceid when building a standard order flow from catalog results. Use apiCode when you need a stable, human-readable identifier for a package that you can hardcode or store externally without relying on integer IDs. See API code below.
mustDate — When this is 1, include a startDate parameter in your order request. The plan activates on that date rather than at the time of purchase.
expireDays — A non-zero value means the plan has a hard expiry window. For example, if expireDays is 30, the plan expires 30 days after the eSIM is first activated, even if the data is unused.
DayPass packages
A DayPass package lets you order a flexible number of days rather than a fixed plan. ThesupportDaypass field controls this behavior:
| Value | Meaning |
|---|---|
0 | Regular plan — the days field is fixed. |
1 | DayPass — you specify the number of days when ordering, within the minDay–maxDay range. |
2 | Enumerated — specific day counts are available rather than an open range. |
supportDaypass=1), include a days parameter in your order request set to the number of days you want, between minDay and maxDay inclusive. The plan’s total data and price are calculated proportionally.
API code
TheapiCode field is a string identifier for a package, for example "40-0-3-1-G". It is unique across the catalog and stable over time.
Use apiCode when you want to order a specific package directly without first browsing the catalog. Pass apiCode instead of priceid in your order request. This is useful when you have pre-negotiated specific plans with MIOeSIM and want to reference them by a known identifier in your integration.
Renewability
TheflowType field tells you whether a plan can be renewed after it expires:
| Value | Meaning |
|---|---|
0 | Renewable — the customer can purchase a follow-on plan for the same eSIM after the current plan ends. |
1 | Non-renewable — the plan cannot be extended. A new eSIM must be ordered for continued use. |
flowType before presenting a renewal option to your customers. Attempting to renew a non-renewable plan will return an error.
Understanding the premark field
Understanding the premark field
The
premark field is a free-text string returned on each package. It contains the plan’s operational details as provided by the carrier, including:- APN — the access point name the user must configure on their device, if required.
- Activation policy — conditions under which the plan activates (e.g. activates on first data use, activates on a specified date).
- Cancellation policy — whether the plan is refundable and under what conditions.
premark content to your customers before purchase, particularly the APN setting, since some carriers require manual APN configuration for the plan to work correctly.