Skip to content

Merge

Merge operations combine two records into one.

Merge two accounts
client.merge.mergeAccounts(MergeMergeAccountsParams { duplicateId, primaryId, fieldResolutions, options } body, RequestOptionsoptions?): MergeMergeAccountsResponse { merge, primary, summary }
POST/v1/accounts/merge
Merge two contacts
client.merge.mergeContacts(MergeMergeContactsParams { duplicateId, primaryId, fieldResolutions, options } body, RequestOptionsoptions?): MergeMergeContactsResponse { merge, primary, summary }
POST/v1/contacts/merge
Merge two opportunities
client.merge.mergeOpportunities(MergeMergeOpportunitiesParams { duplicateId, primaryId, fieldResolutions, options } body, RequestOptionsoptions?): MergeMergeOpportunitiesResponse { merge, primary, summary }
POST/v1/opportunities/merge
Merge two custom object records
client.merge.mergeObjectValues(stringentitySlug, MergeMergeObjectValuesParams { duplicateId, primaryId, fieldResolutions, options } body, RequestOptionsoptions?): MergeMergeObjectValuesResponse { merge, primary, summary }
POST/v1/objects/{entitySlug}/merge
Get merge status
client.merge.getMerge(stringid, RequestOptionsoptions?): MergeGetMergeResponse { id, createdAt, duplicateId, 4 more }
GET/v1/merges/{id}
ModelsExpand Collapse
MergeGetMergeResponse { id, createdAt, duplicateId, 4 more }
id: string

Unique identifier for the merge operation.

createdAt: string

ISO 8601 timestamp of when the merge was created.

duplicateId: string

ID of the record that was merged into the primary and soft-deleted.

entityType: string

The object type of the merged records (e.g. account, contact, opportunity, or a custom object slug).

primaryId: string

ID of the record that was kept (the primary).

status: string

Current status of the merge: cleanup_pending, done, or failed.

updatedAt: string

ISO 8601 timestamp of when the merge was last updated.

MergeMergeAccountsResponse { merge, primary, summary }
merge: Merge { id, status }
id: string

Unique identifier for the merge operation.

status: string

Current status of the merge: cleanup_pending, done, or failed.

primary: Primary { id, createdAt, fields, 4 more }
id: string

Unique identifier for the entity.

createdAt: string

ISO 8601 timestamp of when the entity was created.

fields: Record<string, Fields>

Map of field names to their typed values. System fields are prefixed with $ (e.g. $name, $email); custom attributes use their bare slug.

value: string | number | boolean | 3 more | null

The field value, or null if unset.

One of the following:
string
number
boolean
Array<string>
Address { city, country, latitude, 5 more }
city?: string | null

City name.

country?: string | null

2-letter ISO 3166-1 alpha-2 country code.

latitude?: number | null

Latitude coordinate.

longitude?: number | null

Longitude coordinate.

postalCode?: string | null

Postal or ZIP code.

state?: string | null

State or province.

street?: string | null

Street address line 1.

street2?: string | null

Street address line 2.

FullName { firstName, lastName }
firstName?: string | null

The contact’s first name.

lastName?: string | null

The contact’s last name.

valueType: "ADDRESS" | "CHECKBOX" | "CURRENCY" | 12 more

The data type of the field.

One of the following:
"ADDRESS"
"CHECKBOX"
"CURRENCY"
"DATETIME"
"EMAIL"
"FULL_NAME"
"MARKDOWN"
"MULTI_SELECT"
"NUMBER"
"SINGLE_SELECT"
"SOCIAL_HANDLE"
"TELEPHONE"
"TEXT"
"URL"
"HTML"
relationships: Record<string, Relationships>

Map of relationship names to their associated entities. System relationships are prefixed with $ (e.g. $owner, $contact).

cardinality: string

Whether the relationship is has_one or has_many.

objectType: string

The type of the related object (e.g. account, contact).

values: Array<string>

IDs of the related entities.

updatedAt: string | null

ISO 8601 timestamp of when the entity was last updated, or null.

externalId?: string | null

External identifier for the entity, or null if unset.

summary: Summary { fieldWriteCount, syncRepointedCount, warnings }
fieldWriteCount: number

Number of attribute fields written onto the primary record.

minimum-9007199254740991
maximum9007199254740991
syncRepointedCount: number

Number of related records re-pointed from the duplicate to the primary.

minimum-9007199254740991
maximum9007199254740991
warnings: Array<string>

Non-fatal warnings from the merge (e.g. skipped transfers).

MergeMergeContactsResponse { merge, primary, summary }
merge: Merge { id, status }
id: string

Unique identifier for the merge operation.

status: string

Current status of the merge: cleanup_pending, done, or failed.

primary: Primary { id, createdAt, fields, 4 more }
id: string

Unique identifier for the entity.

createdAt: string

ISO 8601 timestamp of when the entity was created.

fields: Record<string, Fields>

Map of field names to their typed values. System fields are prefixed with $ (e.g. $name, $email); custom attributes use their bare slug.

value: string | number | boolean | 3 more | null

The field value, or null if unset.

One of the following:
string
number
boolean
Array<string>
Address { city, country, latitude, 5 more }
city?: string | null

City name.

country?: string | null

2-letter ISO 3166-1 alpha-2 country code.

latitude?: number | null

Latitude coordinate.

longitude?: number | null

Longitude coordinate.

postalCode?: string | null

Postal or ZIP code.

state?: string | null

State or province.

street?: string | null

Street address line 1.

street2?: string | null

Street address line 2.

FullName { firstName, lastName }
firstName?: string | null

The contact’s first name.

lastName?: string | null

The contact’s last name.

valueType: "ADDRESS" | "CHECKBOX" | "CURRENCY" | 12 more

The data type of the field.

One of the following:
"ADDRESS"
"CHECKBOX"
"CURRENCY"
"DATETIME"
"EMAIL"
"FULL_NAME"
"MARKDOWN"
"MULTI_SELECT"
"NUMBER"
"SINGLE_SELECT"
"SOCIAL_HANDLE"
"TELEPHONE"
"TEXT"
"URL"
"HTML"
relationships: Record<string, Relationships>

Map of relationship names to their associated entities. System relationships are prefixed with $ (e.g. $owner, $contact).

cardinality: string

Whether the relationship is has_one or has_many.

objectType: string

The type of the related object (e.g. account, contact).

values: Array<string>

IDs of the related entities.

updatedAt: string | null

ISO 8601 timestamp of when the entity was last updated, or null.

externalId?: string | null

External identifier for the entity, or null if unset.

summary: Summary { fieldWriteCount, syncRepointedCount, warnings }
fieldWriteCount: number

Number of attribute fields written onto the primary record.

minimum-9007199254740991
maximum9007199254740991
syncRepointedCount: number

Number of related records re-pointed from the duplicate to the primary.

minimum-9007199254740991
maximum9007199254740991
warnings: Array<string>

Non-fatal warnings from the merge (e.g. skipped transfers).

MergeMergeObjectValuesResponse { merge, primary, summary }
merge: Merge { id, status }
id: string

Unique identifier for the merge operation.

status: string

Current status of the merge: cleanup_pending, done, or failed.

primary: Primary { id, createdAt, fields, 4 more }
id: string

Unique identifier for the entity.

createdAt: string

ISO 8601 timestamp of when the entity was created.

fields: Record<string, Fields>

Map of field names to their typed values. System fields are prefixed with $ (e.g. $name, $email); custom attributes use their bare slug.

value: string | number | boolean | 3 more | null

The field value, or null if unset.

One of the following:
string
number
boolean
Array<string>
Address { city, country, latitude, 5 more }
city?: string | null

City name.

country?: string | null

2-letter ISO 3166-1 alpha-2 country code.

latitude?: number | null

Latitude coordinate.

longitude?: number | null

Longitude coordinate.

postalCode?: string | null

Postal or ZIP code.

state?: string | null

State or province.

street?: string | null

Street address line 1.

street2?: string | null

Street address line 2.

FullName { firstName, lastName }
firstName?: string | null

The contact’s first name.

lastName?: string | null

The contact’s last name.

valueType: "ADDRESS" | "CHECKBOX" | "CURRENCY" | 12 more

The data type of the field.

One of the following:
"ADDRESS"
"CHECKBOX"
"CURRENCY"
"DATETIME"
"EMAIL"
"FULL_NAME"
"MARKDOWN"
"MULTI_SELECT"
"NUMBER"
"SINGLE_SELECT"
"SOCIAL_HANDLE"
"TELEPHONE"
"TEXT"
"URL"
"HTML"
relationships: Record<string, Relationships>

Map of relationship names to their associated entities. System relationships are prefixed with $ (e.g. $owner, $contact).

cardinality: string

Whether the relationship is has_one or has_many.

objectType: string

The type of the related object (e.g. account, contact).

values: Array<string>

IDs of the related entities.

updatedAt: string | null

ISO 8601 timestamp of when the entity was last updated, or null.

externalId?: string | null

External identifier for the entity, or null if unset.

summary: Summary { fieldWriteCount, syncRepointedCount, warnings }
fieldWriteCount: number

Number of attribute fields written onto the primary record.

minimum-9007199254740991
maximum9007199254740991
syncRepointedCount: number

Number of related records re-pointed from the duplicate to the primary.

minimum-9007199254740991
maximum9007199254740991
warnings: Array<string>

Non-fatal warnings from the merge (e.g. skipped transfers).

MergeMergeOpportunitiesResponse { merge, primary, summary }
merge: Merge { id, status }
id: string

Unique identifier for the merge operation.

status: string

Current status of the merge: cleanup_pending, done, or failed.

primary: Primary { id, createdAt, fields, 4 more }
id: string

Unique identifier for the entity.

createdAt: string

ISO 8601 timestamp of when the entity was created.

fields: Record<string, Fields>

Map of field names to their typed values. System fields are prefixed with $ (e.g. $name, $email); custom attributes use their bare slug.

value: string | number | boolean | 3 more | null

The field value, or null if unset.

One of the following:
string
number
boolean
Array<string>
Address { city, country, latitude, 5 more }
city?: string | null

City name.

country?: string | null

2-letter ISO 3166-1 alpha-2 country code.

latitude?: number | null

Latitude coordinate.

longitude?: number | null

Longitude coordinate.

postalCode?: string | null

Postal or ZIP code.

state?: string | null

State or province.

street?: string | null

Street address line 1.

street2?: string | null

Street address line 2.

FullName { firstName, lastName }
firstName?: string | null

The contact’s first name.

lastName?: string | null

The contact’s last name.

valueType: "ADDRESS" | "CHECKBOX" | "CURRENCY" | 12 more

The data type of the field.

One of the following:
"ADDRESS"
"CHECKBOX"
"CURRENCY"
"DATETIME"
"EMAIL"
"FULL_NAME"
"MARKDOWN"
"MULTI_SELECT"
"NUMBER"
"SINGLE_SELECT"
"SOCIAL_HANDLE"
"TELEPHONE"
"TEXT"
"URL"
"HTML"
relationships: Record<string, Relationships>

Map of relationship names to their associated entities. System relationships are prefixed with $ (e.g. $owner, $contact).

cardinality: string

Whether the relationship is has_one or has_many.

objectType: string

The type of the related object (e.g. account, contact).

values: Array<string>

IDs of the related entities.

updatedAt: string | null

ISO 8601 timestamp of when the entity was last updated, or null.

externalId?: string | null

External identifier for the entity, or null if unset.

summary: Summary { fieldWriteCount, syncRepointedCount, warnings }
fieldWriteCount: number

Number of attribute fields written onto the primary record.

minimum-9007199254740991
maximum9007199254740991
syncRepointedCount: number

Number of related records re-pointed from the duplicate to the primary.

minimum-9007199254740991
maximum9007199254740991
warnings: Array<string>

Non-fatal warnings from the merge (e.g. skipped transfers).