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

# List brands

> List brands (bearer-authed)



## OpenAPI

````yaml /api-reference/public-openapi.json get /api/public/v1/brands
openapi: 3.1.0
info:
  title: FixAEO Customer API
  version: 2026.05.23
  description: >-
    Bearer-authed read API over your FixAEO workspace. Create a key in Settings,
    then send it as `Authorization: Bearer <key>`. Every route is scoped to the
    key's own account.


    Generated from the server's OpenAPI spec — see
    scripts/build-public-openapi.py.
servers:
  - url: https://api.fixaeo.com
security:
  - bearerAuth: []
paths:
  /api/public/v1/brands:
    get:
      tags:
        - Public API
      summary: List brands
      description: List brands (bearer-authed)
      responses:
        '200':
          description: Brand list.
          content:
            application/json:
              schema:
                type: object
                properties:
                  brands:
                    type: array
                    items:
                      $ref: '#/components/schemas/Brand'
                  count:
                    type: integer
                  limit:
                    type: integer
        '401':
          $ref: '#/components/responses/Unauthorized'
      security:
        - bearerAuth: []
components:
  schemas:
    Brand:
      type: object
      description: >-
        A tracked brand as returned by GET /brands and GET /brands/{slug}. Field
        names verified against a live response — this schema previously
        described slug/name/primary_region/regions/created_at, none of which the
        handler emits.
      properties:
        id:
          type: integer
        brand_slug:
          type: string
          description: Stable identifier used as {slug} in every per-brand path.
          example: linear
        brand_name:
          type: string
          example: Linear
        domain:
          type: string
          example: linear.app
        vertical:
          type: string
          description: One of saas, retail, finance, healthcare, other.
          example: saas
        scan_frequency_hours:
          type: integer
          description: Rescan cadence for this brand, set by the account's plan.
          example: 24
        next_scan_at:
          type: string
          format: date-time
          nullable: true
        site_id:
          type: string
          format: uuid
          description: Identifier baked into the agent-analytics JS tag.
        added_at:
          type: string
          format: date-time
    Error:
      type: object
      required:
        - error
      properties:
        error:
          type: string
          description: Human-readable error message.
          example: invalid url
  responses:
    Unauthorized:
      description: Missing or invalid session cookie / bearer token.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: fxa_
      description: |
        API keys generated via `POST /api/v1/me/api-keys`. Format:
        `Authorization: Bearer fxa_<32-char-secret>`. Only accepted on
        `/api/public/v1/*`. Cookie auth is rejected on that surface.

````