Skip to content

update_brand_kit

brand:write

Save changes to the workspace's brand kit: colours, fonts, logo, tagline and website. Only the fields you pass change; pass null to clear one. Confirm the values with the user first, usually after find_brand_kit_on_website, whose suggestion is already in this tool's input shape. logo: {url} imports a public SVG, PNG, JPEG or WebP (up to 5 MB) into the workspace; {assetId} uses an image already there. dryRun: true checks everything and returns the would-be kit and warnings without saving.

Returns the saved kit, what changed and any warnings; a refused call saves nothing and lists every bad field so you can fix them in one retry. Spends no credits.

Input

  • colorsobject

    Named colour roles. Only the roles you pass change.

    Fields
    • primarystring | null

      Main brand colour: CTA pills, highlights. Hex like #5A3FE0 (or #RGB); null clears it.

    • secondarystring | null

      Second brand colour, paired with primary in gradients. Hex like #5A3FE0 (or #RGB); null clears it.

    • accentstring | null

      Accent for small highlights. Hex like #5A3FE0 (or #RGB); null clears it.

    • backgroundstring | null

      Dark-theme background, e.g. #151925. Hex like #5A3FE0 (or #RGB); null clears it.

  • headingFontstring | null

    Heading font family, e.g. "Manrope" (1-80 chars). null clears it.

  • bodyFontstring | null

    Body font family. null clears it.

  • logoobject | null

    {url}: a public http(s) link to an SVG, PNG, JPEG or WebP logo (at most 5 MB); the server downloads it and stores a sanitised copy in the workspace. {assetId}: an image already in the workspace, such as a create_branded_image asset. null removes the logo.

  • taglinestring | null

    Up to 200 characters. null clears it.

  • websitestring | null

    http(s) URL. null clears it.

  • ifUpdatedAtstring

    The updatedAt you last read. If the kit changed since, nothing is saved and the current kit is returned.

  • dryRunboolean

    Validate and return the would-be kit and warnings without saving.

Permission

Needs the brand:write scope: update your brand kit. It changes your workspace, so clients may ask you to confirm each call.

Example call

Your assistant sends this for you. It is shown so you can see the shape of a call, with placeholder values for the required fields.

tools/call
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "update_brand_kit",
"arguments": {}
}
}

Same action over the REST API

The tool runs PATCH /v1/orgs/{orgId}/brand/kit as the signed-in user, with the same validation, approval rules and limits. See it in the Brand API reference.