List items for sale
POST/v1/lots
Puts up to 100 items up for sale, all of them or none. What a lot says comes from your inventory copy, so upload a fresh one first. Only the price is yours to set.
Request
Request body
lotsobject[]requiredThe items and their prices.
Fields of lots
asset_idstringrequiredThe item's asset_id in your inventory.
price_centsintegerrequiredThe price in US cents, from 3 to 100000000.
descriptionstringWhat you want to say about the item, one line.
curl -X POST 'https://api.rockvel.store/v1/lots' \
-H "Authorization: Bearer $ROCKVEL_KEY" \
-H 'Content-Type: application/json' \
-d '{"lots":[{"asset_id":"54267934219","price_cents":3250}]}'Answer 201
A list of objects with these fields.
idstringThe lot's id.
asset_idstringThe item's asset_id.
item_slugstringThe item's slug.
itemobjectThe item as your inventory showed it.
Fields of item
asset_idstringSteam's id of this very item. It changes when the item changes hands.
namestringName as Steam shows it.
market_hash_namestringName on the Steam market. A market card has one for each.
image_urlstringSteam's icon of the item.
kindstringWhat sort of item it is.
One of
weaponknifeglovesagentstickerpatchcharmgraffitimusic_kitcontainercollectibleotherraritystringoptionalRarity in Steam's words.
exteriorstringoptionalExterior as a code: FN, MW, FT, WW or BS.
stattrakbooleanoptionalThe item is StatTrak.
souvenirbooleanoptionalThe item is a Souvenir.
marketablebooleanSteam lets this item be sold on its own market.
floatnumberoptionalFloat value, from 0 to 1. Left out for items without one.
paint_seedintegeroptionalPaint seed, from 0 to 1000.
kill_countintegeroptionalStatTrak's count of kills.
paint_indexintegeroptionalThe paint's number in the game.
def_indexintegeroptionalThe weapon's number in the game.
phasestringoptionalThe phase of a Doppler or Gamma Doppler.
name_tagstringoptionalThe name tag on the item.
inspect_linkstringoptionalOpens the item in the game.
highlight_urlstringoptionalVideo of a souvenir charm's moment.
stickersobject[]optionalStickers on the item, and patches on an agent.
Fields of stickers
idintegeroptionalIts number in the game.
namestringIts name.
image_urlstringoptionalIts picture.
slotintegerWhich place on the item it takes.
wearnumberoptionalHow scraped it is, 0 for intact.
scalenumberoptionalIts scale, as the game places it.
rotationnumberoptionalIts rotation, as the game places it.
offset_xnumberoptionalIts offset along x, as the game places it.
offset_ynumberoptionalIts offset along y, as the game places it.
offset_znumberoptionalIts offset along z, as the game places it.
tint_idintegeroptionalIts tint's number in the game.
patternintegeroptionalThe pattern of a charm.
highlightintegeroptionalThe moment on a souvenir charm.
keychainsobject[]optionalCharms on the item.
Fields of keychains
idintegeroptionalIts number in the game.
namestringIts name.
image_urlstringoptionalIts picture.
slotintegerWhich place on the item it takes.
wearnumberoptionalHow scraped it is, 0 for intact.
scalenumberoptionalIts scale, as the game places it.
rotationnumberoptionalIts rotation, as the game places it.
offset_xnumberoptionalIts offset along x, as the game places it.
offset_ynumberoptionalIts offset along y, as the game places it.
offset_znumberoptionalIts offset along z, as the game places it.
tint_idintegeroptionalIts tint's number in the game.
patternintegeroptionalThe pattern of a charm.
highlightintegeroptionalThe moment on a souvenir charm.
tagsobject[]optionalAll the labels Steam gives the item.
Fields of tags
categorystringThe label's kind, such as Collection.
namestringThe label itself.
notesstring[]optionalSteam's lines about this item: its match, its date of issue, what a container holds.
referenceobjectoptionalA hint for your price: the cheapest lot of this name on lis-skins, of this phase for a Doppler. Float, pattern and stickers do not count in it. Only in your inventory and stall, and left out when lis-skins has no such lot.
Fields of reference
price_centsintegerThe price in US cents.
offersintegerHow many lots of this name, or this phase, lis-skins has.
price_centsintegerThe price in US cents.
descriptionstringoptionalWhat you wrote about the lot.
max_discountintegeroptionalHow far below the price, in percent, you take bargains. Left out if you take none.
pausedbooleanoptionalThe lot is off the market while your stall is paused. Left out otherwise.
listed_atdate-timeWhen the lot went on sale.
[
{
"id": "019a4b9d-2e17-7a58-b1c6-0d3f6a9e4b12",
"asset_id": "54267934219",
"item_slug": "ak-47-redline-field-tested",
"item": {
"asset_id": "54267934219",
"name": "AK-47 | Redline (Field-Tested)",
"market_hash_name": "AK-47 | Redline (Field-Tested)",
"image_url": "https://community.akamai.steamstatic.com/economy/image/i0CoZ81Ui0m-9KwlBY1L_18myuGuq1wfhWSaZgMttyVfPaERSR0Wqmu7LAocGIGz3UqlXOLrxM-vMGmW8VNxu5Dx60noTyLwlcK3wiFO0POlPPNSI_-RHGavzOtyufRkASq2lkxx4W-HnNyqJC3FZwYoC5p0Q7FfthW6wdWxPu-371Pdit5HnyXgznQeHYY5wyA",
"kind": "weapon",
"rarity": "Classified Rifle",
"exterior": "FT",
"marketable": true,
"float": 0.2613,
"paint_seed": 412,
"paint_index": 282,
"def_index": 7,
"inspect_link": "steam://run/730//+csgo_econ_action_preview%2006168DEAFD92CC071E0E26F0072E0536023EE1",
"stickers": [
{
"id": 1693,
"name": "Sticker | Crown (Foil)",
"slot": 1,
"wear": 0.08
}
],
"tags": [
{ "category": "Type", "name": "Rifle" },
{ "category": "Weapon", "name": "AK-47" },
{
"category": "Collection",
"name": "The Phoenix Collection"
},
{
"category": "Quality",
"name": "Classified Rifle"
},
{
"category": "Exterior",
"name": "Field-Tested"
}
],
"reference": { "price_cents": 3240, "offers": 213 }
},
"price_cents": 3250,
"max_discount": 10,
"listed_at": "2026-11-01T07:41:17Z"
}
]Refusals
| Status | Code | When |
|---|---|---|
| 403 | banned | This account can't start anything new on Rockvel. |
| 409 | already_listed | One of the items is already on sale or sold. |
| 409 | item_gone | An item isn't in your inventory copy. Upload a fresh one and try again. |
| 409 | item_unknown | An item isn't in the catalog yet. |
| 422 | bad_description | The description is longer than 32 characters, has more than one line or space at its ends. |
| 422 | bad_lot | The list is empty, a price is outside 3 to 100000000 cents, or a filter is outside its range. |
| 422 | too_many_lots | More than 100 items in one request. |
Any route can also answer with the statuses on the Errors page.