Imports

Check Import Duplicates

Count how many rows of an uploaded file already exist, before importing. Writes nothing.

Contacts are matched by work email, companies by domain. The response carries the counts and, for a sample of matched rows, YOUR OWN file row (csv_data) with matched: true. It never returns the existing record: the app handler matches across the whole organisation with no record scope, so returning its existing details would let a key whose contact visibility is own/team look up the identity behind any email. Use the contact and company reads for the record itself, which are scope-gated.

Needs contacts:read (entity_type contact) or companies:read (company) as well as lists:read. The file must belong to the key's organisation (the load is org-scoped).

post/imports/{import_id}/check-duplicates

Request

  • Base URL: https://be.graph8.com/api/v1
  • URL: https://be.graph8.com/api/v1/imports/{import_id}/check-duplicates
  • Auth: HTTP bearer

Path parameters

import_idstring required

Id returned by the upload.

Headers

Authorizationstring nullable
X-Target-Org-Idstring nullable

Request body

column_mappingobject

Source column -> graph8 field, the same mapping you intend to import with.

entity_type'contact' | 'company'

contact matches on work email; company matches on domain.

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.