Create an order
New/order/createThis API v3 method replaces these API v2 methods (they still work):
Create an order (draft)
Prices a selection on the server and keeps it as a draft for 30 minutes. No money moves, and no token is needed.
{"action": "new", "product": "shared",
"options": {"count": 10, "period": "1m", "traffic": 100, "countries": {"UA": 5, "DE": 5}},
"client": {"total": "9.00", "currency": "USD"}}
Notes
action:newbuys a product,topupadds balance (options: {amount, currency}).optionsuse the catalog's keys:count,period(1w,2w,1m,1y),traffic(GB),countries,geo_service,ip_score,unlimited_ips.- Send
client.totalwith the price you computed:client_check.matchedsays whether it equals the server price. - An option outside its range is
422 option_out_of_rangewith the allowed range.
Query method
Query parameters
| Identifier | Regulations | Example |
|---|---|---|
| action | requiredstring | new |
| productNot necessarily | nullablestring | shared |
| optionsNot necessarily | nullablearray | [] |
| clientNot necessarily | nullablearray | [] |
| client.totalNot necessarily | required_with:clientnumeric | 0 |
| client.currencyNot necessarily | nullablestringsize:3 | "USD" |
| client.catalog_versionNot necessarily | nullablestring | 0 |
Code examples
1const baseUrl = "https://api.stableproxy.com/v3";2const response = await fetch(baseUrl + "/order/create", {3 method: "POST",4 headers: {5 "Content-Type": "application/json"6 },7 body: JSON.stringify({8 "action": "new",9 "product": "shared",10 "options": "[]",11 "client": "[]",12 "client.total": "0",13 "client.currency": "\"USD\"",14 "client.catalog_version": 015 })16});17const data = await response.json();Examples of answers
{
"data": {
"order": {
"id": "990dd34a-0165-4641-ab9d-94bea1007fe0",
"action": "new",
"product": "shared",
"status": "draft",
"expires_at": "2026-10-06T15:46:32Z",
"options": {
"count": 10,
"period": "1m",
"traffic": 100,
"countries": [],
"geo_service": "overall",
"ip_score": 0,
"unlimited_ips": false
},
"price": {
"currency": "USD",
"total": "1.96",
"total_usd": "1.96",
"lines": [
{
"key": "ips",
"amount_usd": "0.80"
},
{
"key": "traffic",
"amount_usd": "1.00"
}
],
"unit": {
"ip": "0.08",
"one_gb": null
},
"adjustments": [
{
"key": "sale",
"amount": "0.00"
}
]
},
"client_check": {
"matched": false,
"client_total": "1.20",
"difference": "0.76",
"catalog_stale": true
}
}
},
"meta": []
}{
"error": {
"code": "option_out_of_range",
"message": "An option is outside the allowed range.",
"details": {
"count": {
"min": 1,
"max": 2000
}
}
}
}