Appearance
Get Inventory
POST /api/v1/merchant/inventory
Fetches a user's Steam inventory with competitive pricing. Used in the API-only integration flow.
Request
Headers
| Header | Required | Description |
|---|---|---|
X-Api-Key | ✅ | Your merchant API key |
Content-Type | ✅ | application/json |
Body
| Parameter | Type | Required | Description |
|---|---|---|---|
game | string | ✅ | Game code: csgo, rust, dota2, tf2 |
partner | integer | ✅ | Steam trade partner ID |
token | string | ✅ | Steam trade token (exactly 8 characters) |
Response
json
{
"success": true,
"message": "Inventory fetched successfully",
"data": {
"items": [
{
"id": "38029384123",
"name": "AK-47 | Redline (Field-Tested)",
"price": 12.45,
"image_url": "https://community.cloudflare.steamstatic.com/economy/image/...",
"exterior": "Field-Tested",
"rarity": "Classified",
"rarity_color": "#d32ce6"
}
],
"total": 47,
"sum": 284.90,
"game": "csgo"
}
}Response Fields
| Field | Type | Description |
|---|---|---|
items | array | List of tradeable inventory items with prices |
items[].id | string | Asset ID — use this in create-deposit |
items[].name | string | Item market name |
items[].price | number | Best available price (USD) |
items[].image_url | string | Steam CDN image URL |
items[].exterior | string | null | Item wear: Factory New, Minimal Wear, Field-Tested, Well-Worn, Battle-Scarred |
items[].rarity | string | null | Item rarity tier |
items[].rarity_color | string | null | Hex color for the rarity |
total | integer | Total number of tradeable items |
sum | number | Total value of all items |
game | string | Game code |
Example
bash
curl -X POST https://api.skinslink.com/api/v1/merchant/inventory \
-H "X-Api-Key: your-api-key" \
-H "Content-Type: application/json" \
-d '{
"game": "csgo",
"partner": 378049039,
"token": "qPFEAtZR"
}'Performance
This endpoint fetches and prices the user's inventory in real time. Typical response times:
- Cached: ~100–200ms
- Fresh fetch: ~1–4 seconds
WARNING
Prices are point-in-time and may change between inventory fetch and deposit creation. Items are re-priced at deposit time.
Errors
| Status | Message | Cause |
|---|---|---|
400 | invalid request body | Malformed JSON |
400 | validation error | Missing or invalid fields (see data array for details) |
401 | missing authorization header | X-Api-Key header not provided |
401 | invalid API key | API key not found or inactive |
403 | merchant account is disabled | Merchant account deactivated |
403 | invalid IP: <ip> | Request IP not in whitelist |
408 | timeout error | Inventory fetch timed out — retry |
500 | internal error | Something went wrong on our side |
