Your backpack
Your on-site items, paginated. Each row's id is the backpack item id, the value you pass to withdraw. trade_locked_until is set while Steam's trade hold applies. Optional app_id and search filters.
Authorization
apiKey API key generated from your account settings on the website. Send as Authorization: Bearer csd_....
In: header
Query Parameters
^[1-9]\d*$Value in
- "5"
- "10"
- "25"
- "30"
- "50"
- "100"
^[1-9]\d*$1 <= length <= 200Response Body
application/json
curl -X GET "https://example.com/public/v1/backpack?page=string&limit=5"{ "items": [ { "id": 1, "app_id": 1, "market_hash_name": "string", "amount": -9007199254740991, "commodity": true, "market_price": -9007199254740991, "trade_locked_until": "2019-08-24T14:15:22Z" } ], "metadata": { "total_pages": -9007199254740991, "total_items": -9007199254740991, "current_page": -9007199254740991, "current_limit": -9007199254740991 }}Your Steam inventory GET
What is currently in your Steam inventory for one game, ready to be sold here. Each row carries a `token`: an opaque, signed handle for that item which you hand to `POST /public/v1/sell`. Tokens are tied to your account and expire after 30 minutes, so fetch, decide and sell in one pass rather than storing them. `amount` is how many copies that row's `token` covers, and `tradable` is false while Steam is holding the item. One row is one Steam stack, so a commodity you hold several stacks of comes back as several rows, each with its own `token` and `steam_asset_id`. To sell more than one stack of the same item, send them as separate entries in the same `items` array. This reads live from Steam, so it is heavily rate-limited.
Deposit from Steam POST
Moves items from your Steam inventory into your backpack without listing them: we send you a trade offer, and the items land in your backpack once you accept. `items` holds `token`s from `GET /public/v1/steam-inventory` with how many of each to deposit. Nothing goes on the market and no price is involved, so listing limits and price checks do not apply — use `POST /public/v1/list` later to sell any of it. The same trade caps as `POST /public/v1/sell` apply: one request becomes one trade offer per game, a game's offer may carry at most 500 copies in total, counting `amount`, otherwise the call fails with `DEPOSIT_ITEM_LIMIT`, and at most 15 trades may be in flight at once, past which it fails with `ACTIVE_TRADE_LIMIT`. Each response `deposit_id` matches the `deposit_id` on `GET /public/v1/trades` rows, which is where you watch for the offer and its status.