# Updates a contact with data merged from other contacts then signals other microservices to complete the merge Updates a contact with data merged from other contacts then signals other microservices to complete the merge Endpoint: PUT /contacts/{tenantId}/{id}/merge Version: v1-2025-04-18 Security: knox-authorizer ## Path parameters: - `tenantId` (string, required) The id of the tenant being accessed. - `id` (string, required) The ID of the contact to merge. ## Request fields (application/json): - `options` (object) - `options.fields` (array) Change the way certain merge field behave - `options.fields.field_name` (string, required) The field name - `options.fields.use_source_id` (string) - `source_ids` (array, required) The source IDs to merge ## Response 200 fields (application/json): - `communication_preferences` (array) The communication types to which this person is subscribed - `communication_preferences.communication_type_id` (string, required) - `communication_preferences.enabled` (boolean, required) - `communication_preferences.subscription_email_address` (string) The email address associated with this subscription, if different from the primary email address for this contact - `communication_preferences.subscription_last_updated` (string) The date that this subscription was last changed - `communication_preferences.subscription_status` (string) The subscription status requested by this contact Enum: "digest", "subscribed", "unsubscribed" - `communication_preferences_last_confirmed` (string) The date that the communication preferences were last confirmed for this contact - `contact_role_ids` (array) The ids of the contact roles this contact plays in the linked organization. - `contact_roles` (string) READ ONLY - the name of contact roles - `credentials` (string) Professional credentials/designation (MBA, Esq, PhD, etc) - `custom_field_values` (array) - `custom_field_values.boolean_value` (boolean) The boolean value - `custom_field_values.custom_field_id` (string) The unique identifier of the custom field - `custom_field_values.file_url_value` (string) The pointer to a file value - `custom_field_values.list_value` (array) The list value - `custom_field_values.numeric_value` (number) The numeric value - `custom_field_values.string_value` (string) The string value of the custom field - `custom_field_values.table_value` (array) A list of objects (a table) - `date_of_birth` (string) The date of birth of the contact, expressed in ISO-8601 date format - `date_of_death` (string) The date this contact passed away - `date_profile_last_updated` (string) The date that this contact profile was last updated - `date_social_profile_last_updated` (string) The date that the social profile was last updated - `do_not_call` (boolean) If so, the person is not to be called - `do_not_mail` (boolean) If set, no mail goes to the contact - `email_address` (string) The primary email address - `email_address2` (string) Secondary email address - `email_address3` (string) Tertiary email address - `email_opt_out` (boolean) This contact has opted out of ALL email communications - `facebook` (string) Url to the contact's Facebook account - `fax_phone_number` (string) Fax phone number - `first_name` (string) The first name - `full_name` (string) Full name - `gender` (string) The gender of the contact Enum: "female", "male" - `home_address` (object) A complete address - `home_address.city` (string) The city of the address - `home_address.country` (string) The country ISO code - `home_address.country_name` (string) The full name of hte country - `home_address.county` (string) The county - `home_address.latitude` (number) - `home_address.line1` (string) The first line of the address - `home_address.line2` (string) The second line of the address - `home_address.line3` (string) The third line of the address - `home_address.longitude` (number) - `home_address.postal_code` (string) The zip/postal code - `home_address.state` (string) The state/province of the address - `home_address.time_zone_id` (string) - `home_phone_number` (string) Home phone number - `id` (string, required) The unique, string identifier of this contact - `image_url` (string) A url of the image/photo of this contact - `instagram` (string) Url to the contact's Instagram account - `job_title` (string) The contact's professional title - `last_name` (string) The last name - `link_work_address_to_organization` (boolean) When set, a change in the organization's address changes the contact work address - `link_work_phone_number_to_organization` (boolean) When set, a change in the organization's phone changes the contact work phone - `linked_in` (string) Url to the contact's LinkedIn account - `maiden_name` (string) The maiden name - `merged_ids` (array) A list contact IDs that have been merged into this contact - `middle_name` (string) The middle name/initial - `mobile_phone_number` (string) Mobile phone number - `name` (string) The full name of the contact - `name_last_first` (string) The full name of the contact, last first - `national_district` (string) The name of the United States congressional district - `national_district_ocdId` (string) The Open Civic Data division identifier of the United States congressional district - `new_organization_info` (object) - `nickname` (string) The nickname of the contact - `notes` (string) Any contact notes - `number` (number) The contact number - `organization_history` (array) A list of previous organization affiliations - `organization_history.end_date` (string) The end date of the contacts time at the organization - `organization_history.job_title` (string) The title that was held at the organization - `organization_history.notes` (string) Any relevant notes - `organization_history.organization_id` (string, required) The ID of the organization - `organization_history.start_date` (string) The start date of the contacts time at the organization - `organization_id` (string) The ID of the organization that the contact belongs to - `organization_name` (string) The name of the organization; if an organization ID is present, this information is automatically populated - `origin_service` (string) If this contact was created by another service, the service is here - `origin_service_record_id` (string) If this contact was created by another service, the relevant iD - `other_addresses` (array) - `other_addresses.address` (object, required) A complete address - `other_addresses.type_id` (string, required) The address type - `other_phone_numbers` (array) - `other_phone_numbers.phone_number` (string, required) The phone number - `other_phone_numbers.type_id` (string, required) The phone number type - `override_automatic_region_assignment` (boolean) If true, the region assignment for this record is overridden and should not be automatically assigned - `portal_delegates` (array) Allows for this contact to be managed by other contacts in the portal - `portal_delegates.contact_id` (string, required) The contact - `portal_delegates.expiration_date` (string) The date until which this delegation is active - `portal_delegates.status` (string) Enum: "approved" - `preferred_address` (object) A complete address - `preferred_address_type` (string) The address at which the contact prefers to be contacted Enum: "alternate", "home", "school", "work" - `preferred_address_type_id` (string, required) When a alternate phone number type is preferred, the ID - `preferred_phone_number` (string) The preferred phone number, calculated based on the preferred phone number type - `preferred_phone_number_type` (string) The phone number at which the contact prefers to be reach Enum: "alternate", "fax", "home", "mobile", "school", "work", "work mobile" - `preferred_phone_number_type_id` (string, required) When a alternate phone number type is preferred, the ID - `prefix` (string) The contact prefix - `pronouns` (string) - `region_id` (string) The region - `salutation` (string) The contact salutation - `school_address` (object) A complete address - `school_phone_number` (string) Fax phone number - `seasonal_address` (object) A complete address - `seasonal_address_end` (string) The end date for the seasonal address - `seasonal_address_start` (string) The start date for the seasonal address - `spouse_id` (string) The ID of this person's spouse - `state_lower_district` (string) The name of the US state lower (House) district - `state_lower_district_ocdId` (string) The Open Civic Data division identifier of the US state lower (House) district - `state_upper_district` (string) The name of the US state upper (Senate) district - `state_upper_district_ocdId` (string) The Open Civic Data division identifier of the US state upper (Senate) district - `status` (string) The status of the contact record Enum: "active", "deceased", "duplicate", "inactive" - `suffix` (string) The contact suffix (Jr., Sr., etc0 - `sys_bulk_load_at` (string) If this record was loaded via bulk, the timestamp when the record was processed - `sys_bulk_load_id` (string) If this record was loaded via bulk, the ID of the bulk load process - `sys_bulk_load_pk` (string) If this record was loaded via bulk, the tenant and key of the bulk load process used as a partition key - `sys_bulk_load_record_no` (number) If this record was loaded via bulk, the record number in the source file - `sys_bulk_load_source_file` (string) If this record was loaded via bulk, the source file - `sys_calculated_field_error` (string) The error associated with the calculated field - `sys_calculated_field_errors` (array) - `sys_calculated_field_errors.error` (string) - `sys_calculated_field_errors.field` (string) - `sys_configuration_snapshot_id` (string) If a snapshot was restored/applies to this record, the ID of the snapshot - `sys_created_at` (string, required) The date/time that this record was created, expressed in ISO-8601 date format - `sys_created_by_id` (string, required) The ID of the user that created this record - `sys_deleted_by_id` (string) The ID of the user that deleted (or last tried to delete) this object - `sys_directive` (string) Means for passing directive information into an object processing logic - `sys_external_id` (string) The ID that a record has from an external system or data import - `sys_has_files_in_s3` (boolean) If true, this record has files in S3. If false, it doesnt, so no need to hit S3 upon deletion - `sys_last_bulk_data_operation_id` (string) If this record was last touched by a bulk data operation, the ID of that operation - `sys_last_bulk_data_operation_sys_version` (string) If this record was last touched by a bulk data operation, the sys_version at the time of that operation - `sys_last_modified_at` (string, required) The date/time that this record record was last modified, expressed in ISO-8601 date format - `sys_last_modified_by_id` (string, required) The ID of the user that last modified this record - `sys_last_security_context` (object) The security context of the last insert, modify, or delete performed on this item - `sys_locked` (boolean) If set, this record is locked and cannot be changed via the API - `sys_snapshot_base_version` (number) The version to use as a base when creating a configuration snapshot; if not set, 1 is used. Helpful when creating a sandbox - `sys_version` (number) A number representing the version of this record in the database - `twitter` (string) Url to the contact's Twitter account - `user_ids` (array) A list of related portal user IDs - `work_address` (object) A complete address - `work_mobile_phone_number` (string) Mobile phone number for business unit - `work_phone_number` (string) Work phone number ## Response 400 fields ## Response 401 fields ## Response 403 fields ## Response 404 fields ## Response 409 fields ## Response 429 fields ## Response 500 fields