---
title: "Set our brand colours, fonts and tone of voice"
method: PUT
path: "/v1/brand"
tags: ["Brand"]
---

# Set our brand colours, fonts and tone of voice

`PUT /v1/brand`

## Request

- Base URL: `https://infoslides.app`
- URL: `https://infoslides.app/v1/brand`
- Auth: none declared

Replaces the draft guide with the one sent (send the whole guide: `{"palette": {"primary": "#0a5c36", "accent": "#e11d48", "background": "#ffffff", "text": "#111827"}, "type": {"headingFontKey": "montserrat"}, "voice": {"tone": "Friendly", "preferredPhrases": ["Welcome"]}, "layout": {"logoPosition": "top-right"}}`). Colours are `#rrggbb`; low text contrast comes back as a warning. The draft is never used for slides until a person confirms it on the Brand page (`brandPageUrl`); an agent cannot confirm. Needs workspace-admin rights. Nothing is read from files: values are typed, never inferred.

## Request body

- TenantBrandGuideConfig
  - `palette` BrandPalette
    - `primary` string, nullable
    - `secondary` string, nullable
    - `accent` string, nullable
    - `background` string, nullable
    - `text` string, nullable
    - `extra` BrandExtraColor[], nullable
      - `name` string, nullable
      - `hex` string, nullable
      - `role` string, nullable
  - `type` BrandType
    - `headingFontKey` string, nullable
    - `bodyFontKey` string, nullable
  - `logos` BrandLogos
    - `lightBackgroundAssetId` string, uuid, nullable
    - `darkBackgroundAssetId` string, uuid, nullable
    - `iconAssetId` string, uuid, nullable
    - `clearSpacePercent` integer, nullable
  - `voice` BrandVoice
    - `tone` 'Friendly' | 'Formal' | 'Playful' | 'Minimal'
    - `language` string, nullable
    - `readingLevel` string, nullable
    - `preferredPhrases` string[], nullable
    - `bannedPhrases` string[], nullable
    - `priceNotes` string, nullable
    - `dateNotes` string, nullable
    - `nameNotes` string, nullable
  - `imagery` BrandImagery
    - `styleNote` string, nullable
    - `subjectsToAvoid` string[], nullable
  - `layout` BrandLayout
    - `logoPosition` string, nullable
    - `headerBand` boolean, nullable
    - `safeMarginPercent` integer, nullable
  - `reference` BrandReference
    - `fileAssetId` string, uuid, nullable
  - `checks` BrandChecks
    - `palette` boolean, nullable
    - `contrast` boolean, nullable
    - `logo` boolean, nullable
    - `bannedPhrases` boolean, nullable
    - `fonts` boolean, nullable
  - `keepStaffInside` boolean, nullable

## Response `200`

OK

---

[API](https://skmtc.dev/infoslides/apis/infoslides-agent-api.md) · [All operations](https://skmtc.dev/infoslides/apis/infoslides-agent-api/llms.txt) · [OpenAPI document](https://skmtc.dev/infoslides/apis/infoslides-agent-api/revisions/d15bb7f8ee9d?raw)
