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

# List brands

> List brands discoverable by the creator

Use this endpoint to list brands discoverable by the current creator token owner. List endpoints use cursor pagination: `limit` defaults to `25` and cannot exceed `100`; pass the previous response's `next_cursor` as `cursor` to read the next page. When there are no more results, `next_cursor` is `null`.

Response fields:

* `id`: Brand ID.
* `name`: Brand name.
* `description`: Brand description; may be omitted.
* `logo_url`: Brand logo image URL; may be omitted.
* `website`: Brand website URL; may be omitted.
* `status`: The brand's own status. It does not describe the creator's partnership state.
* `product_count`: Number of currently visible products; may be omitted.
* `amazon_regions`: Amazon country/region codes where the brand currently has active products, such as `US`, `UK`, or `DE`; may be omitted.
* `amazon_marketplaces`: Amazon marketplace domains, such as `amazon.com`, `amazon.co.uk`, or `amazon.de`; may be omitted. Prefer this field when an integration needs the concrete Amazon site.
* `partnership_status`: The current token owner's partnership status with the brand. It can be `approved`, `pending`, `rejected`, `suspended`, or `null`. `null` means no partnership record exists.

`status` and `partnership_status` are intentionally separate: `status` belongs to the brand itself, while `partnership_status` describes the current creator relationship.


## OpenAPI

````yaml GET /api/creator/v1/brands
openapi: 3.1.0
info:
  title: OpenLight Public API
  version: 1.0.0
  summary: OpenLight seller and creator public API
  description: |
    Public API for external seller and creator integrations.
    Console/internal APIs remain documented separately in docs/openapi.yaml.
servers:
  - url: https://app.openlight.tech
    description: Production
  - url: http://localhost:8080
    description: Local development
security:
  - bearerAuth: []
tags:
  - name: Creator Brands
  - name: Creator Products
  - name: Creator Links
  - name: Creator Reports
  - name: Seller Brands
  - name: Seller Products
paths:
  /api/creator/v1/brands:
    get:
      tags:
        - Creator Brands
      summary: List discoverable brands
      description: >
        Returns active brands discoverable by the creator. The brand `status`
        describes whether the brand itself is active, while `partnership_status`
        describes the current creator token owner's relationship with that
        brand. `partnership_status` is null when there is no partnership record.
      operationId: listCreatorBrands
      parameters:
        - $ref: '#/components/parameters/Limit'
        - $ref: '#/components/parameters/Cursor'
      responses:
        '200':
          description: Creator-visible brands
          content:
            application/json:
              schema:
                type: object
                required:
                  - brands
                  - next_cursor
                properties:
                  brands:
                    type: array
                    description: 品牌列表。List of brands.
                    items:
                      $ref: '#/components/schemas/PublicBrand'
                  next_cursor:
                    $ref: '#/components/schemas/NextCursor'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
components:
  parameters:
    Limit:
      name: limit
      in: query
      required: false
      description: >-
        每页返回数量，默认 25，最大 100。Number of items per page; defaults to 25 and maxes
        out at 100.
      schema:
        type: integer
        default: 25
        maximum: 100
    Cursor:
      name: cursor
      in: query
      required: false
      description: 上一页响应返回的下一页游标。Cursor returned as `next_cursor` by the previous page.
      schema:
        type: string
  schemas:
    PublicBrand:
      type: object
      required:
        - id
        - name
        - status
      properties:
        id:
          type: string
          description: 品牌 ID。Brand ID.
        name:
          type: string
          description: 品牌名称。Brand name.
        description:
          type: string
          description: 品牌简介；可能缺省。Brand description; may be omitted.
        logo_url:
          type: string
          description: 品牌 Logo 图片 URL；可能缺省。Brand logo image URL; may be omitted.
        website:
          type: string
          description: 品牌官网 URL；可能缺省。Brand website URL; may be omitted.
        status:
          type: string
          description: >-
            品牌自身状态；不表示当前 token owner 与品牌的合作关系。Brand status; it does not describe
            the token owner's partnership with the brand.
          enum:
            - active
            - disabled
        product_count:
          type: integer
          description: >-
            当前可见商品数量；当前可能缺省。Number of currently visible products; may be
            omitted.
        amazon_regions:
          type: array
          description: >-
            品牌当前有 active 商品覆盖的 Amazon 国家/地区码，例如 US、UK、DE；可能缺省。Amazon
            country/region codes with active products, such as US, UK, or DE;
            may be omitted.
          items:
            type: string
        amazon_marketplaces:
          type: array
          description: >-
            品牌当前有 active 商品覆盖的 Amazon 站点域名，例如
            amazon.com、amazon.co.uk；可能缺省。Amazon marketplace domains with active
            products, such as amazon.com or amazon.co.uk; may be omitted.
          items:
            type: string
        partnership_status:
          type:
            - string
            - 'null'
          description: >-
            当前 token owner 与该品牌的合作状态；null 表示没有合作记录。Current token owner's
            partnership status with this brand; null means no partnership
            exists.
          enum:
            - approved
            - pending
            - rejected
            - suspended
            - null
    NextCursor:
      type:
        - string
        - 'null'
      description: >-
        下一页游标；为 null 表示没有更多结果。Cursor for the next page; null means there are no
        more results.
    PublicErrorResponse:
      type: object
      required:
        - error
      properties:
        error:
          type: object
          description: 错误详情。Error detail.
          required:
            - code
            - message
          properties:
            code:
              type: string
              description: 机器可读错误码。Machine-readable error code.
              examples:
                - invalid_api_token
                - forbidden_resource
            message:
              type: string
              description: 面向开发者的错误说明。Developer-facing error message.
  responses:
    BadRequest:
      description: Invalid request or pagination parameters
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/PublicErrorResponse'
          examples:
            invalid_request:
              summary: Invalid request
              value:
                error:
                  code: invalid_request
                  message: invalid_request
            invalid_pagination:
              summary: Invalid pagination
              value:
                error:
                  code: invalid_pagination
                  message: invalid_pagination
    Unauthorized:
      description: Missing or invalid API token
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/PublicErrorResponse'
    Forbidden:
      description: Token cannot access the requested role or resource
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/PublicErrorResponse'
          examples:
            forbidden_resource:
              summary: Forbidden resource
              value:
                error:
                  code: forbidden_resource
                  message: forbidden_resource
            ads_not_connected:
              summary: Ads not connected
              value:
                error:
                  code: ads_not_connected
                  message: ads_not_connected
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer

````