đ 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.
https://flysimo.com/api
đ Authentication
The API uses Bearer Token authentication. Each partner receives a unique API token upon registration.
Required Headers
Authorization: Bearer YOUR_API_TOKEN Accept: application/json
đ 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.
/api/v1/plans
Request Example
curl -X GET "https://flysimo.com/api/v1/plans" \ -H "Authorization: Bearer YOUR_API_TOKEN" \ -H "Accept: application/json"
Response Example (200 OK)
[
{
"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.
/api/v1/plans/{id}
Request Example
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.
{
"remark": "unauthenticated",
"status": "error",
"message": {
"error": ["Unauthorized request"]
}
}
404 Not Found
Returned when the requested resource doesn't exist.
{
"message": "The requested resource could not be found."
}
429 Too Many Requests
Returned when rate limits are exceeded.
{
"status": "error",
"message": "Rate limit exceeded. Please retry after 60 seconds."
}
đĄ 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