We've released an update which allows for merging contacts through our API.
You can find documentation on the new endpoint here
When making the request, you can specify between two and fifty contacts to be merged together. If you provide a
target_contact_id (which may or may not be in your array of contact IDs), the others will be merged into that target. If no target is provided, one of the other contacts will be used. The resulting merged contact will come in the response.
Conflicting properties in merged contacts will be resolved in the following ways:
- name will prioritize manually-updated and non-private contact names
- descriptions will be concatenated and separated by newlines in order from oldest to newest with the (optional) target contact's description first
- all handles, groups, links, and notes will be preserved
- other conflicts will use the most recently updated contact's value
All contacts but the target (whether specified or automatically resolved) will be deleted after the merge succeeds. Please only merge contacts when this is not an issue.