POST /api/integrations/hubspot/sync
Starts the HubSpot initial sync for an organization.
Request body
| Field | Type | Required | Description |
|---|---|---|---|
organization_uid | string | No | Organization to sync. Falls back to the current user’s default organization. |
deal_stages | string[] | No | Restricts the sync to deals whose dealstage matches one of the provided HubSpot stage IDs. If omitted, all deal stages are eligible. |
mode | string | No | Sync mode. Use full to create Exante objects, or catalog_only to populate ExternalObjectCatalog entries without creating Documents, Parties, or Contacts. Defaults to full. |
Example
Behavior
- Returns early with
skipped: trueandreason: sync_in_progresswhen any HubSpot object sync is already running. - In
fullmode, Exante syncs deals first, then the companies associated with those deals, then the contacts for those companies. - In
catalog_onlymode, Exante records discovered deals, companies, and contacts inExternalObjectCatalogonly.
GET /api/integrations/hubspot/sync/status
Returns the current HubSpot sync state for companies, contacts, and deals.
Query params
| Field | Type | Required | Description |
|---|---|---|---|
organization_uid | string | No | Organization to inspect. Falls back to the current user’s default organization. |
Response shape
GET /api/integrations/hubspot/sync/stages
Lists all HubSpot deal pipelines and stages available to the connected organization.
Query params
| Field | Type | Required | Description |
|---|---|---|---|
organization_uid | string | No | Organization to inspect. Falls back to the current user’s default organization. |
Response shape
id values from this endpoint when populating the deal_stages filter on the sync request.