# Get contact merge history

Retrieve the paginated list of contacts that have been merged into a given contact.

Only available for contacts with a user role. Returns a 404 if the contact is not found or has a lead role.

Endpoint: GET /contacts/{id}/merge_history
Version: Preview
Security: bearerAuth

## Header parameters:

  - `Intercom-Version` (string)
    Intercom API version.By default, it's equal to the version set in the app package.
    Enum: "1.0", "1.1", "1.2", "1.3", "1.4", "2.0", "2.1", "2.2", "2.3", "2.4", "2.5", "2.6", "2.7", "2.8", "2.9", "2.10", "2.11", "2.12", "2.13", "2.14", "2.15", "Preview"

## Path parameters:

  - `id` (string, required)
    The id of the contact to fetch merge history for.
    Example: "63a07ddf05a32042dffac965"

## Query parameters:

  - `cursor` (string)
    A cursor for pagination. Pass the next_cursor value from a previous response to fetch the next page.

  - `per_page` (integer)
    The number of results to return per page (default 50, max 150).

  - `order` (string)
    The order to return results in. Defaults to descending.
    Enum: "asc", "desc"

## Response 200 fields (application/json):

  - `type` (string)
    The type of object.
    Enum: "list"

  - `data` (array)
    An array of merge history entries.

  - `data.type` (string)
    The type of object.
    Example: "merge_history"

  - `data.source_contact_id` (string)
    The Intercom ID of the contact that was merged into this contact.
    Example: "5ba682d23d7cf92bef87bfd3"

  - `data.source_contact_role` (string)
    The role of the contact that was merged in.
    Enum: "lead", "user"

  - `data.merged_at` (integer,null)
    (Unix timestamp in seconds) The time when the merge occurred.
    Example: 1571672154

  - `next_cursor` (string,null)
    A cursor to pass as the cursor query parameter to fetch the next page of results. Absent when there are no more pages.
    Example: "WyIxNjM0NTY3ODkwIl0"

  - `has_more` (boolean)
    Whether there are more results to fetch.

## Response 401 fields (application/json):

  - `type` (string, required)
    The type is error.list
    Example: "error.list"

  - `request_id` (string,null)
    Example: "f93ecfa8-d08a-4325-8694-89aeb89c8f85"

  - `errors` (array, required)
    An array of one or more error objects

  - `errors.code` (string, required)
    A string indicating the kind of error, used to further qualify the HTTP response code
    Example: "unauthorized"

  - `errors.message` (string,null)
    Optional. Human readable description of the error.
    Example: "Access Token Invalid"

  - `errors.field` (string,null)
    Optional. Used to identify a particular field or query parameter that was in error.
    Example: "email"


