{"message":"API Documentation","version":"1.0.0","baseUrl":"http://5.39.223.80:3011/api","endpoints":{"health":"GET /health","auth":{"login":"POST /auth/login"},"users":{"base":"GET /users","byId":"GET /users/:id","create":"POST /users","update":"PUT /users/:id","updateStatus":"PATCH /users/:id/status","updateRole":"PATCH /users/:id/role","stats":"GET /users/:id/stats","byPlatform":"GET /users/platform/:platformId","active":"GET /users/active","search":"GET /users/search","bulkStatus":"POST /users/bulk-status","delete":"DELETE /users/:id","summary":"GET /users/:id/summary"},"trades":{"base":"GET /trades","byId":"GET /trades/:id","create":"POST /trades","close":"POST /trades/:id/close","updatePrice":"PATCH /trades/:id/current-price","active":"GET /trades/active","closed":"GET /trades/closed","stats":"GET /trades/stats","topSymbols":"GET /trades/top-symbols","search":"GET /trades/search","bulkClose":"POST /trades/bulk-close","byUser":"GET /trades/user/:userId","byPlatform":"GET /trades/platform/:platformId"},"platforms":{"base":"GET /platforms","byId":"GET /platforms/:id","byName":"GET /platforms/name/:name","create":"POST /platforms","update":"PUT /platforms/:id","updateStatus":"PATCH /platforms/:id/status","updateConfig":"PATCH /platforms/:id/config","updateCredentials":"PATCH /platforms/:id/credentials","byType":"GET /platforms/type/:type","active":"GET /platforms/active","addAsset":"POST /platforms/:id/assets","removeAsset":"DELETE /platforms/:id/assets/:asset","search":"GET /platforms/search","types":"GET /platforms/types","testConnection":"POST /platforms/:id/test-connection","connectionConfig":"GET /platforms/:id/connection-config","bulkStatus":"POST /platforms/bulk-status","delete":"DELETE /platforms/:id","summary":"GET /platforms/:id/summary","withStats":"GET /platforms/with-stats","health":"GET /platforms/:id/health"},"accounts":{"base":"GET /accounts","byId":"GET /accounts/:id","userPlatform":"GET /accounts/user/:userId/platform/:platformId","create":"POST /accounts","update":"PUT /accounts/:id","updateBalance":"PATCH /accounts/:id/balance","updateMargin":"PATCH /accounts/:id/margin","updateStatus":"PATCH /accounts/:id/status","active":"GET /accounts/active","userSummary":"GET /accounts/user/:userId/summary","byType":"GET /accounts/type/:type","topBalance":"GET /accounts/top-balance","search":"GET /accounts/search","bulkStatus":"POST /accounts/bulk-status","byUser":"GET /accounts/user/:userId","byPlatform":"GET /accounts/platform/:platformId","stats":"GET /accounts/stats"},"crm":{"dashboard":"GET /crm/dashboard","usersOverview":"GET /crm/users/overview","tradesOverview":"GET /crm/trades/overview","platformsOverview":"GET /crm/platforms/overview","accountsOverview":"GET /crm/accounts/overview","userDashboard":"GET /crm/users/:userId/dashboard","platformDashboard":"GET /crm/platforms/:platformId/dashboard","analytics":"GET /crm/analytics","usersAnalytics":"GET /crm/analytics/users","tradesAnalytics":"GET /crm/analytics/trades","platformsAnalytics":"GET /crm/analytics/platforms","accountsAnalytics":"GET /crm/analytics/accounts","search":"GET /crm/search","health":"GET /crm/health","users":"GET /crm/users","trades":"GET /crm/trades","positions":"GET /crm/positions","registerUser":"POST /crm/register-user","approveKYC":"POST /crm/approve-kyc","adjustBalance":"POST /crm/adjust-balance","placeOrder":"POST /crm/trading/place-order","closePosition":"POST /crm/trading/close-position","userPortfolio":"GET /crm/trading/user-portfolio","tradingStats":"GET /crm/trading/stats"},"leads":{"list":"GET /leads","byId":"GET /leads/:id","create":"POST /leads","update":"PUT /leads/:id","delete":"DELETE /leads/:id","stats":"GET /leads/stats","byRole":"GET /leads/by-role","availableAgents":"GET /leads/available-agents","assignUser":"PUT /leads/:id/assign-user","assignPlatform":"PATCH /leads/:id/assign-platform","updateStatus":"PATCH /leads/:id/status","odiReceive":"POST /leads/receive","odiBulk":"POST /leads/bulk"},"marketing":{"test":"GET /marketing/test","health":"GET /marketing/health","receiveLeads":"POST /marketing/leads/receive","bulkLeads":"POST /marketing/leads/bulk","stats":"GET /marketing/stats","testPlatform":"POST /marketing/test/:platform"},"ipWhitelist":{"list":"GET /ip-whitelist","stats":"GET /ip-whitelist/stats","add":"POST /ip-whitelist","bulkAdd":"POST /ip-whitelist/bulk","update":"PUT /ip-whitelist/:id","delete":"DELETE /ip-whitelist/:id","setupDefaults":"POST /ip-whitelist/setup-defaults","checkIp":"GET /ip-whitelist/check/:ip","refreshCache":"POST /ip-whitelist/refresh-cache"},"paymentLinks":{"available":"GET /payment-links/available","generate":"POST /payment-links/generate","list":"GET /payment-links","create":"POST /payment-links","update":"PUT /payment-links/:id","delete":"DELETE /payment-links/:id","toggle":"PATCH /payment-links/:id/toggle","analytics":"GET /payment-links/analytics/:id","monitoring":"GET /payment-links/monitoring/data","stats":"GET /payment-links/stats/usage","export":"GET /payment-links/export/data","bulk":"POST /payment-links/bulk","resetUsage":"POST /payment-links/reset/daily-usage","markAlertRead":"PATCH /payment-links/alerts/:alertId/read"},"markets":{"list":"GET /markets","byId":"GET /markets/:id","create":"POST /markets","update":"PUT /markets/:id","delete":"DELETE /markets/:id","stats":"GET /markets/stats","search":"GET /markets/search?q=query","byCategory":"GET /markets/category/:category"},"chat":{"messages":"POST /chat/messages","history":"GET /chat/messages/:chatId","markRead":"PUT /chat/messages/:messageId/read","markChatRead":"PUT /chat/:chatId/read","unreadCount":"GET /chat/unread-count","unreadMessages":"GET /chat/unread-messages","recent":"GET /chat/recent"},"notifications":{"list":"GET /notifications","unread":"GET /notifications/unread","count":"GET /notifications/count","markRead":"PUT /notifications/:id/read","markAllRead":"PUT /notifications/mark-all-read","chat":"GET /notifications/chat"},"kyc":{"list":"GET /kyc/list/:platformId","details":"GET /kyc/details/:platformId","approve":"POST /kyc/approve/:platformId","allPlatforms":"GET /kyc/all-platforms"},"statuses":{"base":"GET /statuses","options":"GET /statuses/options","byId":"GET /statuses/:id","create":"POST /statuses","update":"PUT /statuses/:id","delete":"DELETE /statuses/:id"}},"authentication":{"type":"API Key + Bearer Token","headers":{"x-api-key":"Your API Key","authorization":"Bearer Your Token"}},"pagination":{"default":10,"max":1000}}