Skip to main content
Requests cancellation of a single undelivered withdrawal item. AssetPay asks the marketplace supplier to cancel the purchase; on success your merchant wallet is refunded automatically. To cancel the whole order in one call, use POST /client/trading/withdraw/{tradeId}/cancel instead. Authentication: Client Token (Authorization header)
Only CS2 items bought from a marketplace can be cancelled. Rust withdrawals are fulfilled by a polling supplier with no cancel API, and items AssetPay fills from its own stock cannot be cancelled; both return TRADE_CANCEL_UNSUPPORTED (44).

Request

Path Parameters

When an item can be cancelled

A cancel is only accepted when all of the following hold:
  • The item belongs to a withdrawal trade owned by the authenticated user.
  • The item is a CS2 item bought from a marketplace, not one AssetPay filled from its own stock.
  • 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, declined, reverted, canceled).

Response

itemId in the response is always the item’s AssetPay ID, whichever reference you used in the path. externalId echoes your own per-item reference and is omitted when you did not supply one. A 200 only confirms the marketplace accepted the cancellation. AssetPay does not change the item state inline; the refund and the transition to canceled arrive asynchronously through the standard trade.* callback. Poll GET /client/trades/{id} or rely on callbacks for the final state, and refund the user’s balance when you receive the canceled callback.
A cancel lands on canceled, not reverted. reverted is for a delivered item that came back afterwards.

Rate Limits

Shared across all clients of the same merchant.

Errors