eSIM API & MCP Server – simpleSIM Developer Docs
simpleSIM offers two integration methods for developers and AI agents:
MCP Server (Model Context Protocol)
A free, open endpoint that lets AI assistants like Antigravity, Claude, Cursor, VS Code Copilot and Windsurf interact directly with the simpleSIM catalog, knowledge base and ordering system.
REST API
Classic HTTP endpoints to integrate eSIM purchasing, catalog browsing and device compatibility checks into your web and mobile apps.
Requires a B2B account with API access enabled.
What is the Model Context Protocol (MCP)?
The Model Context Protocol (MCP) is an open standard, created by Anthropic,
that enables AI assistants to connect securely to external services and perform actions on behalf of users.
An MCP server exposes “tools” – structured functions that the AI can call automatically based on the user’s request. Unlike a traditional REST API designed for human developers, an MCP server is designed for AI agents: the assistant decides which tool to call, with what parameters, based on natural language input.
The simpleSIM MCP server provides 7 tools covering the full eSIM lifecycle: browsing the catalog, checking device compatibility, searching the knowledge base, creating orders, and tracking eSIMs. It is free, requires no API key for public tools, and supports standard MCP clients (including Antigravity, Claude Desktop, Cursor, VS Code, and Windsurf).
Table of Contents – MCP Server (AI)
The simpleSIM MCP server lets compatible AI clients discover and call catalog, compatibility, knowledge-base and order tools.
MCP endpoint
https://simplesim.fr/wp-json/mcp/simplesim
Quick Config
{
"mcpServers": {
"simplesim": {
"url": "https://simplesim.fr/wp-json/mcp/simplesim"
}
}
}Access model
The endpoint is identical for public and authenticated MCP clients. Catalog, compatibility, knowledge-base and order creation tools are available publicly. eSIM and order lookup tools require an authenticated MCP Agent.
Authenticated clients
Authenticated MCP Agent access requires prior approval. Contact the simpleSIM team to request an authorized account.
Authorization: Basic base64(username:application-password)
List the simpleSIM catalog
Find available simpleSIM eSIM plans for a destination or travel need, including prices and plan details.
Arguments
| Parameter | Type | Required | Default | Description and constraints |
|---|---|---|---|---|
per_page
|
integer | No |
10
|
Minimum: 1Maximum: 100 |
page
|
integer | No |
1
|
Minimum: 1 |
search
|
string | No |
""
|
Maximum length: 100 |
Example
{
"per_page": 10,
"page": 1,
"search": ""
}Create a simpleSIM order
Create an eSIM order for a selected plan and return a payment link for the customer.
Public order creation
Public MCP clients may create an order without a customer account. The resulting WooCommerce order is a guest order and the returned payment_url can be opened by the customer to complete payment.
Public order creation is protected against abuse and accidental duplicates. Repeating the same request within the deduplication window may return the existing pending order with reused=true instead of creating a new order. A customer email may have at most 3 pending or on-hold MCP orders.
Unpaid public MCP orders are automatically cancelled after 1 hour by default. Public creation is also subject to IP, email and global rate limits.
Authenticated MCP Agents
When an authenticated MCP Agent creates an order, the order is associated with that agent's account instead of being created as a guest order. Public anti-abuse limits do not apply to authorized MCP Agents.
Safe retries
The optional idempotency_key can be supplied when creating an order. Reusing the same key with the same order parameters safely returns the existing order. Reusing it with different order parameters is rejected to prevent accidental duplicate or conflicting orders.
Payment and order access
Creating a public order only returns the payment link; it does not grant access to order or eSIM lookup tools. order-get-summary and esim-get-public remain restricted to authenticated MCP Agents and only expose resources associated with that authorized client.
Arguments
| Parameter | Type | Required | Default | Description and constraints |
|---|---|---|---|---|
product_sku
|
string | Yes |
—
|
Minimum length: 1Maximum length: 100 |
quantity
|
integer | No |
1
|
Minimum: 1Maximum: 5 |
customer_email
|
string | Yes |
—
|
Minimum length: 3Maximum length: 254 |
customer_first_name
|
string | No |
—
|
Maximum length: 100 |
customer_last_name
|
string | No |
—
|
Maximum length: 100 |
note
|
string | No |
—
|
Maximum length: 500 |
device_compatibility_confirmed
|
boolean | Yes |
—
|
— |
idempotency_key
|
string | No |
—
|
Optional unique key used to safely retry the same order request without creating a duplicate. Minimum length: 16Maximum length: 100 |
unlimited_days
|
integer | No |
—
|
Number of days to purchase for an unlimited eSIM offer. Minimum: 1Maximum: 60 |
Example
{
"product_sku": "FR_1_7",
"quantity": 1,
"customer_email": "customer@example.com",
"customer_first_name": "string",
"customer_last_name": "string",
"note": "string",
"device_compatibility_confirmed": true,
"idempotency_key": "order-550e8400-e29b-41d4-a716",
"unlimited_days": 1
}Check eSIM device compatibility
Check whether a phone, tablet, or other device is compatible with eSIM.
Arguments
| Parameter | Type | Required | Default | Description and constraints |
|---|---|---|---|---|
query
|
string | Yes |
—
|
Minimum length: 1Maximum length: 100 |
per_page
|
integer | No |
5
|
Minimum: 1Maximum: 50 |
page
|
integer | No |
1
|
Minimum: 1 |
Example
{
"query": "iPhone 17",
"per_page": 5,
"page": 1
}Get the complete knowledge base
Get simpleSIM help and product information about eSIMs, ordering, activation, compatibility, and support.
Arguments
This tool does not accept arguments.
Get eSIM fields and order summary
Check the status and available details of an eSIM, together with basic information about its order. Authorized MCP Agent access is required.
Arguments
| Parameter | Type | Required | Default | Description and constraints |
|---|---|---|---|---|
esim_id
|
integer | Yes |
—
|
Minimum: 1 |
Example
{
"esim_id": 1
}Get order summary
Check the status and basic details of an order, including its associated eSIMs. Authorized MCP Agent access is required.
Arguments
| Parameter | Type | Required | Default | Description and constraints |
|---|---|---|---|---|
order_id
|
integer | Yes |
—
|
Minimum: 1 |
Example
{
"order_id": 1
}MCP Usage Examples
Once the simpleSIM MCP server is configured, you can ask your AI assistant (Antigravity, Claude, Cursor, etc.) questions in plain language. The assistant will automatically select the right tool and call it with the appropriate parameters.
Example 1: Find an eSIM plan
💬 User prompt:”Find me an eSIM plan for Japan with at least 5 GB of data.”
🤖 The AI assistant automatically calls simplesim-catalog-list with search = “Japan” and filters the results by data volume.
Example 2: Check device compatibility
💬 User prompt:”Is my iPhone 15 Pro compatible with eSIM?”
🤖 The assistant calls simplesim-device-check-compatibility with query = “iPhone 15 Pro” and returns the confirmation.
Example 3: Create an order
💬 User prompt:”Order a Europe 5GB eSIM for john@example.com.”
🤖 The assistant calls simplesim-order-create with product_sku = “EU-30_5_30” and customer_email = “john@example.com”, then returns the secure payment link.
Example 4: Search the knowledge base
💬 User prompt:”How do I install my eSIM on a Samsung Galaxy?”
🤖 The assistant calls simplesim-kb-search with query = “install eSIM Samsung Galaxy” and returns the step-by-step installation guide.
simpleSIM REST API
Table of Contents – simpleSIM REST API
This guide describes the simpleSIM REST API endpoints available to developers. You can generate your keys from My Account → API, once API access is enabled on your B2B account.
Base url
https://simplesim.fr/en/wp-json/simplesim/v1/
Postman
Postman collectionAuthentication
HTTP Basic Auth (CK/CS)
Rate limits
10 req/sec • 10,000/day
Content type
application/json; charset=UTF-8
Catalog
| Query param | Type | Required | Default | Description |
|---|---|---|---|---|
per_page |
integer | No | 10 | Number of items per page (1–100) |
page |
integer | No | 1 | Page number |
search |
string | No | Full-text search |
Curl:
curl -s -u "ck_key:cs_key" "https://simplesim.fr/en/wp-json/simplesim/v1/catalog/?per_page=10&page=1&search=France"
Example payload (JSON):
{
"per_page": 10,
"page": 1,
"search": "France"
}
Example response (JSON):
{
"success": true,
"obj": {
"productsList": [
{
"product_sku": "EU-33_1_7",
"slug": "esim-europe-1gb",
"name": "eSIM Europe 1GB",
"price": 4.99,
"currency": "USD",
"coverage_codes": [
"DE",
"AT",
"BE",
"BG",
"CY",
"HR",
"DK",
"ES",
"EE",
"EU",
"FI",
"FR",
"GI",
"GR",
"HU",
"IE",
"IS",
"IT",
"LV",
"LI",
"LT",
"LU",
"MT",
"NO",
"NL",
"PL",
"PT",
"RO",
"GB",
"SK",
"SI",
"CH",
"SE",
"CZ"
],
"data": "1",
"duration": 7,
"duration_unit": "DAY",
"validity_days": 7,
"validity_after_order_days": 180,
"activation_policy": "first_use",
"network_tech": "4G/5G",
"has_sms": false,
"sms_infos": null,
"has_voice": false,
"voice_infos": null,
"tethering_allowed": true,
"is_unlimited": false,
"fup_speed_label": null,
"unlimited_days_price": null,
"topup_available": true,
"topup_max_boosts": 0,
"link": "https://simplesim.fr/en/product/esim-europe-1gb/"
},
{
"product_sku": "FR_1_7",
"slug": "esim-france-1gb",
"name": "eSIM France 1GB",
"price": 4.99,
"currency": "USD",
"coverage_codes": [
"FR"
],
"data": "1",
"duration": 7,
"duration_unit": "DAY",
"validity_days": 7,
"validity_after_order_days": 180,
"activation_policy": "first_use",
"network_tech": "5G",
"has_sms": false,
"sms_infos": null,
"has_voice": false,
"voice_infos": null,
"tethering_allowed": true,
"is_unlimited": false,
"fup_speed_label": null,
"unlimited_days_price": null,
"topup_available": true,
"topup_max_boosts": 0,
"link": "https://simplesim.fr/en/product/esim-france-1gb/"
},
{
"product_sku": "FR_U1_1",
"slug": "esim-unlimited-france",
"name": "eSIM France Unlimited",
"price": 4.99,
"currency": "USD",
"coverage_codes": [
"FR"
],
"data": null,
"duration": 1,
"duration_unit": "DAY",
"validity_days": 1,
"validity_after_order_days": 180,
"activation_policy": "first_use",
"network_tech": "5G",
"has_sms": false,
"sms_infos": null,
"has_voice": false,
"voice_infos": null,
"tethering_allowed": true,
"is_unlimited": true,
"fup_speed_label": "1 Mbps",
"unlimited_days_price": {
"1": 3.99,
"2": 6.99,
"3": 9.99,
"4": 11.99,
"5": 14.99,
"6": 17.99,
"7": 19.99,
"8": 22.99,
"9": 25.99,
"10": 28.99,
"11": 31.99,
"12": 34.99,
"13": 37.99,
"14": 39.99,
"15": 41.99,
"16": 42.99,
"17": 44.99,
"18": 45.99,
"19": 47.99,
"20": 48.99,
"21": 49.99,
"22": 50.99,
"23": 51.99,
"24": 52.99,
"25": 53.99,
"26": 54.99,
"27": 55.99,
"28": 56.99,
"29": 57.99,
"30": 59.99,
"31": 60.99,
"32": 61.99,
"33": 62.99,
"34": 63.99,
"35": 64.99,
"36": 65.99,
"37": 66.99,
"38": 67.99,
"39": 68.99,
"40": 69.99,
"41": 70.99,
"42": 71.99,
"43": 72.99,
"44": 73.99,
"45": 74.99,
"46": 75.99,
"47": 76.99,
"48": 77.99,
"49": 78.99,
"50": 79.99,
"51": 80.99,
"52": 81.99,
"53": 82.99,
"54": 83.99,
"55": 84.99,
"56": 85.99,
"57": 86.99,
"58": 87.99,
"59": 88.99,
"60": 89.99
},
"topup_available": true,
"topup_max_boosts": 0,
"link": "https://simplesim.fr/en/product/esim-unlimited-france/"
},
{
"product_sku": "EU-30_U1_1",
"slug": "esim-unlimited-europe",
"name": "eSIM Europe Unlimited",
"price": 5.99,
"currency": "USD",
"coverage_codes": [
"DE",
"AT",
"BE",
"BG",
"CY",
"HR",
"DK",
"ES",
"EE",
"EU",
"FI",
"FR",
"GR",
"HU",
"IE",
"IS",
"IT",
"LV",
"LI",
"LT",
"LU",
"MT",
"NO",
"NL",
"PL",
"PT",
"RO",
"GB",
"SK",
"SI",
"CH",
"SE",
"CZ",
"TR",
"UA"
],
"data": null,
"duration": 1,
"duration_unit": "DAY",
"validity_days": 1,
"validity_after_order_days": 180,
"activation_policy": "first_use",
"network_tech": "4G/5G",
"has_sms": false,
"sms_infos": null,
"has_voice": false,
"voice_infos": null,
"tethering_allowed": true,
"is_unlimited": true,
"fup_speed_label": "384 Kbps",
"unlimited_days_price": {
"1": 4.99,
"2": 7.99,
"3": 10.99,
"4": 12.99,
"5": 16.99,
"6": 19.99,
"7": 21.99,
"8": 25.99,
"9": 28.99,
"10": 31.99,
"11": 34.99,
"12": 37.99,
"13": 41.99,
"14": 43.99,
"15": 45.99,
"16": 47.99,
"17": 49.99,
"18": 51.99,
"19": 53.99,
"20": 55.99,
"21": 57.99,
"22": 58.99,
"23": 60.99,
"24": 61.99,
"25": 63.99,
"26": 64.99,
"27": 66.99,
"28": 68.99,
"29": 69.99,
"30": 71.99,
"31": 73.99,
"32": 75.99,
"33": 76.99,
"34": 78.99,
"35": 79.99,
"36": 81.99,
"37": 82.99,
"38": 84.99,
"39": 86.99,
"40": 87.99,
"41": 89.99,
"42": 90.99,
"43": 92.99,
"44": 93.99,
"45": 95.99,
"46": 97.99,
"47": 98.99,
"48": 100.99,
"49": 101.99,
"50": 103.99,
"51": 104.99,
"52": 106.99,
"53": 108.99,
"54": 109.99,
"55": 111.99,
"56": 112.99,
"57": 114.99,
"58": 115.99,
"59": 117.99,
"60": 118.99
},
"topup_available": true,
"topup_max_boosts": 0,
"link": "https://simplesim.fr/en/product/esim-unlimited-europe/"
},
{
"product_sku": "FR_5_30",
"slug": "esim-france-5gb",
"name": "eSIM France 5GB",
"price": 11.99,
"currency": "USD",
"coverage_codes": [
"FR"
],
"data": "5",
"duration": 30,
"duration_unit": "DAY",
"validity_days": 30,
"validity_after_order_days": 180,
"activation_policy": "first_use",
"network_tech": "5G",
"has_sms": false,
"sms_infos": null,
"has_voice": false,
"voice_infos": null,
"tethering_allowed": true,
"is_unlimited": false,
"fup_speed_label": null,
"unlimited_days_price": null,
"topup_available": true,
"topup_max_boosts": 5,
"link": "https://simplesim.fr/en/product/esim-france-5gb/"
},
{
"product_sku": "WW-175_1_7",
"slug": "esim-worldwide-1gb",
"name": "eSIM Worldwide 1GB",
"price": 11.99,
"currency": "USD",
"coverage_codes": [
"ZA",
"AL",
"DZ",
"DE",
"AD",
"AI",
"AG",
"SA",
"AR",
"AM",
"AU",
"AT",
"AZ",
"BS",
"BH",
"BD",
"BB",
"BE",
"BY",
"BO",
"BA",
"BW",
"BN",
"BR",
"BF",
"BJ",
"KH",
"CM",
"CA",
"CV",
"CL",
"CN",
"CY",
"CO",
"KR",
"CR",
"HR",
"CI",
"DK",
"DM",
"EG",
"ES",
"EE",
"SZ",
"ET",
"FJ",
"FI",
"FR",
"GA",
"GH",
"GI",
"GD",
"GL",
"GR",
"GP",
"GT",
"GG",
"GN",
"GW",
"GF",
"GE",
"HN",
"HK",
"HU",
"IN",
"ID",
"IQ",
"IE",
"IS",
"IL",
"IT",
"JM",
"JP",
"JE",
"JO",
"KZ",
"KE",
"KG",
"XK",
"KW",
"LA",
"SV",
"LV",
"LB",
"LR",
"LI",
"LT",
"LU",
"MO",
"MK",
"MG",
"MY",
"MW",
"ML",
"MT",
"MA",
"MQ",
"MU",
"YT",
"MX",
"MD",
"MC",
"WW",
"MN",
"MS",
"ME",
"MZ",
"NI",
"NG",
"NO",
"NZ",
"NP",
"OM",
"UG",
"UZ",
"PK",
"PA",
"PG",
"PY",
"NL",
"PH",
"PL",
"PF",
"PT",
"PE",
"QA",
"CD",
"RO",
"GB",
"RU",
"RW",
"CF",
"DO",
"RE",
"BL",
"KN",
"MF",
"VC",
"LC",
"WS",
"RS",
"SC",
"SL",
"SG",
"SK",
"SI",
"LK",
"CH",
"SE",
"SN",
"TZ",
"TW",
"TD",
"CZ",
"TH",
"TG",
"TO",
"TT",
"TN",
"TR",
"UA",
"UY",
"VA",
"VN",
"ZM",
"ZW",
"AE",
"EC",
"US",
"IM",
"KY",
"FO",
"TC",
"VG",
"AX"
],
"data": "1",
"duration": 7,
"duration_unit": "DAY",
"validity_days": 7,
"validity_after_order_days": 365,
"activation_policy": "first_use",
"network_tech": "4G/5G",
"has_sms": false,
"sms_infos": null,
"has_voice": false,
"voice_infos": null,
"tethering_allowed": true,
"is_unlimited": false,
"fup_speed_label": null,
"unlimited_days_price": null,
"topup_available": true,
"topup_max_boosts": 0,
"link": "https://simplesim.fr/en/product/esim-worldwide-1gb/"
},
{
"product_sku": "EU-30_5_30",
"slug": "esim-europe-5gb",
"name": "eSIM Europe 5GB",
"price": 17.99,
"currency": "USD",
"coverage_codes": [
"AL",
"DE",
"AT",
"BE",
"BA",
"BG",
"CY",
"HR",
"DK",
"ES",
"EE",
"EU",
"FI",
"FR",
"GI",
"GR",
"GE",
"HU",
"IE",
"IS",
"IT",
"LV",
"LI",
"LT",
"LU",
"MK",
"MT",
"ME",
"NO",
"NL",
"PL",
"PT",
"RO",
"GB",
"RS",
"SK",
"SI",
"CH",
"SE",
"CZ",
"TR",
"UA"
],
"data": "5",
"duration": 30,
"duration_unit": "DAY",
"validity_days": 30,
"validity_after_order_days": 365,
"activation_policy": "first_use",
"network_tech": "4G/5G",
"has_sms": false,
"sms_infos": null,
"has_voice": false,
"voice_infos": null,
"tethering_allowed": true,
"is_unlimited": false,
"fup_speed_label": null,
"unlimited_days_price": null,
"topup_available": true,
"topup_max_boosts": 0,
"link": "https://simplesim.fr/en/product/esim-europe-5gb/"
},
{
"product_sku": "FR_10_30",
"slug": "esim-france-10gb",
"name": "eSIM France 10GB",
"price": 20.99,
"currency": "USD",
"coverage_codes": [
"FR"
],
"data": "10",
"duration": 30,
"duration_unit": "DAY",
"validity_days": 30,
"validity_after_order_days": 180,
"activation_policy": "first_use",
"network_tech": "5G",
"has_sms": false,
"sms_infos": null,
"has_voice": false,
"voice_infos": null,
"tethering_allowed": true,
"is_unlimited": false,
"fup_speed_label": null,
"unlimited_days_price": null,
"topup_available": true,
"topup_max_boosts": 5,
"link": "https://simplesim.fr/en/product/esim-france-10gb/"
},
{
"product_sku": "EU-30_10_30",
"slug": "esim-europe-10gb",
"name": "eSIM Europe 10GB",
"price": 23.99,
"currency": "USD",
"coverage_codes": [
"AL",
"DE",
"AT",
"BE",
"BA",
"BG",
"CY",
"HR",
"DK",
"ES",
"EE",
"EU",
"FI",
"FR",
"GI",
"GR",
"GE",
"HU",
"IE",
"IS",
"IT",
"LV",
"LI",
"LT",
"LU",
"MK",
"MT",
"ME",
"NO",
"NL",
"PL",
"PT",
"RO",
"GB",
"RS",
"SK",
"SI",
"CH",
"SE",
"CZ",
"TR",
"UA"
],
"data": "10",
"duration": 30,
"duration_unit": "DAY",
"validity_days": 30,
"validity_after_order_days": 365,
"activation_policy": "first_use",
"network_tech": "4G/5G",
"has_sms": false,
"sms_infos": null,
"has_voice": false,
"voice_infos": null,
"tethering_allowed": true,
"is_unlimited": false,
"fup_speed_label": null,
"unlimited_days_price": null,
"topup_available": true,
"topup_max_boosts": 0,
"link": "https://simplesim.fr/en/product/esim-europe-10gb/"
},
{
"product_sku": "WW-201_3_30",
"slug": "esim-worldwide-3gb",
"name": "eSIM Worldwide 3GB",
"price": 23.99,
"currency": "USD",
"coverage_codes": [
"ZA",
"AL",
"DE",
"SA",
"AR",
"AM",
"AU",
"AT",
"AZ",
"BE",
"BO",
"BA",
"BW",
"BR",
"BG",
"CM",
"CA",
"CL",
"CN",
"CY",
"CO",
"KR",
"CR",
"HR",
"CI",
"DK",
"EG",
"ES",
"EE",
"SZ",
"FI",
"FR",
"GA",
"GH",
"GI",
"GR",
"GU",
"GT",
"GW",
"HN",
"HK",
"HU",
"IN",
"ID",
"IE",
"IS",
"IL",
"IT",
"JP",
"JO",
"KZ",
"KE",
"KG",
"XK",
"KW",
"SV",
"LV",
"LR",
"LI",
"LT",
"LU",
"MO",
"MK",
"MG",
"MY",
"MW",
"ML",
"MT",
"MA",
"MU",
"MX",
"MD",
"MC",
"WW",
"ME",
"NI",
"NE",
"NG",
"NO",
"NZ",
"OM",
"UG",
"UZ",
"PK",
"PA",
"PY",
"NL",
"PH",
"PL",
"PR",
"PT",
"PE",
"QA",
"CD",
"RO",
"GB",
"RU",
"CF",
"CG",
"RS",
"SC",
"SG",
"SK",
"SI",
"LK",
"CH",
"SE",
"SN",
"TZ",
"TW",
"TD",
"CZ",
"TH",
"TN",
"TR",
"UA",
"UY",
"VU",
"ZM",
"ZW",
"AE",
"EC",
"US"
],
"data": "3",
"duration": 30,
"duration_unit": "DAY",
"validity_days": 30,
"validity_after_order_days": 365,
"activation_policy": "first_use",
"network_tech": "3G/4G/5G",
"has_sms": false,
"sms_infos": null,
"has_voice": false,
"voice_infos": null,
"tethering_allowed": true,
"is_unlimited": false,
"fup_speed_label": null,
"unlimited_days_price": null,
"topup_available": true,
"topup_max_boosts": 0,
"link": "https://simplesim.fr/en/product/esim-worldwide-3gb/"
},
{
"product_sku": "EU-35_20_14_VS",
"slug": "esim-europe-20gb-unlimited-calls-texts",
"name": "eSIM Europe 20GB + Calls & Texts",
"price": 29.99,
"currency": "USD",
"coverage_codes": [
"DE",
"AD",
"AT",
"BE",
"BG",
"HR",
"DK",
"ES",
"EE",
"EU",
"FI",
"FR",
"GR",
"HU",
"IE",
"IS",
"IT",
"LV",
"LI",
"LT",
"LU",
"MT",
"MC",
"NO",
"NL",
"PL",
"PT",
"RO",
"GB",
"SK",
"SI",
"CH",
"SE",
"CZ",
"VA"
],
"data": "20",
"duration": 14,
"duration_unit": "DAY",
"validity_days": 14,
"validity_after_order_days": 180,
"activation_policy": "installation",
"network_tech": "4G",
"has_sms": true,
"sms_infos": "Unlimited texts in Europe",
"has_voice": true,
"voice_infos": "Unlimited calls in Europe",
"tethering_allowed": true,
"is_unlimited": false,
"fup_speed_label": null,
"unlimited_days_price": null,
"topup_available": false,
"topup_max_boosts": 0,
"link": "https://simplesim.fr/en/product/esim-europe-20gb-unlimited-calls-texts/"
},
{
"product_sku": "FR_20_30_VS",
"slug": "esim-france-20gb-unlimited-calls-texts",
"name": "eSIM France 20GB + Unlimited Calls & Texts",
"price": 29.99,
"currency": "USD",
"coverage_codes": [
"FR"
],
"data": "20",
"duration": 30,
"duration_unit": "DAY",
"validity_days": 30,
"validity_after_order_days": null,
"activation_policy": "installation",
"network_tech": "4G/5G",
"has_sms": true,
"sms_infos": "Unlimited texts in Europe",
"has_voice": true,
"voice_infos": "Unlimited calls in Europe",
"tethering_allowed": true,
"is_unlimited": false,
"fup_speed_label": null,
"unlimited_days_price": null,
"topup_available": false,
"topup_max_boosts": 0,
"link": "https://simplesim.fr/en/product/esim-france-20gb-unlimited-calls-texts/"
},
{
"product_sku": "WW-200_5_30",
"slug": "esim-worldwide-5gb",
"name": "eSIM Worldwide 5GB",
"price": 35.99,
"currency": "USD",
"coverage_codes": [
"ZA",
"AL",
"DZ",
"DE",
"AD",
"AI",
"AG",
"SA",
"AR",
"AM",
"AU",
"AT",
"AZ",
"BS",
"BH",
"BD",
"BB",
"BE",
"BY",
"BO",
"BA",
"BW",
"BN",
"BR",
"BF",
"BJ",
"KH",
"CM",
"CA",
"CV",
"CL",
"CN",
"CY",
"CO",
"KR",
"CR",
"HR",
"CI",
"DK",
"DM",
"EG",
"ES",
"EE",
"SZ",
"ET",
"FJ",
"FI",
"FR",
"GA",
"GH",
"GI",
"GD",
"GL",
"GR",
"GP",
"GT",
"GG",
"GN",
"GW",
"GF",
"GE",
"HN",
"HK",
"HU",
"IN",
"ID",
"IQ",
"IE",
"IS",
"IL",
"IT",
"JM",
"JP",
"JE",
"JO",
"KZ",
"KE",
"KG",
"XK",
"KW",
"LA",
"SV",
"LV",
"LB",
"LR",
"LI",
"LT",
"LU",
"MO",
"MK",
"MG",
"MY",
"MW",
"ML",
"MT",
"MA",
"MQ",
"MU",
"YT",
"MX",
"MD",
"MC",
"WW",
"MN",
"MS",
"ME",
"MZ",
"NI",
"NE",
"NG",
"NO",
"NZ",
"NP",
"OM",
"UG",
"UZ",
"PK",
"PA",
"PG",
"PY",
"NL",
"PH",
"PL",
"PF",
"PT",
"PE",
"QA",
"CD",
"RO",
"GB",
"RU",
"RW",
"CF",
"DO",
"RE",
"BL",
"KN",
"MF",
"VC",
"LC",
"WS",
"RS",
"SC",
"SL",
"SG",
"SK",
"SI",
"LK",
"CH",
"SE",
"SN",
"TJ",
"TZ",
"TW",
"TD",
"CZ",
"TH",
"TG",
"TO",
"TT",
"TN",
"TR",
"UA",
"UY",
"VA",
"VN",
"ZM",
"ZW",
"AE",
"EC",
"US",
"IM",
"KY",
"FO",
"TC",
"VG",
"AX"
],
"data": "5",
"duration": 30,
"duration_unit": "DAY",
"validity_days": 30,
"validity_after_order_days": 365,
"activation_policy": "first_use",
"network_tech": "4G/5G",
"has_sms": false,
"sms_infos": null,
"has_voice": false,
"voice_infos": null,
"tethering_allowed": true,
"is_unlimited": false,
"fup_speed_label": null,
"unlimited_days_price": null,
"topup_available": true,
"topup_max_boosts": 0,
"link": "https://simplesim.fr/en/product/esim-worldwide-5gb/"
},
{
"product_sku": "EU-42_50_30_VS",
"slug": "esim-europe-50gb-unlimited-calls-texts",
"name": "eSIM Europe 50GB + Calls & Texts",
"price": 47.99,
"currency": "USD",
"coverage_codes": [
"DE",
"AD",
"AT",
"BE",
"BG",
"CY",
"HR",
"DK",
"ES",
"EE",
"EU",
"FI",
"FR",
"GI",
"GR",
"GG",
"HU",
"IE",
"IS",
"IT",
"JE",
"LV",
"LI",
"LT",
"LU",
"MT",
"MC",
"NO",
"NL",
"PL",
"PT",
"RO",
"GB",
"SK",
"SI",
"CH",
"SE",
"CZ",
"VA",
"IM",
"FO",
"AX"
],
"data": "50",
"duration": 30,
"duration_unit": "DAY",
"validity_days": 30,
"validity_after_order_days": 365,
"activation_policy": "installation",
"network_tech": "5G",
"has_sms": true,
"sms_infos": "Unlimited texts in Europe",
"has_voice": true,
"voice_infos": "Unlimited calls in Europe",
"tethering_allowed": true,
"is_unlimited": false,
"fup_speed_label": null,
"unlimited_days_price": null,
"topup_available": false,
"topup_max_boosts": 0,
"link": "https://simplesim.fr/en/product/esim-europe-50gb-unlimited-calls-texts/"
},
{
"product_sku": "FR_50_30_VS",
"slug": "esim-france-50gb-calls-texts",
"name": "eSIM France 50GB + Calls & Texts",
"price": 47.99,
"currency": "USD",
"coverage_codes": [
"FR"
],
"data": "50",
"duration": 30,
"duration_unit": "DAY",
"validity_days": 30,
"validity_after_order_days": 365,
"activation_policy": "installation",
"network_tech": "4G/5G",
"has_sms": true,
"sms_infos": "Unlimited SMS within europe",
"has_voice": true,
"voice_infos": "Unlimited calls within europe",
"tethering_allowed": true,
"is_unlimited": false,
"fup_speed_label": null,
"unlimited_days_price": null,
"topup_available": false,
"topup_max_boosts": 0,
"link": "https://simplesim.fr/en/product/esim-france-50gb-calls-texts/"
},
{
"product_sku": "WW-177_10_30",
"slug": "esim-worldwide-10gb",
"name": "eSIM Worldwide 10GB",
"price": 58.99,
"currency": "USD",
"coverage_codes": [
"ZA",
"AL",
"DZ",
"DE",
"AD",
"AI",
"AG",
"SA",
"AR",
"AM",
"AU",
"AT",
"AZ",
"BS",
"BH",
"BD",
"BB",
"BE",
"BY",
"BO",
"BA",
"BW",
"BN",
"BR",
"BF",
"BJ",
"KH",
"CM",
"CA",
"CV",
"CL",
"CN",
"CY",
"CO",
"KR",
"CR",
"HR",
"CI",
"DK",
"DM",
"EG",
"ES",
"EE",
"SZ",
"ET",
"FJ",
"FI",
"FR",
"GA",
"GH",
"GI",
"GD",
"GL",
"GR",
"GP",
"GT",
"GG",
"GN",
"GW",
"GF",
"GE",
"HN",
"HK",
"HU",
"IN",
"ID",
"IQ",
"IE",
"IS",
"IL",
"IT",
"JM",
"JP",
"JE",
"JO",
"KZ",
"KE",
"KG",
"XK",
"KW",
"LA",
"SV",
"LV",
"LB",
"LR",
"LI",
"LT",
"LU",
"MO",
"MK",
"MG",
"MY",
"MW",
"ML",
"MT",
"MA",
"MQ",
"MU",
"YT",
"MX",
"MD",
"MC",
"WW",
"MN",
"MS",
"ME",
"MZ",
"NI",
"NE",
"NG",
"NO",
"NZ",
"NP",
"OM",
"UG",
"UZ",
"PK",
"PA",
"PG",
"PY",
"NL",
"PH",
"PL",
"PF",
"PT",
"PE",
"QA",
"CD",
"RO",
"GB",
"RU",
"RW",
"CF",
"DO",
"RE",
"BL",
"KN",
"MF",
"VC",
"LC",
"WS",
"RS",
"SC",
"SL",
"SG",
"SK",
"SI",
"LK",
"CH",
"SE",
"SN",
"TJ",
"TZ",
"TW",
"TD",
"CZ",
"TH",
"TG",
"TO",
"TT",
"TN",
"TR",
"UA",
"UY",
"VA",
"VN",
"ZM",
"ZW",
"AE",
"EC",
"US",
"IM",
"KY",
"FO",
"TC",
"VG",
"AX"
],
"data": "10",
"duration": 30,
"duration_unit": "DAY",
"validity_days": 30,
"validity_after_order_days": 365,
"activation_policy": "first_use",
"network_tech": "4G/5G",
"has_sms": false,
"sms_infos": null,
"has_voice": false,
"voice_infos": null,
"tethering_allowed": true,
"is_unlimited": false,
"fup_speed_label": null,
"unlimited_days_price": null,
"topup_available": true,
"topup_max_boosts": 0,
"link": "https://simplesim.fr/en/product/esim-worldwide-10gb/"
},
{
"product_sku": "FR_50_180",
"slug": "esim-france-50gb",
"name": "eSIM France 50GB",
"price": 70.99,
"currency": "USD",
"coverage_codes": [
"FR"
],
"data": "50",
"duration": 180,
"duration_unit": "DAY",
"validity_days": 180,
"validity_after_order_days": 180,
"activation_policy": "first_use",
"network_tech": "5G",
"has_sms": false,
"sms_infos": null,
"has_voice": false,
"voice_infos": null,
"tethering_allowed": true,
"is_unlimited": false,
"fup_speed_label": null,
"unlimited_days_price": null,
"topup_available": true,
"topup_max_boosts": 0,
"link": "https://simplesim.fr/en/product/esim-france-50gb/"
},
{
"product_sku": "WW-177_20_30",
"slug": "esim-worldwide-20gb-30days",
"name": "eSIM Worldwide 20GB",
"price": 70.99,
"currency": "USD",
"coverage_codes": [
"ZA",
"AL",
"DZ",
"DE",
"AD",
"AI",
"AG",
"SA",
"AR",
"AM",
"AU",
"AT",
"AZ",
"BS",
"BH",
"BD",
"BB",
"BE",
"BY",
"BO",
"BA",
"BW",
"BN",
"BR",
"BF",
"BJ",
"KH",
"CM",
"CA",
"CV",
"CL",
"CN",
"CY",
"CO",
"KR",
"CR",
"HR",
"CI",
"DK",
"DM",
"EG",
"ES",
"EE",
"SZ",
"ET",
"FJ",
"FI",
"FR",
"GA",
"GH",
"GI",
"GD",
"GL",
"GR",
"GP",
"GT",
"GG",
"GN",
"GW",
"GF",
"GE",
"HN",
"HK",
"HU",
"IN",
"ID",
"IQ",
"IE",
"IS",
"IL",
"IT",
"JM",
"JP",
"JE",
"JO",
"KZ",
"KE",
"KG",
"XK",
"KW",
"LA",
"SV",
"LV",
"LB",
"LR",
"LI",
"LT",
"LU",
"MO",
"MK",
"MG",
"MY",
"MW",
"ML",
"MT",
"MA",
"MQ",
"MU",
"YT",
"MX",
"MD",
"MC",
"WW",
"MN",
"MS",
"ME",
"MZ",
"NI",
"NE",
"NG",
"NO",
"NZ",
"NP",
"OM",
"UG",
"UZ",
"PK",
"PA",
"PG",
"PY",
"NL",
"PH",
"PL",
"PF",
"PT",
"PE",
"QA",
"CD",
"RO",
"GB",
"RU",
"RW",
"CF",
"DO",
"RE",
"BL",
"KN",
"MF",
"VC",
"LC",
"WS",
"RS",
"SC",
"SL",
"SG",
"SK",
"SI",
"LK",
"CH",
"SE",
"SN",
"TJ",
"TZ",
"TW",
"TD",
"CZ",
"TH",
"TG",
"TO",
"TT",
"TN",
"TR",
"UA",
"UY",
"VA",
"VN",
"ZM",
"ZW",
"AE",
"EC",
"US",
"IM",
"KY",
"FO",
"TC",
"VG",
"AX"
],
"data": "20",
"duration": 30,
"duration_unit": "DAY",
"validity_days": 30,
"validity_after_order_days": 365,
"activation_policy": "first_use",
"network_tech": "4G/5G",
"has_sms": false,
"sms_infos": null,
"has_voice": false,
"voice_infos": null,
"tethering_allowed": true,
"is_unlimited": false,
"fup_speed_label": null,
"unlimited_days_price": null,
"topup_available": true,
"topup_max_boosts": 0,
"link": "https://simplesim.fr/en/product/esim-worldwide-20gb-30days/"
},
{
"product_sku": "WW-201_20_365",
"slug": "esim-worldwide-20gb",
"name": "eSIM Worldwide 20GB",
"price": 94.99,
"currency": "USD",
"coverage_codes": [
"ZA",
"AL",
"DZ",
"DE",
"AD",
"SA",
"AR",
"AM",
"AU",
"AT",
"AZ",
"BS",
"BH",
"BD",
"BE",
"BY",
"BO",
"BN",
"BR",
"BG",
"KH",
"CM",
"CA",
"CL",
"CN",
"CY",
"CO",
"KR",
"CR",
"HR",
"CI",
"DK",
"EG",
"ES",
"EE",
"FJ",
"FI",
"FR",
"GH",
"GI",
"GR",
"GP",
"GT",
"GG",
"GE",
"HN",
"HK",
"HU",
"IN",
"ID",
"IE",
"IS",
"IL",
"IT",
"JM",
"JP",
"JE",
"JO",
"KZ",
"KE",
"KW",
"SV",
"LV",
"LR",
"LI",
"LT",
"LU",
"MO",
"MK",
"MG",
"MY",
"ML",
"MT",
"MA",
"MX",
"MD",
"MC",
"WW",
"MN",
"ME",
"MZ",
"NI",
"NG",
"NO",
"NZ",
"OM",
"UG",
"UZ",
"PK",
"PA",
"PY",
"NL",
"PH",
"PL",
"PF",
"PR",
"PT",
"PE",
"QA",
"CD",
"RO",
"GB",
"DO",
"CG",
"RE",
"RS",
"SC",
"SL",
"SG",
"SK",
"SI",
"LK",
"CH",
"SE",
"SN",
"TZ",
"TW",
"CZ",
"TH",
"TT",
"TN",
"TR",
"UA",
"UY",
"VN",
"AE",
"EC",
"US",
"FO"
],
"data": "20",
"duration": 365,
"duration_unit": "DAY",
"validity_days": 365,
"validity_after_order_days": 365,
"activation_policy": "first_use",
"network_tech": "4G/5G",
"has_sms": false,
"sms_infos": null,
"has_voice": false,
"voice_infos": null,
"tethering_allowed": true,
"is_unlimited": false,
"fup_speed_label": null,
"unlimited_days_price": null,
"topup_available": true,
"topup_max_boosts": 0,
"link": "https://simplesim.fr/en/product/esim-worldwide-20gb/"
}
],
"page": 1,
"per_page": 10,
"total": 19,
"total_pages": 0,
"lang": "en"
},
"errorCode": null,
"errorMsg": null
}
Product
| Query param | Type | Required | Default | Description |
|---|---|---|---|---|
product_sku |
string | Yes | Product SKU |
Curl:
curl -s -u "ck_key:cs_key" "https://simplesim.fr/en/wp-json/simplesim/v1/catalog/EU-42_50_30_VS/"
Example response (JSON):
{
"success": true,
"obj": {
"product": {
"product_sku": "EU-42_50_30_VS",
"slug": "esim-europe-50gb-unlimited-calls-texts",
"name": "eSIM Europe 50GB + Calls & Texts",
"price": 47.99,
"currency": "USD",
"coverage_codes": [
"DE",
"AD",
"AT",
"BE",
"BG",
"CY",
"HR",
"DK",
"ES",
"EE",
"EU",
"FI",
"FR",
"GI",
"GR",
"GG",
"HU",
"IE",
"IS",
"IT",
"JE",
"LV",
"LI",
"LT",
"LU",
"MT",
"MC",
"NO",
"NL",
"PL",
"PT",
"RO",
"GB",
"SK",
"SI",
"CH",
"SE",
"CZ",
"VA",
"IM",
"FO",
"AX"
],
"data": "50",
"duration": 30,
"duration_unit": "DAY",
"validity_days": 30,
"validity_after_order_days": 365,
"activation_policy": "installation",
"network_tech": "5G",
"has_sms": true,
"sms_infos": "Unlimited texts in Europe",
"has_voice": true,
"voice_infos": "Unlimited calls in Europe",
"tethering_allowed": true,
"is_unlimited": false,
"fup_speed_label": null,
"unlimited_days_price": null,
"topup_available": false,
"topup_max_boosts": 0
}
},
"errorCode": null,
"errorMsg": null
}
Compatible devices
| Query param | Type | Required | Default | Description |
|---|---|---|---|---|
per_page |
integer | No | 10 | Number of items per page (1–100) |
page |
integer | No | 1 | Page number |
search |
string | No | Search model |
Curl:
curl -s -u "ck_key:cs_key" "https://simplesim.fr/en/wp-json/simplesim/v1/compatible-devices/?per_page=3&page=1&search=iphone"
Example payload (JSON):
{
"per_page": 3,
"page": 1,
"search": "iphone"
}
Example response (JSON):
{
"success": true,
"obj": {
"devicesList": [
{
"Name": "Apple iPhone 18 Pro Max",
"manufacturer": "Apple",
"model": "iPhone 18 Pro Max",
"release_year": null,
"comments": ""
},
{
"Name": "Apple iPhone Duo",
"manufacturer": "Apple",
"model": "iPhone Duo",
"release_year": null,
"comments": ""
},
{
"Name": "Apple iPhone 18",
"manufacturer": "Apple",
"model": "iPhone 18",
"release_year": null,
"comments": ""
}
],
"page": 1,
"per_page": 3,
"total": 41,
"total_pages": 14
},
"errorCode": null,
"errorMsg": null
}
New order
| Query param | Type | Required | Default | Description |
|---|---|---|---|---|
products |
array | No | Array of products | |
products[].product_sku |
string | Yes | Product SKU | |
products[].quantity |
integer | No | 1 | Quantity (>=1) |
products[].unlimited_days |
integer | No | Number of unlimited days (unlimited products only) | |
products[].topup_boosts |
integer | No | Number of boosts (if available) | |
products[].topup_sku |
string | No | Topup SKU | |
products[].topup_esim_id |
integer | No | Target eSIM ID for topup | |
note |
string | No | Internal reference, customer informations… Anything you need. Visible in API order detail and in your account | |
send_processing_email |
boolean | No | false | Send the order confirmation email |
send_completed_email |
boolean | No | false | Send the order completed email (containing esims) |
completed_email_lang |
string | No | Language used for completed emails. Example: en, fr, es, de. | |
end_client_email |
string | No | End-client email | |
send_end_client_email |
boolean | No | false | Send the completed email to end-client |
end_client_lang |
string | No | Language used for the end-client email. Example: en, fr, es, de. | |
webhook_url |
string | No | Receive the payload on a Webhook URL | |
testing |
boolean | No | false | If true, returns a mock payload identical to the documentation example (other parameters will be ignored) |
Curl:
curl -s -u "ck_key:cs_key" -H "Content-Type: application/json" -X POST 'https://simplesim.fr/en/wp-json/simplesim/v1/orders/' -d '{"products":[{"product_sku":"FR_1_7","quantity":1,"unlimited_days":0,"topup_boosts":0,"topup_sku":null,"topup_esim_id":null}],"note":"Your order note","send_processing_email":true,"send_completed_email":false,"completed_email_lang":"fr","end_client_email":"client@example.com","send_end_client_email":true,"end_client_lang":"fr","webhook_url":"https:\/\/example.com\/webhooks\/esim"}'
Example payload (JSON):
{
"products": [
{
"product_sku": "FR_1_7",
"quantity": 1,
"unlimited_days": 0,
"topup_boosts": 0,
"topup_sku": null,
"topup_esim_id": null
}
],
"note": "Your order note",
"send_processing_email": true,
"send_completed_email": false,
"completed_email_lang": "fr",
"end_client_email": "client@example.com",
"send_end_client_email": true,
"end_client_lang": "fr",
"webhook_url": "https://example.com/webhooks/esim"
}
Example response (JSON):
{
"success": true,
"obj": {
"order": {
"id": 0,
"status": "completed",
"created_at": "2026-10-19T22:28:59+00:00",
"currency": "EUR",
"note": "Your order note",
"completed_email_lang": "fr",
"end_client_lang": "fr",
"webhook_url": "https://example.com/webhooks/esim",
"products": [
{
"product_sku": "FR_1_7",
"name": "eSIM France 1GB",
"quantity": 1,
"unit_price": 39.99,
"line_total": 39.99,
"line_discount": 0
}
],
"esims": [
{
"id": 101,
"order_id": 0,
"product_sku": "FR_1_7",
"status": "in_use",
"ac": "LPA:1$smdpplusaddress.com$0123456789ABCDEF0123456789ABCDEF",
"msisdn": "000000000000",
"pin": "0000",
"apn_name": "apn",
"apn_user": "apnUser",
"apn_password": "apnPassword",
"note": "Some extra informations about the esim"
}
],
"esims_count": 1,
"totals": {
"subtotal": 39.99,
"discount": 0,
"fees": [
{
"label": "Commission",
"total": -4
}
],
"fees_total": 0,
"total": 36,
"currency": "EUR"
}
}
},
"errorCode": null,
"errorMsg": null
}
Orders list
| Query param | Type | Required | Default | Description |
|---|---|---|---|---|
per_page |
integer | No | 10 | Number of items per page (1–100) Limits: min: 1, max: 100 Example: 10 |
page |
integer | No | 1 | Page number Limits: min: 1 Example: 1 |
date_from |
string | No | Created on/after (UTC). Format: YYYY-MM-DD Example: 2025-01-01 |
|
date_to |
string | No | Created on/before (UTC). Format: YYYY-MM-DD Example: 2025-01-31 |
|
testing |
boolean | No | false | If true, returns a mock payload identical to the documentation example (Other parameters will be ignored) Example: true |
Possible order statuses:
pending (Pending payment), processing (Processing), on-hold (On hold), completed (Completed), cancelled (Cancelled), refunded (Refunded), failed (Failed), checkout-draft (Draft)
Curl:
curl -s -u "ck_key:cs_key" "https://simplesim.fr/en/wp-json/simplesim/v1/orders/?per_page=10&page=1&date_from=2026-10-18&date_to=2026-10-19"
Example payload (JSON):
{
"per_page": 10,
"page": 1,
"date_from": "2026-10-18",
"date_to": "2026-10-19"
}
Example response (JSON):
{
"success": true,
"obj": {
"orders": [
{
"id": 8002,
"status": "completed",
"created_at": "2026-10-19T20:28:59+00:00",
"currency": "EUR",
"note": "The note added when you ordered",
"items": [
{
"product_sku": "FR_1_7",
"name": "eSIM France 1GB",
"quantity": 2,
"unit_price_ex_tax": 7,
"unit_price_inc_tax": 9,
"line_total_ex_tax": 15,
"line_total_inc_tax": 18,
"line_discount_ex_tax": 0,
"line_discount_inc_tax": 0
}
],
"esims": [
{
"id": 202,
"order_id": 8002,
"product_sku": "FR_1_7",
"status": "in_use",
"ac": "LPA:1$smdpplusaddress.com$0123456789ABCDEF0123456789ABCDEF",
"msisdn": "000000000000",
"pin": "0000",
"apn_name": "apn",
"apn_user": "apnUser",
"apn_password": "apnPassword",
"note": "Some extra informations about the esim"
},
{
"id": 203,
"order_id": 8002,
"product_sku": "FR_1_7",
"status": "in_use",
"ac": "LPA:1$smdpplusaddress.com$0123456789ABCDEF0123456789ABCDEF",
"msisdn": "000000000001",
"pin": "0000",
"apn_name": "apn",
"apn_user": "apnUser",
"apn_password": "apnPassword",
"note": "Some extra informations about the esim"
}
],
"esims_count": 2,
"totals": {
"subtotal_ex_tax": 15,
"subtotal_inc_tax": 18,
"tax_total": 3,
"discount_ex_tax": 0,
"discount_tax": 0,
"discount_inc_tax": 0,
"fees": [
{
"label": "Commission",
"total_ex_tax": -3.33,
"total_tax": -0.67,
"total_inc_tax": -4
}
],
"fees_total_inc_tax": -4,
"total_ex_tax": 15,
"total_inc_tax": 14,
"currency": "EUR"
}
}
],
"page": 1,
"per_page": 10,
"total": 42,
"total_pages": 5
},
"errorCode": null,
"errorMsg": null
}
Order detail
| Path param | Type | Required | Default | Description |
|---|---|---|---|---|
id |
integer | Yes | Order ID (use id=0 to get the example payload) |
Possible order statuses:
pending (Pending payment), processing (Processing), on-hold (On hold), completed (Completed), cancelled (Cancelled), refunded (Refunded), failed (Failed), checkout-draft (Draft)
Curl:
curl -s -u "ck_key:cs_key" "https://simplesim.fr/en/wp-json/simplesim/v1/orders/0/"
Example response (JSON):
{
"success": true,
"obj": {
"order": {
"id": 0,
"status": "completed",
"created_at": "2026-10-19T20:28:59+00:00",
"currency": "EUR",
"note": "The note added when you ordered",
"items": [
{
"product_sku": "FR_1_7",
"name": "eSIM France 1GB",
"quantity": 2,
"unit_price_ex_tax": 7,
"unit_price_inc_tax": 9,
"line_total_ex_tax": 15,
"line_total_inc_tax": 18,
"line_discount_ex_tax": 0,
"line_discount_inc_tax": 0
}
],
"esims": [
{
"id": 202,
"order_id": 8002,
"product_sku": "FR_1_7",
"status": "in_use",
"ac": "LPA:1$smdpplusaddress.com$0123456789ABCDEF0123456789ABCDEF",
"msisdn": "000000000000",
"pin": "0000",
"apn_name": "apn",
"apn_user": "apnUser",
"apn_password": "apnPassword",
"note": "Some extra informations about the esim"
},
{
"id": 203,
"order_id": 8002,
"product_sku": "FR_1_7",
"status": "in_use",
"ac": "LPA:1$smdpplusaddress.com$0123456789ABCDEF0123456789ABCDEF",
"msisdn": "000000000001",
"pin": "0000",
"apn_name": "apn",
"apn_user": "apnUser",
"apn_password": "apnPassword",
"note": "Some extra informations about the esim"
}
],
"esims_count": 2,
"totals": {
"subtotal_ex_tax": 15,
"subtotal_inc_tax": 18,
"tax_total": 3,
"discount_ex_tax": 0,
"discount_tax": 0,
"discount_inc_tax": 0,
"fees": [
{
"label": "Commission",
"total_ex_tax": -3.33,
"total_tax": -0.67,
"total_inc_tax": -4
}
],
"fees_total_inc_tax": -4,
"total_ex_tax": 15,
"total_inc_tax": 14,
"currency": "EUR"
}
}
},
"errorCode": null,
"errorMsg": null
}
eSIMs list
| Query param | Type | Required | Default | Description |
|---|---|---|---|---|
per_page |
integer | No | 10 | Number of items per page (1-100) |
page |
integer | No | 1 | Page number |
status |
string | No | Filter by status. Status is usually known but can stay unknown on certain destinations (Possible status: null,"not_used","in_use","used_up", "cancelled", "expired") | |
date_from |
string | No | Filter by date. Created on/after this date. Format: YYYY-MM-DD | |
date_to |
string | No | Filter by date. Created on/before this date. Format: YYYY-MM-DD | |
testing |
boolean | No | false | If true, returns a mock payload identical to the documentation example (other parameters will be ignored). |
Curl:
curl -s -u "ck_key:cs_key" "https://simplesim.fr/en/wp-json/simplesim/v1/esims/?per_page=10&page=1&status=in_use&date_from=2026-10-18&date_to=2026-10-19"
Example payload (JSON):
{
"per_page": 10,
"page": 1,
"status": "in_use",
"date_from": "2026-10-18",
"date_to": "2026-10-19"
}
Example response (JSON):
{
"success": true,
"obj": {
"esims": [
{
"id": 101,
"order_id": 9001,
"product_sku": "FR_1_7",
"status": "in_use",
"ac": "LPA:1$smdpplusaddress.com$0123456789ABCDEF0123456789ABCDEF",
"msisdn": "000000000001",
"pin": "0000",
"apn_name": "apn",
"apn_user": "apnUser",
"apn_password": "apnPassword",
"note": "Some extra informations about the esim"
},
{
"id": 102,
"order_id": 9002,
"product_sku": "FR_1_7",
"status": "used_up",
"ac": "LPA:1$smdpplusaddress.com$0123456789ABCDEF0123456789ABCDEF",
"msisdn": "000000000002",
"pin": "0000",
"apn_name": "apn",
"apn_user": "apnUser",
"apn_password": "apnPassword",
"note": "Some extra informations about the esim"
}
],
"page": 1,
"per_page": 10,
"total": 42,
"total_pages": 5
},
"errorCode": null,
"errorMsg": null
}
eSIM detail
| Query param | Type | Required | Default | Description |
|---|---|---|---|---|
id |
integer | Yes | eSIM post ID (numeric). Use id=0 for testing | |
lang |
string | No | Optional language code for translated eSIM PDF links. The generated PDF URL will include ?lang={lang}. Example: en, fr, es, de. |
Curl:
curl -s -u "ck_key:cs_key" "https://simplesim.fr/en/wp-json/simplesim/v1/esims/0/"
Example response (JSON):
{
"success": true,
"obj": {
"esim": {
"id": 0,
"order_id": 0,
"product_sku": "FR_1_7",
"status": "in_use",
"ac": "LPA:1$smdpplusaddress.com$0123456789ABCDEF0123456789ABCDEF",
"msisdn": "000000000000",
"pin": "0000",
"apn_name": "apn",
"apn_user": "apnUser",
"apn_password": "apnPassword",
"note": "Some extra informations about the esim",
"activation_time": "2026-10-19T22:28:59+00:00",
"duration": 30,
"available_topups": [
{
"product_sku": "TOPUP_EXAMPLE_1",
"name": "Example topup 1",
"price": 10,
"duration": 30,
"data_bytes": 1073741824
},
{
"product_sku": "TOPUP_EXAMPLE_2",
"name": "Example topup 2",
"price": 20,
"duration": 30,
"data_bytes": 5368709120
}
],
"data_percentage_used": 12.5,
"is_unlimited": false,
"links": {
"url": "https://simplesim.fr/esim/esim-1234?ac=YWJjMTIz",
"png": "https://simplesim.fr/esim/esim-1234?ac=YWJjMTIz&format=png",
"pdf": "https://simplesim.fr/esim/esim-1234?ac=YWJjMTIz&format=pdf"
}
}
},
"errorCode": null,
"errorMsg": null
}
Technical Requirements & Compatibility
MCP Server Access:
The simpleSIM MCP server is public and free. No API key is required for public tools (catalog, device compatibility, knowledge base search). Simply configure the endpoint URL (https://simplesim.fr/en/wp-json/mcp/simplesim/) in your favorite MCP client such as Antigravity, Claude Desktop, Cursor, VS Code, or Windsurf.
REST API Access:
The REST API is reserved for B2B partners and registered developers.
To obtain your credentials:
- Register an account on simplesim.fr.
- Request API access activation from your account manager or support team.
- Generate your Consumer Key and Consumer Secret under My Account -> API.
Rate Limits & Data Format:
- REST API: Limited to 10 requests per second and 10,000 requests per day per account.
- Response format: All responses are returned in JSON (Content-Type: application/json; charset=UTF-8).
- Pricing & Currency: All prices are tax-inclusive and provided in USD or EUR depending on product setup.
FAQ
API keys are available for B2B customers. Create an account at simplesim.fr, request API access activation from your account manager or through our contact form, then generate your Consumer Key and Consumer Secret from My Account → API. The keys work with HTTP Basic Auth on all REST endpoints.
Yes, the simpleSIM MCP server is completely free and requires no API key. It is available at https://simplesim.fr/wp-json/simplesim-mcp/sse and can be used by any MCP-compatible client (Claude Desktop, Cursor, VS Code, Windsurf, etc.). All 7 public tools – catalog, device compatibility, knowledge base, orders and eSIM tracking – are accessible without authentication.
The simpleSIM MCP server is compatible with any client supporting the MCP protocol. This includes Antigravity, Claude Desktop (Anthropic), Cursor,
VS Code with GitHub Copilot, Windsurf (Codeium), and any custom AI agent or application built on standard MCP libraries. Configuration takes seconds: just add the server URL to your client’s configuration file.
The REST API is designed for developers integrating simpleSIM eSIMs into their own applications (websites, mobile apps, booking systems). It requires API keys and a B2B account.
The MCP server is designed for AI assistants. It lets an AI agent (like Antigravity, Claude or Cursor) interact directly with simpleSIM to browse plans, check device compatibility or create orders – all through natural language. It is free and requires no authentication for public tools.
In short: the REST API is for your applications, the MCP server is for your AI assistants.