Skip to main content
POST
Count which selected topic prompts a bulk action applies to
Every bulk action works on the prompts of one topic cluster (topicId, required) and takes a selection:
  • selection is either { mode: "ids", ids: [promptId, ...] } or { mode: "all", filters: { search?, category? }, excludedIds: [...] }. category is All or Mentioned; pass startDate and endDate to set the metrics window those filters read.
  • Call POST /v3/topic-clusters/topic-prompts/bulk-preview with the selection, topicId and an action first. It changes nothing and returns eligibility: { selected, eligible, skipped, byReason }. For move, also pass targetTopicId.
A move is skipped for every row, and nothing moves, while any selected prompt is already in the target or no longer in the source. Each call processes one batch and returns { success, succeeded, failed, nextCursor, eligibility, results }. While nextCursor is not null, call again with the same body and afterId set to nextCursor. results has one entry per prompt with id, prompt, success and error when it failed. For a single prompt, use Topic Prompts to add or DELETE /v3/topic-clusters/{topicId}/prompts/{promptId} to remove.

Authorizations

Authorization
string
header
required

Your SnowSEO API key (sk_...).

Body

application/json
selection
object
required
action
enum<string>
required

The bulk action to count eligible rows for.

Available options:
track,
untrack,
remove,
move
teamId
string
topicId
string

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).

targetTopicId
string<uuid>

Topic cluster to move the rows into.

Response

Default Response

eligibility
object