---
title: "Get a single eSIM order by id"
method: GET
path: "/esims/{id}"
tags: ["eSIM"]
---

# Get a single eSIM order by id

`GET /esims/{id}`

## Request

- Base URL: `https://dashboard.voidmob.com/api/v1`
- URL: `https://dashboard.voidmob.com/api/v1/esims/{id}`
- Auth: HTTP bearer

## Path parameters

- `id` string, required

## Response `200`

The eSIM order.

- EsimEnvelope
  - `success` true, required
  - `data` object, required
    - `esim` EsimResource, required
      - `id` string, required: Public eSIM order identifier (prefixed `esim_`).
      - `status` 'processing' | 'completed' | 'cancelled' | 'refunded' | 'expired', required: Current lifecycle state of the eSIM order.
      - `product_id` string, nullable, required: Public product id this order was placed for (prefixed `prod_`). Null for legacy orders.
      - `is_topup` boolean, required: Whether this order is a data topup on an existing eSIM.
      - `parent_order_id` string, nullable, required: Public id of the parent eSIM order when `is_topup` is true. Null for primary orders.
      - `iccid` string, nullable, required: ICCID (SIM card identifier). Present on primary completed orders; null for topups and processing orders.
      - `activation_code` string, nullable, required: SM-DP+ matching ID used by the device to install the profile. Combine with `smdp_address` to form the full LPA URI: `LPA:1$<smdp_address>$<activation_code>`. The PNG returned from `qr_code_url` already encodes the full URI for direct scanning. Null for topups and processing orders.
      - `qr_code_url` string, nullable, required: URL to a PNG image of the activation QR code. Null for topups and orders that have not completed. Cache aggressively - this URL is stable for the lifetime of the eSIM.
      - `smdp_address` string, nullable, required: SM-DP+ server hostname. Combine with `activation_code` to build the LPA URI for manual activation. Null for topups and processing orders.
      - `data_limit_gb` number, nullable, required: Data allowance in GB. Null when `data_unlimited` is true.
      - `data_unlimited` boolean, required: Whether this plan includes unlimited data.
      - `validity_days` integer, required: Plan validity in days from activation.
      - `countries` string[], required: ISO-3166-1 alpha-2 country codes (uppercase) where the plan is usable.
      - `routing_location` string, nullable, required: Network routing hint for this eSIM (e.g. country where its data egresses). Informational only.
      - `charged_price_cents` integer, required: Amount deducted from the wallet for this order in USD cents.
      - `currency` 'USD', required
      - `created_at` string, date-time, required: ISO 8601 timestamp when the order was placed.
      - `completed_at` string, date-time, nullable, required: ISO 8601 timestamp when the eSIM was fully provisioned. Null until status is `completed`.
      - `expires_at` string, date-time, nullable, required: ISO 8601 timestamp when the eSIM plan expires. Null until the eSIM is activated.

## Other responses

- `401`: 401 - Authentication required.
- `404`: 404 - eSIM not found.
- `429`: 429 - Rate limit exceeded. Retry after the indicated interval.
- `500`: 500 - An unexpected error occurred. Please try again.

---

[API](https://skmtc.dev/voidmob/apis/voidmob-public-api.md) · [All operations](https://skmtc.dev/voidmob/apis/voidmob-public-api/llms.txt) · [OpenAPI document](https://skmtc.dev/voidmob/apis/voidmob-public-api/revisions/066023313ebe?raw)
