---
title: "Merge Duplicate Cluster"
method: POST
path: "/api/v1/report-ai/customer-profiles/duplicate-clusters/merge"
tags: ["report-ai", "customer-profiles"]
---

# Merge Duplicate Cluster

`POST /api/v1/report-ai/customer-profiles/duplicate-clusters/merge`

Fold a whole cluster into one survivor, one reversible fold per member.

The cluster is re-derived from live pairs before anything is written. A
cluster is computed rather than stored, so the set the operator was looking
at can have changed between the read and the click — a pair dismissed, a
profile merged some other way, a side reclassified as a shared inbox. Acting
on the stale set would merge people nobody agreed to merge, which is the
same reason auto-merge re-verifies rather than trusting a materialized row.

## Request body

- DuplicateClusterMergeRequest — Fold every listed profile into ``survivor_profile_id``. The profile ids are sent back rather than a cluster id because a cluster is computed, not stored: the server re-derives it and refuses if what the operator saw is no longer what the pairs say.
  - `profile_ids` string[], required
  - `survivor_profile_id` string, uuid, required
  - `confidence_tier` string, required

## Response `200`

Successful Response

- DuplicateClusterMergeResponse — One ledger row per fold — each individually undoable, as before.
  - `merge_ids` string[], required
  - `survivor_profile_id` string, uuid, required
  - `merged_profile_ids` string[], required

## Other responses

- `422` — Validation Error

## Changes

> 23 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

[Change history](https://skmtc.dev/getanana/apis/cleon-api/changes/api/v1/report-ai/customer-profiles/duplicate-clusters/merge/post.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/0b211d6e9f84?raw)
