---
title: "Update a brand kit"
description: "Edit a profile: voice, tone, description, industry, website, core pages, the palette and logo candidates (extracted), and the pinned graphics (library images, img_…). `PATCH /api/v1/brand-kits/{id}`"
url: https://www.unitpost.com/docs/email/patch-brand-kits-id
section: "Email API reference"
updated: 2026-10-13
---
# Update a brand kit

`PATCH /api/v1/brand-kits/{id}`

Edit a profile: voice, tone, description, industry, website, core pages, the palette and logo candidates (`extracted`), and the pinned graphics (library images, `img_…`). Only the fields sent change; a list replaces the list; `null` or `""` clears a text field. `sync_visual` on the default profile also sets the email branding's accent from these colors. Requires the `branding:write` capability.

## Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `id` | path | string | yes | — |

## Request body

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `name` | string | no | — |
| `website_url` | string \| null | no | An https URL; `null` or `""` clears it. |
| `description` | string \| null | no | What the brand does. |
| `tone` | enum \| null | no | — |
| `voice_notes` | string \| null | no | Dos and don'ts for writing in this voice. |
| `industry` | string \| null | no | The brand's industry. |
| `core_pages` | object[] | no | Replaces the list. |
| `extracted` | object | no | The palette, logo and background candidates, fonts. Replaces the set. |
| `graphics` | object[] | no | The pinned library images (`img_…`). Replaces the list. |
| `sync_visual` | boolean | no | On the default profile, also set the email branding's accent from these colors (no change on another profile, or without a usable accent). |

## Response fields (200)

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `object` | string | yes | — |
| `id` | string | yes | — |
| `name` | string | yes | — |
| `is_default` | boolean | yes | — |
| `website_url` | string \| null | yes | — |
| `description` | string \| null | yes | — |
| `tone` | enum \| null | yes | — |
| `voice_notes` | string \| null | yes | — |
| `industry` | string \| null | yes | — |
| `core_pages` | object[] | yes | — |
| `extracted` | object | yes | — |
| `graphics` | object[] | yes | — |
| `source` | string \| null | yes | — |
| `updated_at` | string \| null | yes | — |

## Responses

| Status | Description |
| --- | --- |
| 200 | The profile. |
| 400 | The body isn't JSON. |
| 401 | Missing or invalid API key. |
| 403 | Insufficient scope (`branding:write` is opt-in on a key). |
| 404 | Brand kit not found. |
| 409 | Another profile has that name. |
| 422 | An invalid value, a graphic that isn't this workspace's image, no field to change, or an unknown key. |
| 429 | Too many Brand Kit changes; retry after the wait. |

## Example request

```bash
curl -X PATCH 'https://www.unitpost.com/api/v1/brand-kits/bk_123' \
  -H 'Authorization: Bearer YOUR_API_KEY' \
  -H 'User-Agent: my-app/1.0' \
  -H 'Content-Type: application/json' \
  -d '{ }'
```

## Example response (200)

```json
{
  "object": "brand_kit",
  "id": "id_123",
  "name": "Example",
  "is_default": false,
  "website_url": "https://example.com",
  "description": "string",
  "tone": "NEUTRAL",
  "voice_notes": "string",
  "industry": "string",
  "core_pages": [
    {
      "url": "https://example.com",
      "title": "string"
    }
  ],
  "extracted": {
    "colors": [
      {
        "hex": "string",
        "label": "string"
      }
    ],
    "logo_urls": [
      "string"
    ],
    "background_urls": [
      "string"
    ],
    "fonts": [
      "string"
    ]
  },
  "graphics": [
    {
      "library_image_id": "library_image_123",
      "image_id": "image_123",
      "path": "string",
      "role": "logo",
      "label": "string"
    }
  ],
  "source": "string",
  "updated_at": "2026-01-01T00:00:00.000Z"
}
```

## Links

- HTML reference (with Node.js, Python, Ruby, PHP, Laravel, Go, Java, Rust, .NET and CLI examples): https://www.unitpost.com/docs/email/patch-brand-kits-id
- OpenAPI 3.1 (full schemas): https://www.unitpost.com/api/v1/openapi.json
