---
title: "Configure eSIM"
method: POST
path: "/devices/{deviceId}/esim"
tags: ["Tools/SIM"]
---

# Configure eSIM

`POST /devices/{deviceId}/esim`

Download profile and/or enable subscription.

## Path parameters

- `deviceId` string, required

## Headers

- `X-Device-Display-ID` integer

## Request body

- ConfigureESimBody
  - `$schema` string, uri — A URL to the JSON Schema for this object.
  - `confirmationCode` string — Optional carrier-issued confirmation code (the 4th LPA segment). Required only for plans whose SM-DP+ challenges the device for one. Requires matchingId — the LPA spec only interprets segment 4 when segment 3 is present.
  - `enable` boolean, required
  - `matchingId` string
  - `smDpAddr` string, required

## Response `200`

OK

- ESimSubscription
  - `$schema` string, uri — A URL to the JSON Schema for this object.
  - `carrier` string, required
  - `displayName` string, required
  - `iccid` string, required
  - `isEmbedded` boolean, required
  - `slot` integer, required
  - `subId` integer, required
  - `type` string, required

## Other responses

- `default` — Error

## Changes

- **2026-07-07** `d5d1e5ee8188` — 2 info
  - api tag `Tools/SIM` added
  - api tag `Tools` removed
- **2026-06-29** `3cb3612f45e0` — 1 info
  - endpoint added
- **2026-06-29** `8ea6db3daeac` — 1 breaking
  - api path removed without deprecation
- **2026-05-18** `8310bf202c36` — 2 info
  - added the new optional request property `confirmationCode`
  - the request property `matchingId` became optional
- **2026-05-11** `12719a46e639` — 2 info
  - api tag `Tools` added
  - api tag `tools` removed

[Change history](https://skmtc.dev/droidrun/apis/droidrun-cloud/changes/devices/:deviceId/esim/post.md)

---

[API](https://skmtc.dev/droidrun/apis/droidrun-cloud.md) · [All operations](https://skmtc.dev/droidrun/apis/droidrun-cloud/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/droidrun/droidrun-cloud/revisions/b6fd8aed4bf4/schema)
