# Update branding property

Update a single branding property for a workspace or organization.
This endpoint uses a property-name/value pattern — each call updates one property at a time.
**Supported `propertyName` values:**
| `propertyName` | Type | Description |
|  --- | --- | --- |
| `logo` | `string` (URL) | Primary logo URL |
| `logoW` | `string` (URL) | White/light logo URL |
| `colors` | `object` | Brand color palette |
| `company` | `object` | Company metadata (name, domain, etc.) |
| `about` | `string` | About text used in AI video scripts |
| `pronunciations` | `array` | Custom pronunciation rules for AI voiceover |
| `enabled` | `boolean` | Enable or disable branding |

For `colors`, pass an object with `colorPrimary`, `colorSecondary`, and `colorExtra` hex values.
See the examples below for common update patterns.

Endpoint: PUT /auth/branding/entity
Version: 1.2.0
Security: ShuffllApiKey

## Request fields (application/json):

  - `workspace` (object)
    Target workspace. Required if updating workspace branding.

  - `workspace.id` (string)
    Workspace identifier
    Example: 693fb82afd8d1c43077ba0fe

  - `organization` (object)
    Target organization. Required if updating organization branding (and no workspace is specified).

  - `organization.id` (string)
    Organization identifier
    Example: 693fb82afd8d1c43077ba0fb

  - `propertyName` (string, required)
    The branding property to update
    Enum: "logo", "logoW", "colors", "company", "about", "pronunciations", "enabled"

  - `propertyValue` (any, required)
    The new value for the property. Shape depends on `propertyName`:
- `logo` / `logoW`: `string` (URL)
- `colors`: `{ colorPrimary: string, colorSecondary: string, colorExtra: string }`
- `company`: `{ name: string, domain: string, geoLocation?: string }`
- `about`: `string`
- `pronunciations`: `array` of pronunciation objects
- `enabled`: `boolean`
    Example: {"colorPrimary":"#1a1a2e","colorSecondary":"#16213e","colorExtra":"#0f3460"}

  - `socketIdToExclude` (string)
    Optional socket ID to exclude from real-time update notifications

## Response 400 fields (application/problem+json):

  - `type` (string)
    Example: object

  - `title` (string)
    Example: Validation failed

  - `message` (string)
    Example: Bad Request

## Response 401 fields (application/problem+json):

  - `type` (string)
    Example: object

  - `title` (string)
    Example: Validation failed

  - `message` (string)
    Example: Bad Request

## Response 404 fields (application/problem+json):

  - `type` (string)
    Example: object

  - `title` (string)
    Example: Validation failed

  - `message` (string)
    Example: Bad Request

