> 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.md).

# eSIM API

## Overview

The eSIM API provides a fully API-driven flow for provisioning and managing eSIMs. It allows you to create B2C clients, allocate eSIMs, assign compatible data packages, retrieve activation QR codes, top up existing eSIMs, and release eSIMs when required.

### Base URL

```
https://esim-api.it-decision.com/api/v1
```

### Authentication

All API requests must be authorized using a valid Bearer token.

```
Authorization: Bearer <TOKEN>
```

### Provisioning Flow

To provision a new eSIM and deliver it to an end user, follow these steps:

1. Create a B2C Client — Create the customer account that will own the eSIM.
2. Get an Available eSIM — Select an unallocated eSIM.
3. Find Compatible Packages — Retrieve data packages available for the selected eSIM.
4. Assign eSIM + Package + Client — Allocate the eSIM and activate the selected package.
5. Retrieve the QR Code — Get the activation QR code and provide it to the end user.

### Guides

Choose a guide based on the operation you want to perform.

{% content-ref url="/pages/MRp0LeZgC8tfcVLwRJxw" %}
[Provision an eSIM](/esim-api/provision-an-esim.md)
{% endcontent-ref %}

{% content-ref url="/pages/B0kUB1PccZa4I2WhHunO" %}
[Top Up an eSIM](/esim-api/top-up-an-esim.md)
{% endcontent-ref %}

{% content-ref url="/pages/wYP8uVcjYPIXULHO3Zis" %}
[Remove a Package](/esim-api/remove-a-package.md)
{% endcontent-ref %}

{% content-ref url="/pages/6xQG1UZpEPoVprYuTAz0" %}
[Release an eSIM](/esim-api/release-an-esim.md)
{% endcontent-ref %}
