Sync with Waxpeer session to auto-fill API key

Fills and cancellations of your buy orders (v2)

GET/v2/buy-order-history

Your buy-order events, newest first by default:

  • kind = filled: an order bought a listing. item_id is the listing bought, item_price what you paid, reason is null.
  • kind = cancelled: an order was closed without buying. reason is insufficient_funds (your balance could not pay for a listing) or user (you removed it). item_id is null and item_price 0.

order_id is the order the event belongs to; it is null on events recorded before orders were linked. price is the order's price at the event. item_id is a string: item ids are larger than 2^53.

count is the total of events that match game and kind.

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, 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.

Prices are integers. 1000 = $1.00 USD.

Parameters

NameLocationTypeDescription
api
required
querystring
game
optional
queryenum

csgo, dota2, rust or tf2; absent = all games

enum: csgo, dota2, rust, tf2

kind
optional
queryenum

filled or cancelled; absent = both

enum: filled, cancelled

skip
optional
queryinteger

Events to skip, up to 10000

limit
optional
queryinteger

Events per page, 1 to 100. Default 50

sort
optional
queryenum

DESC (default, newest first) or ASC

enum: DESC, ASC

Responses

200 Successful operation or refusal

NameTypeDescription
success
optional
boolean

Whether the operation succeeded

history
optional
array<object>

Events

id
optional
integer

Identifier

order_id
optional
integer

Order id; null on old events

name
optional
string

Full item market hash name

game
optional
string

csgo, dota2, rust or tf2; absent = all games

kind
optional
enum

filled or cancelled

enum: filled, cancelled

reason
optional
enum

Cancellation reason: insufficient_funds or user; null on a fill

enum: insufficient_funds, user

price
optional
integer

Order price at the event (1000 = $1)

item_price
optional
integer

Price paid for the item (1000 = $1); 0 on a cancellation

item_id
optional
string

Item bought, as a string; null on a cancellation

created
optional
string

When the event happened (RFC 3339)

count
optional
integer

Total matching events

msg
optional
string

Why the request was refused (only when success is false)

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

Response
{
  "success": true,
  "history": [
    {
      "id": 9,
      "order_id": 123,
      "name": "AK-47 | Redline (Field-Tested)",
      "game": "csgo",
      "kind": "filled",
      "reason": null,
      "price": 12500,
      "item_price": 11800,
      "item_id": "53120456789",
      "created": "2026-10-19T10:05:00Z"
    },
    {
      "id": 8,
      "order_id": 120,
      "name": "AWP | Asiimov (Field-Tested)",
      "game": "csgo",
      "kind": "cancelled",
      "reason": "insufficient_funds",
      "price": 95000,
      "item_price": 0,
      "item_id": null,
      "created": "2026-10-19T09:40:00Z"
    }
  ],
  "count": 2
}