{"message":"Truckast Unified API - Mobile Backend & Scraper API","version":"2.0.0","status":"running","endpoints":{"health":"/health","documentation":{"scraperApi":"/scraper-api-docs","mobileApi":"/mobile-api-docs"},"mobile":{"auth":{"login":"POST /api/auth/login","logout":"POST /api/auth/logout","refresh":"POST /api/auth/refresh","me":"GET /api/auth/me","federated":{"login":"POST /api/auth/mobile/login (email, password - tenant auto-detected)","exchangeCode":"POST /api/auth/mobile/exchange-code"}},"tenant":{"get":"GET /api/tenant?subdomain={subdomain}"},"users":{"getProfile":"GET /api/users/profile","updateProfile":"PUT /api/users/profile"},"dashboard":{"home":"GET /api/dashboard"},"notifications":{"send":"POST /api/notifications/send","fcm":"POST /api/notifications/fcm","history":"GET /api/notifications/history?user_id={user_id}&tenant_id={tenant_id}&page={page}&limit={limit}"},"tickets":{"list":"GET /api/tickets","details":"GET /api/tickets/details?order_code={order_code}&order_date={order_date}&ticket_code={ticket_code}"},"trucks":{"list":"GET /api/trucks","map":"GET /api/trucks/map"},"orders":{"list":"GET /api/orders","details":"GET /api/orders/details?order_code={order_code}&order_date={order_date}","summary":"GET /api/orders/summary","favourites":"GET /api/orders/favourites","toggleFavourite":"POST /api/orders/{order_id}/favourite"},"orderRequests":{"list":"GET /api/order-requests","detail":"GET /api/order-requests/:id","create":"POST /api/order-requests","update":"PUT /api/order-requests/:id","updateStatus":"PATCH /api/order-requests/:id/status","updateVerification":"PATCH /api/order-requests/:id/verification","messages":"GET /api/order-requests/:id/messages","sendMessage":"POST /api/order-requests/:id/messages","formData":"GET /api/order-requests/form-data","searchOrders":"GET /api/order-requests/search-orders","searchProducts":"GET /api/order-requests/search-products"},"weather":{"all":"GET /api/weather/all"},"shortUrls":{"resolve":"GET /api/short-urls/resolve/:code"}},"scraper":{"scrapedOrders":{"ingest":"POST /api/scraped-orders/ingest"}},"queue":{"process":"POST /api/queue/process","stats":"GET /api/queue/stats","status":"GET /api/queue/status/:batchId"},"ai":{"chat":"POST /api/ai/chat","history":"GET /api/ai/history/:sessionId","clearHistory":"DELETE /api/ai/history/:sessionId"}}}