Brands

Applies a brand to a media, folder, or channel, so that resource is styled by the brand's colors, fonts, logos, and layout.

A brand has no effect until it is applied to something. Media inherit from their folder, and folders from the account's default brand, so applying a brand to a folder styles everything inside it that has no brand of its own.

Applying the account-level default brand (is_default: true) is how a resource is un-branded: it detaches the resource so it inherits again.

By default this also clears any brand-mapped appearance settings the resource had set directly, so the brand is what shows. Pass clear_overrides: false to leave those in place.

Responds with the brand now in effect on the resource, which is not always the one you applied — detaching a media returns the brand it falls back to.

Webinars can't be branded through this endpoint yet.

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.

An expiring access token created with the all:delegate_to_contact_permissions scope can also be used when its authorizations grant the update permission on this brand and on the media, folder or channel being branded.

post/brands/{brandId}/apply

Request

  • Base URL
    https://api.wistia.com/modern
  • URL
    https://api.wistia.com/modern/brands/{brandId}/apply
  • Auth
    HTTP bearer

Path parameters

brandIdstring required

The id of the brand to apply

Headers

X-Wistia-API-Versionstring required

Request body

resource_type'media' | 'folder' | 'channel' required

The kind of resource being branded. Webinars can't be branded through this endpoint yet.

resource_idstring required

The id of the resource being branded.

clear_overridesboolean

When true (the default), appearance settings the resource had set directly are cleared for the fields the brand controls, so the brand is what shows. Set to false to leave them in place, in which case they continue to win over the brand.

Example request

{
  "resource_id": "abcde12345"
}

Response

Brand applied successfully

idstring

A unique alphanumeric identifier for this brand.

namestring

The brand's display name.

is_defaultboolean

Whether this brand is the account-level default, applied to content that has no more specific brand.

createdstring date-time

The date the brand was originally created.

updatedstring date-time

The date the brand was last updated.

body_font_familystring nullable

The brand font family for body text. Null when unset.

headline_font_familystring nullable

The brand font family for headlines. Null when unset.

button_font_familystring nullable

The brand font family for buttons. Null when unset.

border_radiusinteger nullable

The border radius in pixels for rounded corners. Null when unset.

contrast_icons'enabled' | 'disabled' | 'unset' | 'null' nullable

Controls whether the player icon color is always white or uses an accessible contrast color when necessary.

opaque_controls'enabled' | 'disabled' | 'unset' | 'null' nullable

Controls the opacity of the video player control bar and big play button.

cursorstring nullable

A cursor for stable pagination based on current sort_by order. You can pass this to cursor[before] or cursor[after] as a parameter to fetch the records before or after this record in the same sort order. This is only populated if records were fetched with cursor[enabled], or cursor[before] or cursor[after].

Example response

{
  "id": "abcde12345",
  "name": "My Brand",
  "is_default": true,
  "created": "2010-08-13T18:47:39+00:00",
  "updated": "2010-08-19T21:47:00+00:00",
  "primary_color": "#2949E5",
  "page_background_color": "#2949E5",
  "body_font_family": "Inter",
  "headline_font_family": "GT Walsheim",
  "button_font_family": "Inter",
  "border_radius": 10
}

Changes