---
title: "Remove many prompts from a topic cluster"
method: POST
path: "/v3/topic-clusters/topic-prompts/bulk-remove"
tags: ["Topic Clusters"]
---

# Remove many prompts from a topic cluster

`POST /v3/topic-clusters/topic-prompts/bulk-remove`

## Request

- Base URL: `https://api.snowseo.com`
- URL: `https://api.snowseo.com/v3/topic-clusters/topic-prompts/bulk-remove`
- Auth: one of:
  - HTTP bearer
  - API key in header `x-api-key`
- TypeScript: <https://skmtc.dev/snowseo/apis/snowseo-api/docs/v3/topic-clusters/topic-prompts/bulk-remove/post.ts> (a function with typed inputs; its response is checked against the schema)

Unlinks every selected prompt, and its regional variants, from the topic cluster. The prompts stay in the team's lists and keep their tracking. Confirm the selection with topic_prompts_bulk_preview first. Processes up to 50 rows per call: repeat with afterId set to the returned nextCursor until it is null.

## Request body

- object
  - `teamId` string
  - `selection` union, required
    - object
      - `mode` 'ids', required
      - `ids` string[], required
    - object
      - `mode` 'all', required
      - `filters` object, required
        - `search` string
        - `category` 'All' | 'Ranked' | 'Mentioned'
      - `excludedIds` string[], required
  - `afterId` string: The nextCursor from the previous call; omit on the first call.
  - `topicId` string, required: Topic cluster the rows belong to.
  - `startDate` string: Start of the metrics window the selection filters read (YYYY-MM-DD).
  - `endDate` string: End of the metrics window the selection filters read (YYYY-MM-DD).

## Response `200`

Default Response

- object
  - `success` boolean
  - `succeeded` number
  - `failed` number
  - `nextCursor` string, nullable
  - `eligibility` object
    - `selected` number, required
    - `eligible` number, required
    - `skipped` number, required
    - `byReason` object, required
  - `results` object[]
    - `id` string
    - `success` boolean
    - `error` string

## Other responses

- `500`: Default Response

## Changes

- **2026-11-03** `31b321592ad7`: 4 info
  - added the optional property `code` to the response with the `500` status
  - added the optional property `message` to the response with the `500` status
  - added the optional property `reference` to the response with the `500` status
  - added the optional property `success` to the response with the `500` status
- **2026-11-01** `6d1dc4928d97`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/snowseo/apis/snowseo-api/changes/v3/topic-clusters/topic-prompts/bulk-remove/post.md)

---

[API](https://skmtc.dev/snowseo/apis/snowseo-api.md) - [All operations](https://skmtc.dev/snowseo/apis/snowseo-api/llms.txt) - [OpenAPI document](https://skmtc.dev/snowseo/apis/snowseo-api/revisions/f64935aae2ec?raw)
