API

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

GET /simplesim/v1/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

GET /simplesim/v1/catalog/{product_id}
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

GET /simplesim/v1/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

POST /simplesim/v1/orders
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

GET /simplesim/v1/orders
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

GET /simplesim/v1/orders/{id}
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

GET /simplesim/v1/esims
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

GET /simplesim/v1/esims/{id}
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
}