---
search:
  tags:
    - Topics
    - POST
seo:
  description: >-
    Not supported yet: the call changes nothing and returns 501 NOT_IMPLEMENTED,
    or 404 with… Reference for the POST /topics/merge endpoint in the Modem API.
sidebar:
  label: Merge topics
  badge: POST
title: Merge topics
type: openapi-operation
---
Not supported yet: the call changes nothing and returns 501 NOT_IMPLEMENTED, or 404 with data.reason archived_in_v1_to_v2_migration when an ID names a topic archived in the v1 to v2 migration. Merging will return with a v2 topic merge. To retire a duplicate topic, archive it with POST /topics/&#123;topicId&#125;/archive.

`POST /topics/merge`

**Request body** (`application/json`, required)

- `sourceTopicIds` (string<uuid>[], required) — IDs of topics to merge into the target. Must not include the target topic ID.
- `targetTopicId` (string<uuid>, required) — ID of the topic to merge into. Must not be in the sourceTopicIds array.

Request body example:

```json
{
  "sourceTopicIds": [
    "497f6eca-6276-4993-bfeb-53cbbbba6f08"
  ],
  "targetTopicId": "a31cfb13-6940-44d1-a52b-ec684dd9b414"
}
```

**Responses**

- `200` — OK
- `400` — Invalid request (validation failed).
- `401` — Missing or invalid API key.
- `403` — The API key does not have access to this resource.
- `404` — The requested resource was not found.
- `409` — The request conflicts with an existing resource or idempotency operation.
- `429` — Rate limit exceeded.
- `500` — Internal server error.

Response example, 200:

```json
{
  "mergedCount": 0,
  "targetTopicId": "a31cfb13-6940-44d1-a52b-ec684dd9b414"
}
```
