📖 Overview

The Flysimo Plans API enables partners to retrieve available eSIM plans programmatically. This read-only, JSON-based API is designed for seamless integration into marketplaces, comparison tools, and reseller platforms.

â„šī¸
Base URL
https://flysimo.com/api

🔐 Authentication

The API uses Bearer Token authentication. Each partner receives a unique API token upon registration.

Required Headers

HTTP
Authorization: Bearer YOUR_API_TOKEN
Accept: application/json
âš ī¸
Security Note: Keep your API token confidential. Never expose it in client-side code or public repositories.

🔄 Versioning

Flysimo API uses URL-based versioning to ensure backward compatibility.

  • Current Version: v1
  • Format: https://flysimo.com/api/v1/{endpoint}

Future versions (e.g., v2) will be released under new URLs without breaking existing integrations.

🚀 Endpoints

1. Get All Plans

Retrieves the complete list of available eSIM plans.

GET /api/v1/plans

Request Example

bash
curl -X GET "https://flysimo.com/api/v1/plans" \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -H "Accept: application/json"

Response Example (200 OK)

json
[
  {
    "planName": "USA 10GB for 30 days",
    "telephony": null,
    "subscription": false,
    "canTopUp": true,
    "eKYC": false,
    "tethering": true,
    "subscriptionPeriod": null,
    "promoEnabled": true,
    "internetBreakouts": [
      {
        "country": "SG"
      }
    ],
    "coverages": [
      {
        "code": "US",
        "networks": [
          {
            "name": "Verizon",
            "types": ["4G", "5G"]
          },
          {
            "name": "AT&T",
            "types": ["4G", "5G"]
          }
        ]
      }
    ],
    "validity": 30,
    "dataCap": 10,
    "dataUnit": "GB",
    "dataCapPer": null,
    "prices": {
      "USD": 30.00
    }
  }
]

2. Get Single Plan

Retrieves details for a specific plan by ID.

GET /api/v1/plans/{id}

Request Example

bash
curl -X GET "https://flysimo.com/api/v1/plans/12" \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -H "Accept: application/json"

📋 Field Reference

Field Type Description
planName string Display name of the plan
telephony null/object Voice and SMS capabilities
subscription boolean Whether the plan auto-renews
canTopUp boolean If additional data can be purchased
eKYC boolean If eKYC verification is required
tethering boolean Mobile hotspot/tethering support
validity integer Plan duration in days
dataCap number Total data allowance
dataUnit string Unit of measurement (always "GB")
prices object Pricing by currency code (ISO 4217)

âš ī¸ Error Responses

401 Unauthorized

Returned when authentication fails or the token is invalid.

json
{
  "remark": "unauthenticated",
  "status": "error",
  "message": {
    "error": ["Unauthorized request"]
  }
}

404 Not Found

Returned when the requested resource doesn't exist.

json
{
  "message": "The requested resource could not be found."
}

429 Too Many Requests

Returned when rate limits are exceeded.

json
{
  "status": "error",
  "message": "Rate limit exceeded. Please retry after 60 seconds."
}
â„šī¸
Rate Limits: 60 requests per minute per API token

💡 Best Practices

Caching

To optimize performance and reduce API calls, implement caching with appropriate TTL (Time To Live) values. Plans typically update every 24 hours, so a cache duration of 12-24 hours is recommended.

Error Handling

Always implement retry logic with exponential backoff for transient errors (5xx responses). Log all 4xx errors for debugging.

Data Validation

Before displaying plans to users, validate that all required fields are present and in the expected format.

⚡ Quick Start Checklist

  • Obtain your API token from the Flysimo partner portal
  • Test authentication with a simple GET request
  • Implement error handling for all API calls
  • Set up caching to minimize API requests
  • Subscribe to API updates for version announcements

📞 Support

For API access requests, token issues, or technical questions:

Email: [email protected]

Documentation: https://docs.flysimo.com

Status Page: https://status.flysimo.com

✓
Response Time: Technical inquiries are typically answered within 1 business day.