HProxy/ docs

Orders

POST /orders buys a product from your wallet (or returns a hosted payUrl for card and crypto). GET /orders lists history, GET /orders/{id} polls one.

POST/api/v1/orders

Create an order

Buy a product. By default this is a wallet prepay: it debits your balance and returns immediately, or fails with 402 if the balance is short (it never silently charges a card you didn't pick). Set method to "card" or "crypto" to get a hosted payUrl back instead. Always send an Idempotency-Key so a retry never double-charges.
ParameterTypeRequiredDescription
product_idstringrequiredA product id from GET /products, e.g. "residential-lite".
quantityintegerrequiredGB for residential, or number of IPs for dedicated products. For renewals: the number of ids.
methodstringoptional"wallet" (default), "card" or "crypto". card/crypto return a payUrl.
fulfillment_metaobjectoptionalPer-product targeting: country (alpha-3), period_days, operator_id, … For a RENEWAL of dedicated proxies: {"kind": "extension", "ids": ["…"], "period_days": 30} — ids from GET /proxies, ownership-checked server-side.
curl -X POST https://hproxy.com/api/v1/orders \
  -H "X-API-Key: hpx_your_key_here" \
  -H "Idempotency-Key: order-2026-07-11-001" \
  -H "Content-Type: application/json" \
  -d '{"product_id":"residential-lite","quantity":1}'
GET/api/v1/orders

List orders

Your recent order history, newest first. Optional limit query parameter.
curl "https://hproxy.com/api/v1/orders?limit=1" -H "X-API-Key: hpx_your_key_here"
GET/api/v1/orders/{id}

Get an order

Fetch a single order by its id to poll fulfillment status. Once it reads completed, a dedicated-IP order's proxies are ready at GET /proxies?order_id=….
Request
curl https://hproxy.com/api/v1/orders/ord_8f49...8821 \
  -H "X-API-Key: hpx_your_key_here"
Skip the polling loop entirely: register a webhook and get pushed order.fulfilled / order.failed / order.refunded the moment they happen.

Need a hand wiring this up? Email [email protected]. A real person reads every message.