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

# Get All Prompts

> List all tracked prompts/queries in your project.

**Example:** "Show me all prompts with their answer counts, filtered by a specific topic."

**Metrics** (optional): `answers_count`, `answers`

**Filters:** `topics`, `prompts`, `tags`, `markets`, `intent`, `branded`, `platform`, `has_shopping_card`, `visibility`, `rank`, `website_mentioned_in_answer`, `cited_page_url`, `cited_domain`, `website_mentioned_in_citation`, `disabled`.

**Sort fields:** Any metric name, plus `name`, `search_volume`.

**Dates:** If metrics are requested without dates, defaults to latest run date range. If no metrics and no dates, defaults to all-time.

**Pagination:** Use `pagination` (`limit` 1-100, default 10; `offset` for paging). Use `order_by` for sorting.

**Response:** Returns `data` array with `info` metadata containing `total_rows` (before pagination) and `query` (applied metrics, dates, sorting, pagination, filters).



## OpenAPI

````yaml https://api.writesonic.com/v1/oauth/openapi.json?client_secret=FgwCVph3cjZy0KPsvsuU post /v2/geo/business/prompts
openapi: 3.1.0
info:
  title: Writesonic Docs
  description: >-
    This is the documentation for Writesonic's API. To be able to test the API,
    please register an account and request an api key at
    [Writesonic](https://writesonic.com). <br/> Please check out the tutorials
    section for more information<br/>   <ul> <li> [Find your API
    key](../docs/Find%20Api%20Key) </li> <li>  [Test an
    endpoint](../docs/Test%20An%20Endpoint)</li>  </ul> <p> Writesonic API has
    been upgraded to V2(beta) version. [Click here to read V2 docs
    (beta)](../api-docs/v2.html) <br/> Note - as all APIs are
    backwards-compatible, old endpoints will not be impacted by this change.
    </p> For any queries write us to at support@writesonic.com  
  contact:
    email: support@writesonic.com
  version: '1.0'
servers:
  - url: https://api.writesonic.com
    description: Production
security: []
tags:
  - name: Action Center
  - name: Brand Radar Reports
  - name: Citation Analytics
  - name: Generic
  - name: Per-Prompt Analytics
  - name: Project Configuration
  - name: Prompt Explorer
  - name: Prompts All
  - name: Prompts Overview
  - name: Reports
  - name: Research Page Tracker Portfolio
  - name: Tags
paths:
  /v2/geo/business/prompts:
    post:
      tags:
        - Generic
      summary: Get All Prompts
      description: >-
        List all tracked prompts/queries in your project.


        **Example:** "Show me all prompts with their answer counts, filtered by
        a specific topic."


        **Metrics** (optional): `answers_count`, `answers`


        **Filters:** `topics`, `prompts`, `tags`, `markets`, `intent`,
        `branded`, `platform`, `has_shopping_card`, `visibility`, `rank`,
        `website_mentioned_in_answer`, `cited_page_url`, `cited_domain`,
        `website_mentioned_in_citation`, `disabled`.


        **Sort fields:** Any metric name, plus `name`, `search_volume`.


        **Dates:** If metrics are requested without dates, defaults to latest
        run date range. If no metrics and no dates, defaults to all-time.


        **Pagination:** Use `pagination` (`limit` 1-100, default 10; `offset`
        for paging). Use `order_by` for sorting.


        **Response:** Returns `data` array with `info` metadata containing
        `total_rows` (before pagination) and `query` (applied metrics, dates,
        sorting, pagination, filters).
      operationId: get_all_prompt_reports
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GetAllPromptsRequest'
        required: true
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetAllPromptsResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      security:
        - APIKeyHeader: []
components:
  schemas:
    GetAllPromptsRequest:
      properties:
        project_id:
          type: string
          minLength: 1
          title: Project Id
          description: >-
            Unique identifier of the project to query. Get valid project IDs
            from get_all_projects.
          examples:
            - 550e8400-e29b-41d4-a716-446655440000
        start_date:
          type: string
          format: date-time
          title: Start Date
          description: >-
            Start of the date range (ISO 8601). Limits results to data collected
            on or after this date. When omitted: defaults to the latest run's
            start date for metric queries, or earliest available date for list
            queries.
          examples:
            - '2026-01-01T00:00:00Z'
            - '2026-03-01T00:00:00Z'
        end_date:
          type: string
          format: date-time
          title: End Date
          description: >-
            End of the date range (ISO 8601). Limits results to data collected
            on or before this date. When omitted: defaults to today. Date-only
            strings (no 'T') are extended to end of day.
          examples:
            - '2026-01-31T23:59:59Z'
            - '2026-03-17T23:59:59Z'
        order_by:
          items:
            $ref: '#/components/schemas/SortingOrder'
          type: array
          title: Order By
          description: >-
            Sort results by one or more fields. Each entry specifies a field
            name and direction. Results are sorted by the first entry, then ties
            broken by subsequent entries.
          examples:
            - - field: visibility_score
                order: desc
            - - field: mention_count
                order: desc
              - field: rank
                order: asc
        pagination:
          $ref: '#/components/schemas/PaginationInput'
          description: >-
            Control result pagination. Set `limit` for page size and `offset` to
            skip results. Omit to return all results (use with caution on large
            datasets).
          examples:
            - limit: 10
              offset: 0
            - limit: 25
              offset: 50
        metrics:
          items:
            $ref: '#/components/schemas/PromptMetric'
          type: array
          title: Metrics
          description: 'Additional metrics to include. Options: answers_count, answers.'
          examples:
            - - answers_count
        filters:
          $ref: '#/components/schemas/PromptFiltersInput'
          description: >-
            Optional filters to narrow down prompts by topics, tags, markets,
            etc.
      type: object
      required:
        - project_id
      title: GetAllPromptsRequest
      description: Request parameters for retrieving all prompts.
    GetAllPromptsResponse:
      properties:
        info:
          $ref: '#/components/schemas/ResponseInfo'
          description: >-
            Information of the API request including total count and query
            details
        data:
          items:
            $ref: '#/components/schemas/PromptDataItem'
          type: array
          title: Data
          description: Array of prompt data items
      type: object
      required:
        - data
      title: GetAllPromptsResponse
      description: Response containing prompt report data.
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/ValidationError'
          type: array
          title: Detail
      type: object
      title: HTTPValidationError
    SortingOrder:
      properties:
        field:
          type: string
          title: Field
          description: >-
            Field name to sort by. Must match a measure or dimension name from
            the response (e.g., 'visibility_score', 'mention_count',
            'topic_name').
          examples:
            - visibility_score
            - mention_count
            - rank
        order:
          $ref: '#/components/schemas/SortOrderType'
          description: 'Sort direction: ''asc'' (lowest first) or ''desc'' (highest first).'
          examples:
            - desc
      type: object
      required:
        - field
        - order
      title: SortingOrder
      description: >-
        Sort results by a specific field. Use with `order_by` to control result
        ordering — e.g., sort by visibility score descending to see top
        performers first.
    PaginationInput:
      properties:
        limit:
          type: integer
          maximum: 100
          minimum: 1
          title: Limit
          description: >-
            Number of items per page (1-100). Use smaller values for faster
            responses.
          default: 10
          examples:
            - 10
            - 25
            - 50
        offset:
          type: integer
          minimum: 0
          title: Offset
          description: >-
            Number of items to skip. Set to `limit * page_number` for page-based
            navigation.
          default: 0
          examples:
            - 0
            - 10
            - 50
      type: object
      title: PaginationInput
      description: >-
        Control how many results are returned and which page to fetch. Use
        `limit` to set page size and `offset` to skip already-seen results.
    PromptMetric:
      type: string
      enum:
        - answers_count
        - answers
      title: PromptMetric
    PromptFiltersInput:
      properties:
        topics:
          $ref: '#/components/schemas/StringFilterGroup'
          description: Filter by topic ID or topic name.
          examples:
            - condition: OR
              items:
                - operator: is
                  value: 550e8400-e29b-41d4-a716-446655440000
                - operator: contains
                  value: SEO
        prompts:
          $ref: '#/components/schemas/StringFilterGroup'
          description: >-
            Filter by prompt ID or query text. Use 'contains' for partial text
            matching.
          examples:
            - condition: AND
              items:
                - operator: contains
                  value: best AI tools
        tags:
          $ref: '#/components/schemas/StringFilterGroup'
          description: >-
            Filter by tag ID or tag name. 'is' checks tag association, 'is_not'
            excludes.
          examples:
            - condition: OR
              items:
                - operator: is
                  value: 550e8400-e29b-41d4-a716-446655440000
        markets:
          $ref: '#/components/schemas/StringFilterGroup'
          description: Filter by market ID or region name (e.g., 'United States').
          examples:
            - condition: OR
              items:
                - operator: is
                  value: United States
                - operator: is
                  value: United Kingdom
        intent:
          $ref: '#/components/schemas/StringFilterGroup'
          description: >-
            Filter by search intent: 'transactional', 'navigational',
            'informational', 'commercial'.
          examples:
            - condition: OR
              items:
                - operator: is
                  value: informational
                - operator: is
                  value: commercial
        branded:
          $ref: '#/components/schemas/BooleanFilterGroup'
          description: true = branded queries only, false = non-branded only.
          examples:
            - condition: AND
              items:
                - operator: is
                  value: false
        platform:
          $ref: '#/components/schemas/StringFilterGroup'
          description: >-
            Filter by AI platform name (e.g., 'ChatGPT', 'Perplexity',
            'Gemini'). Use 'contains' for partial matches.
          examples:
            - condition: OR
              items:
                - operator: is
                  value: ChatGPT
                - operator: is
                  value: Perplexity
        has_shopping_card:
          $ref: '#/components/schemas/BooleanFilterGroup'
          description: true = only responses with shopping cards.
          examples:
            - condition: AND
              items:
                - operator: is
                  value: true
        has_ads_data:
          $ref: '#/components/schemas/BooleanFilterGroup'
          description: true = only responses that include sponsored / ad placements.
          examples:
            - condition: AND
              items:
                - operator: is
                  value: true
        visibility:
          $ref: '#/components/schemas/NumericFilterGroup'
          description: Filter by visibility score (0-100).
          examples:
            - condition: AND
              items:
                - operator: gte
                  value: 50
        rank:
          $ref: '#/components/schemas/NumericFilterGroup'
          description: Filter by rank position (1-99, lower is better).
          examples:
            - condition: AND
              items:
                - operator: lte
                  value: 3
        website_mentioned_in_answer:
          $ref: '#/components/schemas/StringFilterGroup'
          description: Filter by website ID or domain mentioned in the AI response body.
          examples:
            - condition: AND
              items:
                - operator: contains
                  value: writesonic.com
        cited_page_url:
          $ref: '#/components/schemas/StringFilterGroup'
          description: Filter by cited page URL. Use 'contains' for partial matching.
          examples:
            - condition: AND
              items:
                - operator: contains
                  value: /blog/
        cited_domain:
          $ref: '#/components/schemas/StringFilterGroup'
          description: Filter by cited domain name (e.g., 'writesonic.com').
          examples:
            - condition: AND
              items:
                - operator: is
                  value: writesonic.com
        website_mentioned_in_citation:
          $ref: '#/components/schemas/StringFilterGroup'
          description: Filter by tracked website ID or name appearing in citations.
          examples:
            - condition: AND
              items:
                - operator: is
                  value: 550e8400-e29b-41d4-a716-446655440000
        advanced_filters:
          $ref: '#/components/schemas/ReportFilterTree'
          description: >-
            Arbitrary AND/OR tree across any filter fields. When set, it takes
            precedence over the flat per-field filters above and is the only way
            to express cross-field OR, e.g. (topic is SEO) OR (platform is
            Grok).
          examples:
            - conditions:
                - field: topics
                  operator: is
                  value: <topic-id>
                - field: platform
                  operator: is
                  value: Grok
              join: or
        disabled:
          $ref: '#/components/schemas/BooleanFilterGroup'
          description: >-
            Filter by disabled status. true = disabled prompts only, false =
            active only.
      type: object
      title: PromptFiltersInput
      description: >-
        Filters for prompt reports. All filters are optional — omit to include
        all data.


        Available filters:

        - `topics` — Filter by topic ID or topic name.

        - `prompts` — Filter by prompt ID or query text.

        - `tags` — Filter by tag ID or tag name.

        - `markets` — Filter by market ID or region name (e.g., 'United
        States').

        - `intent` — Filter by search intent: 'transactional', 'navigational',
        'informational', 'commercial'.

        - `branded` — Boolean: true = branded queries only, false = non-branded.

        - `platform` — Filter by AI platform name (e.g., 'ChatGPT',
        'Perplexity', 'Gemini').

        - `has_shopping_card` — Boolean: true = responses with shopping cards
        only.

        - `visibility` — Numeric: filter by visibility score (0-100).

        - `rank` — Numeric: filter by rank position (1-99, lower is better).

        - `website_mentioned_in_answer` — Filter by website ID or domain
        mentioned in AI response.

        - `cited_page_url` — Filter by cited page URL. Use 'contains' for
        partial matching.

        - `cited_domain` — Filter by cited domain name (e.g., 'writesonic.com').

        - `website_mentioned_in_citation` — Filter by tracked website ID or name
        appearing in citations.

        - `disabled` — Boolean: true = disabled prompts only, false = active
        only.
    ResponseInfo:
      properties:
        total_rows:
          type: integer
          title: Total Rows
          description: Total number of rows matching the query (before pagination)
        query:
          $ref: >-
            #/components/schemas/writesonic_backend__schemas__geo_presence__business_base__QueryInfo
          description: Details of the query that produced this response
      type: object
      required:
        - total_rows
        - query
      title: ResponseInfo
      description: Metadata about the API response.
    PromptDataItem:
      properties:
        id:
          type: string
          format: uuid
          title: Id
          description: Unique identifier of the prompt
        name:
          type: string
          title: Name
          description: The prompt/query text
        created_date:
          type: string
          format: date-time
          title: Created Date
          description: Date when the prompt was created
        intent:
          items:
            $ref: '#/components/schemas/IntentItem'
          type: array
          title: Intent
          description: Search intent classification with confidence scores
        source:
          items:
            type: string
          type: array
          title: Source
          description: Sources where this prompt was discovered
        search_volume:
          type: integer
          title: Search Volume
          description: Monthly search volume for this prompt
        answers_count:
          type: integer
          title: Answers Count
          description: Number of AI answers collected for this prompt
        answers:
          items:
            $ref: '#/components/schemas/BusinessPromptAnswerItem'
          type: array
          title: Answers
          description: List of AI-generated answers
      type: object
      required:
        - id
        - name
        - created_date
        - intent
        - source
      title: PromptDataItem
      description: Data for a single prompt/query.
    ValidationError:
      properties:
        loc:
          items:
            anyOf:
              - type: string
              - type: integer
          type: array
          title: Location
        msg:
          type: string
          title: Message
        type:
          type: string
          title: Error Type
        input:
          title: Input
        ctx:
          type: object
          title: Context
      type: object
      required:
        - loc
        - msg
        - type
      title: ValidationError
    SortOrderType:
      type: string
      enum:
        - asc
        - desc
      title: SortOrderType
      description: |-
        Sort direction for ordering results.

        - `asc`: Ascending order (lowest first, A-Z, oldest first)
        - `desc`: Descending order (highest first, Z-A, newest first)
      x-enumDescriptions:
        asc: Ascending order (lowest first, A-Z, oldest first)
        desc: Descending order (highest first, Z-A, newest first)
    StringFilterGroup:
      properties:
        condition:
          $ref: '#/components/schemas/FilterConditionType'
          description: >-
            'AND' (all conditions must match, default) or 'OR' (any condition
            can match).
          default: AND
          examples:
            - OR
        items:
          items:
            $ref: '#/components/schemas/StringFilterCondition'
          type: array
          title: Items
          description: List of filter conditions to apply.
          examples:
            - - operator: is
                value: 550e8400-e29b-41d4-a716-446655440000
              - operator: contains
                value: SEO
      type: object
      title: StringFilterGroup
      description: >-
        A group of text filter conditions. Use `condition` to control how
        multiple items combine:

        AND (default) = all must match, OR = any can match. Each item uses
        operators like 'is', 'contains', etc.
    BooleanFilterGroup:
      properties:
        condition:
          $ref: '#/components/schemas/FilterConditionType'
          description: >-
            'AND' (all conditions must match, default) or 'OR' (any condition
            can match).
          default: AND
          examples:
            - AND
        items:
          items:
            $ref: '#/components/schemas/BooleanFilterCondition'
          type: array
          title: Items
          description: List of boolean filter conditions to apply.
          examples:
            - - operator: is
                value: true
      type: object
      title: BooleanFilterGroup
      description: >-
        A group of boolean (true/false) filter conditions. Use `condition` to
        control how

        multiple items combine: AND (default) = all must match, OR = any can
        match.
    NumericFilterGroup:
      properties:
        condition:
          $ref: '#/components/schemas/FilterConditionType'
          description: >-
            'AND' (all conditions must match, default) or 'OR' (any condition
            can match).
          default: AND
          examples:
            - AND
        items:
          items:
            $ref: '#/components/schemas/NumericFilterCondition'
          type: array
          title: Items
          description: List of numeric filter conditions to apply.
          examples:
            - - operator: gte
                value: 50
      type: object
      title: NumericFilterGroup
      description: >-
        A group of numeric filter conditions for range-based filtering (e.g.,
        visibility >= 50).

        Use `condition` to control how multiple items combine: AND (default) =
        all must match, OR = any can match.
    ReportFilterTree:
      properties:
        join:
          type: string
          enum:
            - and
            - or
          title: Join
          description: '''and'' = all children must match, ''or'' = any child.'
          default: and
        conditions:
          items:
            anyOf:
              - $ref: '#/components/schemas/ReportFilterTree'
              - $ref: '#/components/schemas/ReportFilterLeaf'
          type: array
          minItems: 1
          title: Conditions
          description: 'Child nodes: nested trees or leaf conditions.'
      type: object
      required:
        - conditions
      title: ReportFilterTree
      description: |-
        Recursive AND/OR tree combining any report filter fields.

        Unlike the flat per-field filters (which are always AND-joined across
        fields), this expresses arbitrary boolean logic, e.g.
        `(topic is SEO) OR (platform is Grok)`.
    writesonic_backend__schemas__geo_presence__business_base__QueryInfo:
      properties:
        metrics:
          items:
            type: string
          type: array
          title: Metrics
          description: Metrics that were requested
        start_date:
          type: string
          format: date-time
          title: Start Date
          description: Start date used in the query
        end_date:
          type: string
          format: date-time
          title: End Date
          description: End date used in the query
        order_by:
          additionalProperties:
            type: string
          type: object
          title: Order By
          description: Sorting applied to the results
        pagination:
          additionalProperties:
            type: integer
          type: object
          title: Pagination
          description: Pagination parameters used
        filters:
          additionalProperties: false
          type: object
          title: Filters
          description: Filters that were applied
      type: object
      required:
        - metrics
        - start_date
        - end_date
        - order_by
        - pagination
        - filters
      title: QueryInfo
      description: Information about the query that produced the response.
    IntentItem:
      properties:
        intent:
          $ref: '#/components/schemas/IntentType'
        value:
          type: number
          title: Value
      type: object
      required:
        - intent
        - value
      title: IntentItem
    BusinessPromptAnswerItem:
      properties:
        date:
          type: string
          format: date-time
          title: Date
          description: Date when the answer was generated
        answer:
          type: string
          title: Answer
          description: The AI-generated response text
        model:
          type: string
          title: Model
          description: Name of the AI model that generated the answer
      type: object
      required:
        - date
        - answer
        - model
      title: BusinessPromptAnswerItem
      description: An AI-generated answer for a prompt.
    FilterConditionType:
      type: string
      enum:
        - AND
        - OR
      title: FilterConditionType
      description: >-
        Logical operator for combining multiple filter conditions within a
        group.


        - `AND`: All conditions must match (intersection)

        - `OR`: Any condition can match (union)
      x-enumDescriptions:
        AND: All conditions must match (intersection)
        OR: Any condition can match (union)
    StringFilterCondition:
      properties:
        operator:
          $ref: '#/components/schemas/StringOperator'
          description: >-
            'is' (exact match), 'is_not' (exclude), 'contains' (partial,
            case-insensitive), 'not_contains' (exclude partial)
          examples:
            - is
            - contains
        value:
          title: Value
          description: >-
            An entity ID for exact matching, or text for name/content matching.
            Partial matching with 'contains' is case-insensitive.
          examples:
            - 550e8400-e29b-41d4-a716-446655440000
            - AI Tools
      type: object
      required:
        - operator
      title: StringFilterCondition
      description: |-
        A single text filter condition.

        Operators:
        - `is` — Exact match by ID or name.
        - `is_not` — Exclude exact match.
        - `contains` — Partial text match (case-insensitive).
        - `not_contains` — Exclude partial text match.

        Example: {"operator": "is", "value": "<topic-id>"}
        Example: {"operator": "contains", "value": "AI Tools"}
    BooleanFilterCondition:
      properties:
        operator:
          $ref: '#/components/schemas/BooleanOperator'
          description: '''is'' (match value) or ''is_not'' (exclude value)'
          examples:
            - is
        value:
          title: Value
          description: 'Boolean value: true or false.'
          examples:
            - true
            - false
      type: object
      required:
        - operator
      title: BooleanFilterCondition
      description: |-
        A single boolean filter condition.

        Operators:
        - `is` — Match value. Example: {"operator": "is", "value": true}
        - `is_not` — Exclude value.
    NumericFilterCondition:
      properties:
        operator:
          $ref: '#/components/schemas/NumericOperator'
          description: '''eq'' (=), ''neq'' (!=), ''gt'' (>), ''gte'' (>=), ''lt'' (<), ''lte'' (<=)'
          examples:
            - gte
            - lte
            - eq
        value:
          title: Value
          description: Numeric value to compare against (integer or float).
          examples:
            - 50
            - 3
            - 0.75
      type: object
      required:
        - operator
      title: NumericFilterCondition
      description: >-
        A single numeric filter condition for range-based filtering.


        Operators:

        - `eq` (=), `neq` (not equal), `gt` (>), `gte` (>=), `lt` (<), `lte`
        (<=)


        Example: {"operator": "gte", "value": 50}
    ReportFilterLeaf:
      properties:
        field:
          $ref: '#/components/schemas/ReportFilterField'
        operator:
          type: string
          title: Operator
          description: >-
            'is' | 'is_not' | 'contains' | 'not_contains' for text/id fields;
            'is' | 'is_not' for booleans.
        value:
          title: Value
          description: The value to match against.
      type: object
      required:
        - field
        - operator
      title: ReportFilterLeaf
      description: A single condition inside an `advanced_filters` tree.
    IntentType:
      type: string
      enum:
        - transactional
        - navigational
        - informational
        - commercial
      title: IntentType
      description: >-
        Search intent classification types for queries.


        - `transactional`: User intends to complete a purchase or action

        - `navigational`: User is looking for a specific website or page

        - `informational`: User seeks information or answers to questions

        - `commercial`: User is researching products/services before a purchase
        decision
      x-enumDescriptions:
        commercial: User is researching products/services before a purchase decision
        informational: User seeks information or answers to questions
        navigational: User is looking for a specific website or page
        transactional: User intends to complete a purchase or action
    StringOperator:
      type: string
      enum:
        - is
        - is_not
        - contains
        - not_contains
      title: StringOperator
      description: >-
        Operator for string filter conditions. Accepts UUID or text values.


        - `is`: Exact match. If value is a UUID, matches by ID; otherwise
        matches by name/text

        - `is_not`: Exclude exact match. Inverse of 'is'

        - `contains`: Partial text match (case-insensitive). Value is matched
        using ILIKE

        - `not_contains`: Exclude partial text match. Inverse of 'contains'
      x-enumDescriptions:
        contains: Partial text match (case-insensitive). Value is matched using ILIKE
        is: >-
          Exact match. If value is a UUID, matches by ID; otherwise matches by
          name/text
        is_not: Exclude exact match. Inverse of 'is'
        not_contains: Exclude partial text match. Inverse of 'contains'
    BooleanOperator:
      type: string
      enum:
        - is
        - is_not
      title: BooleanOperator
      description: |-
        Operator for boolean filter conditions.

        - `is`: Match rows where the field equals the boolean value
        - `is_not`: Match rows where the field does not equal the boolean value
      x-enumDescriptions:
        is: Match rows where the field equals the boolean value
        is_not: Match rows where the field does not equal the boolean value
    NumericOperator:
      type: string
      enum:
        - eq
        - neq
        - gt
        - gte
        - lt
        - lte
      title: NumericOperator
      description: |-
        Operator for numeric filter conditions.

        - `eq`: Equal to (=)
        - `neq`: Not equal to (!=)
        - `gt`: Greater than (>)
        - `gte`: Greater than or equal to (>=)
        - `lt`: Less than (<)
        - `lte`: Less than or equal to (<=)
      x-enumDescriptions:
        eq: Equal to (=)
        gt: Greater than (>)
        gte: Greater than or equal to (>=)
        lt: Less than (<)
        lte: Less than or equal to (<=)
        neq: Not equal to (!=)
    ReportFilterField:
      type: string
      enum:
        - topics
        - prompts
        - tags
        - markets
        - intent
        - branded
        - platform
        - has_shopping_card
        - website_mentioned_in_answer
        - cited_page_url
        - cited_domain
        - website_mentioned_in_citation
      title: ReportFilterField
      description: A filter field usable as a leaf inside `advanced_filters`.
  securitySchemes:
    APIKeyHeader:
      type: apiKey
      in: header
      name: X-API-KEY

````