Skip to Content
🚀 Trusted by travel businesses worldwide - Roamify eSIM API

Table of Contents

Create eSIM Order

To create an eSIM order, you need to send a POST request to the /api/esim/order endpoint.

You are required to provide the following parameters in the request body:

  • items: An array of eSIM items you want to order. Each item should contain the following details:
    • packageId: The ID of the eSIM package you want to order. This is a required field of type string.
    • quantity: The quantity of the eSIM package you want to order. This is a required field of type number.

Usage - create an eSIM order

Here is an example of how you can create an eSIM order using Roamify eSIM API.

curl --request POST \ --url 'https://api-dev.getroamify.com/api/esim/order' \ --header 'Authorization: Bearer Access Token' \ --header 'Content-Type: application/json' \ --data '{ "items": [ { "packageId": "Package ID", "quantity": 1 } ] }'

Sample Response

{ "status": "success", "data": { "id": "67bbabb7-e893-410a-b0a8-4fa62d347b6c", "orderType": "api", "status": "COMPLETED", "total": 5, "currency": "USD", "createdAt": 1731837535, "updatedAt": 1731837539, "items": [ { "esimId": "b06036c5-eadc-4f88-aa31-8c207fec91ec", "packageId": "esim-cambodia-7days-1gb-all", "package": "1 GB - 7 Days", "type": "esim", "price": 5, "currency": "USD", "createdAt": 1731837535, "updatedAt": 1731837539 } ] } }

Create Top-up Order

To create a top-up order, you need to send a POST request to the /api/esim/order/topup endpoint.

You are required to provide the following parameters in the request body:

  • iccid: The ICCID of the eSIM you want to top-up. This is a required field of type string.
  • packageId: The ID of the eSIM package you want to top-up. This is a required field of type string.

Usage - create a top-up order

Here is an example of how you can create a top-up order using Roamify eSIM API.

curl --request POST \ --url 'https://api-dev.getroamify.com/api/esim/order/topup' \ --header 'Authorization: Bearer Access Token' \ --header 'Content-Type: application/json' \ --data '{ "iccid": "ICCID", "packageId": "Package ID" }'

Sample Response

{ "status": "success", "data": { "id": "0501aef3-7cf1-4b4c-a293-c03a6bd7a8ab", "orderType": "api", "status": "COMPLETED", "total": 5, "currency": "USD", "createdAt": 1731838277, "updatedAt": 1731838280, "items": [ { "esimId": "22dcdb84-968b-415c-bb70-79e2f3ffc296", "packageId": "esim-cambodia-7days-1gb-all", "package": "1 GB - 7 Days", "type": "esim", "price": 5, "currency": "USD", "createdAt": 1731838277, "updatedAt": 1731838280 } ] } }

Get eSIM Order

To get a specific eSIM order, you need to send a GET request to the /api/esim/order endpoint.

You are required to provide the following parameters in the parameters:

  • orderId: The ID of the eSIM order you want to retrieve. This is a required field of type string.

Usage - fetch an eSIM order

Here is an example of how you can get a specific eSIM order using Roamify eSIM API.

curl --request GET \ --url 'https://api-dev.getroamify.com/api/esim/order?orderId=Order ID' \ --header 'Authorization: Bearer Access Token' \ --header 'Content-Type: application/json'

Sample Response

{ "status": "success", "data": { "id": "67bbabb7-e893-410a-b0a8-4fa62d347b6c", "orderType": "api", "status": "COMPLETED", "total": 5, "currency": "USD", "createdAt": 1731837535, "updatedAt": 1731837539, "items": [ { "esimId": "b06036c5-eadc-4f88-aa31-8c207fec91ec", "packageId": "esim-cambodia-7days-1gb-all", "package": "1 GB - 7 Days", "type": "esim", "price": 5, "currency": "USD", "createdAt": 1731837535, "updatedAt": 1731837539 } ] } }

Get eSIM Orders

To get a list of eSIM orders, you need to send a GET request to the /api/esim/orders endpoint.

There are no required parameters for this endpoint, but you can provide the following optional parameters:

  • status: The status of the eSIM orders. This is an optional field of type string. It can be any of the following values:

    • PENDING: Pending orders
    • COMPLETED: Completed orders
    • ARCHIVED: Archived orders
    • CANCELLED: Cancelled orders
    • REFUNDED: Refunded orders
    • REQUIRE_ACTION: Orders that require action
  • limit: The number of eSIM orders to return. This is an optional field of type number. The default value is 50.

Usage - fetch a list of eSIM orders

Here is an example of how you can get a list of eSIM orders using Roamify eSIM API.

curl --request GET \ --url 'https://api-dev.getroamify.com/api/esim/orders?status=PENDING&limit=10' \ --header 'Authorization: Bearer Access Token' \ --header 'Content-Type: application/json'

Sample Response

{ "status": "success", "data": { "orders": [ { "id": "67bbabb7-e893-410a-b0a8-4fa62d347b6c", "orderType": "api", "status": "COMPLETED", "total": 5, "currency": "USD", "createdAt": 1731837535, "updatedAt": 1731837539, "items": [ { "esimId": "b06036c5-eadc-4f88-aa31-8c207fec91ec", "packageId": "esim-cambodia-7days-1gb-all", "package": "1 GB - 7 Days", "type": "esim", "price": 5, "currency": "USD", "createdAt": 1731837535, "updatedAt": 1731837539 } ] } ] } }
Last updated on