FX-Port API
eSIMs

Setup & installation instructions

Retrieve QR code, APN, and installation instructions for a booking or ICCID.

Setup instructions by booking

GET /api/v1/esims/bookings/{booking_id}/setup-instructions

Permission: Read

Returns the original order/SIM payload as JSON — QR code, APN settings, manual/QR install steps, and agency-facing pricing — for display on your own confirmation or setup page.

curl --request GET \
  --url https://api.fx-port.com/api/v1/esims/bookings/FX-1787835379756/setup-instructions \
  --header 'Authorization: Bearer fxp_test_YOUR_KEY'

Response example

{
  "success": true,
  "data": {
    "code": "20260827-088478",
    "currency": "EUR",
    "package_id": "elan-7days-1gb",
    "type": "sim",
    "validity": 7,
    "package": "Élan-1 GB - 7 days",
    "data": "1 GB",
    "price": 9.52,
    "manual_installation": "<p><b>eSIM name:</b> Élan</p><p><b>Coverage:</b> France</p>...",
    "qrcode_installation": "<p><b>eSIM name:</b> Élan</p><p><b>Coverage:</b> France</p>...",
    "installation_guides": { "en": "https://..." },
    "sims": [
      {
        "iccid": "8900000338153738419",
        "lpa": "lpa.example.com",
        "qrcode": "LPA:1$lpa.example.com$...",
        "qrcode_url": "https://...",
        "apn_type": "automatic",
        "apn_value": "N/A",
        "apn": { "ios": { "apn_type": "automatic", "apn_value": "N/A" }, "android": { "apn_type": "automatic", "apn_value": "N/A" } }
      }
    ]
  }
}

Installation instructions by ICCID

GET /api/v1/esims/instructions/{iccid}

Permission: Read

Structured, step-by-step installation instructions per platform for a single ICCID, localized by ?locale=.

curl --request GET \
  --url 'https://api.fx-port.com/api/v1/esims/instructions/8900000338153738419?locale=en' \
  --header 'Authorization: Bearer fxp_test_YOUR_KEY'

Response example

{
  "success": true,
  "data": {
    "data": {
      "instructions": {
        "language": "EN",
        "ios": [
          {
            "version": "15.0,14.0,13.0,12.0",
            "direct_apple_installation_url": "https://esimsetup.apple.com/esim_qrcode_provisioning?carddata=...",
            "installation_via_qr_code": {
              "steps": {
                "1": "Go to \"Settings\", tap \"Cellular/Mobile Data\", then tap \"Add Cellular/Data Plan\" on your device.",
                "2": "Scan the QR code, then tap \"Add Cellular/Data Plan\".",
                "3": "Choose a label for your new eSIM plan."
              }
            }
          }
        ],
        "android": ["... same shape, per-manufacturer steps ..."]
      }
    }
  }
}

Sending instructions directly to the traveler

You don't have to relay the QR code yourself: pass email on Create eSIM order or Create eSIM topup and the supplier emails the QR code and installation steps directly to that address as soon as the order/topup is confirmed. This is the recommended flow whenever you have the traveler's own email — use the endpoints on this page only when you need to render the QR code or instructions inside your own product instead.

On this page