Airalo Developer Platform
  1. Place top up order
Airalo Developer Platform
  • OVERVIEW
    • Introduction
    • Attribute descriptions
    • FAQ
    • Quick start
      • Step 1: Request access token
      • Step 2: Get packages
      • Step 3: Submit order
      • Step 4: Get installation instructions
    • User journeys
      • Purchase journey
      • Top-up journey
    • Guides
      • How to set up a brand for eSIMs Cloud link sharing
      • How to get the eSIMs Cloud sharing link through API
      • How to generate the QR code for an eSIM
      • eSIM installation methods for API Partners
  • REST API
    • Introduction
    • Rate limits
    • Error handling
    • Endpoints
      • Authenticate
        • Request access token
      • Browse packages
        • Get packages
        • Get compatible device list
      • Place order
        • Submit order
        • Submit order async
        • Future orders
        • eSIM voucher
      • Install eSIM
        • Get eSIM
        • Get installation instructions
      • Monitor usage
        • Get usage (data, text & voice)
      • Place top up order
        • Submit top-up order
          POST
        • Get top-up package list
          GET
        • Get eSIMs list
          GET
        • Get eSIM package history
          GET
      • Manage orders & eSIMs
        • Get order list
        • Cancel future orders
        • Get order
        • Update eSIM brand
      • Notifications
        • Airalo webhooks optin and flow
        • Understanding webhooks: Asynchronous communication for modern applications
        • Async orders
        • Low data notification - opt In
        • Low data notification - opt out
        • Get low data notification
        • Credit limit notification
        • Webhook definition
        • Webhook simulator
      • Check balance
        • Get balance
      • Refunds
        • Refund request
    • Guides
      • Step #1 - Authentication
  • SDKs
    • Introduction
    • SDK vs. REST API
    • Technical notes
  • WOOCOMMERCE PLUGIN
    • Introduction
    • Guides
      • How to install the plugin
      • How to setup the Shop price?
      • Customizing "My eSIM" page colors in WooCommerce
      • How to convert prices into local currency
      • How to finalize the shop setup
      • How to test in sandbox
      • How to go live
      • Customizing WooCommerce email templates for eSIM sales
  1. Place top up order

Submit top-up order

POST
/v2/orders/topups
To submit a top-up order:
Make a POST request to the endpoint URL {{url}}/{{version}}/orders/topups
Include a request body in the form of a FormData object, which contains the following required fields:
1.
package_id: The ID of the top-up package you want to purchase
2.
iccid: The ICCID of the eSIM for which you want to purchase the top-up package.
You can also include an optional description field to provide additional information about the order.
The API will respond with a JSON object containing the details of the order, including the package ID, quantity, price, and other information.
The complete workflow for buying a top-up package:
1.
GET {{url}}/{{version}}/sims to see the list of purchased eSIMs
2.
GET {{url}}/{{version}}/sims/:iccid/topups to see the list of available top-ups for the eSIMs
3.
POST {{url}}/{{version}}/orders/topups with the proper "iccid" and "package_id" values to purchase a top-up
4.
GET {{url}}/{{version}}/sims/:iccid/packages to see the list of all packages for the eSIM, including the original package and top-ups
For more informations, best practices visit our FAQ page: https://airalopartners.zendesk.com/hc/en-us/sections/13207524820893-FAQ

Request

Header Params

Body Params multipart/form-data

Request samples

Shell
JavaScript
Java
Swift
Go
PHP
Python
HTTP
C
C#
Objective-C
Ruby
OCaml
Dart
R
Request Request Example
Shell
JavaScript
Java
Swift
curl --location --request POST '/v2/orders/topups' \
--header 'Accept: application/json' \
--header 'Authorization: Bearer {{token}}' \
--form 'package_id="bonbon-mobile-30days-3gb-topup"' \
--form 'iccid="89340000000000872"' \
--form 'description="Example description to identify the order"'

Responses

🟢200Submit Top-up Order: 200 OK
application/json
Body

Example
{
    "data": {
        "package_id": "bonbon-mobile-30days-3gb-topup",
        "quantity": "1",
        "type": "topup",
        "description": "Topup (89340000000000872)",
        "esim_type": "Prepaid",
        "validity": 30,
        "package": "Bonbon Mobile 2-3 GB - 30 Days",
        "data": "3 GB",
        "price": 10,
        "created_at": "2023-02-07 07:42:17",
        "id": 174,
        "code": "20230207-000174",
        "currency": "USD",
        "manual_installation": "",
        "qrcode_installation": "",
        "installation_guides": {
            "en": "http://airalo.local:8080/installation-guide"
        }
    },
    "meta": {
        "message": "success"
    }
}
🟠422Submit Top-up Order: 422 (Purchase limit exceeded)
🟠422Submit Top-up Order: 422 (Required fields are missing)
🟠422Submit Top-up Order: 422 (Invalid package id)
🟠422Submit Top-up Order: 422 (Recycled sim)
Modified at 2025-07-10 09:51:15
Previous
Get usage (data, text & voice)
Next
Get top-up package list
Built with