> ## Documentation Index
> Fetch the complete documentation index at: https://developers.mioesim.com/llms.txt
> Use this file to discover all available pages before exploring further.

# GET /api_esim/getPackages — List data plans for a SKU

> Fetch available data plans for an eSIM SKU. Returns flows, validity, price, priceid, apiCode, and network support — everything needed to place an order.

For a given SKU (from [List SKUs](/api-reference/get-skus)), this endpoint returns all purchasable data plans. Each plan object contains the `priceid` you need when calling [Place Order](/api-reference/place-order).

```
GET https://bpm.mioesim.com/api_esim/getPackages
```

## Request parameters

<ParamField query="token" type="string" required>
  Session token from [Login](/api-reference/login).
</ParamField>

<ParamField query="skuId" type="string" required>
  SKU identifier from [List SKUs](/api-reference/get-skus).
</ParamField>

<ParamField query="sign" type="string" required>
  Request signature. See [Authentication](/authentication).
</ParamField>

## Response fields

<ResponseField name="data" type="object">
  <Expandable title="data fields">
    <ResponseField name="skuid" type="integer">SKU identifier.</ResponseField>
    <ResponseField name="countrycode" type="string">Country code.</ResponseField>
    <ResponseField name="imageUrl" type="string">Product image URL.</ResponseField>
    <ResponseField name="display" type="string">Display name.</ResponseField>
    <ResponseField name="displayEn" type="string">English display name.</ResponseField>
    <ResponseField name="supportCountry" type="array">List of supported country names.</ResponseField>

    <ResponseField name="esimPackageDtoList" type="array">
      Array of available data plans.

      <Expandable title="Package fields">
        <ResponseField name="priceid" type="integer">**Use this when placing an order.** Unique plan price ID.</ResponseField>
        <ResponseField name="flows" type="integer">Data amount (in `unit`).</ResponseField>
        <ResponseField name="unit" type="string">`"GB"` or `"MB"`.</ResponseField>
        <ResponseField name="days" type="integer">Plan validity in days.</ResponseField>
        <ResponseField name="price" type="double">Plan price.</ResponseField>
        <ResponseField name="flowType" type="integer">`0` = renewable, `1` = non-renewable.</ResponseField>
        <ResponseField name="supportDaypass" type="integer">`0` = regular, `1` = DayPass (specify days), `2` = enumerated.</ResponseField>
        <ResponseField name="minDay" type="integer">Minimum days for DayPass orders.</ResponseField>
        <ResponseField name="maxDay" type="integer">Maximum days for DayPass orders.</ResponseField>
        <ResponseField name="mustDate" type="integer">`1` = start date required when ordering.</ResponseField>
        <ResponseField name="expireDays" type="integer">`0` = activates immediately; non-zero = expires N days after activation.</ResponseField>
        <ResponseField name="apiCode" type="string">Unique package code for direct ordering (e.g. `"40-0-3-1-G"`).</ResponseField>
        <ResponseField name="premark" type="string">Plan description: APN, activation policy, cancellation policy.</ResponseField>
        <ResponseField name="networkDtoList" type="array">Supported network operators and types.</ResponseField>
      </Expandable>
    </ResponseField>

    <ResponseField name="countryImageUrlDtoList" type="array">Country icon info (imageUrl, countryCode, name, nameEn).</ResponseField>
  </Expandable>
</ResponseField>

## Example

<CodeGroup>
  ```bash cURL theme={null}
  curl "https://bpm.mioesim.com/api_esim/getPackages?token=YOUR_TOKEN&skuId=45&sign=YOUR_SIGN"
  ```

  ```json Success theme={null}
  {
    "code": "0",
    "message": "success",
    "data": {
      "skuid": 45,
      "countrycode": "40",
      "displayEn": "Austria",
      "esimPackageDtoList": [
        {
          "flows": 1,
          "days": 3,
          "unit": "GB",
          "price": 2.66,
          "priceid": 441,
          "flowType": 0,
          "supportDaypass": 0,
          "minDay": 3,
          "maxDay": 30,
          "mustDate": 0,
          "expireDays": 0,
          "apiCode": "40-0-3-1-G",
          "premark": "Plan type: Data only\nAPN: internet\nActivation Policy: Validity starts when eSIM connects to a supported network.\nCancellation policy: Cannot cancel after install.",
          "networkDtoList": [
            { "type": "LTE", "operator": "A1.net", "nameen": "Austria" }
          ]
        }
      ],
      "supportCountry": ["Austria"]
    }
  }
  ```

  ```json Error theme={null}
  { "code": -2, "message": "params is not null", "data": "" }
  ```
</CodeGroup>

<Tip>
  Save the `priceid` from the plan you want to purchase — you'll need it for the `priceId` parameter when calling [Place Order](/api-reference/place-order).
</Tip>
