Skip to main content

Quick Start

Get started with the eSIMfly Business API in just a few minutes.

Create an Account​

  1. Sign up for a business account at eSIMfly Business
  2. Complete account verification
  3. Deposit funds for testing

Get Your API Credentials​

  1. Log in to your Business Dashboard
  2. Navigate to Settings → API Keys
  3. Click Create New API Key
  4. Save your credentials:
    • Access Code: esf_your_access_code
    • Secret Key: sk_your_secret_key (shown only once!)

Make Your First API Call​

Test your connection by checking your account balance:

npm install @esimfly/sdk
import { ESIMfly } from '@esimfly/sdk';

const esimfly = new ESIMfly({ accessCode: 'esf_your_access_code', secretKey: 'sk_your_secret_key' });
console.log(await esimfly.balance.get());

The SDK signs every request for you. The raw examples below show what it does under the hood.

cURL​

curl --location 'https://esimfly.net/api/v1/business/balance' \
--header 'RT-AccessCode: YOUR_ACCESS_CODE' \
--header 'RT-RequestID: 550e8400-e29b-41d4-a716-446655440000' \
--header 'RT-Timestamp: 1628670421000' \
--header 'RT-Signature: YOUR_CALCULATED_SIGNATURE'

Node.js​

const crypto = require('crypto');
const { v4: uuidv4 } = require('uuid');

// Your credentials
const accessCode = 'esf_your_access_code';
const secretKey = 'sk_your_secret_key';

// Generate HMAC headers
const timestamp = Date.now().toString();
const requestId = uuidv4();
const signData = timestamp + requestId + accessCode;
const signature = crypto.createHmac('sha256', secretKey)
.update(signData)
.digest('hex')
.toUpperCase();

// Make request
fetch('https://esimfly.net/api/v1/business/balance', {
headers: {
'RT-AccessCode': accessCode,
'RT-RequestID': requestId,
'RT-Timestamp': timestamp,
'RT-Signature': signature
}
})
.then(response => response.json())
.then(data => console.log(data));

Response​

{
"success": true,
"data": {
"balance": 1500.00,
"currency": "USD"
}
}

Next Steps​

Test Environment​

  • Base URL: https://esimfly.net/api/v1/business
  • Rate Limit: 1000 requests per hour
  • Timeout: 30 seconds per request

Need Help?​