> ## Documentation Index
> Fetch the complete documentation index at: https://docs.orbit.devotel.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Duplicate detection and merge review

> Check whether duplicate contacts exist and how many, before fetching the full group list.

## Duplicate detection and merge review

Two endpoints handle duplicate detection: a cheap aggregate count for banner
surfaces and pre-merge checks, and the full group list you fetch when you open
the merge workflow.

<Note>
  `GET /api/v1/contacts/duplicates/count`
</Note>

Returns `extras` — the number of contacts that would be merged away — plus
`hasMore` indicating whether duplicates exist beyond the slice the count scanned.
Use it for banner headlines and pre-merge checks.

<ParamField query="strategy" type="string">
  `exact` (default) or `fuzzy`. `exact` is the right choice for banner counts;
  `fuzzy` mirrors the detection pass the merge endpoint uses.
</ParamField>

<ParamField query="limit" type="integer">
  Per-strategy group cap, default `100`, range `1`–`200`. Raise it when
  `hasMore` returns true and you need to scan deeper before reporting
  "0 duplicates."
</ParamField>

Use `GET /duplicates` to fetch the full group list (with per-group contact
records) when you actually render the merge review UI — fetching it just for a
banner paints the contacts page with data you don't read.
