POST /v1/market/buy — Buy and Deliver to a Steam Trade URL
Buy up to 100 items and deliver them straight to any Steam trade URL you supply, paid from your settled balance. Built for wholesale and automated delivery.
partner and token fields. Purchases are funded only from your settled (reversal-safe) balance, making it suitable for wholesale volume and automated delivery workflows.
The endpoint is idempotent via the custom_id body field: retrying with the same custom_id replays the original purchase rather than buying twice, and the replayed response carries the header Idempotent-Replayed: true.
Authentication required. Send your key as Authorization: Bearer csb_pub_....
Trading capability required. Buying must be enabled for the key, and the account must be reversal-clean.
Request body
partner value (1–32 chars). Together with token, forms the destination trade URL items are delivered to.token value (1–32 chars). Together with partner, forms the destination trade URL.price_moved and nothing is charged. Strongly recommended.custom_id replays the original purchase; the replay response carries Idempotent-Replayed: true.true, skip items that are no longer available instead of failing the whole request.Response fields
Example request
Example response
Error codes
settled_balance_usd on GET /v1/balance before a large batch, and always send max_price_usd as overcharge protection.Authorizations
Send your key as a Bearer token on every request: Authorization: Bearer csb_pub_.... Generate keys in your CSBoard profile.
Body
1–100 unique listing ids to buy.
1 - 100 elementsSteam trade URL partner value. With token, forms the destination trade URL.
1 - 32Steam trade URL token value. With partner, forms the destination trade URL.
1 - 32Total ceiling in USD. Order is rejected with price_moved if the live total exceeds it.
Idempotency key. A retry with the same value replays the original purchase.
1 - 128If true, skip items that are no longer available instead of failing the whole request.
Sticky per-account setting (not per-order). Send true once to switch your key into auto-claim mode: every held order is then auto-released the moment its hold clears (your bot must auto-accept the Steam trade offer within ~15 minutes). Send false to switch back to manual claiming via POST /orders/{id}/claim. Omit to leave the setting unchanged.
Response
Purchase accepted and debited from settled balance.