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

# List a brand's prompts with their metrics



## OpenAPI

````yaml /api-reference/openapi.json get /api/v2/brands/{brand_id}/prompts
openapi: 3.0.1
info:
  title: Cognizo Public API
  version: v1
  description: >-
    Public REST API for Cognizo. Authenticate with an API key via the
    `X-API-KEY` header.
servers:
  - url: https://core.cognizo.ai
security:
  - apiKey: []
paths:
  /api/v2/brands/{brand_id}/prompts:
    parameters:
      - name: brand_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
    get:
      tags:
        - Prompts
      summary: List a brand's prompts with their metrics
      operationId: list_brand_prompts
      parameters:
        - name: brand_id
          in: path
          required: true
          schema:
            type: string
            format: uuid
        - name: page
          in: query
          required: false
          schema:
            type: integer
        - name: page_size
          in: query
          required: false
          schema:
            type: integer
        - name: sort
          in: query
          required: false
          description: >-
            Comma-separated sort keys; prefix with - for descending. Valid keys:
            prompt, topic, region, visibility, sentiment, volume, competitors
            (by tracked-competitor count), last_run, citation_share. Unknown
            keys are ignored and the list falls back to visibility desc. (Note:
            the competitor sort key is `competitors`, NOT `top_competitors` —
            that is a response field, not a sort key.)
          schema:
            type: string
        - name: filter[query]
          in: query
          required: false
          description: Prompt text ILIKE search
          schema:
            type: string
        - name: filter[topic_ids]
          in: query
          schema:
            type: array
            items:
              type: string
          required: false
          style: form
          explode: true
        - name: filter[provider_ids]
          in: query
          schema:
            type: array
            items:
              type: string
          required: false
          style: form
          explode: true
        - name: filter[region_ids]
          in: query
          schema:
            type: array
            items:
              type: string
          required: false
          style: form
          explode: true
        - name: filter[prompt_ids]
          in: query
          schema:
            type: array
            items:
              type: string
              format: uuid
          required: false
          style: form
          explode: true
          description: Restrict the result set to these prompt_ids.
        - name: filter[brand_ids]
          in: query
          schema:
            type: array
            items:
              type: string
          required: false
          style: form
          explode: true
          description: >-
            Found-brand restriction (legacy filter[brands]). Narrows visibility
            rows to these found_brand_ids.
        - name: filter[is_deleted]
          in: query
          required: false
          schema:
            type: boolean
        - name: filter[target_brand]
          in: query
          required: false
          schema:
            type: string
        - name: filter[citation_domain]
          in: query
          required: false
          schema:
            type: string
        - name: filter[citation_url]
          in: query
          required: false
          schema:
            type: string
        - name: filter[channel]
          in: query
          required: false
          schema:
            type: string
        - name: filter[subreddit]
          in: query
          required: false
          schema:
            type: string
        - name: filter[opportunity_id]
          in: query
          required: false
          schema:
            type: string
            format: uuid
        - name: filter[ran_at_start]
          in: query
          required: false
          schema:
            type: string
            format: date-time
        - name: filter[ran_at_end]
          in: query
          required: false
          schema:
            type: string
            format: date-time
      responses:
        '200':
          description: prompts returned
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      $ref: '#/components/schemas/prompt_info'
                  meta:
                    $ref: '#/components/schemas/pagination_meta'
                required:
                  - data
                  - meta
        '400':
          description: validation error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        '404':
          description: brand not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        '500':
          description: unexpected error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
components:
  schemas:
    prompt_info:
      type: object
      properties:
        prompt_id:
          type: string
          format: uuid
        prompt:
          type: string
        topic_name:
          type: string
        topic_id:
          type: string
          format: uuid
        region_id:
          type: string
          format: uuid
        country_code:
          type: string
        visibility:
          type: number
        visibility_diff:
          type: number
          nullable: true
        sentiment:
          type: number
          nullable: true
        sentiment_diff:
          type: number
          nullable: true
        mentioned:
          type: boolean
        top_competitors:
          type: array
          items:
            type: object
            properties:
              id:
                type: string
                nullable: true
              name:
                type: string
              visibility:
                type: number
              domain:
                type: string
                nullable: true
              sentiment:
                type: number
                nullable: true
              visibility_diff:
                type: number
                nullable: true
              sentiment_diff:
                type: number
                nullable: true
        last_run:
          type: string
          nullable: true
        volume:
          type: integer
          nullable: true
        volume_range:
          type: string
          nullable: true
          enum:
            - <10
            - 10-50
            - 50-150
            - 150-250
            - 250-500
            - 500-1k
            - 1k-2.5k
            - 2.5k-5k
            - 5k-15k
            - 15k-50k
            - 50k-150k
            - 150k-500k
            - 500k-1m
            - 1m+
            - null
          description: >-
            Bucketed label derived from `volume` (Volumes::VolumeRange); enum
            ordered smallest→largest.
        volume_confidence:
          type: number
          nullable: true
        volume_change:
          type: integer
          nullable: true
        volume_change_percent:
          type: number
          nullable: true
        citation_share:
          type: number
          nullable: true
        citation_share_diff:
          type: number
          nullable: true
        ads:
          type: array
          items:
            $ref: '#/components/schemas/ad'
      required:
        - prompt_id
        - prompt
        - topic_name
        - topic_id
        - region_id
        - country_code
        - visibility
        - mentioned
        - last_run
        - citation_share
        - citation_share_diff
        - ads
    pagination_meta:
      type: object
      properties:
        page:
          type: integer
        page_size:
          type: integer
        total_items:
          type: integer
        total_pages:
          type: integer
        counts:
          type: object
          additionalProperties:
            type: integer
      required:
        - page
        - page_size
        - total_items
        - total_pages
    error:
      type: object
      properties:
        error:
          type: object
          properties:
            code:
              type: string
            message:
              type: string
            details:
              type: array
              items:
                $ref: '#/components/schemas/error_detail'
          required:
            - code
            - message
      required:
        - error
    ad:
      type: object
      properties:
        ad_id:
          type: string
          format: uuid
        advertiser_id:
          type: string
          format: uuid
        advertiser_name:
          type: string
        advertiser_domain:
          type: string
        title:
          type: string
          nullable: true
        body:
          type: string
          nullable: true
        image_url:
          type: string
          nullable: true
        target_url:
          type: string
          nullable: true
        appearance_count:
          type: integer
        prompt_count:
          type: integer
        first_seen_at:
          type: string
          format: date-time
          nullable: true
        last_seen_at:
          type: string
          format: date-time
          nullable: true
      required:
        - ad_id
        - advertiser_id
        - advertiser_name
        - advertiser_domain
        - appearance_count
        - prompt_count
    error_detail:
      type: object
      properties:
        field:
          type: string
          nullable: true
        code:
          type: string
        message:
          type: string
      required:
        - code
        - message
        - field
  securitySchemes:
    apiKey:
      type: apiKey
      in: header
      name: X-API-KEY

````