{"openapi":"3.1.0","info":{"title":"SkinAPI","version":"1.0.0","description":"Steam & CS2 data API."},"servers":[{"url":"https://skinapi.skinvaults.online"}],"components":{"securitySchemes":{"ApiKeyAuth":{"type":"apiKey","in":"header","name":"x-api-key"}}},"paths":{"/api/v1/markets":{"get":{"summary":"Unified price for an item across every tracked marketplace.","operationId":"markets","security":[{"ApiKeyAuth":[]}],"parameters":[{"name":"name","in":"query","required":true,"schema":{"type":"string"},"description":"market_hash_name of the item"},{"name":"game","in":"query","required":false,"schema":{"type":"string"},"description":"cs2 (default), dota2, rust, ..."},{"name":"currency","in":"query","required":false,"schema":{"type":"string"},"description":"ISO 4217 code (USD default, e.g. EUR, GBP)"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","description":"Response payload"}}}}}},"400":{"description":"Bad request"},"401":{"description":"Invalid or missing API key"},"429":{"description":"Rate limited"}}}},"/api/v1/markets/batch":{"post":{"summary":"Price up to 20 items across all markets in one call.","operationId":"markets-batch","security":[{"ApiKeyAuth":[]}],"parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object"},"example":{"names":["AK-47 | Redline (Field-Tested)","AWP | Asiimov (Field-Tested)","Glock-18 | Water Elemental (Factory New)"],"game":"cs2","currency":"USD"}}}},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","description":"Response payload"}}}}}},"400":{"description":"Bad request"},"401":{"description":"Invalid or missing API key"},"429":{"description":"Rate limited"}}}},"/api/v1/items":{"get":{"summary":"Current price for an item (cached Steam Market, live fallback).","operationId":"items","security":[{"ApiKeyAuth":[]}],"parameters":[{"name":"name","in":"query","required":true,"schema":{"type":"string"},"description":"market_hash_name"},{"name":"game","in":"query","required":false,"schema":{"type":"string"},"description":"game key"},{"name":"currency","in":"query","required":false,"schema":{"type":"string"},"description":"ISO 4217 code (USD default, e.g. EUR, GBP)"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","description":"Response payload"}}}}}},"400":{"description":"Bad request"},"401":{"description":"Invalid or missing API key"},"429":{"description":"Rate limited"}}}},"/api/v1/history":{"get":{"summary":"Daily price history (cross-source average + volume). Returns up to 365 days.","operationId":"history","security":[{"ApiKeyAuth":[]}],"parameters":[{"name":"name","in":"query","required":true,"schema":{"type":"string"},"description":"market_hash_name"},{"name":"game","in":"query","required":false,"schema":{"type":"string"},"description":"cs2 (default), dota2, rust, ..."},{"name":"days","in":"query","required":false,"schema":{"type":"string"},"description":"1-365 (default 30)"},{"name":"currency","in":"query","required":false,"schema":{"type":"string"},"description":"ISO 4217 code for price conversion (default USD, e.g. EUR, GBP)"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","description":"Response payload"}}}}}},"400":{"description":"Bad request"},"401":{"description":"Invalid or missing API key"},"429":{"description":"Rate limited"}}}},"/api/v1/deals":{"get":{"summary":"Deal finder: items priced below Steam across markets.","operationId":"deals","security":[{"ApiKeyAuth":[]}],"parameters":[{"name":"game","in":"query","required":false,"schema":{"type":"string"},"description":"game key (default cs2)"},{"name":"min_discount","in":"query","required":false,"schema":{"type":"string"},"description":"0-0.95 (default 0.15)"},{"name":"currency","in":"query","required":false,"schema":{"type":"string"},"description":"ISO 4217 (default USD)"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","description":"Response payload"}}}}}},"400":{"description":"Bad request"},"401":{"description":"Invalid or missing API key"},"429":{"description":"Rate limited"}}}},"/api/v1/float":{"get":{"summary":"Exact float, paint seed, pattern (Doppler phase, blue-gem tier, Fire&Ice), stickers with images and sticker value (USD), and item name+image.","operationId":"float","security":[{"ApiKeyAuth":[]}],"parameters":[{"name":"url","in":"query","required":true,"schema":{"type":"string"},"description":"CS2 inspect link (steam:// or https://)"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","description":"Response payload"}}}}}},"400":{"description":"Bad request"},"401":{"description":"Invalid or missing API key"},"429":{"description":"Rate limited"}}}},"/api/v1/float/leaderboard":{"get":{"summary":"Lowest (or highest) float leaderboard for a skin.","operationId":"float-leaderboard","security":[{"ApiKeyAuth":[]}],"parameters":[{"name":"name","in":"query","required":true,"schema":{"type":"string"},"description":"skin name"},{"name":"order","in":"query","required":false,"schema":{"type":"string"},"description":"lowest (default) | highest"},{"name":"limit","in":"query","required":false,"schema":{"type":"string"},"description":"1-100 (default 25)"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","description":"Response payload"}}}}}},"400":{"description":"Bad request"},"401":{"description":"Invalid or missing API key"},"429":{"description":"Rate limited"}}}},"/api/v1/inventory":{"get":{"summary":"Public inventory priced per item with total value, plus a summary (rarity breakdown, tradable/marketable counts, top items). Supports any game.","operationId":"inventory","security":[{"ApiKeyAuth":[]}],"parameters":[{"name":"steam_id","in":"query","required":true,"schema":{"type":"string"},"description":"SteamID64 or vanity name"},{"name":"game","in":"query","required":false,"schema":{"type":"string"},"description":"game key (default cs2)"},{"name":"prices","in":"query","required":false,"schema":{"type":"string"},"description":"false to skip valuation (default true)"},{"name":"currency","in":"query","required":false,"schema":{"type":"string"},"description":"ISO 4217 code for prices/total (default USD)"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","description":"Response payload"}}}}}},"400":{"description":"Bad request"},"401":{"description":"Invalid or missing API key"},"429":{"description":"Rate limited"}}}},"/api/v1/inventory/batch":{"post":{"summary":"Up to 10 inventories in a single request.","operationId":"inventory-batch","security":[{"ApiKeyAuth":[]}],"parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object"},"example":{"steam_ids":["76561197960435530","76561198006518558"],"game":"cs2"}}}},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","description":"Response payload"}}}}}},"400":{"description":"Bad request"},"401":{"description":"Invalid or missing API key"},"429":{"description":"Rate limited"}}}},"/api/v1/inventory/history":{"get":{"summary":"Daily value-over-time history for a tracked inventory.","operationId":"inventory-history","security":[{"ApiKeyAuth":[]}],"parameters":[{"name":"steam_id","in":"query","required":true,"schema":{"type":"string"},"description":"SteamID64 or vanity name"},{"name":"game","in":"query","required":false,"schema":{"type":"string"},"description":"game key (default cs2)"},{"name":"days","in":"query","required":false,"schema":{"type":"string"},"description":"1-365 (default 90)"},{"name":"currency","in":"query","required":false,"schema":{"type":"string"},"description":"ISO 4217 (default USD)"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","description":"Response payload"}}}}}},"400":{"description":"Bad request"},"401":{"description":"Invalid or missing API key"},"429":{"description":"Rate limited"}}}},"/api/v1/profile":{"get":{"summary":"Steam profile with level, CS2 playtime (hours), VAC/trade/community ban status, avatar and country.","operationId":"profile","security":[{"ApiKeyAuth":[]}],"parameters":[{"name":"id","in":"query","required":true,"schema":{"type":"string"},"description":"SteamID64 or vanity name"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","description":"Response payload"}}}}}},"400":{"description":"Bad request"},"401":{"description":"Invalid or missing API key"},"429":{"description":"Rate limited"}}}},"/api/v1/friendlist":{"get":{"summary":"Friend list with friendship timestamps.","operationId":"friendlist","security":[{"ApiKeyAuth":[]}],"parameters":[{"name":"steam_id","in":"query","required":true,"schema":{"type":"string"},"description":"SteamID64 or vanity name"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","description":"Response payload"}}}}}},"400":{"description":"Bad request"},"401":{"description":"Invalid or missing API key"},"429":{"description":"Rate limited"}}}},"/api/v1/catalog":{"get":{"summary":"Full paginated item catalog (up to 500/page). CS2 returns all ~15K wear-specific items from the asset DB with image, type and rarity. Other games return names seen in the prices collection. Add ?prices=true to include the lowest known price per item.","operationId":"catalog","security":[{"ApiKeyAuth":[]}],"parameters":[{"name":"game","in":"query","required":false,"schema":{"type":"string"},"description":"cs2 (default), dota2, rust, tf2, ..."},{"name":"limit","in":"query","required":false,"schema":{"type":"string"},"description":"items per page, default 100. Pass 0 for the full dataset (no cap)"},{"name":"offset","in":"query","required":false,"schema":{"type":"string"},"description":"pagination offset (default 0)"},{"name":"q","in":"query","required":false,"schema":{"type":"string"},"description":"search / filter by name (partial match)"},{"name":"type","in":"query","required":false,"schema":{"type":"string"},"description":"CS2 weapon type filter (Rifle, Pistol, Knife, …)"},{"name":"rarity","in":"query","required":false,"schema":{"type":"string"},"description":"CS2 rarity filter (Covert, Classified, Restricted, …)"},{"name":"prices","in":"query","required":false,"schema":{"type":"string"},"description":"true to include lowest known price per item"},{"name":"sort","in":"query","required":false,"schema":{"type":"string"},"description":"name (default) or price (requires prices=true)"},{"name":"currency","in":"query","required":false,"schema":{"type":"string"},"description":"ISO 4217 code for prices (default USD)"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","description":"Response payload"}}}}}},"400":{"description":"Bad request"},"401":{"description":"Invalid or missing API key"},"429":{"description":"Rate limited"}}}},"/api/v1/items/search":{"get":{"summary":"Search the CS2 item database by name (autocomplete).","operationId":"items-search","security":[{"ApiKeyAuth":[]}],"parameters":[{"name":"q","in":"query","required":false,"schema":{"type":"string"},"description":"search query"},{"name":"limit","in":"query","required":false,"schema":{"type":"string"},"description":"1-50 (default 20)"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","description":"Response payload"}}}}}},"400":{"description":"Bad request"},"401":{"description":"Invalid or missing API key"},"429":{"description":"Rate limited"}}}},"/api/v1/items/meta":{"get":{"summary":"Full metadata for an item (weapon, rarity, collection, crates, float range).","operationId":"items-meta","security":[{"ApiKeyAuth":[]}],"parameters":[{"name":"name","in":"query","required":true,"schema":{"type":"string"},"description":"market_hash_name"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","description":"Response payload"}}}}}},"400":{"description":"Bad request"},"401":{"description":"Invalid or missing API key"},"429":{"description":"Rate limited"}}}},"/api/v1/tradeup":{"post":{"summary":"Trade-up calculator: 10 items of the same rarity + collection -> possible outcomes, probabilities, EV.","operationId":"tradeup","security":[{"ApiKeyAuth":[]}],"parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object"},"example":{"items":[{"name":"AK-47 | Redline (Field-Tested)","float":0.2},{"name":"AK-47 | Redline (Field-Tested)","float":0.22},{"name":"AK-47 | Redline (Field-Tested)","float":0.24},{"name":"AK-47 | Redline (Field-Tested)","float":0.26},{"name":"AK-47 | Redline (Field-Tested)","float":0.28},{"name":"AK-47 | Redline (Field-Tested)","float":0.3},{"name":"AK-47 | Redline (Field-Tested)","float":0.32},{"name":"AK-47 | Redline (Field-Tested)","float":0.34},{"name":"AK-47 | Redline (Field-Tested)","float":0.36},{"name":"AK-47 | Redline (Field-Tested)","float":0.38}]}}}},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","description":"Response payload"}}}}}},"400":{"description":"Bad request"},"401":{"description":"Invalid or missing API key"},"429":{"description":"Rate limited"}}}},"/api/v1/status":{"get":{"summary":"Public component health: DB connectivity, price ingest freshness, Buff source status, market source reachability. No auth required.","operationId":"status","security":[{"ApiKeyAuth":[]}],"parameters":[],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","description":"Response payload"}}}}}},"400":{"description":"Bad request"},"401":{"description":"Invalid or missing API key"},"429":{"description":"Rate limited"}}}}}}