Skip to main content
POST
/
orders
/
{id}
/
claim
Claim a held order
curl --request POST \
  --url https://csboard.com/v1/orders/{id}/claim \
  --header 'Authorization: Bearer <token>'
{
  "order_id": "ord_01J9Z3K8Q2",
  "status": "delivering",
  "claimed": true,
  "steam_trade_offer_id": "5512345678"
}
Some orders land in a held state: the item sits under a marketplace escrow window and cannot be delivered until that window clears. A held order shows status: "hold" and a hold_until timestamp in GET /v1/orders and GET /v1/orders/{id}. Once hold_until has passed:
  • Some held orders deliver automatically — you do nothing, and calling this endpoint returns claimed: false as a harmless no-op.
  • Other held orders must be claimed — you call this endpoint to release the trade. Without a claim they stay held indefinitely.
Because you cannot tell the two apart from the outside, the safe pattern is: after hold_until passes, call claim once. If the order was the auto-delivering kind, you get a no-op. If it needed a claim, it is released.
Prefer not to poll and claim per order? Set the account-wide autoclaim flag to true and every held order is released automatically the moment its hold clears — no claim calls needed.
  1. Place a buy with POST /v1/orders or POST /v1/market/buy.
  2. Poll GET /v1/orders/{id}. While the order reads status: "hold", check hold_until.
  3. Once hold_until is in the past, POST /v1/orders/{id}/claim.
  4. On claimed: true, the marketplace sends a Steam trade offer to your trade URL. Your bot must accept it within ~15 minutes or the trade is cancelled and your balance refunded.

Responses at a glance

StatusMeaning
200 claimed: trueTrade released now; steam_trade_offer_id returned. Accept within ~15 min.
200 claimed: falseThis order delivers automatically; nothing to do.
409 not_claimableOrder is not in a held state (already delivering/completed/failed).
425 hold_not_clearedStill inside the hold window — retry after the returned hold_until.
502 delivery_failedMarketplace rejected the release. If the hold was cancelled upstream, refunded: true.
404 order_not_foundNo such order on this account.
The claim is idempotent while a release is in flight — a duplicate call returns a conflict, never a double delivery. Retrying after a network timeout is safe.

Authorizations

Authorization
string
header
required

Send your key as a Bearer token on every request: Authorization: Bearer csb_pub_.... Generate keys in your CSBoard profile.

Path Parameters

id
string
required

CSBoard order id of the held order to claim.

Response

Claim accepted. claimed: true means the trade was released now; claimed: false means this order delivers automatically and no action was needed.

order_id
string
required
status
enum<string>
required
Available options:
delivering,
hold
claimed
boolean
required
steam_trade_offer_id
string | null

Present when claimed just released a trade offer.

detail
string

Present on the auto-delivering no-op case.