Developer Documentation

Everything you need to integrate 5D Mobile eSIM platform into your application

Quick Start

1. Get Your API Credentials

Sign up for an account and navigate to Settings → API to generate your API keys.

Base URL: https://api.5d-mobile.com/v1

2. Authentication

All API requests require authentication using Bearer token in the Authorization header.

curl -X GET https://api.5d-mobile.com/v1/esims \ -H "Authorization: Bearer YOUR_API_KEY" \ -H "Content-Type: application/json"

3. Make Your First Request

Test your integration by retrieving your account information.

curl -X GET https://api.5d-mobile.com/v1/account \ -H "Authorization: Bearer YOUR_API_KEY"

API Endpoints

Account Management

GET /account

Retrieve your account details and balance information.

{ "id": "acc_123456", "name": "Your Company", "type": "wholesale", "balance": 5000.00, "currency": "USD", "status": "active" }
POST /account/topup

Add funds to your account balance.

{ "amount": 1000.00, "payment_method": "pm_card_visa" }

eSIM Management

POST /esims/purchase

Purchase and provision a new eSIM profile.

// Request { "plan_id": "plan_eu_5gb", "quantity": 1, "branding_profile": "brand_123" } // Response { "esim_id": "esim_789xyz", "iccid": "8944501234567890123", "qr_code": "LPA:1$sm-dp.5d-mobile.com$...", "activation_code": "LPA:1$sm-dp.5d-mobile.com$...", "status": "purchased", "plan": { "name": "Europe 5GB", "data": "5GB", "validity": "30 days" } }
GET /esims

Retrieve a list of all your eSIM profiles with filtering options.

// Query Parameters ?status=active&limit=50&offset=0 // Response { "data": [ { "esim_id": "esim_789xyz", "iccid": "8944501234567890123", "status": "active", "customer_id": "cust_456", "usage": { "used": "1.2GB", "total": "5GB" } } ], "total": 150, "limit": 50, "offset": 0 }
GET /esims/{esim_id}

Get detailed information about a specific eSIM.

Plans

GET /plans

Browse available data plans and pricing.

// Response { "data": [ { "plan_id": "plan_eu_5gb", "name": "Europe 5GB", "regions": ["Europe"], "countries": 30, "data": "5GB", "validity_days": 30, "price": { "wholesale": 12.50, "retail": 25.00, "currency": "USD" } } ] }
POST /plans/custom

Create a custom data plan for your wholesale account.

{ "name": "Custom Europe Plan", "countries": ["DE", "FR", "IT", "ES"], "data_mb": 5120, "validity_days": 30, "price": 15.00 }

Webhooks

Webhooks allow you to receive real-time notifications when events occur in your account.

Available Events

esim.purchased_completed

eSIM purchase successful

esim.purchase_failed

eSIM purchase failed

esim.activated

eSIM activated by customer

esim.assigned

eSIM assigned to customer

esim.expired

eSIM validity expired

purchased_plan.created

Customer plan created

purchased_plan.activated

Customer plan activated

purchased_plan.expired

Customer plan expired

balance.low_warning

Account balance low

balance.topped_up

Balance topped up

Example Webhook Payload

{ "event": "esim.activated", "timestamp": "2024-02-04T10:30:00Z", "data": { "esim_id": "esim_789xyz", "iccid": "8944501234567890123", "customer_id": "cust_456", "activated_at": "2024-02-04T10:30:00Z", "plan": { "name": "Europe 5GB", "data": "5GB", "validity_days": 30 } } }

Configure Webhooks

Set up webhook endpoints in your account dashboard:

  1. Go to Settings → Webhooks
  2. Click "Add Webhook Endpoint"
  3. Enter your endpoint URL
  4. Select events to receive
  5. Save and test your webhook

SDKs & Libraries

🟨

JavaScript/Node.js

npm install @5dmobile/sdk
🐍

Python

pip install 5dmobile
💎

Ruby

gem install 5dmobile
☕

Java

Coming Soon
🔷

Go

Coming Soon
⚡

PHP

Coming Soon

Rate Limits

API Rate Limits

To ensure optimal performance for all users, API requests are rate limited.

Standard Rate

100 req/min

Per API key

Enterprise Rate

1000 req/min

Custom limits available

Rate Limit Headers

X-RateLimit-Limit: 100 X-RateLimit-Remaining: 95 X-RateLimit-Reset: 1643976000

Need Help?

Our support team is here to help you integrate successfully