---
title: "Merge contacts"
method: POST
path: "/contacts/merge"
tags: ["Contacts"]
---

# Merge contacts

`POST /contacts/merge`

Merges the contacts specified into a single contact, deleting the merged-in contacts.
If a target contact ID is supplied, the other contacts will be merged into that one.
Otherwise, some contact in the contact ID list will be treated as the target contact.
Merge conflicts 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


Required scope: `contacts:write`

## Request body

- MergeContacts
  - `target_contact_id` string — Optional contact ID to merge the other contacts into.
  - `contact_ids` string[], required — Array of all the contact IDs of the contacts to be merged. If a target contact id is provided and that contact id is not in this array, the length of this array must be between 1 and 49. If no target contact id is provided or it is contained in this array, the length must be between 2 and 50.

## Response `200`

A contact

- ContactResponse
  - `_links` object
    - `self` string — Link to resource
    - `related` object
      - `notes` string — Link to contact notes
      - `conversations` string — Link to contact conversations
      - `owner` string — Link to contact owner
  - `id` string — Unique identifier of the contact
  - `name` string — Contact name
  - `description` string — Contact description
  - `avatar_url` string — URL of the contact's avatar
  - `links` string[] — List of all the links of the contact
  - `groups` ContactListResponses[] — List of the groups the contact belongs to. ⚠️ Deprecated. use `lists` instead.
    - `_links` object
      - `self` string — Link to resource
      - `related` object
        - `contacts` string — Link to contact list contacts
        - `owner` string — Link to list owner
    - `id` string — Unique identifier of the list
    - `name` string — Name of the list
    - `is_private` boolean — Whether or not the contact is individual
  - `lists` ContactListResponses[] — List of the contact lists the contact belongs to.
    - `_links` object
      - `self` string — Link to resource
      - `related` object
        - `contacts` string — Link to contact list contacts
        - `owner` string — Link to list owner
    - `id` string — Unique identifier of the list
    - `name` string — Name of the list
    - `is_private` boolean — Whether or not the contact is individual
  - `handles` ContactHandle[] — List of the handles and sources with which the contact is reachable.
    - `handle` string, required — Handle used to reach the contact.
    - `source` 'twitter' | 'email' | 'phone' | 'facebook' | 'intercom' | 'front_chat' | 'custom', required — Source of the handle. Can be `email`, `phone`, `twitter`, `facebook`, `intercom`, `front_chat`, or `custom`.
  - `custom_fields` CustomFieldParameter — An object whose key is the `name` property defined for the custom field in the Front UI. The value of the key must use the same `type` specified for the custom field, as described in https://dev.frontapp.com/reference/custom-fields
  - `is_private` boolean — Whether or not the contact is individual

---

[API](https://skmtc.net/frontapp/apis/core-api.md) · [All operations](https://skmtc.net/frontapp/apis/core-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/frontapp/core-api/revisions/76d1eaa2d0eb/schema)
