---
title: "Get All Person Merges"
method: GET
path: "/v2/person-merges"
tags: ["Person Merges"]
---

# Get All Person Merges

`GET /v2/person-merges`

Retrieve paginated person merges for the organization.


Returns all person merges initiated by users in your organization, including their current
status, the persons involved, and merge details. You can filter person merges using the `filter` query parameter. The filter parameter is a string that you can specify conditions based on the following properties:


| **Property Name** | **Type** | **Allowed Operators** | **Examples** |
|---|---|---|---|
| `status` | `enum` | `=` | `status=in-progress`, `status=success`, `status=failed` |
| `taskId` | `text` | `=` | `taskId=789e0123-e45b-67c8-d901-234567890123` |


Person merges are returned in reverse chronological order (most recent first).


Requires the "Manage duplicates" [permission](/pages/external-api-v2/permissions) and
organization admin role.

## Query parameters

- `cursor` string
- `limit` integer
- `filter` string

## Response `200`

OK

- PersonMergeStatePaged — Paginated person merge states
  - `data` PersonMergeState[], required — Array of person merge states
    - `id` integer, required — The unique identifier for the merge
    - `status` 'in-progress' | 'success' | 'failed', required — Current status of the merge
    - `taskId` string, uuid, required — Identifier for the task this merge belongs to
    - `startedAt` string, date-time, required — Timestamp when the merge started
    - `primaryPersonId` integer, required — ID of the primary person that other profiles were merged into
    - `duplicatePersonId` integer, required — ID of the duplicate person that was merged into the primary person
    - `completedAt` string, date-time, nullable, required — Timestamp when the merge completed (success or failure)
    - `errorMessage` string, nullable, required — Error message if the merge failed
  - `pagination` Pagination, required
    - `prevUrl` string, uri, nullable — URL for the previous page
    - `nextUrl` string, uri, nullable — URL for the next page

## Other responses

- `400` — Bad Request
- `403` — Forbidden
- `default` — Errors

---

[API](https://skmtc.net/affinity/apis/affinity-api-v2.md) · [All operations](https://skmtc.net/affinity/apis/affinity-api-v2/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/affinity/affinity-api-v2/versions/4c2891c31b7f/schema)
