Skip to main content
Glama

Update Brand

update_brand
Destructive

Modify an existing Wistia brand's colors, logos, fonts, and styling; only supplied fields change, and changes propagate to all applied content.

Instructions

Updates a brand. Only the fields you send are changed; send an explicit null to unset one. Renaming the account-level default brand is ignored : its name is managed by Wistia.

Changes propagate to everything the brand is applied to.

Requires api token with one of the following permissions

All data

Tokens with the "Act with a team member's permissions" permission (all:delegate_to_contact_permissions scope) can also be used. Requests made with such a token are authorized using the permissions of the contact assigned to the token. Requires confirm=true for the requested mutation. May share access, notify people or incur provider charges.

Input Schema

NameRequiredDescriptionDefault
nameNoThe brand's display name. Renaming the account-level default brand is ignored; its name is managed by Wistia.
accountNoNamed private Wistia account; selects credentials, not a remote account ID.
confirmNoSet true only when the user asked for exactly this action.
payloadNoComplete JSON request body instead of body flags. Supports current nested customization, caption and nullable values.
brand_idYesThe id of the brand
page_logoNo
player_logoNo
payload_fileNoRegular local JSON body file, at most 5 MB. Cannot be mixed with body flags or payload.
border_radiusNoThe border radius in pixels for rounded corners.
primary_colorNo
contrast_iconsNoControls whether the player icon color is always white or uses an accessible contrast color when necessary.
opaque_controlsNoControls the opacity of the video player control bar and big play button.
body_font_familyNoThe brand font family for body text.
button_font_familyNoThe brand font family for buttons.
headline_font_familyNoThe brand font family for headlines.
page_background_colorNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed38 schema fields changedv3.0.0
    • addedInput schema / $defs
      Added value: +{
      +  "page_background_color": {
      +    "description": "The brand color used for page backgrounds. Either a hex color string or a gradient represented as an array of [hexColor, percentage] tuples.",
      +    "oneOf": [
      +      {
      +        "type": "string"
      +      },
      +      {
      +        "items": {
      +          "items": {},
      +          "type": "array"
      +        },
      +        "type": "array"
      +      },
      +      {
      +        "type": "null"
      +      }
      +    ],
      +    "unevaluatedProperties": false
      +  },
      +  "page_logo": {
      +    "description": "The brand logo used for pages. `url` must be a Wistia delivery URL — see the note on uploading below. On accounts without custom branding the player logo is ignored, but the page logo is always applied.",
      +    "properties": {
      +      "dimensions": {
      +        "properties": {
      +          "height": {
      +            "type": "integer"
      +          },
      +          "width": {
      +            "type": "integer"
      +          }
      +        },
      +        "type": [
      +          "object",
      +          "null"
      +        ],
      +        "unevaluatedProperties": false
      +      },
      +      "size": {
      +        "description": "The size multiplier of the logo.",
      +        "type": [
      +          "number",
      +          "null"
      +        ]
      +      },
      +      "url": {
      +        "$ref": "#/$defs/url"
      +      }
      +    },
      +    "type": [
      +      "object",
      +      "null"
      +    ],
      +    "unevaluatedProperties": false
      +  },
      +  "player_logo": {
      +    "description": "The brand logo used for the player. `url` must be a Wistia delivery URL — see the note on uploading below. Ignored on accounts whose plan doesn't include custom branding.",
      +    "properties": {
      +      "dimensions": {
      +        "properties": {
      +          "height": {
      +            "type": "integer"
      +          },
      +          "width": {
      +            "type": "integer"
      +          }
      +        },
      +        "type": [
      +          "object",
      +          "null"
      +        ],
      +        "unevaluatedProperties": false
      +      },
      +      "size": {
      +        "description": "The size multiplier of the logo.",
      +        "type": [
      +          "number",
      +          "null"
      +        ]
      +      },
      +      "url": {
      +        "$ref": "#/$defs/url"
      +      }
      +    },
      +    "type": [
      +      "object",
      +      "null"
      +    ],
      +    "unevaluatedProperties": false
      +  },
      +  "primary_color": {
      +    "description": "The primary brand color, used for primary buttons and the player playbar. Either a hex color string or a gradient represented as an array of [hexColor, percentage] tuples.",
      +    "oneOf": [
      +      {
      +        "type": "string"
      +      },
      +      {
      +        "items": {
      +          "items": {},
      +          "type": "array"
      +        },
      +        "type": "array"
      +      },
      +      {
      +        "type": "null"
      +      }
      +    ],
      +    "unevaluatedProperties": false
      +  },
      +  "url": {
      +    "description": "The Wistia delivery URL of the logo image, e.g. `https://embed-ssl.wistia.com/deliveries/abc123def456.png`. When writing, this must reference an image already in the account; the API cannot upload one.",
      +    "type": "string"
      +  }
      +}
    • changedInput schema / properties / confirm / description
      Previous value: -"Must be true for the specific user-requested write."New value: +"Set true only when the user asked for exactly this action."
    • addedInput schema / properties / page_background_color / $ref
      Added value: +"#/$defs/page_background_color"
    • removedInput schema / properties / page_background_color / description
      Removed value: -"The brand color used for page backgrounds. Either a hex color string or a gradient represented as an array of [hexColor, percentage] tuples."
    • removedInput schema / properties / page_background_color / oneOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "items": {
      -      "items": {},
      -      "type": "array"
      -    },
      -    "type": "array"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • removedInput schema / properties / page_background_color / unevaluatedProperties
      Removed value: -false
    • addedInput schema / properties / page_logo / $ref
      Added value: +"#/$defs/page_logo"
    • removedInput schema / properties / page_logo / description
      Removed value: -"The brand logo used for pages. `url` must be a Wistia delivery URL — see the note on uploading below. On accounts without custom branding the player logo is ignored, but the page logo is always applied."
    • removedInput schema / properties / page_logo / properties
      Removed value: -{
      -  "dimensions": {
      -    "properties": {
      -      "height": {
      -        "type": "integer"
      -      },
      -      "width": {
      -        "type": "integer"
      -      }
      -    },
      -    "type": [
      -      "object",
      -      "null"
      -    ],
      -    "unevaluatedProperties": false
      -  },
      -  "size": {
      -    "description": "The size multiplier of the logo.",
      -    "type": [
      -      "number",
      -      "null"
      -    ]
      -  },
      -  "url": {
      -    "description": "The Wistia delivery URL of the logo image, e.g. `https://embed-ssl.wistia.com/deliveries/abc123def456.png`. When writing, this must reference an image already in the account; the API cannot upload one.",
      -    "type": "string"
      -  }
      -}
    • removedInput schema / properties / page_logo / type
      Removed value: -[
      -  "object",
      -  "null"
      -]
    • removedInput schema / properties / page_logo / unevaluatedProperties
      Removed value: -false
    • addedInput schema / properties / payload / properties / page_background_color / $ref
      Added value: +"#/$defs/page_background_color"
    • removedInput schema / properties / payload / properties / page_background_color / description
      Removed value: -"The brand color used for page backgrounds. Either a hex color string or a gradient represented as an array of [hexColor, percentage] tuples."
    • removedInput schema / properties / payload / properties / page_background_color / oneOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "items": {
      -      "items": {},
      -      "type": "array"
      -    },
      -    "type": "array"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • removedInput schema / properties / payload / properties / page_background_color / unevaluatedProperties
      Removed value: -false
    • addedInput schema / properties / payload / properties / page_logo / $ref
      Added value: +"#/$defs/page_logo"
    • removedInput schema / properties / payload / properties / page_logo / description
      Removed value: -"The brand logo used for pages. `url` must be a Wistia delivery URL — see the note on uploading below. On accounts without custom branding the player logo is ignored, but the page logo is always applied."
    • removedInput schema / properties / payload / properties / page_logo / properties
      Removed value: -{
      -  "dimensions": {
      -    "properties": {
      -      "height": {
      -        "type": "integer"
      -      },
      -      "width": {
      -        "type": "integer"
      -      }
      -    },
      -    "type": [
      -      "object",
      -      "null"
      -    ],
      -    "unevaluatedProperties": false
      -  },
      -  "size": {
      -    "description": "The size multiplier of the logo.",
      -    "type": [
      -      "number",
      -      "null"
      -    ]
      -  },
      -  "url": {
      -    "description": "The Wistia delivery URL of the logo image, e.g. `https://embed-ssl.wistia.com/deliveries/abc123def456.png`. When writing, this must reference an image already in the account; the API cannot upload one.",
      -    "type": "string"
      -  }
      -}
    • removedInput schema / properties / payload / properties / page_logo / type
      Removed value: -[
      -  "object",
      -  "null"
      -]
    • removedInput schema / properties / payload / properties / page_logo / unevaluatedProperties
      Removed value: -false
    • addedInput schema / properties / payload / properties / player_logo / $ref
      Added value: +"#/$defs/player_logo"
    • removedInput schema / properties / payload / properties / player_logo / description
      Removed value: -"The brand logo used for the player. `url` must be a Wistia delivery URL — see the note on uploading below. Ignored on accounts whose plan doesn't include custom branding."
    • removedInput schema / properties / payload / properties / player_logo / properties
      Removed value: -{
      -  "dimensions": {
      -    "properties": {
      -      "height": {
      -        "type": "integer"
      -      },
      -      "width": {
      -        "type": "integer"
      -      }
      -    },
      -    "type": [
      -      "object",
      -      "null"
      -    ],
      -    "unevaluatedProperties": false
      -  },
      -  "size": {
      -    "description": "The size multiplier of the logo.",
      -    "type": [
      -      "number",
      -      "null"
      -    ]
      -  },
      -  "url": {
      -    "description": "The Wistia delivery URL of the logo image, e.g. `https://embed-ssl.wistia.com/deliveries/abc123def456.png`. When writing, this must reference an image already in the account; the API cannot upload one.",
      -    "type": "string"
      -  }
      -}
    • removedInput schema / properties / payload / properties / player_logo / type
      Removed value: -[
      -  "object",
      -  "null"
      -]
    • removedInput schema / properties / payload / properties / player_logo / unevaluatedProperties
      Removed value: -false
    • addedInput schema / properties / payload / properties / primary_color / $ref
      Added value: +"#/$defs/primary_color"
    • removedInput schema / properties / payload / properties / primary_color / description
      Removed value: -"The primary brand color, used for primary buttons and the player playbar. Either a hex color string or a gradient represented as an array of [hexColor, percentage] tuples."
    • removedInput schema / properties / payload / properties / primary_color / oneOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "items": {
      -      "items": {},
      -      "type": "array"
      -    },
      -    "type": "array"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • removedInput schema / properties / payload / properties / primary_color / unevaluatedProperties
      Removed value: -false
    • addedInput schema / properties / player_logo / $ref
      Added value: +"#/$defs/player_logo"
    • removedInput schema / properties / player_logo / description
      Removed value: -"The brand logo used for the player. `url` must be a Wistia delivery URL — see the note on uploading below. Ignored on accounts whose plan doesn't include custom branding."
    • removedInput schema / properties / player_logo / properties
      Removed value: -{
      -  "dimensions": {
      -    "properties": {
      -      "height": {
      -        "type": "integer"
      -      },
      -      "width": {
      -        "type": "integer"
      -      }
      -    },
      -    "type": [
      -      "object",
      -      "null"
      -    ],
      -    "unevaluatedProperties": false
      -  },
      -  "size": {
      -    "description": "The size multiplier of the logo.",
      -    "type": [
      -      "number",
      -      "null"
      -    ]
      -  },
      -  "url": {
      -    "description": "The Wistia delivery URL of the logo image, e.g. `https://embed-ssl.wistia.com/deliveries/abc123def456.png`. When writing, this must reference an image already in the account; the API cannot upload one.",
      -    "type": "string"
      -  }
      -}
    • removedInput schema / properties / player_logo / type
      Removed value: -[
      -  "object",
      -  "null"
      -]
    • removedInput schema / properties / player_logo / unevaluatedProperties
      Removed value: -false
    • addedInput schema / properties / primary_color / $ref
      Added value: +"#/$defs/primary_color"
    • removedInput schema / properties / primary_color / description
      Removed value: -"The primary brand color, used for primary buttons and the player playbar. Either a hex color string or a gradient represented as an array of [hexColor, percentage] tuples."
    • removedInput schema / properties / primary_color / oneOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "items": {
      -      "items": {},
      -      "type": "array"
      -    },
      -    "type": "array"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • removedInput schema / properties / primary_color / unevaluatedProperties
      Removed value: -false
  2. First observedv2.0.0

TDQS

A4.1/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Adds real behavior beyond the annotations: only sent fields change, explicit null unsets a field, renames of the account-level default brand are silently ignored, and changes propagate to everything the brand is applied to. The annotations already declare destructive/not-idempotent/openWorld, so this text supplements rather than repeats them.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loads the core operation and the two most important behavioral rules, then the required permission/confirm block. The rename-is-ignored caveat is duplicated verbatim in the schema, and the permission boilerplate is lengthy, but nothing is seriously misplaced.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 16-parameter, nested-object mutation with no output schema and destructive annotation, the description covers the mutation semantics, side effects (propagation), the auth/confirm prerequisites, and the one silent no-op. An agent has enough to call it correctly without further reading.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 75%, so the schema already documents most fields including enum values and nested logo objects. The description only adds the cross-cutting null-to-unset rule and the default-brand rename caveat; it contributes no field-level meaning the schema lacks, so baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb+resource ('Updates a brand') and immediately qualifies the scope with partial-update semantics. It does not explicitly name siblings like create_brand, delete_brand, apply_brand, or update_brand_preload, so differentiation is left mostly to inference, but the mutation intent is unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives clear operational context: the permission scope required, the delegated-token alternative, and the confirm=true gate. It stops short of explicit when-to-use/when-not guidance or routing to sibling tools (e.g. update_brand_preload, create_brand), which keeps it from a 5.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Deploy Server

Other Tools