---
title: "Crm Enrich Contacts"
method: POST
path: "/api/crm/contacts/enrich"
tags: ["growth-artifact-jobs"]
---

# Crm Enrich Contacts

`POST /api/crm/contacts/enrich`

## Request

- Base URL: `https://platform.verbiflow.com/api/bridge`
- URL: `https://platform.verbiflow.com/api/bridge/api/crm/contacts/enrich`
- Auth: one of:
  - HTTP bearer and API key in header `x-flage-org-id`
  - HTTP bearer and API key in header `x-flage-org-slug`

Match rows to HubSpot contacts and return selected property values.

Same execution engine as sequence audience CRM enrichment
(`beshared.crm.enrichment`); this surface returns rows inline instead of
writing platform audience state. Row keys are the CRM property names with
Owner projections are exposed as `<property>_id`, `<property>_name`, or
`<property>_status`.

## Request body

- CrmEnrichContactsRequest
  - `company_properties` CrmEnrichPropertyRequest[]
    - `name` string, required
    - `render` 'raw' | 'owner_id' | 'owner_name' | 'owner_status'
  - `contact_properties` CrmEnrichPropertyRequest[]
    - `name` string, required
    - `render` 'raw' | 'owner_id' | 'owner_name' | 'owner_status'
  - `match_property` string
  - `match_values` string[], required
  - `provider` 'hubspot'

## Response `200`

Successful Response

- CrmEnrichContactsResponse
  - `company_matched_count` integer, required
  - `match_property` string, required
  - `matched_count` integer, required
  - `provider` 'hubspot', required
  - `rows` CrmEnrichContactsRowResponse[], required
    - `company` object
    - `contact` object
    - `crm_company_id` string, nullable
    - `crm_contact_id` string, nullable
    - `match_value` string, required
    - `matched` boolean, required

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/verbiflow/apis/verbiflow-sdk-http-contract.md) - [All operations](https://skmtc.dev/verbiflow/apis/verbiflow-sdk-http-contract/llms.txt) - [OpenAPI document](https://skmtc.dev/verbiflow/apis/verbiflow-sdk-http-contract/revisions/c80e903ef8f3?raw)
