1. Place 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
          • Get token information
          • Refresh access token
          • Request access token
        • Check balance
          • Get balance
        • Compatible devices
          • Get compatible device lite list
        • Browse packages
          • Get packages
        • Place order
          • Submit order
            POST
        • Manage orders
          • Get order list
          • Get order
        • Manage eSIMs
          • Get eSIM by ICCID
          • Get eSIMs list
          • Get eSIM package history
        • Install eSIM
          • Get installation instructions
        • Monitor usage
          • Get usage (data, text & voice)
        • Place top up order
          • Get top-up package list
          • Submit top-up order
    • Voice-only eSIM
      • Getting Started
      • Error handling
      • Endpoints
        • List Available Numbers
        • Claim Number
        • Renew Number
        • List User
    • SMS
      • Introduction
      • Authentication
      • Conventions
        • Response envelope
        • Errors
        • Rate limits
        • Idempotency
        • Date ranges & timezone
        • Pagination
      • Endpoints
        • Send an SMS
          • Send SMS /api/sms/send
        • List message logs
          • List message logs /api/sms/logs
        • Get statistics
          • Get statistics /api/sms/statistics
        • Export logs (CSV)
          • Export logs (CSV) /api/sms/export
        • Analytics
          • Overview
            • Overview /api/sms/analytics/overview
          • Message volume
            • Message volume /api/sms/analytics/message-volume
          • Delivery status distribution
            • Delivery status distribution /api/sms/analytics/delivery-status
          • Delivery report
            • Delivery report - /api/sms/analytics/delivery-report
        • Check wallet balance
          • Check wallet balance /api/sms/balance
        • Send an OTP
          • Send an OTP /api/sms/otp/send
        • Verify an OTP
          • Verify an OTP /api/sms/otp/verify
      • Delivery webhooks
        • Delivery webhooks
      • Message lifecycle & statuses
        • Message lifecycle & statuses
      • Appendix: message object
        • Appendix: message object
  1. Place order

Submit order

Developing
POST
/customer/v2/orders
This endpoint allows you to submit an order to the PressOne ESIM API by providing the required parameters, such as package_id and quantity. You may also include an optional description field to track your internal order ID or add any relevant notes related to the order.
When submitting the order, the response includes the field direct_apple_installation_url with installation instructions that now provide Apple’s universal link, enabling direct installation on devices running iOS 17.4 or later for a smoother user experience.
You can also provide your user’s email address using the to_email parameter, which will send an email to your user asynchronously. The email uses a white-label template powered by our eSIM cloud feature. It provides your users with a link to access and install the eSIM, includes installation instructions, and supports multiple languages.
Errors:
400 invalid data, 401, 402 insufficient balance (prepaid),
409 idempotent request in flight, 500.

Request

Header Params

Body Params application/jsonRequired

Examples

Responses

🟢201Submit Order (201) Created Successfully
application/json
Bodyapplication/json

🟢200Submit Order (200)
🟠422Submit Order (422)
🟢200Submit Order with Voice&Data package (200)
🟠422Submit Order (422) SIM quantity is not available
🟠422Submit Order (422) Brand doesn't exist
🟢200Submit Order (200) with email share
🟠403Submit Order (Forbidden) Insufficient Balance
🟠404Submit Order (404) Package Not Found
🟠400Validation failed
Request Request Example
Shell
JavaScript
Java
Swift
cURL
curl --location 'https://prod.your-api-server.com/customer/v2/orders' \
--header 'Accept: application/json' \
--header 'Authorization: Bearer {{token}}' \
--header 'pressone-mode;' \
--header 'Idempotency-Key;' \
--header 'Content-Type: application/json' \
--data-raw '{
    "package_id": "kallur-digital-7days-1gb",
    "quantity": 1,
    "description": "1 sim kallur-digital-7days-1gb",
    "brand_settings_name": "our perfect brand",
    "to_email": "valid_email@address.com",
    "sharing_option": [
        "link"
    ],
    "copy_address": [
        "copy@example.com"
    ]
}'
Response Response Example
201 - Example 1
{
    "data": {
        "id": 67890,
        "created_at": "2024-01-15 10:30:00",
        "code": "ORD-12345",
        "description": "Customer order for Turkey package",
        "type": "sim",
        "package_id": "merhaba-7days-1gb",
        "quantity": 1,
        "package": "Merhaba - 7 Days - 1GB",
        "esim_type": "data",
        "validity": "7 days",
        "price": "4.50",
        "data": "1 GB",
        "currency": "NGN",
        "manual_installation": "Settings > Cellular > Add eSIM",
        "qrcode_installation": "Scan QR code with camera",
        "installation_guides": {
            "en": "https://www.airalo.com/help/installing-esim"
        },
        "sims": [
            {
                "id": 12345,
                "created_at": "2024-01-15 10:30:00",
                "iccid": "8901234567890123456",
                "lpa": "LPA:1$smdp.example.com$ABCD1234",
                "imsis": null,
                "matching_id": "MTH-12345",
                "qrcode": "LPA:1$smdp.example.com$ABCD1234",
                "qrcode_url": "https://qrcode.airalo.com/example.png",
                "airalo_code": null,
                "apn_type": "default",
                "apn_value": "internet",
                "is_roaming": true,
                "confirmation_code": null
            }
        ],
        "user": {
            "id": 1001,
            "name": "John Doe",
            "email": "john@example.com",
            "company": "PressOne",
            "...": "..."
        },
        "status": {
            "name": "Completed",
            "slug": "completed"
        }
    },
    "meta": {
        "message": "Order created successfully"
    }
}
Modified at 2026-06-24 13:30:33
Previous
Get packages
Next
Get order list
Built with