Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.mannco.store/llms.txt

Use this file to discover all available pages before exploring further.

Base URL: https://api.mannco.store. Endpoints require Connected + API (JWT from POST /user/login).

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`);