POST /client/trading/withdraw/{tradeId}/cancel instead.
Authentication: Client Token (Authorization header)
CS2 (Assetpay) items only. Rust withdrawals are fulfilled by a polling supplier with no cancel API, and autoseller-sourced items leave nothing to reverse upstream; 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 (Assetpay) item that was not sourced from the autoseller pool.
- 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
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.