Update Brand Kit
Updates a brand kit’s name or its role assignments — which color plays which part, which logo is the main one, and which font is used for headings and body text. A field you omit is left unchanged.
Creation assigns these roles automatically, with no human in the loop, so this is how a caller corrects them.
Each role object is replaced in full rather than merged: send the roles you want to keep, since a role you leave out of the object is cleared. Send an empty object to clear a role entirely. A cleared role stays cleared and is not recomputed later. Sending null for any field is rejected: omit it to leave it unchanged.
Role edits require an assembled kit and return 409 while status is ‘loading’ or ‘error’. Renaming is allowed at any time. Editing the colors themselves is not supported here yet.
A brand kit shared into your workspace by another workspace is readable but not editable, and returns 403.
Authorizations
HeyGen API key. Obtain from your HeyGen dashboard.
Path Parameters
Unique brand kit identifier
Body
Request body for PATCH /v3/brand-kits/{brand_kit_id}.
Every field is optional and omitting one leaves it unchanged. Sending a role object with no
fields inside it ({}) clears that role, and a cleared role stays cleared — nothing recomputes
over a role the caller has deliberately emptied.
Clearing is an empty object rather than null, and null is rejected outright, so each
intention has exactly one spelling. Generated clients serialise request bodies with
exclude_none and drop a null before sending, so honouring null as "clear" would clear the
role for a caller using raw HTTP and silently do nothing for a caller using our own SDK.
New display name for the brand kit, 1-256 characters. Leading and trailing whitespace is trimmed.
1 - 256Which color plays which part, as hex values. Replaces the stored assignment in full: a role you omit from this object is cleared, so send the roles you want to keep. Send {} to clear every color role.
Which logo is the brand's main one. Replaces the stored assignment in full, like color_roles, so omitting primary clears it. Send {} to clear the logo role.
Which font plays which typographic part. Replaces the stored assignment in full, like color_roles.
Response
Successful response
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.

