Hi @ANiazov
Good call catching that, the confusion comes from HubSpot’s newer Developer Projects flow.
When “distribution”: “private” is set, OAuth installs are limited to allowlisted portals, so any non-listed account will throw the “validating authorization” error you saw. Changing it to “marketplace” simply enables OAuth installs beyond that list, without forcing a public listing. It’s the right move for internal or partner use cases that need OAuth but aren’t meant for marketplace exposure (Working with OAuth | OAuth Quickstart Guide - HubSpot docs )
Also make sure your scopes include conversations.read or conversations.write depending on which endpoints you’re calling; the Conversations API is separate from the CRM scopes. After updating scopes, run hs project upload and regenerate your install URL to refresh tokens. If this project later needs to sync conversation data back to CRMs or data warehouses, Stacksync can handle the two-way mapping automatically so you don’t juggle tokens or endpoints yourself.