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

# List Brands Needing Review

> List brands that need URL review.

These are brands where the LLM-inferred URL and web search URL
differed during auto-registration.



## OpenAPI

````yaml /openapi/merchantops-public.json get /api/brands/needs-review
openapi: 3.1.0
info:
  description: >-
    Public API for the MerchantOps product catalog, pricing, and publishing
    surface.
  title: MerchantOps API
  version: 1.0.0
servers:
  - description: Production
    url: https://api.merchantops.ai
security: []
paths:
  /api/brands/needs-review:
    get:
      tags:
        - Brands
      summary: List Brands Needing Review
      description: |-
        List brands that need URL review.

        These are brands where the LLM-inferred URL and web search URL
        differed during auto-registration.
      operationId: list_brands_needing_review
      parameters:
        - description: Max items
          in: query
          name: limit
          required: false
          schema:
            default: 50
            description: Max items
            maximum: 200
            minimum: 1
            title: Limit
            type: integer
        - description: Items to skip
          in: query
          name: offset
          required: false
          schema:
            default: 0
            description: Items to skip
            minimum: 0
            title: Offset
            type: integer
        - in: header
          name: authorization
          required: false
          schema:
            anyOf:
              - type: string
              - type: 'null'
            title: Authorization
        - in: header
          name: X-Organization-ID
          required: false
          schema:
            anyOf:
              - type: string
              - type: 'null'
            title: X-Organization-Id
        - in: cookie
          name: stytch_session
          required: false
          schema:
            anyOf:
              - type: string
              - type: 'null'
            title: Stytch Session
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/merchantops_server__api__routers__brands__BrandListResponse
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
components:
  schemas:
    merchantops_server__api__routers__brands__BrandListResponse:
      description: Response model for list of Brands.
      properties:
        items:
          description: Brand items
          items:
            $ref: '#/components/schemas/BrandResponse'
          title: Items
          type: array
        limit:
          description: Limit applied
          title: Limit
          type: integer
        offset:
          description: Offset applied
          title: Offset
          type: integer
        total:
          description: Total count
          title: Total
          type: integer
      required:
        - total
        - items
        - limit
        - offset
      title: BrandsBrandListResponse
      type: object
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/ValidationError'
          title: Detail
          type: array
      title: HTTPValidationError
      type: object
    BrandResponse:
      description: Response model for a single Brand.
      properties:
        aliases:
          description: Alternative names
          items:
            type: string
          title: Aliases
          type: array
        createdAt:
          anyOf:
            - type: string
            - type: 'null'
          description: Creation timestamp
          title: Createdat
        createdBy:
          anyOf:
            - type: string
            - type: 'null'
          description: User who created this
          title: Createdby
        domain_patterns:
          description: Domain patterns for matching
          items:
            type: string
          title: Domain Patterns
          type: array
        id:
          description: MongoDB ObjectId as string
          title: Id
          type: string
        is_verified:
          default: false
          description: Whether brand is verified
          title: Is Verified
          type: boolean
        key:
          description: Normalized brand key
          title: Key
          type: string
        lastModifiedAt:
          anyOf:
            - type: string
            - type: 'null'
          description: Last modification timestamp
          title: Lastmodifiedat
        lastModifiedBy:
          anyOf:
            - type: string
            - type: 'null'
          description: User who last modified this
          title: Lastmodifiedby
        llm_inferred_url:
          anyOf:
            - type: string
            - type: 'null'
          description: URL from LLM inference
          title: Llm Inferred Url
        logo_url:
          anyOf:
            - type: string
            - type: 'null'
          description: Brand logo URL
          title: Logo Url
        name:
          description: Official brand name
          title: Name
          type: string
        scrape_consecutive_failures:
          default: 0
          description: Failures since last success
          title: Scrape Consecutive Failures
          type: integer
        scrape_disabled_until:
          anyOf:
            - type: string
            - type: 'null'
          description: Cooldown end when mode=disabled
          title: Scrape Disabled Until
        scrape_last_failure_at:
          anyOf:
            - type: string
            - type: 'null'
          description: Most recent failure timestamp
          title: Scrape Last Failure At
        scrape_last_failure_reason:
          anyOf:
            - type: string
            - type: 'null'
          description: Reason for most recent failure
          title: Scrape Last Failure Reason
        scrape_mode:
          default: auto
          description: auto | enhanced | disabled
          title: Scrape Mode
          type: string
        scrape_mode_set_at:
          anyOf:
            - type: string
            - type: 'null'
          description: When scrape_mode last changed
          title: Scrape Mode Set At
        scrape_mode_set_by:
          anyOf:
            - type: string
            - type: 'null'
          description: Who last changed scrape_mode
          title: Scrape Mode Set By
        source:
          anyOf:
            - type: string
            - type: 'null'
          description: How brand was added
          title: Source
        url_needs_review:
          default: false
          description: Whether URLs need review
          title: Url Needs Review
          type: boolean
        urls:
          description: Country-specific URLs
          items:
            $ref: '#/components/schemas/BrandURLResponse'
          title: Urls
          type: array
        web_search_url:
          anyOf:
            - type: string
            - type: 'null'
          description: URL from web search
          title: Web Search Url
      required:
        - id
        - key
        - name
      title: BrandResponse
      type: object
    ValidationError:
      properties:
        ctx:
          title: Context
          type: object
        input:
          title: Input
        loc:
          items:
            anyOf:
              - type: string
              - type: integer
          title: Location
          type: array
        msg:
          title: Message
          type: string
        type:
          title: Error Type
          type: string
      required:
        - loc
        - msg
        - type
      title: ValidationError
      type: object
    BrandURLResponse:
      description: Response model for a brand URL.
      properties:
        country:
          description: ISO 2-letter country code
          title: Country
          type: string
        url:
          description: Brand website URL
          title: Url
          type: string
      required:
        - country
        - url
      title: BrandURLResponse
      type: object

````