> For the complete documentation index, see [llms.txt](https://en-api.decisiontele.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://en-api.decisiontele.com/esim-api/top-up-an-esim.md).

# Top Up an eSIM

### Overview

An existing eSIM can have multiple packages assigned simultaneously. This allows customers to purchase additional data without replacing or reinstalling the eSIM profile.

### 1. Find Compatible Packages

Retrieve available packages for the existing eSIM.

#### Request

POST /api/v1/esims/find-packages

```
curl --location "https://esim-api.it-decision.com/api/v1/esims/find-packages" \
--header "Content-Type: application/json" \
--header "Authorization: Bearer <TOKEN>" \
--data '{
  "esims": [
    "<ESIM_ID>"
  ]
}'
```

#### Result

The response returns a list of compatible packages available for the selected eSIM. Select the desired packageId.

### 2. Assign the New Package

Assign the selected package to the existing eSIM.

#### Request

POST /api/v1/esims/add-esims

```
curl --location "https://esim-api.it-decision.com/api/v1/esims/add-esims" \
--header "Content-Type: application/json" \
--header "Authorization: Bearer <TOKEN>" \
--data '{
  "esims": [
    "<ESIM_ID>"
  ],
  "packages": [
    "<PACKAGE_ID>"
  ],
  "client": "<CLIENT_ID>"
}'
```

#### Response

204 No Content

#### Result

The new package is associated with the existing eSIM.

{% hint style="info" %}
No new eSIM profile or QR code is required. The customer continues using the same installed eSIM, and additional connectivity becomes available according to the assigned package rules.
{% endhint %}
