{"name":"BMO Trading Platform API","version":"v1","base_url":"/api/v1","endpoints":[{"path":"/listings","method":"GET","description":"Search and browse active listings","rate_limit":"60 requests/minute","params":{"q":{"type":"string","required":false,"description":"Full-text search query"},"tag":{"type":"string","required":false,"description":"Filter by tag slug (e.g. \"minecraft\", \"roblox\")"},"type":{"type":"string","required":false,"description":"Filter by listing type: \"buy\" or \"sell\""},"minPrice":{"type":"number","required":false,"description":"Minimum price filter"},"maxPrice":{"type":"number","required":false,"description":"Maximum price filter"},"sort":{"type":"string","required":false,"description":"Sort order: \"newest\" (default), \"oldest\", \"price_asc\", \"price_desc\""},"page":{"type":"number","required":false,"description":"Page number (default: 1)"},"limit":{"type":"number","required":false,"description":"Results per page (1-100, default: 20)"}},"response":{"listings":"Array of listing objects with seller info","total":"Total matching listings count","page":"Current page number","limit":"Results per page"}},{"path":"/listings/:id","method":"GET","description":"Get full listing details by ID or slug","rate_limit":"60 requests/minute","params":{"id":{"type":"string","required":true,"description":"Listing UUID or slug"}},"response":{"id":"Listing UUID","title":"Listing title","slug":"URL-friendly slug","description":"Full description","price":"Price amount","currency":"Currency code (USD, EUR, BTC, In-Game)","type":"buy or sell","status":"Listing status","images":"Array of image URLs","tags":"Array of { name, slug }","seller":"{ username, display_name, avatar_url, reputation, member_since }","created_at":"ISO timestamp","updated_at":"ISO timestamp"}},{"path":"/users/:username","method":"GET","description":"Get public user profile (no private data)","rate_limit":"60 requests/minute","params":{"username":{"type":"string","required":true,"description":"Username"}},"response":{"username":"Username","display_name":"Display name","avatar_url":"Avatar URL","bio":"User bio","reputation":"Reputation score","is_verified":"Verification status","rank":"Subscription rank tier","trade_count":"Total completed trades","active_listings":"Number of active listings","seller_level":"{ name, icon, color }","badges":"Array of earned badges","member_since":"ISO timestamp"}},{"path":"/users/:username/reputation","method":"GET","description":"Get reputation entries for a user","rate_limit":"30 requests/minute","params":{"username":{"type":"string","required":true,"description":"Username"},"page":{"type":"number","required":false,"description":"Page number (default: 1)"},"limit":{"type":"number","required":false,"description":"Results per page (1-50, default: 20)"}},"response":{"username":"Username","summary":"{ total, positive, negative, score }","entries":"Array of { id, reviewer: { username, avatar_url }, rating, comment, date }","total":"Total entries count","page":"Current page","limit":"Results per page"}},{"path":"/trending","method":"GET","description":"Get top trending listings based on views in the last 7 days","rate_limit":"30 requests/minute","params":{"limit":{"type":"number","required":false,"description":"Number of results (1-50, default: 10)"}},"response":{"listings":"Array of trending listing objects with view count and seller info"}},{"path":"/stats","method":"GET","description":"Get platform statistics (cached for 5 minutes)","rate_limit":"10 requests/minute","response":{"total_users":"Total registered users","total_trades_completed":"Total completed trades","total_listings_active":"Total active listings","cached_at":"ISO timestamp of when stats were last computed"}},{"path":"/docs","method":"GET","description":"This documentation endpoint","rate_limit":"None","response":{"name":"API name","version":"API version","base_url":"Base URL path","endpoints":"Array of endpoint documentation objects"}}],"headers":{"X-RateLimit-Limit":"Maximum requests per window","X-RateLimit-Remaining":"Requests remaining in current window","Retry-After":"Seconds until rate limit resets (only on 429 responses)"},"errors":{"400":"Bad Request - Invalid parameters","404":"Not Found - Resource does not exist","429":"Too Many Requests - Rate limit exceeded","500":"Internal Server Error"}}