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

# List Organization Brands

> List every brand belonging to the organization associated with your API key. Returns parent / product brands (`type: ORGANIZATION`) and individual / employee brands (`type: INDIVIDUAL`) in one call, including configuration fields: `brandColors` (HEX strings), `includedTerms`, `excludedTerms`, `tickers`, `avatarUrl`, `websiteUrl`, and `twitterHandle`. Each brand also reports `useOrganizationDocs` (when true, the brand inherits its LOA/POA from the org), a `legalDocuments` block with the brand-level Letter of Authorization and Power of Attorney attachments (each `{ present, fileName, fileUrl }`), and `trademarkRegistrations` — every brand-level trademark on file with its issuing office, registration number, and (when uploaded) a `certificateFileUrl` link to the certificate PDF. Soft-deleted brands are excluded. Brand counts per organization are typically <500, so the endpoint returns the full set in one response (no pagination).

## Overview

List every brand belonging to the organization associated with your API key. Parent and
product brands (`type: ORGANIZATION`) and individual or employee brands
(`type: INDIVIDUAL`) are returned in a single call, including configuration fields such
as `brandColors`, `includedTerms`, `excludedTerms`, `tickers`, `avatarUrl`,
`websiteUrl`, and `twitterHandle`.

## Notes

* Each brand reports `useOrganizationDocs` — when true, the brand inherits its Letter of
  Authorization and Power of Attorney from the organization.
* `legalDocuments` carries the brand-level Letter of Authorization and Power of Attorney
  attachments, and `trademarkRegistrations` lists every brand-level trademark on file with
  its issuing office, registration number, and a link to the certificate PDF when one has
  been uploaded.
* Soft-deleted brands are excluded.
* Brand counts per organization are typically under 500, so the endpoint returns the full
  set in one response — there is no pagination.


## OpenAPI

````yaml GET /organization/brands
openapi: 3.0.3
info:
  title: ChainPatrol External API - OpenAPI 3.0
  description: ChainPatrol External API documentation
  version: 2.0.0
servers:
  - url: https://app.chainpatrol.io/api/v2
security: []
tags:
  - name: asset
  - name: report
externalDocs:
  url: https://chainpatrol.com/docs
paths:
  /organization/brands:
    get:
      tags:
        - organization
      summary: List organization brands
      description: >-
        List every brand belonging to the organization associated with your API
        key. Returns parent / product brands (`type: ORGANIZATION`) and
        individual / employee brands (`type: INDIVIDUAL`) in one call, including
        configuration fields: `brandColors` (HEX strings), `includedTerms`,
        `excludedTerms`, `tickers`, `avatarUrl`, `websiteUrl`, and
        `twitterHandle`. Each brand also reports `useOrganizationDocs` (when
        true, the brand inherits its LOA/POA from the org), a `legalDocuments`
        block with the brand-level Letter of Authorization and Power of Attorney
        attachments (each `{ present, fileName, fileUrl }`), and
        `trademarkRegistrations` — every brand-level trademark on file with its
        issuing office, registration number, and (when uploaded) a
        `certificateFileUrl` link to the certificate PDF. Soft-deleted brands
        are excluded. Brand counts per organization are typically <500, so the
        endpoint returns the full set in one response (no pagination).
      operationId: organizationBrandsList
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: object
                properties:
                  brands:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: number
                          description: Brand ID
                        slug:
                          type: string
                          description: Brand slug (stable, URL-safe identifier)
                        name:
                          type: string
                          description: Display name
                        type:
                          type: string
                          enum:
                            - INDIVIDUAL
                            - ORGANIZATION
                          description: >-
                            Brand type: `ORGANIZATION` for parent / product
                            brands, `INDIVIDUAL` for employee or person brands
                        description:
                          type: string
                          nullable: true
                          description: Free-form description, if set
                        avatarUrl:
                          type: string
                          nullable: true
                          description: URL of the brand's avatar / logo image
                        websiteUrl:
                          type: string
                          nullable: true
                          description: Official brand website URL
                        twitterHandle:
                          type: string
                          nullable: true
                          description: Official Twitter / X handle (without @)
                        brandColors:
                          type: array
                          items:
                            type: string
                          description: >-
                            HEX color strings associated with the brand (e.g.
                            `#FF0000`)
                        includedTerms:
                          type: array
                          items:
                            type: string
                          description: >-
                            Terms that should be included when matching this
                            brand
                        excludedTerms:
                          type: array
                          items:
                            type: string
                          description: >-
                            Terms that should be excluded when matching this
                            brand
                        tickers:
                          type: array
                          items:
                            type: string
                          description: >-
                            Ticker symbols associated with the brand (e.g.
                            `$JUP`)
                        brandGroupId:
                          type: number
                          nullable: true
                          description: >-
                            Group this brand belongs to (only set for
                            `INDIVIDUAL` brands)
                        createdAt:
                          type: string
                          description: When the brand was created
                        useOrganizationDocs:
                          type: boolean
                          description: >-
                            When true, this brand inherits its Letter of
                            Authorization and Power of Attorney from the
                            organization rather than carrying its own. The
                            `legalDocuments` block below always reflects the
                            brand-level attachments — read `/user/orgs/{slug}`
                            for the org-level fallbacks.
                        legalDocuments:
                          type: object
                          properties:
                            letterOfAuthorization:
                              type: object
                              properties:
                                present:
                                  type: boolean
                                  description: Whether the brand has this document attached
                                fileName:
                                  type: string
                                  nullable: true
                                  description: >-
                                    Original filename of the uploaded document
                                    (null when not present)
                                fileUrl:
                                  type: string
                                  nullable: true
                                  description: >-
                                    Direct URL to view or download the document
                                    (null when not present)
                              required:
                                - present
                                - fileName
                                - fileUrl
                            powerOfAttorney:
                              type: object
                              properties:
                                present:
                                  type: boolean
                                  description: Whether the brand has this document attached
                                fileName:
                                  type: string
                                  nullable: true
                                  description: >-
                                    Original filename of the uploaded document
                                    (null when not present)
                                fileUrl:
                                  type: string
                                  nullable: true
                                  description: >-
                                    Direct URL to view or download the document
                                    (null when not present)
                              required:
                                - present
                                - fileName
                                - fileUrl
                          required:
                            - letterOfAuthorization
                            - powerOfAttorney
                          description: >-
                            Brand-level Letter of Authorization and Power of
                            Attorney attachments
                        trademarkRegistrations:
                          type: array
                          items:
                            type: object
                            properties:
                              id:
                                type: number
                                description: Trademark registration ID
                              brandName:
                                type: string
                                description: >-
                                  Trademarked brand name as it appears on the
                                  registration
                              trademarkOffice:
                                type: string
                                description: >-
                                  Issuing trademark office (e.g. `USPTO`,
                                  `EUIPO`)
                              registrationNumber:
                                type: string
                                description: Registration number assigned by the office
                              goodsAndServicesClass:
                                type: string
                                description: >-
                                  Nice Classification class(es) the registration
                                  covers
                              rightsOwnerName:
                                type: string
                                nullable: true
                                description: >-
                                  Legal entity the trademark is registered to,
                                  if recorded
                              registrationPageUrl:
                                type: string
                                nullable: true
                                description: >-
                                  Public URL on the trademark office's site, if
                                  recorded
                              certificateFileName:
                                type: string
                                nullable: true
                                description: >-
                                  Original filename of the uploaded certificate
                                  PDF (null when no certificate is attached)
                              certificateFileUrl:
                                type: string
                                nullable: true
                                description: >-
                                  Direct URL to view or download the certificate
                                  PDF (null when no certificate is attached)
                            required:
                              - id
                              - brandName
                              - trademarkOffice
                              - registrationNumber
                              - goodsAndServicesClass
                              - rightsOwnerName
                              - registrationPageUrl
                              - certificateFileName
                              - certificateFileUrl
                          description: >-
                            Trademark registrations attached to this brand. An
                            empty array means no trademarks are on file for the
                            brand — use this to identify brands that still need
                            them added.
                      required:
                        - id
                        - slug
                        - name
                        - type
                        - description
                        - avatarUrl
                        - websiteUrl
                        - twitterHandle
                        - brandColors
                        - includedTerms
                        - excludedTerms
                        - tickers
                        - brandGroupId
                        - createdAt
                        - useOrganizationDocs
                        - legalDocuments
                        - trademarkRegistrations
                    description: List of brands
                required:
                  - brands
                description: Successful operation
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error.BAD_REQUEST'
        '401':
          description: Authorization not provided
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error.UNAUTHORIZED'
        '403':
          description: Insufficient access
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error.FORBIDDEN'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error.NOT_FOUND'
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error.INTERNAL_SERVER_ERROR'
      security:
        - ApiKey: []
components:
  schemas:
    error.BAD_REQUEST:
      type: object
      properties:
        message:
          type: string
          description: The error message
          example: Invalid input data
        code:
          type: string
          description: The error code
          example: BAD_REQUEST
        issues:
          type: array
          items:
            type: object
            properties:
              message:
                type: string
            required:
              - message
          description: An array of issues that were responsible for the error
          example: []
      required:
        - message
        - code
      title: Invalid input data error (400)
      description: The error information
      example:
        code: BAD_REQUEST
        message: Invalid input data
        issues: []
    error.UNAUTHORIZED:
      type: object
      properties:
        message:
          type: string
          description: The error message
          example: Authorization not provided
        code:
          type: string
          description: The error code
          example: UNAUTHORIZED
        issues:
          type: array
          items:
            type: object
            properties:
              message:
                type: string
            required:
              - message
          description: An array of issues that were responsible for the error
          example: []
      required:
        - message
        - code
      title: Authorization not provided error (401)
      description: The error information
      example:
        code: UNAUTHORIZED
        message: Authorization not provided
        issues: []
    error.FORBIDDEN:
      type: object
      properties:
        message:
          type: string
          description: The error message
          example: Insufficient access
        code:
          type: string
          description: The error code
          example: FORBIDDEN
        issues:
          type: array
          items:
            type: object
            properties:
              message:
                type: string
            required:
              - message
          description: An array of issues that were responsible for the error
          example: []
      required:
        - message
        - code
      title: Insufficient access error (403)
      description: The error information
      example:
        code: FORBIDDEN
        message: Insufficient access
        issues: []
    error.NOT_FOUND:
      type: object
      properties:
        message:
          type: string
          description: The error message
          example: Not found
        code:
          type: string
          description: The error code
          example: NOT_FOUND
        issues:
          type: array
          items:
            type: object
            properties:
              message:
                type: string
            required:
              - message
          description: An array of issues that were responsible for the error
          example: []
      required:
        - message
        - code
      title: Not found error (404)
      description: The error information
      example:
        code: NOT_FOUND
        message: Not found
        issues: []
    error.INTERNAL_SERVER_ERROR:
      type: object
      properties:
        message:
          type: string
          description: The error message
          example: Internal server error
        code:
          type: string
          description: The error code
          example: INTERNAL_SERVER_ERROR
        issues:
          type: array
          items:
            type: object
            properties:
              message:
                type: string
            required:
              - message
          description: An array of issues that were responsible for the error
          example: []
      required:
        - message
        - code
      title: Internal server error error (500)
      description: The error information
      example:
        code: INTERNAL_SERVER_ERROR
        message: Internal server error
        issues: []
  securitySchemes:
    ApiKey:
      type: apiKey
      in: header
      name: X-API-KEY
      description: >-
        Your API key. This is required by most endpoints to access our API
        programatically. Reach out to us at
        [support@chainpatrol.io](mailto:support@chainpatrol.io?subject=Re:%20API%20Key%20for%20SDK&body=Company:%20%0AName:%20%0APurpose:%20)
        to get an API key for your use.

````