PressOne eSIM Developer Platform
  1. Place top up order
PressOne eSIM Developer Platform
  • OVERVIEW
    • Introduction
    • Attribute descriptions
    • FAQ
    • User journeys
      • Top-up Journey
      • Purchase Journey
    • Guides
      • eSIM installation methods for API Partners
      • How to generate the QR code for an eSIM
  • REST API
    • Data / Data + Voice + SMS eSIM
      • Introduction
      • Error handling
      • Endpoints
        • Authenticate
          • Request access token
        • Check balance
          • Get balance
        • Compatible devices
          • Get compatible device lite list
        • Browse packages
          • Get packages
        • Place order
          • Submit order
        • Install eSIM
          • Get eSIM
          • Get installation instructions
        • Monitor usage
          • Get usage (data, text & voice)
        • Place top up order
          • Get top-up package list
            GET
          • Submit top-up order
            POST
        • Manage orders
          • Get order list
          • Get order
        • Manage eSIMs
          • Get eSIMs list
          • Get eSIM package history
    • Voice-only eSIM
      • Getting Started
      • Error handling
      • Endpoints
        • List Available Numbers
        • Claim Number
        • Renew Number
        • List User
  1. Place top up order

Submit top-up order

POST
/customer/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

Request

Header Params

Body Params multipart/form-data

Responses

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

🟠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)
Request Request Example
Shell
JavaScript
Java
Swift
curl --location --request POST 'https://prod.your-api-server.com/customer/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"'
Response Response Example
200 - Success
{
  "data": {
    "id": 12345,
    "created_at": "2024-01-15T10:30:00Z",
    "code": "ORD-12345",
    "package_id": "bonbon-mobile-30days-3gb-topup",
    "quantity": "1",
    "type": "sim",
    "description": "Top-up for customer John Doe",
    "esim_type": "data",
    "validity": 30,
    "package": "3 GB - 100 SMS - 100 Mins - 30 Days",
    "data": "3 GB",
    "price": 10.00,
    "currency": "USD"
  },
  "meta": {
    "message": "success"
  }
}
Modified at 2025-11-17 09:36:50
Previous
Get top-up package list
Next
Get order list
Built with