---
title: "Update Playback Customizations"
method: PUT
path: "/medias/{mediaId}/customizations/playback"
tags: ["Customizations"]
---

# Update Playback Customizations

`PUT /medias/{mediaId}/customizations/playback`

## Request

- Base URL: `https://api.wistia.com/modern`
- URL: `https://api.wistia.com/modern/medias/{mediaId}/customizations/playback`
- Auth: HTTP bearer

Applies a partial update to a video's playback customizations. Only the
fields supplied are changed; sending a field as null deletes it (reverting to
the default).

## Requires api token with one of the following permissions
```
Read, update & delete anything
```

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](https://docs.wistia.com/reference/post_expiring-token)
created with the `all:delegate_to_contact_permissions` scope and an
authorization granting the `edit` permission on this media can also be used.

## Path parameters

- `mediaId` string, required

## Headers

- `X-Wistia-API-Version` string, required

## Request body

- object: Playback behavior and player controls for a video. Every field is optional; only the fields you send are changed (partial update). Send a field as null to reset it to its default.
  - `autoPlay` boolean: If set to true, the video will play as soon as it’s ready. Note that autoplay might not work on some devices and browsers.
  - `silentAutoPlay` string: Determines how videos handle autoplay in contexts where normal autoplay might be blocked. Options are "true", "allow", and "false".
  - `muted` boolean: If set to true, the video will start in a muted state.
  - `volume` number: Sets the volume of the video.
  - `controlsVisibleOnLoad` boolean: If set to true, controls like the big play button, playbar, volume, etc. will be visible as soon as the video is embedded.
  - `playButton` boolean: Indicates if the play button is visible.
  - `smallPlayButton` boolean: If set to true, the small play button control is shown.
  - `playbar` boolean: If set to true, the playbar will be available. If set to false, it will be hidden.
  - `volumeControl` boolean: When set to true, a volume control is available over the video.
  - `fullscreenButton` boolean: If set to true, the fullscreen button will be available as a video control.
  - `settingsControl` boolean: If set to true, the settings control will be available.
  - `playbackRateControl` boolean: If set to false, the playback speed controls in the settings menu will be hidden.
  - `qualityControl` boolean: If set to false, the video quality selector in the settings menu will be hidden.
  - `qualityMin` integer: Specifies the minimum quality the video will play at.
  - `qualityMax` integer: Specifies the maximum quality the video will play at.
  - `videoQuality` string: Sets the default video quality the video will play at.
  - `hls` boolean: If set to true, HLS adaptive bitrate streaming is enabled.
  - `endVideoBehavior` string: Determines what happens when the video ends. Options are "default" (stays on the last frame), "reset" (shows thumbnail and controls), and "loop" (plays again from the start).
  - `playsinline` boolean: If set to false, videos will play within the native mobile player.
  - `playlistLoop` boolean: If set to true and this video has a playlist, it will loop back to the first video after the last one has finished.
  - `playlistLinks` boolean: Enables the use of specially crafted links on the page to associate with a video, turning them into a playlist.
  - `playPauseNotifier` boolean: If set to false, animations for the Pause and Play symbols will be removed.
  - `playSuspendedOffScreen` boolean: If set to false for a muted autoplay video, the video won’t pause when out of view.
  - `resumable` string: Determines if the video should resume from where the viewer left off. Options are "true", "false", and "auto".
  - `preload` string: Sets the video’s preload property. Possible values are metadata, auto, none, true, and false.
  - `time` string: Sets the starting time of the video.
  - `keyMoments` boolean: If set to false, the key moments feature will be disabled.
  - `fullscreenOnRotateToLandscape` boolean: If set to false, the video will not automatically go to fullscreen mode on mobile when rotated to landscape.
  - `fakeFullScreen` boolean: If set to true, the video will try to play in a pseudo-fullscreen mode on certain mobile devices.
  - `videoFoam` union: When set to true, the video will adjust its size according to its parent element. It can also be an object specifying min/max width or height.
    - boolean
    - object: Examples: ```json { "minWidth": 400, "maxWidth": 960 } ``` ```json { "minHeight": 300, "maxHeight": 450 } ```
      - `minWidth` integer: Minimum width the video can be resized to.
      - `maxWidth` integer: Maximum width the video can be resized to.
      - `minHeight` integer: Minimum height the video can be resized to.
      - `maxHeight` integer: Maximum height the video can be resized to.
  - `wmode` string: If set to transparent, the background behind the player will be transparent instead of black.
  - `bpbTime` string: Controls when the big play button appears, expressed as a string.
  - `spherical` boolean: If set to true, the video is rendered as a spherical (360-degree) video.
  - `clickForSound` boolean: If set to true, viewers can click to enable sound on a muted video.
  - `seo` boolean: If set to true, the video’s metadata will be injected into the page’s markup for SEO.
  - `doNotTrack` boolean: If set to true, data for each viewing session will not be tracked.
  - `copyLinkAndThumbnailEnabled` boolean: If set to false, the option to “Copy Link and Thumbnail” will be removed when right-clicking on the video.
  - `email` string: Associate a specific email address with this video’s viewing sessions.
  - `googleAnalytics` string: Google Analytics tracking configuration to associate with this video’s viewing sessions.

## Response `200`

Playback customization update successful

- object: Explicitly-set playback customizations for the video. Values are returned as strings (e.g. "true", "12"); fields that have never been set are omitted.
  - `autoPlay` string
  - `silentAutoPlay` string
  - `muted` string
  - `volume` string
  - `controlsVisibleOnLoad` string
  - `playButton` string
  - `smallPlayButton` string
  - `playbar` string
  - `volumeControl` string
  - `fullscreenButton` string
  - `settingsControl` string
  - `playbackRateControl` string
  - `qualityControl` string
  - `qualityMin` string
  - `qualityMax` string
  - `videoQuality` string
  - `hls` string
  - `endVideoBehavior` string
  - `playsinline` string
  - `playlistLoop` string
  - `playlistLinks` string
  - `playPauseNotifier` string
  - `playSuspendedOffScreen` string
  - `resumable` string
  - `preload` string
  - `time` string
  - `keyMoments` string
  - `fullscreenOnRotateToLandscape` string
  - `fakeFullScreen` string
  - `videoFoam` union: Either a string (e.g. "true") when set as a boolean, or an object with string-valued min/max width/height when set as a responsive-size config.
    - string
    - object
      - `minWidth` string
      - `maxWidth` string
      - `minHeight` string
      - `maxHeight` string
  - `wmode` string
  - `bpbTime` string
  - `spherical` string
  - `clickForSound` union
    - string
    - object
      - `showText` string
  - `seo` string
  - `doNotTrack` string
  - `copyLinkAndThumbnailEnabled` string
  - `email` string
  - `googleAnalytics` string

## Other responses

- `400`: Bad request
- `401`: Unauthorized, invalid or missing token
- `403`: Forbidden, token is valid but account does not have access to feature
- `404`: Resource not found
- `500`: Internal server error

## Changes

- **2026-11-03** `b86cb2a7b420`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/wistia/apis/data-api/changes/medias/:mediaId/customizations/playback/put.md)

---

[API](https://skmtc.dev/wistia/apis/data-api.md) - [All operations](https://skmtc.dev/wistia/apis/data-api/llms.txt) - [OpenAPI document](https://skmtc.dev/wistia/apis/data-api/revisions/b86cb2a7b420?raw)
