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 use Connected + API unless noted. Send Authorization: Bearer <jwt>.

Get deposit information

GET /deposit/{game}
Permission: Connected + API
game
integer
required
Game id: 440 (TF2), 730 (CS2), 570 (Dota 2), 252490 (Rust).
Returns your Steam inventory for that game with depositkey maps per asset id, pricing hints, and optional disabled / high-stock fields. The response uses content.informations as an array of rows.

Response (shape)

{
  "err": false,
  "success": true,
  "content": {
    "informations": [
      {
        "assetid": "123456789;987654321",
        "count": 2,
        "market_hash_name": "Unusual Burning Flames Team Captain",
        "item_id": 5678,
        "url": "unusual-burning-flames-team-captain",
        "depositkey": {
          "123456789": "a1b2c3d4e5f6...",
          "987654321": "f6e5d4c3b2a1..."
        },
        "nb_high_stock": 45,
        "high_stock_limit": 200
      }
    ]
  }
}
TF2 / CS2 / Dota / Rust may add game-specific fields (unusual, wear, stickers, etc.). See existing Items docs for field meanings.
Each depositkey[assetId] is validated server-side with hash('sha256', depositSecret + assetId + user) when you submit POST /deposit/trade.

Create deposit trade

POST /deposit/trade
Permission: Connected + API

Body parameters

prices
object
required
Map assetId string to price in cents (integer). Can be sent as JSON object or JSON string parsed server-side.
depositKeys
object
required
Map assetId to the depositkey string from GET /deposit/{game} for that asset.
game
integer
Default 440. Must be one of 440, 730, 570, 252490.

Example

{
  "prices": { "123456789": 15000, "987654321": 8000 },
  "depositKeys": { "123456789": "...", "987654321": "..." },
  "game": 440
}

Response

{
  "err": false,
  "success": true,
  "content": { "id": 42 }
}
Use content.id as tradeid for GET /deposit/tradeStatus/.

Errors (typical)

content messageMeaning
missing value parameterprices missing
missing depositKeys parameterdepositKeys missing
invalid game parameterBad or missing game
invalid JSON format in value parameterprices not valid JSON when sent as string
invalid JSON format in depositKeys parameterSame for keys
value must be a JSON object with assetId - price mappingprices not an object
invalid deposit key for assetId: XHash mismatch
failed to save deposit priceServer could not persist

Instant sell (information)

GET /deposit/instantSell/{game}
Permission: Connected + API
game
integer
required
Currently 440 (TF2) only in server implementation.
Returns enriched inventory data for instant-sell pricing (content.informations), built from cached deposit lists and buy-order tiers.

Create instant sell trade

POST /deposit/trade/instant
Permission: Connected + API (+ 2fa filter — satisfied automatically with API JWT) Same general idea as POST /deposit/trade, plus:
cashout_method
string
required
Instant sell payout method (server-defined values).
Supported games: TF2 (440) only in code. Also requires prices and depositKeys as objects (or JSON strings). Errors mirror validation in createTradeInstant.php (missing prices parameter, instant sell is not supported for this game, etc.).

Get trade status

GET /deposit/tradeStatus/{tradeid}
Permission: Connected + API
tradeid
integer
required
The id returned by POST /deposit/trade (deposit row id).
Returns deposit row plus nested trade when available.

Response (shape)

{
  "err": false,
  "success": true,
  "content": {
    "trade": {
      "id": 123456,
      "items_received": "123456789,987654321",
      "items_send": "",
      "status": 3,
      "user": "76561198000000000",
      "bot": "76561198111111111",
      "code": "...",
      "lasterror": "",
      "offerid": "5678901234",
      "timestamp": "1706745600000",
      "game": 440
    }
  }
}

Errors

TypeWhen
errorMissing or invalid tradeid
notFoundNo deposit for that id
forbiddenDeposit belongs to another user

Trade status (deposit flow)

StatusMeaning
0Pending
3Completed
-1Failed