Motive HubSpot App backend
Backend for the Motive HubSpot private app. It exposes signed endpoints called by HubSpot — webhooks and the app settings page via hubspot.fetch().
POST /api/webhooks— single CRM webhook dispatcher (branches by objectTypeId).GET/PUT /api/settings— app settings read/write.
Every request requires a valid X-HubSpot-Signature-v3 header. Browser hits to these endpoints will 401.