Sync with Waxpeer session to auto-fill API key

Edit a buy order (v1)

POST/v1/edit-buy-orderDeprecated

Deprecated

Use this instead: POST /v2/edit-buy-order

This path is served by the same code as POST /v2/edit-buy-order and answers with its contract: same rules and refusal codes, and the same response with v1's field names added.

The body is the same as before: id, price, amount.

Changed from the old v1:

  • filled is kept; it was reset to 0, which would buy the whole amount again.
  • amount is the total, bought items included. At or below filled closes the order (closed: true).
  • Both price and amount are required, as positive whole numbers; amount is 1 to 250.
  • The answer has v2's order (or closed: true) and, as before, id, price, amount and msg. Refusals have v2's msg and a code.
  • Rate limit: 10 writes per 10 seconds, shared with create and both removals.
Prices are integers. 1000 = $1.00 USD.

Parameters

NameLocationTypeDescription
api
required
querystring

Request body

NameLocationTypeDescription
id
required
bodyinteger

Order id

price
required
bodyinteger

New price per item, a positive whole number (1000 = $1), a multiple of its price step

amount
required
bodyinteger

New total amount, 1 to 250, bought items included. At or below filled closes the order

Example
{
  "id": 123,
  "price": 13000,
  "amount": 5
}

Responses

200 Successful operation or refusal

NameTypeDescription
success
optional
boolean

Whether the operation succeeded

order
optional
object

The updated order (absent when closed is true)

id
optional
integer

Order id

name
optional
string

Full item market hash name

game
optional
string

Game code for requested items (csgo, tf2, rust, dota2)

price
optional
integer

New price per item (1000 = $1)

amount
optional
integer

New total amount

filled
optional
integer

Number of fulfilled offers

allow_trade_locked
optional
boolean

true: the order also buys trade-locked listings

filters
optional
object

CS2 only. Which copies the order buys; null on a plain order. Unset filters are omitted, and an unknown key is refused.

float_min
optional
number

Lowest float, 0 to 1

float_max
optional
number

Highest float, 0 to 1, not below float_min

paint_seeds
optional
array<integer>

1 to 50 paint seeds (patterns), each 0 to 1000

phase
optional
enum

Doppler phase name (e.g. Phase 1, Ruby, Emerald)

enum: Phase 1, Phase 2, Phase 3, Phase 4, Ruby, Sapphire, Emerald, Black Pearl

stickers
optional
array<object>

Applied stickers data

id
required
integer

Order id

slot
optional
integer

Sticker slot 0 to 4; absent = any slot

charm_id
optional
integer

Charm id

charm_pattern_min
optional
integer

Lowest charm pattern, 0 to 100000

charm_pattern_max
optional
integer

Highest charm pattern, 0 to 100000

by
optional
string

Waxpeer user ID (found in /user)

created
optional
string

Creation timestamp

last_update
optional
string

When the order last changed. Not in the public list

closed
optional
boolean

true when amount was at or below filled and the order was closed

msg
optional
string

Placed order on success; otherwise why the request was refused

code
optional
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

id
optional
integer

Order id

price
optional
integer

New price per item (1000 = $1)

amount
optional
integer

New total amount

Response
{
  "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"
  },
  "msg": "Placed order",
  "id": 123,
  "price": 13000,
  "amount": 5
}

400 Bad Request

NameTypeDescription
success
optional
boolean

Whether the operation succeeded

msg
optional
string

Placed order on success; otherwise why the request was refused

code
optional
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

Response
{
  "success": false,
  "msg": "Invalid request",
  "code": "invalid_request"
}

429 Too many requests. Rate limit exceeded

NameTypeDescription
success
optional
boolean

Whether the operation succeeded

msg
optional
string

Placed order on success; otherwise why the request was refused

msBeforeNext
optional
number

Milliseconds before next allowed request

Response
{
  "success": false,
  "msg": "string",
  "msBeforeNext": 0
}