Table of contents
Overview
This guide describes the SimpleSIM REST API endpoints available to technical clients. You can generate your keys from My Account → API after we have enabled API access on your profile.
Base url
https://simplesim.fr/es/wp-json/simplesim/v1/
Postman
Authentication
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 (also matches product ID if numeric) |
Curl:
CopyCopied !
curl -s -u "ck_key:cs_key" "https://simplesim.fr/es/wp-json/simplesim/v1/catalog/?per_page=10&page=1&search=France"
Example payload (JSON):
CopyCopied !
{
"per_page": 10,
"page": 1,
"search": "France"
}
Example response (JSON):
CopyCopied !
{
"success": true,
"obj": {
"productsList": [
{
"product_id": 2320,
"slug": "esim-1gb-francia",
"name": "eSIM 1GB, Francia",
"price": 4.99,
"currency": "USD",
"data": "1",
"duration": 7,
"duration_unit": "DAY",
"coverage": "FR-ES",
"is_unlimited": false,
"unlimited_days_price": null,
"topup_max_boosts": 0,
"link": "https://simplesim.fr/es/producto/esim-1gb-francia/"
},
{
"product_id": 29008,
"slug": "esim-ilimitada-guayana-francesa",
"name": "eSIM ilimitada, Guayana Francesa",
"price": 4.99,
"currency": "USD",
"data": null,
"duration": null,
"duration_unit": "DAY",
"coverage": "GF-ES",
"is_unlimited": true,
"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_max_boosts": 0,
"link": "https://simplesim.fr/es/producto/esim-ilimitada-guayana-francesa/"
},
{
"product_id": 10013,
"slug": "esim-1gb-caribe",
"name": "eSIM 1GB, Caribe",
"price": 10.99,
"currency": "USD",
"data": "1",
"duration": 7,
"duration_unit": "DAY",
"coverage": "CO-ES,TC-ES,JM-ES,PY-ES,PE-ES,VC-ES,UY-ES,AI-ES,AG-ES,AR-ES,BB-ES,BO-ES,BR-ES,DM-ES,GD-ES,GP-ES,GF-ES,KY-ES,VG-ES,MS-ES,PR-ES,DO-ES,KN-ES,LC-ES",
"is_unlimited": false,
"unlimited_days_price": null,
"topup_max_boosts": 0,
"link": "https://simplesim.fr/es/producto/esim-1gb-caribe/"
},
{
"product_id": 2318,
"slug": "esim-5gb-francia",
"name": "eSIM 5GB, Francia",
"price": 10.99,
"currency": "USD",
"data": "5",
"duration": 30,
"duration_unit": "DAY",
"coverage": "FR-ES",
"is_unlimited": false,
"unlimited_days_price": null,
"topup_max_boosts": 5,
"link": "https://simplesim.fr/es/producto/esim-5gb-francia/"
},
{
"product_id": 6726,
"slug": "esim-10gb-francia",
"name": "eSIM 10GB, Francia",
"price": 18.99,
"currency": "USD",
"data": "10",
"duration": 30,
"duration_unit": "DAY",
"coverage": "FR-ES",
"is_unlimited": false,
"unlimited_days_price": null,
"topup_max_boosts": 5,
"link": "https://simplesim.fr/es/producto/esim-10gb-francia/"
},
{
"product_id": 26534,
"slug": "esim-20gb-france",
"name": "eSIM 20GB, Francia",
"price": 27.99,
"currency": "USD",
"data": "20",
"duration": 30,
"duration_unit": "DAY",
"coverage": "FR-ES",
"is_unlimited": false,
"unlimited_days_price": null,
"topup_max_boosts": 0,
"link": "https://simplesim.fr/es/producto/esim-20gb-france/"
},
{
"product_id": 7588,
"slug": "esim-mundo-de-vacaciones",
"name": "eSIM 10 GB, en todo el mundo",
"price": 32.99,
"currency": "USD",
"data": "10",
"duration": 30,
"duration_unit": "DAY",
"coverage": "SA-ES,CV-ES,CM-ES,TD-ES,CL-ES,CO-ES,CI-ES,CR-ES,EC-ES,EG-ES,SV-ES,FJ-ES,GA-ES,GH-ES,GT-ES,GN-ES,GW-ES,HN-ES,ID-ES,IQ-ES,TC-ES,JM-ES,JO-ES,QA-ES,KW-ES,LA-ES,LS-ES,LB-ES,LR-ES,MK-ES,MG-ES,ML-ES,MU-ES,MR-ES,MD-ES,MN-ES,ME-ES,MZ-ES,NP-ES,NI-ES,NE-ES,NG-ES,NC-ES,NZ-ES,OM-ES,PK-ES,PA-ES,PG-ES,PY-ES,PE-ES,PF-ES,CF-ES,CG-ES,CD-ES,RW-ES,VC-ES,SN-ES,SC-ES,SL-ES,LK-ES,ZA-ES,TW-ES,TZ-ES,GL-ES,TO-ES,TT-ES,UG-ES,UY-ES,UZ-ES,VU-ES,VE-ES,YE-ES,ZM-ES,AL-ES,DZ-ES,AR-ES,AM-ES,AU-ES,AZ-ES,BS-ES,BD-ES,BB-ES,BH-ES,BJ-ES,BY-ES,BO-ES,BW-ES,BR-ES,BN-ES,BF-ES,KH-ES,AE-ES,ET-ES,WW-ES,GP-ES,GF-ES,GQ-ES,KE-ES,MA-ES,MQ-ES,YT-ES,MX-ES,PR-ES,DO-ES,RE-ES,RU-ES,BL-ES,MF-ES,PM-ES,TG-ES,TN-ES",
"is_unlimited": false,
"unlimited_days_price": null,
"topup_max_boosts": 0,
"link": "https://simplesim.fr/es/producto/esim-mundo-de-vacaciones/"
},
{
"product_id": 10016,
"slug": "esim-3gb-caribe",
"name": "eSIM 3GB, Caribe",
"price": 32.99,
"currency": "USD",
"data": "3",
"duration": 30,
"duration_unit": "DAY",
"coverage": "CO-ES,TC-ES,JM-ES,PY-ES,PE-ES,VC-ES,UY-ES,AI-ES,AG-ES,AR-ES,BB-ES,BO-ES,BR-ES,DM-ES,GD-ES,GP-ES,GF-ES,KY-ES,VG-ES,MS-ES,PR-ES,DO-ES,KN-ES,LC-ES",
"is_unlimited": false,
"unlimited_days_price": null,
"topup_max_boosts": 0,
"link": "https://simplesim.fr/es/producto/esim-3gb-caribe/"
},
{
"product_id": 10019,
"slug": "esim-5gb-caribe",
"name": "eSIM 5GB, Caribe",
"price": 54.99,
"currency": "USD",
"data": "5",
"duration": 30,
"duration_unit": "DAY",
"coverage": "CO-ES,TC-ES,JM-ES,PY-ES,PE-ES,VC-ES,UY-ES,AI-ES,AG-ES,AR-ES,BB-ES,BO-ES,BR-ES,DM-ES,GD-ES,GP-ES,GF-ES,KY-ES,VG-ES,MS-ES,PR-ES,DO-ES,KN-ES,LC-ES",
"is_unlimited": false,
"unlimited_days_price": null,
"topup_max_boosts": 0,
"link": "https://simplesim.fr/es/producto/esim-5gb-caribe/"
},
{
"product_id": 7698,
"slug": "esim-50gb-francia",
"name": "eSIM 50GB, Francia",
"price": 65.99,
"currency": "USD",
"data": "50",
"duration": 180,
"duration_unit": "DAY",
"coverage": "FR-ES",
"is_unlimited": false,
"unlimited_days_price": null,
"topup_max_boosts": 0,
"link": "https://simplesim.fr/es/producto/esim-50gb-francia/"
}
],
"page": 1,
"per_page": 10,
"total": 12,
"total_pages": 2
},
"errorCode": null,
"errorMsg": null
}
Product
| Query param | Type | Required | Default | Description |
|---|---|---|---|---|
product_id |
integer | Yes | Product ID |
Curl:
CopyCopied !
curl -s -u "ck_key:cs_key" "https://simplesim.fr/es/wp-json/simplesim/v1/catalog/2320/"
Example response (JSON):
CopyCopied !
{
"success": true,
"obj": {
"product": {
"product_id": 2320,
"slug": "esim-1gb-francia",
"name": "eSIM 1GB, Francia",
"price": 4.99,
"currency": "USD",
"data": "1",
"duration": 7,
"duration_unit": "DAY",
"coverage": "FR-ES",
"is_unlimited": false,
"unlimited_days_price": null,
"topup_max_boosts": 0,
"link": "https://simplesim.fr/es/producto/esim-1gb-francia/"
}
},
"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:
CopyCopied !
curl -s -u "ck_key:cs_key" "https://simplesim.fr/es/wp-json/simplesim/v1/compatible-devices/?per_page=3&page=1&search=iphone"
Example payload (JSON):
CopyCopied !
{
"per_page": 3,
"page": 1,
"search": "iphone"
}
Example response (JSON):
CopyCopied !
{
"success": true,
"obj": {
"devicesList": [
{
"Name": "Apple iPhone 17e",
"manufacturer": "Apple",
"model": "iPhone 17e",
"release_year": 2026,
"comments": "· Nano-SIM + eSIM + eSIM (max 2 at a time; International)\n· eSIM + eSIM (8 or more, max 2 at a time; USA)\n· Nano-SIM + Nano-SIM (China)"
},
{
"Name": "Apple iPhone 17",
"manufacturer": "Apple",
"model": "iPhone 17",
"release_year": 2025,
"comments": "Nano-SIM + eSIM + eSIM (max 2 at a time; International)\neSIM + eSIM (8 or more, max 2 at a time; USA)\nNano-SIM + Nano-SIM (China)"
},
{
"Name": "Apple iPhone Air",
"manufacturer": "Apple",
"model": "iPhone Air",
"release_year": 2025,
"comments": "eSIM + eSIM (8 or more, max 2 at a time)"
}
],
"page": 1,
"per_page": 3,
"total": 34,
"total_pages": 12
},
"errorCode": null,
"errorMsg": null
}
New order
| Query param | Type | Required | Default | Description |
|---|---|---|---|---|
products |
array | No | Array of products | |
products[].product_id |
integer | Yes | Product ID | |
products[].quantity |
integer | No | 1 | Quantity (>=1) |
products[].coverage |
string | No | Two-letter coverage code (e.g., FR, US). Use this if the product is multi-destination and you want your client to see a specific flag | |
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) |
end_client_email |
string | No | End-client email | |
send_end_client_email |
boolean | No | false | Send the completed email to end-client |
testing |
boolean | No | false | If true, returns a mock payload identical to the documentation example (other parameters will be ignored) |
Curl:
CopyCopied !
curl -s -u "ck_key:cs_key" -H "Content-Type: application/json" -X POST 'https://simplesim.fr/es/wp-json/simplesim/v1/orders/' -d '{"products":[{"product_id":1234,"quantity":1,"coverage":"fr","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,"end_client_email":"client@example.com","send_end_client_email":true}'
Example payload (JSON):
CopyCopied !
{
"products": [
{
"product_id": 1234,
"quantity": 1,
"coverage": "fr",
"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,
"end_client_email": "client@example.com",
"send_end_client_email": true
}
Example response (JSON):
CopyCopied !
{
"success": true,
"obj": {
"order": {
"id": 0,
"status": "completed",
"created_at": "2026-03-13T18:11:57+00:00",
"currency": "EUR",
"note": "Your order note",
"products": [
{
"product_id": 0,
"name": "eSIM 30GB, Dummy",
"quantity": 1,
"unit_price": 39.99,
"line_total": 39.99,
"line_discount": 0
}
],
"esims": [
{
"id": 101,
"order_id": 0,
"product_id": 0,
"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) |
page |
integer | No | 1 | Page number |
date_from |
string | No | Created on/after (UTC). Format: YYYY-MM-DD | |
date_to |
string | No | Created on/before (UTC). 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:
CopyCopied !
curl -s -u "ck_key:cs_key" "https://simplesim.fr/es/wp-json/simplesim/v1/orders/?per_page=10&page=1&date_from=2026-03-12&date_to=2026-03-13"
Example payload (JSON):
CopyCopied !
{
"per_page": 10,
"page": 1,
"date_from": "2026-03-12",
"date_to": "2026-03-13"
}
Example response (JSON):
CopyCopied !
{
"success": true,
"obj": {
"orders": [
{
"id": 8002,
"status": "completed",
"created_at": "2026-03-13T16:11:57+00:00",
"currency": "EUR",
"note": "The note added when you ordered",
"items": [
{
"sku": "ESIM-DUMMY-30G-30D",
"name": "eSIM 30GB, Dummy",
"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_id": 0,
"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_id": 0,
"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) |
Curl:
CopyCopied !
curl -s -u "ck_key:cs_key" "https://simplesim.fr/es/wp-json/simplesim/v1/orders/0/"
Example response (JSON):
CopyCopied !
{
"success": true,
"obj": {
"order": {
"id": 0,
"status": "completed",
"created_at": "2026-03-13T16:11:57+00:00",
"currency": "EUR",
"note": "The note added when you ordered",
"items": [
{
"sku": "ESIM-DUMMY-30G-30D",
"name": "eSIM 30GB, Dummy",
"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_id": 0,
"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_id": 0,
"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") | |
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:
CopyCopied !
curl -s -u "ck_key:cs_key" "https://simplesim.fr/es/wp-json/simplesim/v1/esims/?per_page=10&page=1&status=in_use&date_from=2026-03-12&date_to=2026-03-13"
Example payload (JSON):
CopyCopied !
{
"per_page": 10,
"page": 1,
"status": "in_use",
"date_from": "2026-03-12",
"date_to": "2026-03-13"
}
Example response (JSON):
CopyCopied !
{
"success": true,
"obj": {
"esims": [
{
"id": 101,
"order_id": 9001,
"product_id": 0,
"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_id": 0,
"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 |
Curl:
CopyCopied !
curl -s -u "ck_key:cs_key" "https://simplesim.fr/es/wp-json/simplesim/v1/esims/0/"
Example response (JSON):
CopyCopied !
{
"success": true,
"obj": {
"esim": {
"id": 0,
"order_id": 0,
"product_id": 0,
"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-03-13T18:11:57+00:00",
"duration": 30,
"available_topups": [
101,
102
],
"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
}