Brands

Creates a brand. A brand is a saved set of branding options (colors, fonts, logos, and layout) that can then be applied to media, folders, and channels. name is required; every other field is optional and left unset when omitted.

A new brand isn't applied to anything — it has no effect until you apply it to a resource with POST /brands/{brandId}/apply.

Accounts whose plan doesn't include multiple brands can only hold one brand.

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 and an account authorization granting the create-brands permission can also be used. The new brand is not covered by the token that created it, so follow-up requests need a token whose authorizations name the returned hashed id.

post/brands

Request

  • Base URL
    https://api.wistia.com/modern
  • URL
    https://api.wistia.com/modern/brands
  • Auth
    HTTP bearer

Headers

X-Wistia-API-Versionstring required

Request body

namestring

The brand's display name. Renaming the account-level default brand is ignored; its name is managed by Wistia.

body_font_familystring nullable

The brand font family for body text.

headline_font_familystring nullable

The brand font family for headlines.

button_font_familystring nullable

The brand font family for buttons.

border_radiusinteger nullable

The border radius in pixels for rounded corners.

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.

Example request

{
  "name": "My Brand",
  "primary_color": "#2949E5",
  "page_background_color": "#2949E5",
  "body_font_family": "Inter",
  "headline_font_family": "GT Walsheim",
  "button_font_family": "Inter",
  "border_radius": 10
}

Response

Brand created 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