---
title: "List Brands"
method: POST
path: "/brands/list"
tags: ["Brands"]
---

# List Brands

`POST /brands/list`

## Request

- Base URL: `https://api.pinnacle.sh`
- URL: `https://api.pinnacle.sh/brands/list`
- Auth: API key in header `PINNACLE-API-KEY`

List all brands with optional filtering and pagination. Results are sorted by creation date, newest first.

## Request body

- ListBrandsRequest
  - `pageIndex` integer
  - `pageSize` integer
  - `status` 'PENDING' | 'UNVERIFIED' | 'VERIFIED' | 'VETTED' | 'FAILED' | 'INCOMPLETE'
  - `isArchived` boolean
  - `name` string: Case-insensitive substring search on brand name.

## Response `200`

Returns paginated list of brands.

- ListBrandsResponse
  - `data` ExtendedBrand[], required
    - `createdAt` string, required: ISO 8601 formatted timestamp of when this brand was added to our system.
    - `id` string, required: The brand's ID. This identifier is a string that always begins with the prefix `b_`, for example: `b_1234567890`.
    - `isArchived` boolean, required: Indicates if this brand is archived.
    - `status` 'PENDING' | 'UNVERIFIED' | 'VERIFIED' | 'VETTED' | 'FAILED' | 'INCOMPLETE', required: Current review status of the brand. `INCOMPLETE`: Has not been submitted. `PENDING`: Currently being reviewed. `VERIFIED`: Verified and good to go. `UNVERIFIED`: No longer verified due to an update in the brand details. `VETTED`: Brand has been vetted by an external provider and has received vetting scores.
    - `updatedAt` string, required: ISO 8601 formatted timestamp of when this brand was last updated.
    - `address` string: Primary brand address where this brand is located.
    - `contact` OptionalContactSchema: Contact information for the primary brand representative.
      - `email` string: Email address of the contact person.
      - `name` string: Full name of the contact person.
      - `phone` string: Phone number of the contact person in E.164 format.
      - `title` string: Job title or position oft he contact person.
    - `dba` string, nullable: "Doing Business As" name - the public name this brand operates under.
    - `description` string: Brief description of what this brand does.
    - `ein` string: Employer Identification Number (EIN) assigned by the IRS.
    - `email` string: Main contact email address for this brand.
    - `name` string: Legal name of the brand as registered.
    - `sector` 'AGRICULTURE' | 'COMMUNICATION' | 'CONSTRUCTION' | 'EDUCATION' | 'ENERGY' | 'ENTERTAINMENT' | 'FINANCIAL' | 'GAMBLING' | 'GOVERNMENT' | 'HEALTHCARE' | 'HOSPITALITY' | 'INSURANCE' | 'MANUFACTURING' | 'NGO' | 'REAL_ESTATE' | 'RETAIL' | 'TECHNOLOGY': Industry the Brand operates in.
    - `type` 'GOVERNMENT' | 'NON_PROFIT' | 'PRIVATE_PROFIT' | 'PUBLIC_PROFIT' | 'SOLE_PROPRIETOR': Legal structure of the brand.
    - `entityType` 'LLC' | 'SOLE_PROPRIETORSHIP' | 'PARTNERSHIP' | 'CORP' | 'S_CORP': Legal entity type of the brand.
    - `website` string: Brand website URL.
  - `hasMore` boolean, required
  - `count` integer, required

## Other responses

- `400`: Validation failed. The payload has missing required fields and/or invalid types. <br> See https://zod.dev/error-formatting for more information.
- `401`: The request lacks valid authentication credentials or the provided credentials are invalid. <br> Ensure you're including a valid API key in the request headers and that your account has the necessary permissions to access this endpoint.
- `500`: An unexpected error occurred on Pinnacle's servers while processing your request. <br> If this error persists, please contact support with the request details.

---

[API](https://skmtc.dev/pinnacle/apis/pinnacle-2.md) - [All operations](https://skmtc.dev/pinnacle/apis/pinnacle-2/llms.txt) - [OpenAPI document](https://skmtc.dev/pinnacle/apis/pinnacle-2/revisions/45416dadab79?raw)
