Edit the price and amount of a buy order (v2)
Change the price and amount of one of your orders; send both. filled is kept, and the order keeps its place among orders at the same price.
amount is the total to buy, bought items included. An amount at or below filled closes the order: it is removed and the answer is {"success": true, "closed": true}. Otherwise the answer carries the updated order.
Filters and allow_trade_locked cannot be edited: remove the order and create a new one. A body that sends them is refused with filters_not_editable.
The limits of POST /v2/create-buy-order apply (amount 1 to 250, the 30% price floor, balance and 10 × balance exposure). An edit that raises neither the price nor the open amount at that price is always allowed, so you can lower an order even when you are over the limits.
Rate limit. Create, edit and both removals share one budget: 10 requests per 10 seconds per account, on the v1 and v2 paths together. Over it the answer is HTTP 429 with Retry-After and msBeforeNext.
Errors. Refusals are HTTP 200 with {"success": false, "msg": "…", "code": "…"}. Branch on code: it is stable, msg is human text. Codes this method answers: invalid_request, invalid_price, invalid_amount, filters_not_editable, price_too_low, kyc_required, order_not_found, price_above_balance, exposure_limit, busy, error. The full list is on POST /v2/create-buy-order. A missing or wrong API key is HTTP 403; the write rate limit is HTTP 429.
Parameters
| Name | Location | Type | Description |
|---|---|---|---|
apirequired | query | string | Your WAXPEER API key |
Request body
| Name | Location | Type | Description |
|---|---|---|---|
idrequired | body | integer | Order id |
pricerequired | body | integer | New price per item, a positive whole number (1000 = $1) |
amountrequired | body | integer | New total amount, 1 to 250, bought items included. At or below filled closes the order |
{
"id": 123,
"price": 13000,
"amount": 5
}Responses
200 Successful operation or refusal
| Name | Type | Description | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
successoptional | boolean | Whether the operation succeeded | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
orderoptional | object | The updated order (absent when closed is true) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
closedoptional | boolean | true when amount was at or below filled and the order was closed | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
msgoptional | string | Why the request was refused (only when success is false) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
codeoptional | enum | Stable refusal code (only when success is false) enum: invalid_request, invalid_price, 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 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
{
"success": true,
"order": {
"id": 123,
"name": "AK-47 | Redline (Field-Tested)",
"game": "csgo",
"price": 13000,
"amount": 5,
"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-19T11:00:00Z"
}
}400 Body is not a JSON object
| Name | Type | Description |
|---|---|---|
successoptional | boolean | Whether the operation succeeded |
msgoptional | string | Why the request was refused (only when success is false) |
codeoptional | enum | Stable refusal code (only when success is false) enum: invalid_request, invalid_price, 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 |
{
"success": false,
"msg": "Invalid request",
"code": "invalid_request"
}429 Too many requests. Rate limit exceeded
| Name | Type | Description |
|---|---|---|
successoptional | boolean | Whether the operation succeeded |
msgoptional | string | Why the request was refused (only when success is false) |
msBeforeNextoptional | number | Milliseconds before next allowed request |
{
"success": false,
"msg": "string",
"msBeforeNext": 0
}