Skip to main content
POST
Create order
Places a new proxy order. The proxies are provisioned immediately after a successful payment. Use "payment_method": "wallet" to deduct from your wallet balance instantly, or "payment_method": "cryptocloud" to pay with crypto and receive a redirect URL.
Send an idempotency_key to make this request safe to retry. See Idempotency.

Request body

integer
required
ID of the proxy offer from the catalog.
string
required
wallet or cryptocloud.
The proxy’s type, IP version, protocol and location all come from the offer — there are no request fields for them. Pick where you want the proxy by choosing the right offer_id: the catalog exposes country_code and locations (every region/city the offer’s ISP is known to serve) on every offer. The order is placed against that ISP’s whole pool, so a specific city is not guaranteed even when locations lists one. See List proxy offers.
integer
default:"1"
Number of proxies.
integer
default:"30"
Rental period in days — a legacy alternative to tarification_index. It must exactly match one of the offer’s options periods (30, 60, …, 360 for residential/datacenter); the server resolves it to that option and returns 422 when no option matches. When tarification_index is sent, period_days (if present) must match the chosen option’s period_days exactly.
integer
Index into the offer’s options array — the primary way to pick a price/period for every offer kind. The order is charged the chosen option’s price for its full period (multiplied by quantity). Required for mobile rotating offers, which sell only pre-registered tariff triples.
integer
Optional traffic limit in GB. Leave unset for unlimited (where supported).
boolean
default:"false"
Automatically renew when the period ends.
string
Optional private notes for your reference.
string
UUID for idempotent request handling.

Response

string
Order UUID.
string
Order status. One of: new, waiting_payment, paid, provisioning_failed, provisioned, cancelled, refunded, expired. See Order statuses.
number
Total charged in USD.
string
The payment method the order was placed with. See Payment methods.
string
Identifier of the payment, for external payment methods. null for wallet orders.
string
Where to send the customer to pay. Set while status is waiting_payment for any external payment method (card checkout, crypto, SBP, Telegram Stars), null otherwise. List orders and Get order return it too, so a payment link can be fetched again while the order is still waiting.
array
Populated once the order is provisioned. Each item:

Order statuses

An order moves through these values in status. An unpaid order ends in expired; a paid one ends in provisioned, or in provisioning_failed when the proxy could not be allocated.
A payment that arrives after an order has become expired may be credited to your account balance, depending on the payment method; the order itself stays expired. See Payment methods for what happens to a payment that arrives late. To buy, place a new order.

Example — wallet payment