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/de/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/de/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": [],
"page": 1,
"per_page": 10,
"total": 0,
"total_pages": 0
},
"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/de/wp-json/simplesim/v1/catalog/10868/"
Example response (JSON):
CopyCopied !
{
"success": true,
"obj": {
"product": {
"product_id": 10868,
"slug": "esim-50gb-unlimited-talk-text-europe",
"name": "eSIM 50GB, Europa",
"price": 43.99,
"currency": "USD",
"data": "50",
"duration": 30,
"duration_unit": "DAY",
"coverage": "AX-DE,AD-DE,BE-DE,BG-DE,DK-DE,DE-DE,EE-DE,FO-DE,FI-DE,FR-DE,GI-DE,GR-DE,GG-DE,IE-DE,IS-DE,IT-DE,JE-DE,HR-DE,LV-DE,LI-DE,LT-DE,LU-DE,MT-DE,MC-DE,NL-DE,NO-DE,AT-DE,PL-DE,PT-DE,RO-DE,SE-DE,CH-DE,SIZILIEN,SK-DE,SI-DE,ES-DE,CZ-DE,HU-DE,GB-DE,CY-DE,EU-DE,IM-DE,VA-DE",
"is_unlimited": false,
"unlimited_days_price": null,
"topup_max_boosts": 0,
"link": "https://simplesim.fr/de/produkt/esim-50gb-unlimited-talk-text-europe/"
}
},
"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/de/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/de/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:06:03+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/de/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:06:03+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/de/wp-json/simplesim/v1/orders/0/"
Example response (JSON):
CopyCopied !
{
"success": true,
"obj": {
"order": {
"id": 0,
"status": "completed",
"created_at": "2026-03-13T16:06:03+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/de/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/de/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:06:03+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
}