API reference

Retrieve an order

The order with every eSIM it issued — use this to re-deliver a QR code.

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

Path parameters

FieldTypeDescription
idrequireduuidOrder ID returned by POST /orders.

Request

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

Response

200 OK
{ "data": {
    "id": "b1f0a3c9-70d2-4b55-9a3f-4f2e1c8d9a10",
    "status": "completed",
    "environment": "sandbox",
    "plan_id": "0f4c1c2e-6f8a-4a09-9f0d-2f1b8c7d5e41",
    "quantity": 1,
    "days": 7,
    "price": { "unit": 17.15, "total": 17.15, "currency": "USD" },
    "customer": { "name": "Ada Lovelace", "email": "ada@example.com", "reference": "BK-90210" },
    "error": null,
    "created_at": "2026-01-14T09:31:01.880Z",
    "esims": [{
        "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"
      }]
  } }

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/orders/%7Bid%7D