Resolve identity conflicts
POST
https://app.speybooks.com/api/v1/contact-imports/{id}/resolveSubmit user decisions for identity merge conflicts. Each resolution specifies whether to link (merge), split (keep separate), or skip a node for a given conflict group.
Resolutions re-run the DSU with user decisions injected as synthetic hard keys. If conflicts remain after resolution, the import stays in processing status. Once all conflicts are resolved, status transitions to pending (ready for confirm).
Path parameters
id string requiredData import ID (e.g. dimp_1). Must be in processing status.
Body parameters
resolutions array<object> requiredOne or more resolution actions. link merges two node IDs, split keeps them separate, skip excludes a node.
Show child parameters
link array<string> optionalTwo node IDs to force-merge (e.g. ["row_0", "ledger_5"]).
skip string optionalNode ID to exclude from import (e.g. "row_3").
split array<string> optionalTwo node IDs to keep separate.
Response
200 Resolutions applied, DSU re-run. Returns updated stats and whether conflicts remain. If hasConflicts is false, status advances to pending (ready for confirm).
Show response fields
hasConflicts booleanimportId stringskipped integerstats objectShow child attributes
conflicts integercreates integermerges integerskips integerError codes
400 Empty or missing resolutions array.
404 Import not found or not a contacts import.
409 Import is not in processing status (conflicts not awaiting resolution).