---
title: "Merge contacts"
method: POST
path: "/v1/contacts/merge"
tags: ["contacts"]
---

# Merge contacts

`POST /v1/contacts/merge`

Merge two or more duplicate contacts into a single contact record. The primary contact is kept and enriched with data from the secondary contacts, which are then deleted.

## Request body

- object
  - `contactIds` array[], required
    - string[]

## Response `200`

Successful response

- object
  - `error` boolean, required
  - `data` object, required
    - `mergedContactIds` string[], required

## Other responses

- `400` — Request body failed validation.
- `401` — Missing or invalid API key.
- `403` — Valid key, insufficient permission.
- `404` — Resource does not exist.
- `409` — Request conflicts with the current state of the resource.
- `429` — Rate limit exceeded.
- `500` — Unexpected server error.

## Changes

- **2026-08-27** `a2f71a243839` — 2 info
  - api operation id `mergeContactsV1` was added
  - added the non-success response with the status `409`

[Change history](https://skmtc.dev/getdex/apis/dex-public-api/changes/v1/contacts/merge/post.md)

---

[API](https://skmtc.dev/getdex/apis/dex-public-api.md) · [All operations](https://skmtc.dev/getdex/apis/dex-public-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/getdex/dex-public-api/revisions/205c21bccd0c/schema)
