Duplicates

Start Bulk Merge

Merge a group: start a bulk merge run over up to 50 suggestion pairs. Proxies POST /v1/duplicates/bulk-merge (duplicates/interfaces/router.py:617) -- same blocker checks, same per-pair transactions, same MergeContactBlockedError/ MergeCompanyBlockedError handling. Returns immediately with a run_id; poll GET /duplicates/bulk-merge/{run_id} for progress. Merge is destructive: an already-applied pair is only reversible via POST /duplicates/undo-merge/{merge_history_id} within its 30-day window, so check the response and the recent-merges feed rather than assuming success.

Idempotency: this is a POST, so it already honours the standard Idempotency-Key header via the platform-wide IdempotencyMiddleware (developer_api/dependencies /idempotency_middleware.py) -- no per-route wiring needed. Retrying the same key returns the first run's response instead of starting a second run.

post/duplicates/bulk-merge

Request

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

Headers

Authorizationstring nullable
X-Target-Org-Idstring nullable

Request body

suggestion_idsstring[] required
criterion'most_recent_engagement' | 'oldest_engagement' | 'created_first' | 'created_last' | 'most_recently_updated' required

Response

Successful Response

dataobject required

Changes

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