Groups

Merge groups

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 sou

POST /v2/groups/{groupId}/merge

Parameters

Path parameters

groupId
string (uuid) required

Header parameters

Idempotency-Key
string required
Required. UUID per logical operation, reused on every retry. See apps/rest-api/src/shared/idempotency.ts for the full contract. Missing → 400 BadRequest; same key + different body → 409 Conflict.

Request body

Content-Type: application/json

sourceGroupIds
array<string (uuid)> required
finalName
string required
finalEmoji
string required

Example

{
  "sourceGroupIds": [
    "00000000-0000-0000-0000-000000000000"
  ],
  "finalName": "string",
  "finalEmoji": "string"
}

Responses

200 — Successful response

Content-Type: application/json

data
object required
data.group
any required
data.mergedGroupIds
array<string (uuid)> required
data.reparentedGroupIds
array<string (uuid)> required
data.contactIds
array<string (uuid)> required
data.movedViewIds
array<string (uuid)> required
data.deletedFavoriteIds
array<string (uuid)> required
data.deletedShareLinkIds
array<string (uuid)> required

Example

{
  "data": {
    "group": null,
    "mergedGroupIds": [
      "00000000-0000-0000-0000-000000000000"
    ],
    "reparentedGroupIds": [
      "00000000-0000-0000-0000-000000000000"
    ],
    "contactIds": [
      "00000000-0000-0000-0000-000000000000"
    ],
    "movedViewIds": [
      "00000000-0000-0000-0000-000000000000"
    ],
    "deletedFavoriteIds": [
      "00000000-0000-0000-0000-000000000000"
    ],
    "deletedShareLinkIds": [
      "00000000-0000-0000-0000-000000000000"
    ]
  }
}

400

No response body.

401

No response body.

403

No response body.

404

No response body.

409

No response body.

429

No response body.

500

No response body.

Code samples

curl https://api.prod.getdex.com/v2/groups/00000000-0000-0000-0000-000000000000/merge \
  --request POST \
  --header 'Authorization: Bearer YOUR_API_KEY' \
  --header 'Content-Type: application/json' \
  --data '{
  "sourceGroupIds": [
    "00000000-0000-0000-0000-000000000000"
  ],
  "finalName": "string",
  "finalEmoji": "string"
}'
Copyright © 2026