---
title: "List Duplicate Candidates"
method: GET
path: "/api/v1/report-ai/customer-profiles/{customer_profile_id}/duplicate-candidates"
tags: ["report-ai", "customer-profiles"]
---

# List Duplicate Candidates

`GET /api/v1/report-ai/customer-profiles/{customer_profile_id}/duplicate-candidates`

## Request

- Base URL: `https://api.getanana.com` (the document declares no server; this is the origin it was published from)
- URL: `https://api.getanana.com/api/v1/report-ai/customer-profiles/{customer_profile_id}/duplicate-candidates`
- Auth: none declared

Profiles that may be the same person as this one (#2070).

A review aid, not an instruction: nothing merges without an operator
naming both profiles. See ``_find_duplicate_candidates`` for what the
detection keys on and, deliberately, what it does not.

## Path parameters

- `customer_profile_id` string, uuid, required

## Response `200`

Successful Response

- DuplicateCandidateRead[]
  - `customer_profile_id` string, uuid, required
  - `customer_name` string, nullable, required
  - `customer_email` string, nullable, required
  - `phone_number` string, nullable, required
  - `matched_on` string, required
  - `match_kind` string, required
  - `match_detail` string, nullable, required
  - `confidence_tier` string, required

## Other responses

- `404`: Customer profile not found
- `422`: Validation Error

## Changes

> 55 revisions in range; 1 not diffed.

- **2026-09-03** `d65b8fefae34`: 2 info
  - added the optional property `detail/items/ctx` to the response with the `422` status
  - added the optional property `detail/items/input` to the response with the `422` status

[Operation history](https://skmtc.dev/getanana/apis/cleon-api/changes/api/v1/report-ai/customer-profiles/:customer_profile_id/duplicate-candidates/get.md)

---

[API](https://skmtc.dev/getanana/apis/cleon-api.md) · [All operations](https://skmtc.dev/getanana/apis/cleon-api/llms.txt) · [OpenAPI document](https://skmtc.dev/getanana/apis/cleon-api/revisions/4d9d38769a75?raw)
