Contacts

Merge Filtered Contacts

Add every contact matching a filter into target_list_id.

Despite the name this does NOT merge duplicate contacts together - it merges a SELECTION INTO A LIST. /duplicates is the surface that merges records.

A 409 means some contacts need a decision before they can be added; re-send with conflict_resolution. Blocked contacts are never added regardless.

post/contacts/merge-filtered

Request

  • Base URL: https://be.graph8.com/api/v1
  • URL: https://be.graph8.com/api/v1/contacts/merge-filtered
  • Auth: HTTP bearer

Query parameters

filterModelstring nullable

Optional per-column filter JSON, applied alongside filter.

sortModelstring nullable

Optional sort JSON.

Headers

Authorizationstring nullable
X-Target-Org-Idstring nullable

Request body

target_list_idinteger required

List the matching records are added to.

dynamic_column_mappingobject

Source-column to target-column mapping for custom columns.

conflict_resolution'add_all' | 'skip_all' | 'custom' nullable

Required when retrying after a 409. add_all takes every warned record, skip_all takes none of them, custom takes the ids in include_warned_ids. Blocked records are excluded either way.

include_warned_idsstring[] nullable

With conflict_resolution=custom, the warned ids to include.

Response

Successful Response

dataCrmRecordPayload required

An open envelope for one record, one dashboard or one job receipt.

Open because most of these reads are COMPUTED shapes - an engagement summary, a next-best-step, an intelligence status - that grow with the product, and dropping a field from an advisory read makes it say "nothing to report" rather than "we did not tell you".

Changes

No recorded changes to this operation across all 2 revisions of this API.