Getting Started

Follow these steps to make your first API call in minutes.


Quickstart Tooling

Accelerate your development with our official Postman collection. It comes pre-configured with the endpoints, automated variable chaining, and payloads you need.

How to import into Postman:

  1. Expand the code block below and click the Copy icon in the top right.
  2. Open Postman and click Import in the top left corner.
  3. Select the Raw text tab.
  4. Paste the JSON code and click Continue -> Import.
  5. Open the Collection Variables, paste your Sandbox API Key into the api_key field, and save!
Click here to view and copy the Postman Collection JSON
{
"info": {
  "_postman_id": "fa50e468-7dbb-4147-8d50-778530525f10",
  "name": "eSimply B2B Partner API",
  "description": "Complete collection for the eSimply B2B Partner API. Includes Catalog Discovery, Purchasing, and Order Management.",
  "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json",
  "_exporter_id": "37385065",
  "_collection_link": "https://go.postman.co/collection/37385065-fa50e468-7dbb-4147-8d50-778530525f10?source=collection_link"
},
"item": [
  {
    "name": "1. Catalog Discovery",
    "item": [
      {
        "name": "List Available Destinations",
        "request": {
          "method": "GET",
          "header": [],
          "url": {
            "raw": "{{base_url}}/esim/destinations",
            "host": [
              "{{base_url}}"
            ],
            "path": [
              "esim",
              "destinations"
            ]
          },
          "description": "Retrieves a complete list of all supported countries and regional groups."
        },
        "response": []
      },
      {
        "name": "List Packages for Destination",
        "event": [
          {
            "listen": "test",
            "script": {
              "exec": [
                "if (pm.response.code === 200) {",
                "    var jsonData = pm.response.json();",
                "    if(jsonData.length > 0 && jsonData[0].package_id) {",
                "        pm.collectionVariables.set(\"package_id\", jsonData[0].package_id);",
                "        console.log(\"Saved package_id: \" + jsonData[0].package_id);",
                "    }",
                "}"
              ],
              "type": "text/javascript"
            }
          }
        ],
        "request": {
          "method": "GET",
          "header": [],
          "url": {
            "raw": "{{base_url}}/esim/destination/{{destination_code}}/packages",
            "host": [
              "{{base_url}}"
            ],
            "path": [
              "esim",
              "destination",
              "{{destination_code}}",
              "packages"
            ]
          },
          "description": "Retrieves all available data plans (packages) for a specific destination code. Automatically saves the first `package_id` to variables for the next step."
        },
        "response": []
      }
    ],
    "description": "Explore supported countries, regions, and available eSIM data plans."
  },
  {
    "name": "2. Purchasing & Orders",
    "item": [
      {
        "name": "Create a Cart",
        "event": [
          {
            "listen": "test",
            "script": {
              "exec": [
                "if (pm.response.code === 200) {",
                "    var jsonData = pm.response.json();",
                "    if(jsonData.cart_key) {",
                "        pm.collectionVariables.set(\"cart_key\", jsonData.cart_key);",
                "        console.log(\"Cart Key saved: \" + jsonData.cart_key);",
                "    }",
                "}"
              ],
              "type": "text/javascript"
            }
          }
        ],
        "request": {
          "method": "POST",
          "header": [
            {
              "key": "Content-Type",
              "value": "application/json"
            }
          ],
          "body": {
            "mode": "raw",
            "raw": "{\n  \"package_id\": {{package_id}},\n  \"destination_code\": \"{{destination_code}}\",\n  \"start_date\": \"2026-07-01\"\n}"
          },
          "url": {
            "raw": "{{base_url}}/orders/cart",
            "host": [
              "{{base_url}}"
            ],
            "path": [
              "orders",
              "cart"
            ]
          },
          "description": "Initializes a shopping cart. Automatically saves the returned `cart_key` as a variable for the Submit step."
        },
        "response": []
      },
      {
        "name": "Submit Order & Provision eSIM",
        "event": [
          {
            "listen": "test",
            "script": {
              "exec": [
                "if (pm.response.code === 200) {",
                "    var jsonData = pm.response.json();",
                "    if(jsonData.purchases && jsonData.purchases.length > 0) {",
                "        pm.collectionVariables.set(\"iccid\", jsonData.purchases[0].iccid);",
                "        console.log(\"Saved ICCID: \" + jsonData.purchases[0].iccid);",
                "    }",
                "}"
              ],
              "type": "text/javascript"
            }
          }
        ],
        "request": {
          "method": "POST",
          "header": [
            {
              "key": "Content-Type",
              "value": "application/json"
            }
          ],
          "body": {
            "mode": "raw",
            "raw": "{\n  \"cart_key\": \"{{cart_key}}\",\n  \"end_user_email\": \"[email protected]\",\n  \"end_user_phone\": \"+14155552671\",\n  \"end_user_first_name\": \"Demo\",\n  \"end_user_last_name\": \"User\"\n}"
          },
          "url": {
            "raw": "{{base_url}}/orders/submit",
            "host": [
              "{{base_url}}"
            ],
            "path": [
              "orders",
              "submit"
            ]
          },
          "description": "Finalizes the purchase. Automatically extracts the new `iccid` so you can test the Order Management endpoints."
        },
        "response": []
      }
    ],
    "description": "Manage shopping carts and provision new eSIMs."
  },
  {
    "name": "3. Order Management",
    "item": [
      {
        "name": "List Order History",
        "request": {
          "method": "GET",
          "header": [],
          "url": {
            "raw": "{{base_url}}/profile/orders?destination={{destination_code}}",
            "host": [
              "{{base_url}}"
            ],
            "path": [
              "profile",
              "orders"
            ],
            "query": [
              {
                "key": "destination",
                "value": "{{destination_code}}",
                "description": "Filter by ISO2 destination code"
              },
              {
                "key": "startDate",
                "value": "2026-01-01",
                "description": "Filter by orders activating on or after this date",
                "disabled": true
              },
              {
                "key": "endDate",
                "value": "2026-12-31",
                "description": "Filter by orders activating on or before this date",
                "disabled": true
              }
            ]
          },
          "description": "Retrieves a history of purchased eSIMs tied to your partner account. Query parameters for date filtering are included but disabled by default."
        },
        "response": []
      },
      {
        "name": "Get Order by ICCID",
        "request": {
          "method": "GET",
          "header": [],
          "url": {
            "raw": "{{base_url}}/profile/orders/{{iccid}}",
            "host": [
              "{{base_url}}"
            ],
            "path": [
              "profile",
              "orders",
              "{{iccid}}"
            ]
          },
          "description": "Retrieves the details of a specific purchased eSIM using its globally unique serial number (ICCID)."
        },
        "response": []
      },
      {
        "name": "Get Esim data usage",
        "request": {
          "auth": {
            "type": "apikey",
            "apikey": [
              {
                "key": "value",
                "value": "{{api_key}}",
                "type": "string"
              },
              {
                "key": "key",
                "value": "X-API-KEY",
                "type": "string"
              },
              {
                "key": "in",
                "value": "header",
                "type": "string"
              }
            ]
          },
          "method": "GET",
          "header": [],
          "url": {
            "raw": "{{host}}/profile/data-usage/:iccid",
            "host": [
              "{{host}}"
            ],
            "path": [
              "profile",
              "data-usage",
              ":iccid"
            ],
            "variable": [
              {
                "key": "iccid",
                "value": ""
              }
            ]
          },
          "description": "Retrieves the Data usage of a specific purchased eSIM using its globally unique serial number (ICCID)."
        },
        "response": []
      }
    ],
    "description": "Retrieve historical orders and access installation details."
  }
],
"auth": {
  "type": "apikey",
  "apikey": [
    {
      "key": "value",
      "value": "{{api_key}}",
      "type": "string"
    },
    {
      "key": "key",
      "value": "X-API-Key",
      "type": "string"
    },
    {
      "key": "in",
      "value": "header",
      "type": "string"
    }
  ]
},
"event": [
  {
    "listen": "prerequest",
    "script": {
      "type": "text/javascript",
      "exec": [
        ""
      ]
    }
  },
  {
    "listen": "test",
    "script": {
      "type": "text/javascript",
      "exec": [
        ""
      ]
    }
  }
],
"variable": [
  {
    "key": "base_url",
    "value": "https://api-sandbox.esimply.io/v3",
    "type": "string"
  },
  {
    "key": "api_key",
    "value": "YOUR_SANDBOX_KEY_HERE",
    "type": "string"
  },
  {
    "key": "destination_code",
    "value": "US",
    "type": "string"
  },
  {
    "key": "package_id",
    "value": "",
    "type": "string"
  },
  {
    "key": "cart_key",
    "value": "",
    "type": "string"
  },
  {
    "key": "iccid",
    "value": "",
    "type": "string"
  }
]
}

Step 1: Obtain Your Sandbox API Key

Contact the eSimply team to receive your Sandbox API key. This key gives you full access to the sandbox environment at:

https://api-sandbox.esimply.io

Step 2: Build & Test

Using your sandbox key, you can:

  • Browse available eSIM packages by destination
  • Add packages to a cart
  • Submit test orders and receive mock eSIM details (ICCID, QR code, activation code)

Refer to the API Reference for the full list of endpoints.

Step 3: Go Live

Once your QA process is complete and you have validated your integration, notify the eSimply team. We will review your implementation, ensure your partner wallet is funded, and issue your Production API key for:

https://api.esimply.io
❗️

Sandbox and production keys are different. Make sure to update the base URL and the API key when switching environments.

Authentication

All API requests must include your API key in the request header:

X-API-Key: your-api-key-here

See the Authentication page for more details.