Skip to main content

Get items on sale

GET /inventory/onSale
Permission: Connected + API Returns all items currently listed for sale by the authenticated user.

Response

Returns an array of backpack items with state = 1 (on sale), including full item details, pricing, and inspection values.
{
  "err": false,
  "success": true,
  "content": {
    "items": [
      {
        "ids": "987654321,987654322",
        "count": 2,
        "item_id": 5678,
        "assetId": "987654321",
        "bot": "76561198000000001",
        "game": 440,
        "state": 1,
        "price": 15000,
        "name": "Unusual Burning Flames Team Captain",
        "effect": "Burning Flames",
        "url": "unusual_team_captain",
        "quality": "Unusual",
        "image": "https://...",
        "type": "Hat",
        "craftable": 1
      }
    ],
    "count": 25
  }
}

Get items in inventory

GET /inventory/onInventory
Permission: Connected + API Returns all items in the authenticated user’s inventory (not listed for sale, state = 0).

Response

Returns an array of backpack items with state = 0, including full item details and inspection values.
{
  "err": false,
  "success": true,
  "content": {
    "items": [
      {
        "ids": "987654322",
        "count": 1,
        "item_id": 5679,
        "assetId": "987654322",
        "bot": "76561198000000001",
        "game": 440,
        "state": 0,
        "name": "Strange Shotgun",
        "effect": "",
        "url": "strange_shotgun",
        "quality": "Strange",
        "image": "https://...",
        "type": "Weapon",
        "craftable": 1
      }
    ],
    "count": 10
  }
}

Set item price

POST /inventory/price
Permission: Connected + API Set a price for items in your inventory and automatically match them with existing buy orders. If a buy order exists at or above your price, the item is instantly sold. Otherwise, the item is listed for sale at the specified price.

Body Parameters

ids
string
required
Comma-separated list of asset IDs to price (e.g., β€œ12345678,87654321”)
price
integer
required
Price in cents (USD). Must be between 1 and 5,000,000 cents (0.01βˆ’0.01 - 50,000)

Request Example

{
  "ids": "12345678,87654321",
  "price": 150
}

Response

Success
{
  "err": false,
  "success": true,
  "content": {
    "message": "ok"
  }
}

How It Works

  1. Validation: The system validates item ownership, price limits, CS:GO trade lock status, and availability
  2. Buy Order Matching: If a buy order exists at or above your price:
    • Item is instantly sold to the buyer
    • Buyer’s balance is debited
    • Seller receives 95% of the price (5% platform fee)
    • Transaction is recorded in history
  3. Listing: If no buy order matches, the item is listed for sale at your specified price

Price Limits

Over 400 items have specific price limits. If your item exceeds the limit, you’ll receive an error with the maximum allowed price.

CS:GO Trade Lock

CS:GO items with an active 7-day trade hold cannot be listed for sale. This applies to items that have not completed their 7-day Steam trade hold period.

Error Responses

StatusMessageDescription
errorMissing required parametersids or price parameter is missing
errorInvalid ids formatids must be a string
errorPrice too high or invalidPrice must be between 1 and 5,000,000 cents
errorItem not found or not ownedItem doesn’t exist or doesn’t belong to you
errorPrice limit exceededItem price exceeds the maximum allowed for this item type
errorThis item will be locked for 7 daysCS:GO item has an active trade hold

Withdraw items

POST /inventory/withdraw
Permission: Connected + API Initiates a trade offer to withdraw items from the user’s Mannco.store inventory to their Steam account.

Body Parameters

ids
string
required
Comma-separated list of asset IDs to withdraw (e.g., β€œ12345678,87654321”)

Request Example

{
  "ids": "12345678,87654321"
}

Response

Success
{
  "err": false,
  "success": true,
  "content": {
    "message": "Items withdrawal processed",
    "updated": 3,
    "locked": 0
  }
}

Response Fields

FieldTypeDescription
updatedintegerNumber of items successfully marked for withdrawal
lockedintegerNumber of items that couldn’t be withdrawn (locked in trades)

Error Responses

StatusMessageDescription
errorMissing required parameter: idsids parameter is missing
errorNo valid item IDs providedAll provided IDs are invalid
errorItems not foundOne or more item IDs don’t exist or don’t belong to the user
errorItems not available for withdrawalItems are in active trades or pending withdrawal
Items must have state = 0 (in inventory) or state = 1 (on sale) to be withdrawable. Items in active trades (state = 3) or pending withdrawal (state = 2) cannot be withdrawn.

Item States

Understanding item states in the inventory system:
StateDescriptionCan Sell?Can Withdraw?
0In inventoryβœ… Yesβœ… Yes
1On saleβœ… Yesβœ… Yes
2Pending withdrawal❌ No❌ No
3In active trade❌ No❌ No

Code Examples

List items for sale

// Set price for multiple items
const response = await fetch('https://api.mannco.store/inventory/price', {
  method: 'POST',
  headers: {
    'Authorization': 'Bearer YOUR_TOKEN',
    'Content-Type': 'application/json'
  },
  body: JSON.stringify({
    ids: '12345678,87654321,11223344',
    price: 150 // $1.50
  })
});

const result = await response.json();
console.log(result);

Withdraw items

// Withdraw multiple items from inventory
const response = await fetch('https://api.mannco.store/inventory/withdraw', {
  method: 'POST',
  headers: {
    'Authorization': 'Bearer YOUR_TOKEN',
    'Content-Type': 'application/json'
  },
  body: JSON.stringify({
    ids: '12345678,87654321'
  })
});

const result = await response.json();
console.log(`Withdrawn: ${result.content.updated} items`);
console.log(`Locked: ${result.content.locked} items`);