Contact Imports

Import contacts from CSV using the Universal Contact Index (UCI) engine. The pipeline parses contact rows, builds an identity graph using Disjoint Set Union, detects duplicates via signal vector similarity (Levenshtein ratio with weighted signals), and presents a merge preview before commit.

Contacts flow through four states: upload → resolve (if conflicts) → confirm → completed. The total row conservation law ensures no rows are lost or created during processing: |H| + |V| + |I| + |E| = m.

The import endpoint maps to the contacts scope for API key authorisation. The created_by sentinel uses ?? 0 for API key auth where request.user.id is null.

→ The Contact Imports object

Endpoints