---
title: "Get Brand Kit"
method: GET
path: "/v3/brand-kits/{brand_kit_id}"
tags: ["Brand"]
---

# Get Brand Kit

`GET /v3/brand-kits/{brand_kit_id}`

## Request

- Base URL: `https://api.heygen.com`
- URL: `https://api.heygen.com/v3/brand-kits/{brand_kit_id}`
- Auth: one of:
  - API key in header `x-api-key`
  - HTTP bearer

Returns one brand kit with its colors, logos and fonts and the role each plays. While status is `loading` these are provisional; poll every 2 to 5 seconds until status is `completed`.

## Path parameters

- `brand_kit_id` string, required

## Response `200`

Successful response

- object
  - `data` BrandKitDetail: A single brand kit with its colors, logos and fonts. A brand kit imported from a website is assembled in the background. While `status` is `loading` the collections and role fields are provisional and may be empty or incomplete; the import has finished contributing to them once `status` is `completed`. A kit whose import failed reports `error` and keeps whatever was assembled before the failure. A kit can still be edited in the HeyGen web app afterwards, so `completed` means the import is done, not that the kit is frozen.
    - `brand_kit_id` string, required: Unique brand kit identifier.
    - `name` string, required: Display name of the brand kit.
    - `status` 'loading' | 'completed' | 'error', required: Assembly status: 'loading' while the kit is still being built, 'completed' when it is ready, or 'error' if the import failed.
    - `colors` string[]: Brand colors as hex values, e.g. '#FF5733'. A color playing a role may sit outside this list — see color_roles — so do not treat it as the full set of colors the kit references.
    - `color_roles` BrandKitColorRoles: Which color plays which part in the brand's visual system, as hex values. A role may name a color that is not present in `colors`: the palette lists the brand's core swatches, while a role such as `tertiary` can point at a supporting surface color outside them.
      - `primary` string, nullable: Primary brand color.
      - `secondary` string, nullable: Secondary brand color.
      - `tertiary` string, nullable: Tertiary brand color.
      - `accent` string, nullable: Accent color, used for highlights and calls to action.
    - `logos` BrandKitLogo[]: Logos belonging to the brand kit.
      - `logo_id` string, required: Unique logo identifier. The logo named by logo_roles.primary is the brand's main logo.
      - `name` string, nullable: Display name of the logo.
      - `url` string, nullable: URL of the logo image. Absent if the logo has no stored file yet.
    - `logo_roles` BrandKitLogoRoles: Which logo is the brand's main one. Deleting a logo does not clear the role that named it, so this can reference a logo_id absent from `logos`. Match by id and handle the miss rather than assuming a lookup succeeds.
      - `primary` string, nullable: Identifier of the primary logo. Names a logo_id in `logos` unless that logo has since been deleted.
    - `fonts` BrandKitFont[]: Fonts belonging to the brand kit.
      - `font_id` string, required: Unique font identifier. A font_roles entry usually names one of these, but see font_roles for when it does not.
      - `name` string, nullable: Font family name.
    - `font_roles` BrandKitFontRoles: Which font plays which typographic part. Deleting a font does not clear the role that named it, so a role's font_id can be absent from `fonts`. Match by id and handle the miss rather than assuming a lookup succeeds.
      - `title_text` BrandKitFontRole: A font assigned to one typographic role.
        - `font_id` string, nullable: Identifier of the assigned font.
        - `weight` integer, nullable: Font weight, e.g. 400 for regular or 700 for bold.
      - `body_text` BrandKitFontRole: A font assigned to one typographic role.
        - `font_id` string, nullable: Identifier of the assigned font.
        - `weight` integer, nullable: Font weight, e.g. 400 for regular or 700 for bold.

## Other responses

- `400`: Invalid request parameters
- `401`: Authentication failed
- `404`: Resource not found
- `429`: Rate limit exceeded

## Changes

- **2026-11-03** `7dfa5e59b4f5`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/heygen/apis/heygen-external-api/changes/v3/brand-kits/:brand_kit_id/get.md)

---

[API](https://skmtc.dev/heygen/apis/heygen-external-api.md) - [All operations](https://skmtc.dev/heygen/apis/heygen-external-api/llms.txt) - [OpenAPI document](https://skmtc.dev/heygen/apis/heygen-external-api/revisions/7dfa5e59b4f5?raw)
