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.