Skip to main content

POST /secure/buy//items//cancel

Merchant-facing equivalent of POST /client/trading/withdraw/{tradeId}/items/{itemId}/cancel. Requests cancellation of a single undelivered item from one of your own self-trade buys. AssetPay asks the marketplace supplier to cancel the purchase; on success your merchant wallet is refunded automatically. Authentication: Merchant API Key (api-key header) Scope: CORE_ACCESS
CS2 (Assetpay) items only. Rust buys are fulfilled by a polling supplier with no cancel API and cannot be cancelled. Only self-trade buys (source: "self") are cancellable through this endpoint.

Request

POST https://api.assetpay.gg/secure/buy/{tradeId}/items/{itemId}/cancel
api-key: ap_...

Path Parameters

ParameterTypeRequiredDescription
tradeIdstringYesThe buy trade’s internal ID, or the externalId you supplied at creation.
itemIdstring (uuid)YesThe item’s ID within that trade (the id of an entry in the trade’s items array).

When an item can be cancelled

A cancel is only accepted when all of the following hold:
  • The item belongs to a self-trade (source: "self") buy owned by the authenticated merchant.
  • The item is a CS2 (Assetpay) item.
  • The item is at least 30 minutes old (measured from when it was created).
  • The item is not already in a terminal state (completed, failed, reverted, canceled).

Response

{
  "requestId": "...",
  "success": true,
  "data": {
    "tradeId": "trade-uuid",
    "itemId": "item-uuid",
    "status": "cancelled"
  }
}
A 200 only confirms the marketplace accepted the cancellation. AssetPay does not change the item state inline — the refund and the transition to reverted arrive asynchronously through the standard trade.* callback. Poll GET /secure/trades/{tradeId} or rely on callbacks for the final state.

Rate Limits

Merchant StatusLimit
Verified60 requests / min
Unverified10 requests / min

Errors

CodeKeyWhen
27TRADE_CANCEL_TOO_SOONThe item is younger than 30 minutes. Retry after the 30-minute window.
28TRADE_NOT_CANCELLABLENot cancellable: not a withdrawal, not a CS2/Assetpay item, already in a terminal state, or the marketplace rejected the cancel.
1300FORBIDDENThe trade is not a self-trade owned by the authenticated merchant.
2201ITEM_NOT_FOUNDNo item with that itemId exists under the given tradeId.