Set brand kit
set_brand_kitSave the active workspace's brand kit, replacing the one it has: the palette by role, the heading and body fonts, the logo and mark, the language and locale, the tone and the phrases never to use, and the look (style: radius, density, emphasis, cover and surfaces, each from a small set, read off the site the way the colours are). Build it from what the person gives you (a brand guideline PDF, their website, or answers), show it to them as a table and get a yes BEFORE calling this. Colours are #rrggbb for every role: primary, primaryStrong, secondary, accent, ink, muted, line, surface, surfaceTint, onPrimary, onSecondary, positive, negative (positive and negative, the green and red for a change for the better or the worse, may be left out and get sensible defaults). Fonts are one family name each, a system family or a Google Fonts family name (font_source: "google"; publishing then allows Google Fonts on the site). logo_url and mark_url are https URLs of a PNG, SVG or WebP under 1 MB on a public site (the customer's own website is the usual source): SnapHost fetches and hosts them, so the kit's asset URLs are SnapHost's, never the source. A first save needs a logo; a later one keeps the assets it has unless given new ones. Relay every warnings entry (low contrast is the usual one) and offer to fix it. Owner or admin only, on Pro. The brand guidelines themselves (a page or PDF) are set apart, with set_brand_guidelines.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | The brand name, e.g. "Garðabær" | |
| tone | No | Up to eight sentences describing how the brand writes | |
| style | No | The look, read off the site: radius from its buttons and cards, density from its white space, emphasis from its display type (calm or bold headlines), cover from its hero, surfaces from whether it boxes content in tinted panels or separates it with rules. Leave `style` out on a later save to keep the look the kit has; a first save without it takes the neutral look (soft, regular, calm, dark, tinted). | |
| locale | Yes | Locale for numbers and dates, e.g. "is-IS" | |
| tokens | Yes | A #rrggbb colour for every role: primary, primaryStrong, secondary, accent, ink, muted, line, surface, surfaceTint, onPrimary, onSecondary, positive, negative | |
| language | Yes | Language code, e.g. "is" | |
| logo_svg | No | The logo as SVG markup (the <svg>…</svg> drawn inline in the site’s HTML), when no file URL exists; at most 200 KB | |
| logo_url | No | https URL of the logo (PNG, SVG or WebP) | |
| mark_svg | No | The mark as SVG markup, when no file URL exists | |
| mark_url | No | https URL of the small mark or emblem; the logo when omitted | |
| body_font | Yes | The body family | |
| font_source | Yes | Where the fonts come from | |
| heading_font | Yes | The heading family | |
| workspace_id | No | Optional: the workspace to act in, from list_workspaces (the connection reaches the person's personal space and every workspace they are a member of). Required on a write when the connection reaches more than one workspace. Omit to act in the personal space (for an older single-workspace connection, the one workspace it was authorized for). | |
| forbidden_phrases | No | Up to forty words or phrases the brand never uses |