POST
/contacts/merge/previewPreview a contact merge
Previews a contact merge without changing any contact data. Supply the source and destination IDs in from and into, and optionally set custom_attribute_names to include selected custom attributes in the preview. The result reports whether the merge is allowed and provides either a summary of changes or reasons it is not allowed.
- IdempotentThe SDK sends
Idempotency-Key, so a retried request is only applied once.
Intercom-Versionstringoptional
The Intercom API version to use. Defaults to 2.17 when omitted.
Contact IDs and optional settings for previewing a merge; the from and into fields are required.
fromstringrequired
The unique identifier for the contact to merge away from (the source contact).
intostringrequired
The unique identifier for the contact to merge into (the destination contact). Must have a `role` of `user`.
skip_duplicate_validationbooleanoptional
When `true`, previews the merge even if the contacts don't share a common identifier. Must be a JSON boolean; the string `"true"` does not bypass the check. Defaults to false.
custom_attribute_namesarray<string>optional
Custom attribute names to include in the previewed attribute changes.
200Returns whether the merge is allowed. If allowed, the response includes a summary of attribute changes and related-object counts; otherwise, it includes reasons with stable codes and messages.
allowedbooleanoptional
Always true. The merge is allowed.
summaryobjectoptional
A summary of the changes the merge would make to the surviving contact.
401Returned when the request is unauthorized.
One documented failure
unauthorizedAccess Token Invalid
typestringrequired
The type is error.list
request_idstringoptional
errorsarray<object>required
An array of one or more error objects
Error handling
A 401 is returned when the request is unauthorized. The from and into fields are required; into must identify a user, and the contacts must share an email or phone unless skip_duplicate_validation is true. Pass skip_duplicate_validation as a JSON boolean, not the string "true".