OpenAPI Documentation
OpenAPI Documentation

Create a Static Proxy Renewal Order

Creates a renewal order for 1–500 static proxy resources using the wallet balance. A successful response means the order has been accepted and paid, after which asynchronous processing begins. Individual resources in the same order may have different renewal outcomes, so the overall order can become FAILED; resources renewed successfully retain their new expiration times.

API Information

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

Request Body

Field Type Required Description Constraint
request_no string Yes Caller-provided request number used only to prevent duplicate acceptance 1–64 characters; letters, digits, _, and - only
resource_ids string[] Yes IDs of the static proxy resources to renew 1–500 IDs after trimming whitespace and removing duplicates; every resource must be accessible and eligible for renewal
duration_days integer Yes Uniform renewal duration for all resources Only 7, 30, or 90; it must also match one of the resource-type combinations below
callback_url string No URL notified when the order reaches a terminal status Absolute, publicly accessible HTTP/HTTPS URL, up to 2,048 characters

All resources in one renewal order use the same duration_days. The available combinations are:

Resource types in the order Available duration_days values
All resources are ISP 7, 30
All resources are ISP_NATIVE 7, 30, 90
Both ISP and ISP_NATIVE resources are included 7, 30

If duration_days is not 7, 30, or 90, the endpoint returns 400009. Error 300320 means the resource price does not exist or does not match the requested specification. The actual msg is returned according to X-LANG; if the header is omitted or unsupported, en_US is used.

You can call Get a Static Proxy Renewal Quote before creating an order. A quote does not lock the price. This endpoint checks resource status again and calculates the order amount using the price in effect when the order is placed.

The request body must not contain a price, amount, payment method, discount information, or any other unlisted field.

Request Example

curl --request POST \
  --url 'https://api-test.puraroute.com/gin/open-api/v1/static/renewal-orders' \
  --header 'Accept: application/json' \
  --header 'Content-Type: application/json' \
  --header 'X-API-Key: <YOUR_API_KEY>' \
  --data '{
    "request_no": "static-renew-20260824-001",
    "resource_ids": [
      "1912345678901234567",
      "1912345678901234568"
    ],
    "duration_days": 30,
    "callback_url": "https://customer.example.com/proxy/order-callback"
  }'

Response Fields

Field Type Description
order_no string Static proxy renewal order number
status string Always PROCESSING
duration_days integer Renewal duration
total_quantity integer Number of resources after deduplication
order_amount string Order amount in USD
currency string Always USD
create_time string Order creation time in GMT+8 ISO-8601 format

Successful Response Example

{
  "code": 0,
  "msg": "success",
  "data": {
    "order_no": "PO1912345678901234567",
    "status": "PROCESSING",
    "duration_days": 30,
    "total_quantity": 2,
    "order_amount": "16.0000",
    "currency": "USD",
    "create_time": "2026-08-24T15:30:00.000+08:00"
  },
  "next": null
}

Possible Error Codes

code Description Recommended Action
300001 A resource does not exist or is not accessible Query the resources again and verify the IDs
300006 Duplicate request number Query the renewal order; do not replay the request
300184 Insufficient wallet balance Add funds, then retry the renewal with a new request number
300320 The resource price does not exist or does not match the requested specification
400001 Authentication failed Check the API Key
400009 The duration is not 7, 30, or 90, or the resources, callback URL, or request body does not meet the requirements Correct the request
500000 System processing failed and the creation result may be uncertain Query the renewal order first; do not immediately create another order with a new request number

If an accepted order eventually becomes FAILED, no automatic refund is issued. Successfully renewed resources retain their new expiration times. Contact customer support for manual handling.

After a successful creation response, save order_no and query the renewal details. See Callback Notifications for callback rules.

request_no is used only to prevent duplicate acceptance. It is not a result-query key and does not replay the original result. See Request Numbers and Duplicate Submissions.

On this page