API reference
Retrieve an order
The order with every eSIM it issued — use this to re-deliver a QR code.
GET
https://app.journeystack.co/api/public/v1/orders/{id}Path parameters
| Field | Type | Description |
|---|---|---|
idrequired | uuid | Order 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
| Code | HTTP | What to do |
|---|---|---|
| unauthorized | 401 | Check the Authorization header and that the key is still active in your portal. |
| not_found | 404 | Re-fetch the ID. Plans return not_found once they are retired from the catalogue. |
| rate_limited | 429 | Honour `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.