> ## Documentation Index
> Fetch the complete documentation index at: https://snowseo.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Topic Prompts

> Add AI visibility prompts to a topic cluster.

Add AI prompts (questions people ask AI tools) to a topic cluster. SnowSEO will monitor how often your brand appears in AI-generated answers for these prompts.

<Note>
  Newly added prompts are analyzed automatically in the background. It may take a few minutes before AI visibility data appears for new prompts.
</Note>


## OpenAPI

````yaml POST /v3/topic-clusters/{topicId}/prompts
openapi: 3.0.0
info:
  title: SnowSEO API
  description: API documentation for SnowSEO
  version: 1.0.0
servers:
  - url: https://api.snowseo.com
    description: Production server
security: []
tags:
  - name: Keywords
    description: Keyword research and suggestion end-points
  - name: Onboarding
    description: Brand onboarding and strategy end-points
  - name: Brands
    description: Brand management end-points
  - name: Organizations
    description: Organization and member end-points
  - name: Integrations
    description: Google Search Console and other integrations
  - name: Utilities
    description: Common utility end-points like screenshots and uploads
externalDocs:
  url: https://snowseo.com/docs
  description: Find more info here
paths:
  /v3/topic-clusters/{topicId}/prompts:
    post:
      tags:
        - Topic Clusters
      summary: Add prompts to a topic cluster
      description: >-
        Links existing prompts or creates new ones and attaches them to a topic
        cluster.
      operationId: addTopicPrompts
      parameters:
        - schema:
            type: string
          in: path
          name: topicId
          required: true
          description: Topic cluster ID
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                teamId:
                  type: string
                prompts:
                  type: array
                  description: >-
                    Each item is either { promptId } to link an existing prompt
                    or { prompt, intent, region? } to create a new one. region
                    is the structured country-level object { type, city, state,
                    country, iso2, iso3 }; omit for worldwide.
                  items:
                    type: object
                    additionalProperties: true
                    properties:
                      promptId:
                        type: string
                      prompt:
                        type: string
                      intent:
                        type: string
                      region:
                        type: object
                        additionalProperties: true
                        properties:
                          type:
                            type: string
                          city:
                            type: string
                          state:
                            type: string
                          country:
                            type: string
                          iso2:
                            type: string
                          iso3:
                            type: string
                intents:
                  type: object
                  description: Map of prompt text → intent override
                  additionalProperties:
                    type: string
                track:
                  type: boolean
                  description: Whether to enable tracking on newly linked prompts
      responses:
        '200':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                required:
                  - success
                  - linked
                  - created
                  - promptIds
                properties:
                  success:
                    type: boolean
                  linked:
                    type: number
                  created:
                    type: number
                  skipped:
                    type: number
                  promptsSkipped:
                    type: number
                  alreadyLinked:
                    type: number
                  promptIds:
                    type: array
                    items:
                      type: string
        '400':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
        '404':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
        '409':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string

````