---
title: "Posibles duplicados de un contacto (misma identidad, teléfono o email)"
method: GET
path: "/contacts/{id}/duplicates"
tags: ["Contacts"]
---

# Posibles duplicados de un contacto (misma identidad, teléfono o email)

`GET /contacts/{id}/duplicates`

## Request

- Base URL: `https://api.met.meteor.com.co/api/v1`
- URL: `https://api.met.meteor.com.co/api/v1/contacts/{id}/duplicates`
- Auth: one of:
  - `bearer` (a scheme the document does not define)
  - HTTP bearer

Solo lectura. El match de teléfono tolera formatos (con/sin código de país); el de email ignora mayúsculas; el de `identidad` compara el `user_ns` canónico junto con el canal y la línea, y es el que encuentra los gemelos exactos. Cada candidato trae `can_merge`: es `false` cuando los dos contactos tienen conversación propia Y son identidades distintas, porque fusionarlos perdería una. Dos filas de la MISMA identidad sí se pueden fusionar.

Sin parámetros llega `{ data }` con hasta 50 candidatos por criterio, como siempre. Con `paginate=true` llega `{ data, has_more, next_cursor }`, ordenado por id y sin ese tope: pasa `next_cursor` en `starting_after` hasta que `has_more` sea `false`.

## Path parameters

- `id` number, required

## Query parameters

- `paginate` boolean
- `starting_after` string
- `limit` number

## Response `200`

Sin `paginate` ni `starting_after`, la forma de siempre. Con ellos, `{ data, has_more, next_cursor }`.

- object: Sobre en el que viaja toda respuesta correcta de la API. El recurso está en `data`. Los SDKs oficiales lo desenvuelven por ti; un cliente hecho a mano tiene que leer `.data`.
  - `success` true, required: Siempre `true` en una respuesta 2xx.
  - `data` union, required
    - ContactDuplicatesResponseDto
      - `data` DuplicateCandidateDto[], required
        - `blocked_reason` string, nullable, required
        - `can_merge` boolean, required: `false` = fusionarlos rompería la identidad del inbound (ver `blocked_reason`).
        - `created_at` string, required
        - `email` string, nullable, required
        - `id` number, required
        - `matched_by` string[], required: Por qué se parecen. `identidad` es el match más fuerte: los dos son la misma conversación (mismo `user_ns`, canal y línea), o sea un gemelo exacto.
        - `name` string, nullable, required
        - `phone` string, nullable, required
    - ContactDuplicatesPageDto
      - `data` DuplicateCandidateDto[], required
        - `blocked_reason` string, nullable, required
        - `can_merge` boolean, required: `false` = fusionarlos rompería la identidad del inbound (ver `blocked_reason`).
        - `created_at` string, required
        - `email` string, nullable, required
        - `id` number, required
        - `matched_by` string[], required: Por qué se parecen. `identidad` es el match más fuerte: los dos son la misma conversación (mismo `user_ns`, canal y línea), o sea un gemelo exacto.
        - `name` string, nullable, required
        - `phone` string, nullable, required
      - `has_more` boolean, required: `true` si hay más filas después de esta página.
      - `next_cursor` string, nullable, required: Cursor opaco para `starting_after`. `null` cuando `has_more` es `false`.

## Other responses

- `400`: La request no es válida: un campo no pasa validación, falta un parámetro requerido o el recurso no admite la transición solicitada.
- `401`: API key ausente, inválida, revocada o expirada — o el workspace está bloqueado.
- `403`: La key está autenticada pero no puede ejecutar esta operación: scope faltante, capacidad deshabilitada, modo test restringido o recurso fuera de su cartera.
- `404`: El recurso no existe o no está disponible dentro del alcance de la key. No revela la existencia de recursos de otros tenants.
- `429`: Se superó el límite por minuto de la key o la cuota del plan. Respeta `Retry-After`; el SDK ya reintenta solo.
- `500`: Error del servidor o del Met que ejecutaba. El SDK reintenta los 5xx con backoff.

---

[API](https://skmtc.dev/meteor/apis/met-public-api.md) · [All operations](https://skmtc.dev/meteor/apis/met-public-api/llms.txt) · [OpenAPI document](https://skmtc.dev/meteor/apis/met-public-api/revisions/fc6d3aad75de?raw)
