{"message":"Welcome to Growth House Middleware API","version":"1.0.0","endpoints":{"health":"/health","company":{"register":"POST /api/company/register","login":"POST /api/company/login","profile":"GET /api/company/profile (protected)"},"leadConversion":{"testConnection":"GET /api/lead/test-connection","syncLookups":"POST /api/lead/sync-lookups (protected)","getLookups":"GET /api/lead/lookups (protected)","getLookupByType":"GET /api/lead/lookups/:type (protected)","getStaff":"GET /api/lead/staff (protected)","convertLead":"POST /api/lead/convert (protected)","getExampleData":"GET /api/lead/convert/example (protected)","convertAdvanced":"POST /api/lead/convert-advanced (protected)","getConversions":"GET /api/lead/conversions (protected)","getConversionById":"GET /api/lead/conversions/:id (protected)","testRestConnection":"GET /api/lead/test-rest-connection (protected)","getDocuments":"GET /api/lead/conversions/:id/documents (protected)"},"documents":{"upload":"POST /api/documents/upload (protected)","history":"GET /api/documents/history/:entityId (protected)","all":"GET /api/documents/all (protected)"},"address":{"example":"GET /api/address/example","list":"GET /api/address/:entityId (protected)","save":"POST /api/address/save (protected)"},"genesys":{"test":"GET /api/genesys/test (protected) - Test connection","queues":"GET /api/genesys/queues (protected)","queueById":"GET /api/genesys/queues/:queueId (protected)","createContact":"POST /api/genesys/contacts (protected)","searchContacts":"GET /api/genesys/contacts/search?q= (protected)","makeCall":"POST /api/genesys/calls (protected)","getConversation":"GET /api/genesys/conversations/:conversationId (protected)","contactAndCall":"POST /api/genesys/contact-and-call (protected) - Create contact and call","outbound":{"addToBank":"POST /api/genesys/outbound/bank (protected) - Add contact to BANK list","addToShortTerm":"POST /api/genesys/outbound/short-term (protected) - Add contact to SHORT TERM list"}},"whatsapp":{"templates":"GET /api/whatsapp/templates (protected) - Get all available templates","welcomeMessage1":"POST /api/whatsapp/welcome-message-1 (protected) - Send welcome message (complete info)","welcomeMessage2":"POST /api/whatsapp/welcome-message-2 (protected) - Send welcome message (more details needed)","afterHoursMessage1":"POST /api/whatsapp/after-hours-message-1 (protected) - After hours acknowledgment","afterHoursMessage2":"POST /api/whatsapp/after-hours-message-2 (protected) - After hours with details needed","cannedMessage1":"POST /api/whatsapp/canned-message-1 (protected) - Follow-up for missed call","cannedMessage2":"POST /api/whatsapp/canned-message-2 (protected) - Confirmation after chat","cannedMessage3":"POST /api/whatsapp/canned-message-3 (protected) - Quote ready","cannedMessage4":"POST /api/whatsapp/canned-message-4 (protected) - Alternative servicing offer","shortTermBrokerAppointment":"POST /api/whatsapp/short-term-broker-appointment-request (protected) - Short term broker appointment request","sendGeneric":"POST /api/whatsapp/send-message (protected) - Send any message by template name"},"eliteWealth":{"test":"GET /api/elite-wealth/test (protected) - Test Elite Wealth API connection","createPortfolio":"POST /api/elite-wealth/portfolio/create (protected) - Create portfolio","createPortfolioFromQuote":"POST /api/elite-wealth/portfolio/create-from-quote (protected) - Create portfolio from quote data"},"workflow":{"process":"POST /api/workflow/process (protected) - Process lead workflow with documents and Genesys integration","status":"GET /api/workflow/status/:workflowId (protected) - Get workflow status by ID","list":"GET /api/workflow/list (protected) - List all workflows for company"},"userSync":{"trigger":"POST /api/user-sync/trigger (protected) - Manually trigger user sync job","mappings":"GET /api/user-sync/mappings (protected) - Get all user mappings","genesysLookup":"GET /api/user-sync/mappings/genesys/:genesysUserId (protected) - Lookup user by Genesys ID","cardinal360Lookup":"GET /api/user-sync/mappings/cardinal360/:assigneeGuid (protected) - Lookup user by Cardinal 360 GUID","logs":"GET /api/user-sync/logs?limit=10 (protected) - Get recent sync logs","status":"GET /api/user-sync/status (protected) - Get cron scheduler status"},"quote":{"testConnection":"GET /api/quote/test-connection","createSimplified":"POST /api/quote/create (protected)","createFriendly":"POST /api/quote/create-friendly (protected) - Human-readable values","createComplete":"POST /api/quote/create-complete (protected)","campaigns":"GET /api/quote/campaigns (protected)","sources":"GET /api/quote/sources (protected)","statuses":"GET /api/quote/statuses (protected)","lookup":"GET /api/quote/lookup/:lookupType (protected)","addressLookup":"GET /api/quote/address/lookup?postalCode= OR ?city=&suburb= (protected)","getAllRequests":"GET /api/quote/requests (protected)","getRequestById":"GET /api/quote/requests/:id (protected)","getRequestByLeadGuid":"GET /api/quote/requests/lead/:leadGuid (protected)","sync":{"all":"POST /api/quote/sync/all (protected) - Sync all lookups","lookupType":"POST /api/quote/sync/:lookupType (protected)","campaigns":"POST /api/quote/sync/campaigns (protected)","sources":"POST /api/quote/sync/sources (protected)","statuses":"POST /api/quote/sync/statuses (protected)","cacheMetadata":"GET /api/quote/cache/metadata (protected)","cachedLookups":"GET /api/quote/cache/:lookupType (protected)"}},"policy":{"getStatus":"POST /api/policy/status (protected) - Get policy information by ID/Phone"},"easyEquities":{"webhook":"POST /api/easy-equities/webhook (protected) - Receive data from Easy Equities","getByIdNumber":"GET /api/easy-equities/data/:idNumber (protected) - Get record by SA ID Number","getAll":"GET /api/easy-equities/data?page=1&limit=50 (protected) - Get all records with pagination"}}}