---
title: "Merge groups (v2)"
method: POST
path: "/v2/groups/{groupId}/merge"
tags: ["groups"]
---

# Merge groups (v2)

`POST /v2/groups/{groupId}/merge`

Merge one or more source groups into the group identified by `groupId`. The destination keeps its ID, receives the final name, emoji, and de-duplicated union of contact memberships, while selected source groups are deleted. Direct subgroups are reparented under the destination and source-linked saved views are retargeted. **Requires `Idempotency-Key`.**

## Path parameters

- `groupId` string, uuid, required

## Headers

- `Idempotency-Key` string, required

## Request body

- object
  - `sourceGroupIds` string[], required
  - `finalName` string, required
  - `finalEmoji` string, required

## Response `200`

Successful response

- object
  - `data` object, required
    - `group` Schema0, required — unresolved $ref
    - `mergedGroupIds` string[], required
    - `reparentedGroupIds` string[], required
    - `contactIds` string[], required
    - `movedViewIds` string[], required
    - `deletedFavoriteIds` string[], required
    - `deletedShareLinkIds` 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 body failed validation.
- `429` — Rate limit exceeded.
- `500` — Unexpected server error.

---

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