# Update brand settings

URL: /en/docs/api/v1/brand/patch
Last Updated: 2026-07-30T21:15:44.936Z

## Description
No description available.

## Available Actions
- Execute PATCH request
- View request parameters
- View response schema
- Get code examples
- Navigate to related topics
- View step-by-step instructions
- Get best practices

## Content
### PATCH /api/v1/brand

**Update brand settings**

Update tenant brand settings including colors, fonts, text content, and footer configuration.

**Authentication:** Bearer token (`Authorization: Bearer <token>`)

**Request body** (`application/json`) - required:

- `title` (string): Trust center title
- `contact_email` (object): Email address shown for Trust Center contact requests. Send an empty string or `null` to clear it.
- `primary_color` (string): Primary brand color in hex format
- `background_color` (string): Background color in hex format
- `text_color` (string): Text color in hex format
- `font_family` (string): Font family for the trust center
- `locale` (enum: en | de | fr | ja | ko | zh): Enabled content locale to update. If omitted, the tenant default locale is updated.
- `brand_extended` (object): JSON field for advanced styling; accepts raw CSS string or an object with `css` (max 50,000 characters) and is sanitized server-side. Use cautiously to avoid breaking layout.

  - `css` (string)
- `overview_text` (string): Overview text displayed on the trust center
- `overview_text_2` (string): Optional second column of overview content displayed alongside the primary overview
- `footer_text` (string): Footer text
- `email_footer` (string): Optional transactional email legal footer. Default-locale writes update the tenant record; non-default-locale writes update that locale's tenant translation. Reads fall back to the default-locale tenant footer when the selected translation is missing or blank. Input is trimmed server-side. Supports multiline text, bold, italic, and http/https/mailto Markdown links; headings, lists, tables, raw HTML, images, and reference links render as plain text or are stripped.
- `footer_links` (array of FooterLink (object)): Footer navigation links
  - `id` (string, required): Unique identifier for the link
  - `text` (string, required): Display text for the link
  - `url` (string (uri), required): URL the link points to
- `faqs` (array of Faq (object)): Complete FAQ list for the selected locale. Default-locale writes update the tenant record. Non-default locale writes update the tenant translation for that locale.
  - `question` (string, required)
  - `answer` (string, required)

Example (Update basic brand colors):

```json
{
  "title": "Acme Trust Center",
  "primary_color": "#007bff",
  "background_color": "#ffffff",
  "text_color": "#0f172a",
  "font_family": "Inter, sans-serif"
}
```

Example (Complete brand configuration):

```json
{
  "title": "Acme Security Trust Center",
  "contact_email": "security@acme.com",
  "primary_color": "#0066cc",
  "background_color": "#f8f9fa",
  "text_color": "#111827",
  "font_family": "Roboto, sans-serif",
  "overview_text": "Welcome to our comprehensive security and compliance trust center",
  "overview_text_2": "Privacy, reliability, and availability you can depend on",
  "footer_text": "© 2025 Acme Corporation. All rights reserved.",
  "email_footer": "Acme GmbH | Example Street 1, 20459 Hamburg | [acme.example](https://acme.example)\n\n**Managing Director:** Jane Doe | VAT ID: DE123456789\n",
  "footer_links": [
    {
      "id": "privacy",
      "text": "Privacy Policy",
      "url": "https://acme.com/privacy"
    },
    {
      "id": "terms",
      "text": "Terms of Service",
      "url": "https://acme.com/terms"
    }
  ],
  "brand_extended": {
    "css": ".powered-by { display: block !important; } .trust-center-shell { background: #f7fafc; }"
  }
}
```

Example (Update German FAQ content):

```json
{
  "locale": "de",
  "faqs": [
    {
      "question": "Wie kann ich Zugriff auf Dokumente anfordern?",
      "answer": "Melden Sie sich an und senden Sie eine Zugriffsanfrage."
    }
  ]
}
```

Example (Send custom CSS as a raw string):

```json
{
  "title": "Acme Trust Center",
  "primary_color": "#1a73e8",
  "background_color": "#ffffff",
  "text_color": "#1f2937",
  "font_family": "Open Sans, Arial, sans-serif",
  "brand_extended": ".trust-center-shell { background: #f7fafc; }"
}
```

Example (Update with custom font):

```json
{
  "title": "Acme Trust Center",
  "primary_color": "#1a73e8",
  "background_color": "#ffffff",
  "text_color": "#1f2937",
  "font_family": "Open Sans, Arial, sans-serif"
}
```

Example (Advanced CSS styling with cards, tabs, and markdown):

```json
{
  "title": "Acme Trust Center",
  "primary_color": "#2563eb",
  "background_color": "#ffffff",
  "text_color": "#0f172a",
  "font_family": "Inter, sans-serif",
  "brand_extended": {
    "css": "/* Soften page background and cards */\n.trust-center-shell[data-tc-surface] {\n  background: radial-gradient(circle at 20% 20%, #eef3ff, #ffffff 40%);\n}\n\n[data-tc-tabs-root] {\n  border: 1px solid hsl(var(--border));\n  border-radius: 10px;\n  background: hsl(var(--card));\n}\n[data-tc-tab-trigger][data-state=\"active\"] {\n  border: 1px solid hsl(var(--primary));\n  background: hsl(var(--primary) / 0.08);\n  color: hsl(var(--primary));\n}\n\n.trust-center-shell .card {\n  border-radius: 18px;\n  box-shadow: 0 16px 40px -24px rgba(0, 0, 0, 0.25);\n}\n\n/* Typography tweaks for markdown */\n.markdown-viewer h2 {\n  font-size: 1.35rem;\n  letter-spacing: -0.01em;\n  color: hsl(var(--primary));\n}\n\n.markdown-viewer a {\n  text-decoration: underline;\n  text-decoration-thickness: 2px;\n  text-underline-offset: 4px;\n}\n\n/* Badge styling */\n.badge,\n.badge-outline {\n  border-radius: 12px;\n  text-transform: uppercase;\n  letter-spacing: 0.05em;\n}\n\n/* Overview panels */\n[data-tc-tab-panel=\"overview\"] [data-tc-overview-category],\n[data-tc-overview-resources],\n[data-tc-overview-compliance],\n[data-tc-overview-subprocessors],\n[data-tc-overview-faq] {\n  border: 1px solid hsl(var(--border));\n  border-radius: 18px;\n  box-shadow: 0 14px 36px -24px rgba(0, 0, 0, 0.22);\n  background: hsl(var(--card));\n}\n"
  }
}
```

**Responses:**

- `200` - Brand settings updated successfully
  - `success` (boolean)
  - `data` (object)
    - `message` (string)
- `400` - Bad Request - validation failed
  - `error` (string): Validation error message

  Example (Invalid color format):
  
  ```json
  {
  "error": "Invalid input: primary_color: Invalid hex color format"
}
  ```

  Example (Missing title):
  
  ```json
  {
  "error": "Invalid input: title: Title is required"
}
  ```
- `401` - Unauthorized
- `403` - Forbidden - Admin role required
- `500` - Internal server error

**Code samples:**

cURL:

```bash
curl -X PATCH "https://app.orbiqhq.com/api/v1/brand" \
  -H "Authorization: Bearer $ACCESS_TOKEN" \
  -H "Content-Type: application/json"
```

