---
title: "List All Brands"
method: GET
path: "/hvac/brands"
tags: ["hvac_search"]
---

# List All Brands

`GET /hvac/brands`

Retrieve a list of all HVAC brands.

## Response `200`

Successful Response

- Brand[]
  - `name_id` string, required
  - `name` string, required
  - `bucket` string, nullable
  - `logo_bucket_path` string, nullable
  - `series_count` integer, nullable
  - `id` string, uuid, required
  - `created_at` string, date-time, required
  - `updated_at` string, date-time, nullable
  - `series` Series[]
    - `name_id` string, required
    - `name` string, required
    - `brand_id` string, uuid, required
    - `bucket` string, nullable
    - `bucket_path` string, nullable
    - `id` string, uuid, required
    - `created_at` string, date-time, required
    - `updated_at` string, date-time, nullable
    - `brand` Brand — recursive
    - `models` Model[]
      - `model_id` string, required
      - `model` string, required
      - `series_id` string, uuid, required
      - `model_notes` string, nullable
      - `functional_parts_count` integer, nullable
      - `bucket` string, nullable
      - `logo_bucket_path` string, nullable
      - `image_bucket_path` string, nullable
      - `call_group_tags` string[], nullable
      - `calling_groups` string, nullable
      - `unlocked` boolean, nullable
      - `id` string, uuid, required
      - `created_at` string, date-time, required
      - `updated_at` string, date-time, nullable
      - `series` Series — recursive
      - `manuals` Manual[]
        - `name_id` string, required
        - `model_id` string, uuid, required
        - `bucket` string, required
        - `bucket_path` string, required
        - `type` string, nullable
        - `description` string, nullable
        - `preview_image_bucket_path` string, nullable
        - `total_pages` integer, nullable
        - `id` string, uuid, required
        - `created_at` string, date-time, required
        - `updated_at` string, date-time, nullable
        - `file_url` string, uri, nullable — Full URL to the manual file, constructed by backend
        - `preview_image_url` string, uri, nullable — Full URL to the preview image, constructed by backend
      - `parts` Part
        - `model_id` string, uuid, required
        - `total_parts` integer, nullable
        - `parts` PartDetail[], nullable — List of individual part details
          - `id` string, nullable — Part's own UUID or identifier from source system
          - `number` string, nullable
          - `type` string, nullable
          - `subtype` string, nullable
          - `description` string, nullable
          - `brand` string, nullable
          - `image_bucket_path` string, nullable
          - `subcategory` string, nullable
          - `replacements_count` integer, nullable
          - `notes` string, nullable
          - `has_detail_specifications` boolean, nullable
          - `image_url` string, uri, nullable — Full URL to the part's image, constructed by backend
        - `id` string, uuid, required
        - `created_at` string, date-time, required
        - `updated_at` string, date-time, nullable
      - `logo_url` string, uri, nullable — Full URL to the model's logo, constructed by backend
      - `image_url` string, uri, nullable — Full URL to the model's image, constructed by backend
    - `image_url` string, uri, nullable — Full URL to a representative image, constructed by backend
  - `logo_url` string, uri, nullable — Full URL to the logo, constructed by backend

## Other responses

- `404` — Not found

---

[API](https://skmtc.dev/noso/apis/crucible-backend-api.md) · [All operations](https://skmtc.dev/noso/apis/crucible-backend-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/noso/crucible-backend-api/revisions/d96feef8e2ef/schema)
