POST /client/trading/withdraw//items//cancel
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.
Authentication: Client Token (Authorization header)
CS2 (Assetpay) withdrawals only. Rust withdrawals are fulfilled by a polling supplier with no cancel API and cannot be cancelled.
Request
POST https://api.assetpay.gg/client/trading/withdraw/{tradeId}/items/{itemId}/cancel
Authorization: CLIENT_TOKEN
Path Parameters
| Parameter | Type | Required | Description |
|---|
tradeId | string (uuid) | Yes | The withdrawal trade’s ID. |
itemId | string (uuid) | Yes | The 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 withdrawal trade owned by the authenticated user.
- 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 /client/trades/{id} or rely on callbacks for the final state, and refund the user’s balance when you receive the reverted callback.
Rate Limits
| Merchant Status | Limit |
|---|
| Verified | 60 requests / min |
| Unverified | 10 requests / min |
Shared across all clients of the same merchant.
Errors
| Code | Key | When |
|---|
| 27 | TRADE_CANCEL_TOO_SOON | The item is younger than 30 minutes. Retry after the 30-minute window. |
| 28 | TRADE_NOT_CANCELLABLE | Not cancellable: not a withdrawal, not a CS2/Assetpay item, already in a terminal state, or the marketplace rejected the cancel. |
| 1300 | FORBIDDEN | The trade does not belong to the authenticated user. |
| 2201 | ITEM_NOT_FOUND | No item with that itemId exists under the given tradeId. |