Skip to content
Developers

A wholesale data network, by API

Provision eSIMs, meter usage and top up balances programmatically. A clean REST API with webhooks, generous rate limits and SDKs for the languages you already use.

Instant provisioning

Create an eSIM and return an install QR in a single call.

Usage webhooks

Stream real-time consumption and balance events to your backend.

Idempotent + versioned

Safe retries, predictable payloads, and no breaking changes without a version bump.

provision.sh
curl https://api.pilotesim.example/v1/esims \
  -H "Authorization: Bearer sk_live_..." \
  -H "Content-Type: application/json" \
  -d '{
    "country": "JP",
    "topup_usd": 25
  }'

# → 201 Created
# {
#   "id": "esim_9f2a...",
#   "status": "ready",
#   "balance_usd": 29.00,      // 25 + 4 bonus
#   "install_qr": "https://cdn.pilotesim.example/qr/9f.png"
# }

Core endpoints

A REST surface that maps cleanly to the product.

PilotEsim API core endpoints
MethodEndpoint
POST/v1/esims
GET/v1/esims/{id}/usage
POST/v1/esims/{id}/topups
GET/v1/coverage

Scoped keys (coverage:read, esims:read, esims:write), Idempotency-Key on POSTs, cursorless pagination (limit/offset), and 120 req/min rate limiting.

Subscribe to esim.provisioned, topup.succeeded and usage.recorded events with signed outbound webhooks (manage endpoints in account settings). A reference TypeScript SDK ships in sdk/pilotesim.ts.