Create a buy order (v1)
Deprecated
This path is served by the same code as POST /v2/create-buy-order and answers with its contract: same rules and refusal codes, and the same response with v1's field names added.
name, game, price and amount are read from the query, as before. A request with a JSON body uses the body instead, so allow_trade_locked and filters work here too.
Changed from the old v1:
priceandamountmust be positive whole numbers; they are no longer rounded or made positive.amountis 1 to 250.- Any number of orders per item:
You already have an order for this itemis gone. - The balance rules of v2: the unit price ≤ your balance, all open orders ≤ 10 × your balance, at most 1000 open orders.
- The answer has v2's
orderand, as before,idandmsg(Placed order);filledis insideorder. Refusals have v2'smsgand acode. - Rate limit: 10 writes per 10 seconds, shared with edit and both removals (was 60 per 60 seconds).
Parameters
| Name | Location | Type | Description |
|---|---|---|---|
apirequired | query | string | Your WAXPEER API key |
namerequired | query | string | Full item market hash name |
amountrequired | query | integer | How many items to buy, 1 to 250 |
pricerequired | query | integer | Highest price to pay per item, a positive whole number (1000 = $1), a multiple of its price step |
gameoptional | query | enum | csgo (default), dota2, rust or tf2 enum: csgo, dota2, rust, tf2 |
Responses
200 Successful operation or refusal
| Name | Type | Description | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
successoptional | boolean | Whether the operation succeeded | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
orderoptional | object | The placed order | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
msgoptional | string | Placed order on success; otherwise why the request was refused | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
codeoptional | enum | Stable refusal code (only when success is false) enum: invalid_request, invalid_price, invalid_price_step, invalid_amount, invalid_filters, filters_not_editable, item_not_found, price_too_low, kyc_required, tradelink_required, price_above_balance, exposure_limit, too_many_orders, order_not_found, too_many_ids, busy, error | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
idoptional | integer | Order id | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
{
"success": true,
"order": {
"id": 123,
"name": "AK-47 | Redline (Field-Tested)",
"game": "csgo",
"price": 12500,
"amount": 3,
"filled": 1,
"allow_trade_locked": false,
"filters": {
"float_min": 0.15,
"float_max": 0.18,
"paint_seeds": [
661,
670
],
"stickers": [
{
"id": 4777,
"slot": 0
},
{
"id": 55
}
]
},
"created": "2026-10-19T10:00:00Z",
"last_update": "2026-10-19T10:05:00Z"
},
"msg": "Placed order",
"id": 123
}429 Too many requests. Rate limit exceeded
| Name | Type | Description |
|---|---|---|
successoptional | boolean | Whether the operation succeeded |
msgoptional | string | Placed order on success; otherwise why the request was refused |
msBeforeNextoptional | number | Milliseconds before next allowed request |
{
"success": false,
"msg": "string",
"msBeforeNext": 0
}