API Static proxies
API Static proxies

Create a Static Proxy Purchase Order

Use the wallet balance to create a static proxy purchase order for one or more regions. A successful response only means the order was accepted and paid; resources are fulfilled asynchronously, and different regions may succeed or fail independently.

API information

Item Value
Method POST
Path /open-api/v1/static/purchase-orders
Authentication X-API-Key
Content-Type application/json
Processing Asynchronous
Request number Required; protected for 24 hours

Request body

Field Type Required Description Constraints
request_no string Yes Caller-generated request number used only to prevent duplicate acceptance 1–64 characters; letters, digits, _, and - only
static_type string Yes Static proxy type shared by all regions ISP or ISP_NATIVE
duration_days integer Yes Purchase duration in days, shared by all regions ISP: 7 or 30; ISP_NATIVE: 7, 30, or 90
regions object[] Yes Regions to purchase Must not be empty; regions must be unique; use an array even for one region
regions[].region_code string Yes Region code Use a value returned by the static proxy region API
regions[].quantity integer Yes Quantity for this region 1–300, and no greater than the inventory available when the order is created
callback_url string No Order completion notification URL Absolute public HTTP/HTTPS URL, up to 2048 characters

The request body and each regions element must not contain fields that are not listed above. The resource connection protocol is fixed to HTTP; protocol, price, payment method, discount, and other unlisted parameters cannot be specified.

Request example

curl --request POST \
  --url 'https://api.puraroute.com/gin/open-api/v1/static/purchase-orders' \
  --header 'Accept: application/json' \
  --header 'Content-Type: application/json' \
  --header 'X-API-Key: <YOUR_API_KEY>' \
  --data '{
    "request_no": "static-buy-20260824-001",
    "static_type": "ISP",
    "duration_days": 30,
    "regions": [
      {"region_code": "US_CA", "quantity": 2},
      {"region_code": "JP_TK", "quantity": 1}
    ],
    "callback_url": "https://customer.example.com/proxy/order-callback"
  }'

Response fields

Field Type Description
order_no string Static proxy purchase order number
status string Order status when the response is returned: UNFULFILLED, PROCESSING, SUCCESS, PARTIAL_SUCCESS, or FAILED
static_type string ISP or ISP_NATIVE
duration_days integer Purchase duration
quantity integer Total quantity across all regions
order_amount string Total order amount in USD
currency string Always USD
create_time string Order creation time in GMT+8 ISO-8601 format
regions object[] Amount summary for all requested regions
regions[].region_code string Region code
regions[].quantity integer Quantity for this region
regions[].order_amount string Amount for this region in USD

Success response example

{
  "code": 0,
  "msg": "success",
  "data": {
    "order_no": "PO1912345678901234567",
    "status": "PROCESSING",
    "static_type": "ISP",
    "duration_days": 30,
    "quantity": 3,
    "order_amount": "30.0000",
    "currency": "USD",
    "create_time": "2026-08-24T15:30:00.000+08:00",
    "regions": [
      {"region_code": "US_CA", "quantity": 2, "order_amount": "20.0000"},
      {"region_code": "JP_TK", "quantity": 1, "order_amount": "10.0000"}
    ]
  },
  "next": null
}

Possible error codes

code Description Recommended action
300006 Duplicate request number Query the purchase-order list; do not replay the request
300184 Insufficient wallet balance Add funds, then purchase again with a new request number
300320 No price is available for the selected type, region, or duration Select an available region or contact customer support
300323 A region is currently unavailable for purchase Query the region list again
300324 Real-time inventory is temporarily unavailable Query inventory later; do not blindly repeat the create request
300325 Insufficient inventory in a region Reduce the quantity for that region or query inventory later
400001 Authentication failed Check the API key
400009 The duration, region collection, callback URL, or request body is invalid Correct the request
500000 System processing failed and the creation result may be uncertain Query the order list first; do not immediately create another order with a different request number

Save the returned order_no and keep checking List static proxy purchase orders. The order may end in SUCCESS, PARTIAL_SUCCESS, or FAILED; obtain successfully fulfilled resources through List static proxy resources. Failed results are not refunded automatically; contact customer support.

request_no is not a result query key and does not replay the first response. See Request numbers and duplicate submissions.

On this page

Create a Static Proxy Purchase Order