API reference

Retrieve an eSIM

Installation details for a single eSIM: QR code, activation code and SM-DP+ address.

GEThttps://app.journeystack.co/api/public/v1/esims/{id}

Path parameters

FieldTypeDescription
idrequireduuideSIM ID from an order.

Request

cURL
curl "https://app.journeystack.co/api/public/v1/esims/<id>" \
  -H "Authorization: Bearer $JS_KEY"

Response

200 OK
{ "data": {
    "id": "9ac2d51b-8f2e-4d6e-b0a1-6c5f0d9a3b77",
    "plan_name": "Singapore Unlimited",
    "iccid": "8944478000123456789",
    "qr_code_url": "https://api.qrserver.com/v1/create-qr-code/?size=400x400&data=LPA%3A1%24sandbox.journeystack.co%24A1B2C3D4E5",
    "activation_code": "LPA:1$sandbox.journeystack.co$A1B2C3D4E5",
    "smdp_address": "sandbox.journeystack.co",
    "status": "ALLOCATED",
    "validity_days": 7,
    "data": { "unlimited": true, "total_bytes": null, "used_bytes": 0 },
    "install": { "instructions": "On the device go to Settings > Cellular / Mobile Data > Add eSIM, then scan the QR code or enter the activation code manually." },
    "created_at": "2026-01-14T09:31:02.114Z"
  } }

Selected response fields

FieldTypeDescription
activation_codestringLPA string. Everything a device needs, with or without the QR image.
smdp_addressstring|nullSM-DP+ server for manual installation.
statusstringPROVISIONING, ALLOCATED, INSTALLED, IN_USE, EXPIRED or DELETED.

Errors

CodeHTTPWhat to do
unauthorized401Check the Authorization header and that the key is still active in your portal.
not_found404Re-fetch the ID. Plans return not_found once they are retired from the catalogue.
rate_limited429Honour `Retry-After` (60 seconds) and back off. Ask support for a higher limit.

Sandbox console

Run this endpoint against the sandbox with your own test key. Nothing is provisioned on the live network and no real money moves.

Try it

/api/public/v1/esims/%7Bid%7D