API reference
Overview
Ten endpoints, one bearer token, one JSON envelope. Every page in this section documents a single endpoint end to end.
Endpoints
GET
/pingConfirms your key works and tells you which environment it belongs to.GET/plansReturns the catalogue you can sell, priced at your tier in your account currency.GET/plans/{id}Full plan detail, including the mobile networks the eSIM can roam on.POST/ordersBuys one or more eSIMs, debits your prepaid balance and returns the installable eSIM.GET/ordersYour orders in the current environment, newest first.GET/orders/{id}The order with every eSIM it issued — use this to re-deliver a QR code.GET/esims/{id}Installation details for a single eSIM: QR code, activation code and SM-DP+ address.GET/esims/{id}/usageData consumed and remaining for one eSIM.GET/walletYour prepaid balance in the current environment.GET/wallet/transactionsEvery credit, debit and refund against your balance, newest first.Conventions
- Base URL: https://app.journeystack.co/api/public/v1. The API key selects sandbox or live.
- Successful responses wrap the payload in a data property. Lists add a pagination object.
- Pagination is page and limit, 1-based, limit capped at 100.
- All money is a number in your account currency, rounded to two decimals.
- All timestamps are ISO 8601 in UTC.
- IDs are UUIDs and are stable for the life of the record.
- POST /orders accepts an Idempotency-Key header and returns Idempotent-Replay: true on a replay.
OpenAPI
The machine-readable contract is generated from the same definitions these pages render, so it always matches the implementation. Point your client generator at it.
bash
curl -s https://app.journeystack.co/api/public/v1/openapi.json -o journeystack.json
# generate a typed client, for example
npx openapi-typescript journeystack.json -o src/journeystack.d.ts