REST API v1.0 • Live & Automated

REST API Reference

The ViaConecta B2B API enables automated eSIM provisioning, real-time wholesale catalog lookups, account balance telemetry, and order tracking across 130+ countries.

# 1. Overview # 2. Authentication # 3. Account /me # 4. Plans Catalog # 5. Issue Orders # 6. Errors

1. Overview & Base URL

All requests must be made over secure HTTPS. All request bodies and responses use standard JSON format with UTF-8 encoding.

Production Base URL

HTTPS https://b2b.viaconecta.co/api/v1
v1.0 Active

Data Format

JSON (application/json)

Authentication

Bearer API Key

Rate Limits

60 req / min (Per Key)

2. Authentication

Authenticate all API requests by passing your secret API key in the Authorization header as a Bearer token:

curl -X GET https://b2b.viaconecta.co/api/v1/me \
  -H "Authorization: Bearer vc_live_YOUR_SECRET_API_KEY" \
  -H "Accept: application/json"
🔒 Security Notice: Never expose your API keys in client-side code, mobile binaries, or public GitHub repositories. Always call the ViaConecta API from your backend servers.

3. Partner Profile & Tier

GET /api/v1/me

Returns authenticated partner profile information, active partner tier discount, and tracking referral code.

Sample 200 OK Response

{
  "success": true,
  "account": {
    "id": 2,
    "name": "Acme Travel Group",
    "email": "[email protected]",
    "company_name": "Acme Travel S.L.",
    "tier": "platinum",
    "tier_label": "💎 Platinum Partner",
    "tier_discount_percent": 20,
    "referral_code": "ACMTRVL",
    "referral_commission_rate": "15%",
    "status": "active",
    "created_at": "2026-08-20T10:00:00.000000Z"
  }
}

4. Wholesale Plans & Pricing

GET /api/v1/plans

Returns all active eSIM packages with wholesale rates calculated dynamically based on your partner tier.

Sample 200 OK Response

{
  "success": true,
  "partner_tier": "platinum",
  "tier_discount_percent": 20,
  "count": 8,
  "data": [
    {
      "id": 1,
      "name": "Europe 5GB / 30 Days",
      "region": "Europe",
      "countries": "33 European Countries",
      "data_gb": 5,
      "duration_days": 30,
      "wholesale_price_usd": 6.80,
      "base_wholesale_price_usd": 8.50,
      "retail_price_usd": 15.00
    },
    {
      "id": 2,
      "name": "USA & Canada 10GB / 30 Days",
      "region": "North America",
      "countries": "United States, Canada",
      "data_gb": 10,
      "duration_days": 30,
      "wholesale_price_usd": 11.20,
      "base_wholesale_price_usd": 14.00,
      "retail_price_usd": 24.00
    }
  ]
}

5. Programmatic eSIM Provisioning

POST /api/v1/orders

Instantly issue and generate an eSIM profile with LPA installation string, ICCID, and QR code payload.

Request Payload (JSON)

{
  "plan_id": 1,
  "quantity": 1,
  "recipient_email": "[email protected]",
  "metadata": {
    "pnr": "TK9821",
    "flight_number": "VC-782",
    "seat": "14A"
  }
}

Sample 201 Created Response

{
  "success": true,
  "message": "eSIM order placed and profile generated successfully.",
  "order": {
    "id": 142,
    "external_order_id": "VC-B2B-9K841A92",
    "status": "completed",
    "plan": {
      "id": 1,
      "name": "Europe 5GB / 30 Days",
      "region": "Europe",
      "data_gb": 5,
      "duration_days": 30
    },
    "pricing": {
      "unit_price_usd": 6.80,
      "quantity": 1,
      "total_price_usd": 6.80,
      "currency": "USD"
    },
    "esim_profile": {
      "iccid": "8988204928109482710",
      "matching_id": "9B87F2104AE8912C",
      "lpa_string": "LPA:1$rsp.viaconecta.co$9B87F2104AE8912C",
      "qr_code_url": "https://api.qrserver.com/v1/create-qr-code/?size=400x400&data=LPA%3A1%24rsp.viaconecta.co%249B87F2104AE8912C"
    },
    "recipient_email": "[email protected]",
    "metadata": {
      "pnr": "TK9821",
      "flight_number": "VC-782",
      "seat": "14A"
    },
    "created_at": "2026-08-20T11:32:41.000000Z"
  }
}
GET /api/v1/orders

Query paginated order history with support for ?limit=50.

6. Standard Error Codes

HTTP Code Error Meaning
200 / 201 Success Request succeeded, profile provisioned.
401 Unauthorized Missing or invalid Bearer API key.
403 Forbidden Account is pending verification or deactivated.
422 Validation Error Invalid plan_id or payload parameters.
429 Too Many Requests Rate limit exceeded (>60 req/min). Throttle requests.

Ready to Integrate?

Generate your live credentials in partner settings and begin provisioning eSIMs immediately.