---
title: "Update master access"
method: PUT
path: "/video/v1/assets/{ASSET_ID}/master-access"
tags: ["Assets"]
---

# Update master access

`PUT /video/v1/assets/{ASSET_ID}/master-access`

Allows you to add temporary access to the master (highest-quality) version of the asset in MP4 format. A URL will be created that can be used to download the master version for 24 hours. After 24 hours Master Access will revert to "none".
This master version is not optimized for web and not meant to be streamed, only downloaded for purposes like archiving or editing the video offline.

## Path parameters

- `ASSET_ID` string, required

## Request body

- UpdateAssetMasterAccessRequest
  - `master_access` 'temporary' | 'none', required — Add or remove access to the master version of the video.

## Response `200`

OK

- AssetResponse
  - `data` Asset, required
    - `id` string, required — Unique identifier for the Asset. Max 255 characters.
    - `created_at` string, int64, required — Time the Asset was created, defined as a Unix timestamp (seconds since epoch).
    - `status` 'preparing' | 'ready' | 'errored', required — The status of the asset.
    - `duration` number, double — The duration of the asset in seconds (max duration for a single asset is 12 hours).
    - `max_stored_resolution` 'Audio only' | 'SD' | 'HD' | 'FHD' | 'UHD' — This field is deprecated. Please use `resolution_tier` instead. The maximum resolution that has been stored for the asset. The asset may be delivered at lower resolutions depending on the device and bandwidth, however it cannot be delivered at a higher value than is stored.
    - `resolution_tier` 'audio-only' | '720p' | '1080p' | '1440p' | '2160p' — The resolution tier that the asset was ingested at, affecting billing for ingest & storage. This field also represents the highest resolution tier that the content can be delivered at, however the actual resolution may be lower depending on the device, bandwidth, and exact resolution of the uploaded asset.
    - `max_resolution_tier` '1080p' | '1440p' | '2160p', required — Max resolution tier can be used to control the maximum `resolution_tier` your asset is encoded, stored, and streamed at. If not set, this defaults to `1080p`.
    - `encoding_tier` 'smart' | 'baseline' | 'premium', required — This field is deprecated. Please use `video_quality` instead. The encoding tier informs the cost, quality, and available platform features for the asset. The default encoding tier for an account can be set in the Mux Dashboard. [See the video quality guide for more details.](https://docs.mux.com/guides/use-video-quality-levels)
    - `video_quality` 'basic' | 'plus' | 'premium' — The video quality controls the cost, quality, and available platform features for the asset. The default video quality for an account can be set in the Mux Dashboard. This field replaces the deprecated `encoding_tier` value. [See the video quality guide for more details.](https://docs.mux.com/guides/use-video-quality-levels)
    - `max_stored_frame_rate` number, double — The maximum frame rate that has been stored for the asset. The asset may be delivered at lower frame rates depending on the device and bandwidth, however it cannot be delivered at a higher value than is stored. This field may return -1 if the frame rate of the input cannot be reliably determined.
    - `aspect_ratio` string — The aspect ratio of the asset in the form of `width:height`, for example `16:9`.
    - `playback_ids` PlaybackID[] — An array of Playback ID objects. Use these to create HLS playback URLs. See [Play your videos](https://docs.mux.com/guides/play-your-videos) for more details.
      - `id` string, required — Unique identifier for the PlaybackID
      - `policy` 'public' | 'signed' | 'drm', required — * `public` playback IDs are accessible by constructing an HLS URL like `https://stream.mux.com/${PLAYBACK_ID}` * `signed` playback IDs should be used with tokens `https://stream.mux.com/${PLAYBACK_ID}?token={TOKEN}`. See [Secure video playback](https://docs.mux.com/guides/secure-video-playback) for details about creating tokens. * `drm` playback IDs are protected with DRM technologies. [See DRM documentation for more details](https://docs.mux.com/guides/protect-videos-with-drm).
      - `drm_configuration_id` string — The DRM configuration used by this playback ID. Must only be set when `policy` is set to `drm`.
    - `tracks` Track[] — The individual media tracks that make up an asset.
      - `id` string — Unique identifier for the Track
      - `type` 'video' | 'audio' | 'text' — The type of track
      - `duration` number, double — The duration in seconds of the track media. This parameter is not set for `text` type tracks. This field is optional and may not be set. The top level `duration` field of an asset will always be set.
      - `max_width` integer — The maximum width in pixels available for the track. Only set for the `video` type track.
      - `max_height` integer — The maximum height in pixels available for the track. Only set for the `video` type track.
      - `max_frame_rate` number, double — The maximum frame rate available for the track. Only set for the `video` type track. This field may return `-1` if the frame rate of the input cannot be reliably determined.
      - `max_channels` integer — The maximum number of audio channels the track supports. Only set for the `audio` type track.
      - `max_channel_layout` string — Only set for the `audio` type track.
      - `text_type` 'subtitles' — This parameter is only set for `text` type tracks.
      - `text_source` 'uploaded' | 'embedded' | 'generated_live' | 'generated_live_final' | 'generated_vod' — The source of the text contained in a Track of type `text`. Valid `text_source` values are listed below. * `uploaded`: Tracks uploaded to Mux as caption or subtitle files using the Create Asset Track API. * `embedded`: Tracks extracted from an embedded stream of CEA-608 closed captions. * `generated_vod`: Tracks generated by automatic speech recognition on an on-demand asset. * `generated_live`: Tracks generated by automatic speech recognition on a live stream configured with `generated_subtitles`. If an Asset has both `generated_live` and `generated_live_final` tracks that are `ready`, then only the `generated_live_final` track will be included during playback. * `generated_live_final`: Tracks generated by automatic speech recognition on a live stream using `generated_subtitles`. The accuracy, timing, and formatting of these subtitles is improved compared to the corresponding `generated_live` tracks. However, `generated_live_final` tracks will not be available in `ready` status until the live stream ends. If an Asset has both `generated_live` and `generated_live_final` tracks that are `ready`, then only the `generated_live_final` track will be included during playback.
      - `language_code` string — The language code value represents [BCP 47](https://tools.ietf.org/html/bcp47) specification compliant value, or 'auto'. For example, `en` for English or `en-US` for the US version of English. This parameter is only set for `text` and `audio` track types. During automatic language detection for generated subtitles, this value will be set to `auto` until the language is determined.
      - `name` string — The name of the track containing a human-readable description. The HLS manifest will associate a subtitle `text` or `audio` track with this value. For example, the value should be "English" for a subtitle text track for the `language_code` value of `en-US`. This parameter is only set for `text` and `audio` track types.
      - `closed_captions` boolean — Indicates the track provides Subtitles for the Deaf or Hard-of-hearing (SDH). This parameter is only set tracks where `type` is `text` and `text_type` is `subtitles`.
      - `passthrough` string — Arbitrary user-supplied metadata set for the track either when creating the asset or track. This parameter is only set for `text` type tracks. Max 255 characters.
      - `status` 'preparing' | 'ready' | 'errored' | 'deleted' — The status of the track. This parameter is only set for `text` type tracks.
      - `primary` boolean — For an audio track, indicates that this is the primary audio track, ingested from the main input for this asset. The primary audio track cannot be deleted.
      - `auto_language_confidence` number, double — The confidence value (0-1) of the determined language. This value only is available when automatic language detection is utilized in generated subtitles.
    - `errors` object — Object that describes any errors that happened when processing this asset.
      - `type` string — The type of error that occurred for this asset.
      - `messages` string[] — Error messages with more details.
    - `per_title_encode` boolean
    - `upload_id` string — Unique identifier for the Direct Upload. This is an optional parameter added when the asset is created from a direct upload.
    - `is_live` boolean — Indicates whether the live stream that created this asset is currently `active` and not in `idle` state. This is an optional parameter added when the asset is created from a live stream.
    - `passthrough` string — You can set this field to anything you want. It will be included in the asset details and related webhooks. If you're looking for more structured metadata, such as `title` or `external_id` , you can use the `meta` object instead. **Max: 255 characters**.
    - `live_stream_id` string — Unique identifier for the live stream. This is an optional parameter added when the asset is created from a live stream.
    - `master` object — An object containing the current status of Master Access and the link to the Master MP4 file when ready. This object does not exist if `master_access` is set to `none` and when the temporary URL expires.
      - `status` 'ready' | 'preparing' | 'errored'
      - `url` string — The temporary URL to the master version of the video, as an MP4 file. This URL will expire after 24 hours.
    - `master_access` 'temporary' | 'none', required
    - `mp4_support` 'standard' | 'none' | 'capped-1080p' | 'audio-only' | 'audio-only,capped-1080p'
    - `source_asset_id` string — Asset Identifier of the video used as the source for creating the clip.
    - `normalize_audio` boolean — Normalize the audio track loudness level. This parameter is only applicable to on-demand (not live) assets.
    - `static_renditions` object — An object containing the current status of any static renditions (mp4s). The object does not exist if no static renditions have been requested. See [Download your videos](https://docs.mux.com/guides/enable-static-mp4-renditions) for more information.
      - `status` 'ready' | 'preparing' | 'disabled' | 'errored' — Indicates the status of downloadable MP4 versions of this asset. This field is only valid when `mp4_support` is enabled
      - `files` StaticRendition[] — Array of file objects.
        - `name` 'low.mp4' | 'medium.mp4' | 'high.mp4' | 'highest.mp4' | 'audio.m4a' | 'capped-1080p.mp4' | '2160p.mp4' | '1440p.mp4' | '1080p.mp4' | '720p.mp4' | '540p.mp4' | '480p.mp4' | '360p.mp4' | '270p.mp4' — Name of the static rendition file
        - `ext` 'mp4' | 'm4a' — Extension of the static rendition file
        - `height` integer — The height of the static rendition's file in pixels
        - `width` integer — The width of the static rendition's file in pixels
        - `bitrate` integer — The bitrate in bits per second
        - `filesize` string, int64 — The file size in bytes
        - `type` 'standard' | 'advanced' — Indicates the static rendition type of this specific MP4 version of this asset. This field is only valid for `static_renditions`, not for `mp4_support`.
        - `status` 'ready' | 'preparing' | 'skipped' | 'errored' — Indicates the status of this specific MP4 version of this asset. This field is only valid for `static_renditions`, not for `mp4_support`. * `ready` indicates the MP4 has been generated and is ready for download * `preparing` indicates the asset has not been ingested or the static rendition is still being generated after an asset is ready * `skipped` indicates the static rendition will not be generated because the requested resolution conflicts with the asset attributes after the asset has been ingested * `errored` indicates the static rendition cannot be generated. For example, an asset could not be ingested
        - `resolution_tier` '2160p' | '1440p' | '1080p' | '720p' | 'audio-only' — Indicates the resolution tier of this specific MP4 version of this asset. This field is only valid for `static_renditions`, not for `mp4_support`.
        - `resolution` 'highest' | 'audio-only' | '2160p' | '1440p' | '1080p' | '720p' | '540p' | '480p' | '360p' | '270p' — Indicates the resolution of this specific MP4 version of this asset. This field is only valid for `static_renditions`, not for `mp4_support`.
        - `id` string — The ID of this static rendition, used in managing this static rendition. This field is only valid for `static_renditions`, not for `mp4_support`.
        - `passthrough` string — Arbitrary user-supplied metadata set for the static rendition. Max 255 characters.
    - `recording_times` object[] — An array of individual live stream recording sessions. A recording session is created on each encoder connection during the live stream. Additionally any time slate media is inserted during brief interruptions in the live stream media or times when the live streaming software disconnects, a recording session representing the slate media will be added with a "slate" type.
      - `started_at` string, date-time — The time at which the recording for the live stream started. The time value is Unix epoch time represented in ISO 8601 format.
      - `duration` number, double — The duration of the live stream recorded. The time value is in seconds.
      - `type` 'content' | 'slate' — The type of media represented by the recording session, either `content` for normal stream content or `slate` for slate media inserted during stream interruptions.
    - `non_standard_input_reasons` object — An object containing one or more reasons the input file is non-standard. See [the guide on minimizing processing time](https://docs.mux.com/guides/minimize-processing-time) for more information on what a standard input is defined as. This object only exists on on-demand assets that have non-standard inputs, so if missing you can assume the input qualifies as standard.
      - `video_codec` string — The video codec used on the input file. For example, the input file encoded with `av1` video codec is non-standard and the value of this parameter is `av1`.
      - `audio_codec` string — The audio codec used on the input file. Non-AAC audio codecs are non-standard.
      - `video_gop_size` 'high' — The video key frame Interval (also called as Group of Picture or GOP) of the input file is `high`. This parameter is present when the gop is greater than 20 seconds.
      - `video_frame_rate` string — The video frame rate of the input file. Video with average frames per second (fps) less than 5 or greater than 120 is non-standard. A `-1` frame rate value indicates Mux could not determine the frame rate of the video track.
      - `video_resolution` string — The video resolution of the input file. Video resolution higher than 2048 pixels on any one dimension (height or width) is considered non-standard, The resolution value is presented as `width` x `height` in pixels.
      - `video_bitrate` 'high' — The video bitrate of the input file is `high`. This parameter is present when the average bitrate of any key frame interval (also known as Group of Pictures or GOP) is higher than what's considered standard which typically is 16 Mbps.
      - `pixel_aspect_ratio` string — The video pixel aspect ratio of the input file.
      - `video_edit_list` 'non-standard' — Video Edit List reason indicates that the input file's video track contains a complex Edit Decision List.
      - `audio_edit_list` 'non-standard' — Audio Edit List reason indicates that the input file's audio track contains a complex Edit Decision List.
      - `unexpected_media_file_parameters` 'non-standard' — A catch-all reason when the input file in created with non-standard encoding parameters.
      - `unsupported_pixel_format` string — The video pixel format, as a string, returned by libav. Considered non-standard if not one of yuv420p or yuvj420p. HEVC inputs additionally permit yuv420p10le.
    - `test` boolean — True means this live stream is a test asset. A test asset can help evaluate the Mux Video APIs without incurring any cost. There is no limit on number of test assets created. Test assets are watermarked with the Mux logo, limited to 10 seconds, and deleted after 24 hrs.
    - `ingest_type` 'on_demand_url' | 'on_demand_direct_upload' | 'on_demand_clip' | 'live_rtmp' | 'live_srt' — The type of ingest used to create the asset.
    - `meta` AssetMetadata — Customer provided metadata about this asset. Note: This metadata may be publicly available via the video player. Do not include PII or sensitive information.
      - `title` string — The asset title. Max 512 code points.
      - `creator_id` string — This is an identifier you provide to keep track of the creator of the asset. Max 128 code points.
      - `external_id` string — This is an identifier you provide to link the asset to your own data. Max 128 code points.
    - `progress` AssetProgress, required — Detailed state information about the asset ingest process.
      - `state` 'ingesting' | 'transcoding' | 'completed' | 'live' | 'errored', required — The detailed state of the asset ingest process. This field is useful for relaying more granular processing information to end users when a [non-standard input is encountered](https://www.mux.com/docs/guides/minimize-processing-time#non-standard-input). - `ingesting`: Asset is being ingested (initial processing before or after transcoding). While in this state, the `progress` percentage will be 0. - `transcoding`: Asset is undergoing non-standard transcoding. - `completed`: Asset processing is complete (`status` is `ready`). While in this state, the `progress` percentage will be 100. - `live`: Asset is a live stream currently in progress. While in this state, the `progress` percentage will be -1. - `errored`: Asset has encountered an error (`status` is `errored`). While in this state, the `progress` percentage will be -1.
      - `progress` number, double, required — Represents the estimated completion percentage. Returns `0 - 100` when in `ingesting`, `transcoding`, or `completed` state, and `-1` when in `live` or `errored` state.

---

[API](https://skmtc.net/muxinc/apis/mux-api.md) · [All operations](https://skmtc.net/muxinc/apis/mux-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/muxinc/mux-api/versions/34a65dce0f31/schema)
