---
title: "Update Video Library"
method: POST
path: "/videolibrary/{id}"
tags: ["Stream Video Library"]
---

# Update Video Library

`POST /videolibrary/{id}`

## Path parameters

- `id` integer, required

## Request body

- VideoLibraryUpdateModel
  - `Name` string, nullable — (Optional) Sets name of the video library
  - `CustomHTML` string, nullable — (Optional) Sets the player custom HTML code
  - `PlayerKeyColor` string, nullable — (Optional) Sets the player key control color
  - `EnableTokenAuthentication` boolean, nullable — (Optional) Determines if the token authentication should be enabled
  - `EnableTokenIPVerification` boolean, nullable — (Optional) Determines if the token IP verification should be enabled
  - `ResetToken` boolean, nullable — (Optional) Set to true to reset the CDN and embed view token key
  - `WatermarkPositionLeft` integer, nullable — (Optional) Sets the left offset of the watermark position (in %)
  - `WatermarkPositionTop` integer, nullable — (Optional) Sets the top offset of the watermark position (in %)
  - `WatermarkWidth` integer, nullable — (Optional) Sets the width of the watermark (in %)
  - `WatermarkHeight` integer, nullable — (Optional) Sets the height of the watermark (in %)
  - `EnabledResolutions` string, nullable — (Optional) Sets the enabled resolutions for the transcoding. At least one resolution should be enabled. Possible values: 240p, 360p, 480p, 720p, 1080p, 1440p, 2160p
  - `ViAiPublisherId` string, nullable — (Optional) Sets the vi.ai publisher ID
  - `VastTagUrl` string, nullable — (Optional) Sets the Vast tag URL
  - `WebhookUrl` string, nullable — (Optional) Sets the webhook API url
  - `CaptionsFontSize` integer, nullable — (Optional) Sets the captions display font size
  - `CaptionsFontColor` string, nullable — (Optional) Sets the captions display font color
  - `CaptionsBackground` string, nullable — (Optional) Sets the captions display background color
  - `UILanguage` string, nullable — (Optional) Sets the UI language of the video player.
  - `AllowEarlyPlay` boolean, nullable — (Optional) Determines if the Early-Play feature should be enabled. Enabling this will enable Expose Originals.
  - `PlayerTokenAuthenticationEnabled` boolean, nullable — (Optional) Determines if the token authentication should be enabled.
  - `BlockNoneReferrer` boolean, nullable — (Optional) Determines if requests without a referer should be blocked.
  - `EnableMP4Fallback` boolean, nullable — (Optional) Determines if MP4 fallback should be enabled for this library.
  - `KeepOriginalFiles` boolean, nullable — (Optional) Determines if the original file should be kept after the video is processed.
  - `AllowDirectPlay` boolean, nullable — (Optional) Determines if direct play URLs should be enabled for the library
  - `EnableDRM` boolean, nullable — (Optional) Determines if MediaCage DRM should be enabled for this library
  - `DrmVersion` 0 | 1 | 2 — 0 = Basic 1 = Enterprise 2 = BasicV2
  - `Controls` string, nullable — (Optional) The comma separated list of controls that will be displayed in the video player. Possible values: play-large, play, progress, current-time, mute, volume, captions, settings, pip, airplay, fullscreen.
  - `PlaybackSpeeds` string, nullable — (Optional) The comma separated list of playback speeds that will be available in the video player. Possible values: 0.25,0.5,0.75,1.0,1.25,1.5,1.75,2.0,2.5,3,3.5,4
  - `Bitrate240p` integer, nullable — (Optional) The bitrate used for encoding 240p videos
  - `Bitrate360p` integer, nullable — (Optional) The bitrate used for encoding 360p videos
  - `Bitrate480p` integer, nullable — (Optional) The bitrate used for encoding 480p videos
  - `Bitrate720p` integer, nullable — (Optional) The bitrate used for encoding 720p videos
  - `Bitrate1080p` integer, nullable — (Optional) The bitrate used for encoding 1080p videos
  - `Bitrate1440p` integer, nullable — (Optional) The bitrate used for encoding 1440p videos
  - `Bitrate2160p` integer, nullable — (Optional) The bitrate used for encoding 2160p videos
  - `ShowHeatmap` boolean, nullable — (Optional) Determines if the video watch heatmap should be displayed in the player.
  - `EnableContentTagging` boolean, nullable — (Optional) Determines if content tagging should be enabled for this library.
  - `FontFamily` string, nullable — (Optional) The captions font family.
  - `EnableTranscribing` boolean, nullable — (Optional) Determines if the automatic audio transcribing is currently enabled for this zone.
  - `EnableTranscribingTitleGeneration` boolean, nullable — (Optional) Determines if automatic transcribing title generation is currently enabled.
  - `EnableTranscribingDescriptionGeneration` boolean, nullable — (Optional) Determines if automatic transcribing description generation is currently enabled.
  - `EnableTranscribingChaptersGeneration` boolean, nullable — (Optional) Determines if automatic transcribing chapters generation is currently enabled.
  - `EnableTranscribingMomentsGeneration` boolean, nullable — (Optional) Determines if automatic transcribing moments generation is currently enabled.
  - `TranscribingCaptionLanguages` string[], nullable — (Optional) The list of languages that the captions will be automatically transcribed to.
  - `EnableCaptionsInPlaylist` boolean, nullable — (Optional) Determines if any associated captions will be automatically signaled in the HLS master playlist via EXT-X-MEDIA tags, allowing client players to show captions.
  - `RememberPlayerPosition` boolean, nullable — (Optional) Determines if the player will automatically remember the playback position.
  - `EnableMultiAudioTrackSupport` boolean, nullable — (Optional) Determines if multiple output audio track support is enabled on video library.
  - `UseSeparateAudioStream` boolean, nullable — (Optional) Determines whether output audio stream should be split from video stream segments.
  - `JitEncodingEnabled` boolean, nullable — (Optional) Determines whether JIT encoding should be used for the library. Supported in premium encoding only.
  - `EncodingTier` 0 | 1 — 0 = Free 1 = Premium
  - `OutputCodecs` string, nullable — (Optional) Specifies which video codecs are used for encoding, provided as a comma-separated (CSV) string. Free encoding tier supports only x264. A premium encoding tier adds support for vp9, hevc, and av1.
  - `AppleFairPlayDrm` AppleFairPlayDrmUpdateModel
    - `Enabled` boolean, nullable — (Optional) Enables or disables Apple FairPlay Enterprise DRM
  - `GoogleWidevineDrm` GoogleWidevineDrmUpdateModel
    - `Enabled` boolean, nullable — (Optional) Enables or disables Google Widevine Enterprise DRM
    - `SdOnlyForL3` boolean, nullable — (Optional) Only allow audio and SD access to Widevine L3 clients
    - `MinClientSecurityLevel` 0 | 1 | 2 | 3 — 0 = None 1 = L1 2 = L2 3 = L3
  - `PlayerVersion` integer, nullable — (Optional) Sets player version used for this library
  - `RemoveMetadataFromFallbackVideos` boolean, nullable — (Optional) Marks whether all potential video metadata should be removed from the fallback files
  - `ScaleVideoUsingBothDimensions` boolean, nullable — (Optional) Marks whether videos should be scaled using both dimensions. Prevents videos being upscaled or unexpected aspect ratio changes.
  - `ExposeOriginals` boolean, nullable — (Optional) Marks whether original video files should be exposed via CDN. Originals are not protected by DRM. Enabling Early-Play will enable this.
  - `ExposeVideoMetadata` boolean, nullable — (Optional) Marks whether video metadata in form of schema meta tags and LD+JSON should be exposed.
  - `EnableCompactControls` boolean, nullable — (Optional) Marks whether compact controls should be enabled for the player.

## Response `200`

The updated video library

- VideoLibraryModel
  - `Id` integer
  - `Name` string, nullable — The name of the Video Library.
  - `VideoCount` integer — The number of videos in the video library
  - `TrafficUsage` integer — The amount of traffic usage this month
  - `StorageUsage` integer — The total amount of storage used by the library
  - `DateCreated` string, date-time — The date when the video library was created
  - `DateModified` string, date-time — The date when the video library was last modified
  - `ReplicationRegions` string[], nullable — The geo-replication regions of the underlying storage zone
  - `ApiKey` string, nullable — The API key used for authenticating with the video library
  - `ReadOnlyApiKey` string, nullable — The read-only API key used for authenticating with the video library
  - `HasWatermark` boolean — Determines if the video library has a watermark configured
  - `WatermarkPositionLeft` integer — The left offset of the watermark position (in %)
  - `WatermarkPositionTop` integer — The top offset of the watermark position (in %)
  - `WatermarkWidth` integer — The width of the watermark (in %)
  - `PullZoneId` integer — The ID of the connected underlying pull zone
  - `StorageZoneId` integer — The ID of the connected underlying storage zone
  - `WatermarkHeight` integer — The height of the watermark (in %)
  - `EnabledResolutions` string, nullable — The comma separated list of enabled resolutions
  - `ViAiPublisherId` string, nullable — The vi.ai publisher id for advertising configuration
  - `VastTagUrl` string, nullable — The URL of the VAST tag endpoint for advertising configuration
  - `WebhookUrl` string, nullable — The webhook URL of the video library
  - `CaptionsFontSize` integer — The captions display font size
  - `CaptionsFontColor` string, nullable — The captions display font color
  - `CaptionsBackground` string, nullable — The captions display background color
  - `UILanguage` string, nullable — The UI language of the player
  - `AllowEarlyPlay` boolean, nullable — Determines if the Early-Play feature is enabled
  - `PlayerTokenAuthenticationEnabled` boolean — Determines if the player token authentication is enabled
  - `AllowedReferrers` string[], nullable — The list of allowed referrer domains allowed to access the library
  - `BlockedReferrers` string[], nullable — The list of blocked referrer domains blocked from accessing the library
  - `BlockNoneReferrer` boolean — Determines if the requests without a referrer are blocked
  - `EnableMP4Fallback` boolean — Determines if the MP4 fallback feature is enabled
  - `KeepOriginalFiles` boolean — Determines if the original video files should be stored after encoding
  - `AllowDirectPlay` boolean — Determines direct play URLs are enabled for the library
  - `EnableDRM` boolean — Determines if the DRM is enabled
  - `DrmVersion` 0 | 1 | 2 — 0 = Basic 1 = Enterprise 2 = BasicV2
  - `AppleFairPlayDrm` AppleFairPlayDrm
    - `Enabled` boolean
    - `CertificateId` integer, nullable
    - `CertificateExpirationDate` string, date-time, nullable
    - `Provider` string, nullable
  - `GoogleWidevineDrm` GoogleWidevineDrm
    - `Enabled` boolean
    - `CertificateId` integer, nullable
    - `CertificateExpirationDate` string, date-time, nullable
    - `Provider` string, nullable
    - `SdOnlyForL3` boolean
    - `MinClientSecurityLevel` 0 | 1 | 2 | 3 — 0 = None 1 = L1 2 = L2 3 = L3
  - `Bitrate240p` integer — The bitrate used for encoding 240p videos
  - `Bitrate360p` integer — The bitrate used for encoding 360p videos
  - `Bitrate480p` integer — The bitrate used for encoding 480p videos
  - `Bitrate720p` integer — The bitrate used for encoding 720p videos
  - `Bitrate1080p` integer — The bitrate used for encoding 1080p videos
  - `Bitrate1440p` integer — The bitrate used for encoding 1440p videos
  - `Bitrate2160p` integer — The bitrate used for encoding 2160p videos
  - `ApiAccessKey` string, nullable
  - `ShowHeatmap` boolean — Determines if the video watch heatmap should be displayed in the player.
  - `EnableContentTagging` boolean — Determines if content tagging should be enabled for this library.
  - `PullZoneType` 0 | 1 — 0 = Premium 1 = Volume
  - `CustomHTML` string, nullable — The custom HTMl that is added into the head of the HTML player.
  - `Controls` string, nullable — The list of controls on the video player.
  - `PlaybackSpeeds` string, nullable — The list of playback speeds available in the video player.
  - `PlayerKeyColor` string, nullable — The key color of the player.
  - `FontFamily` string, nullable — The captions font family.
  - `WatermarkVersion` integer
  - `EnableTranscribing` boolean — Determines if the automatic audio transcribing is currently enabled for this zone.
  - `EnableTranscribingTitleGeneration` boolean — Determines if automatic transcribing title generation is currently enabled.
  - `EnableTranscribingDescriptionGeneration` boolean — Determines if automatic transcribing description generation is currently enabled.
  - `EnableTranscribingChaptersGeneration` boolean — Determines if automatic transcribing chapters generation is currently enabled.
  - `EnableTranscribingMomentsGeneration` boolean — Determines if automatic transcribing moments generation is currently enabled.
  - `TranscribingCaptionLanguages` string[], nullable — The list of languages that the captions will be automatically transcribed to.
  - `EnableCaptionsInPlaylist` boolean, nullable — Determines if any associated captions will be automatically signaled in the HLS master playlist via EXT-X-MEDIA tags, allowing client players to show captions.
  - `RememberPlayerPosition` boolean — Determines if the player will automatically remember the playback position.
  - `EnableMultiAudioTrackSupport` boolean — Determines if multiple output audio track support is enabled on video library.
  - `UseSeparateAudioStream` boolean — Determines whether output audio stream should be split from video stream segments.
  - `JitEncodingEnabled` boolean — Determines whether JIT encoding should be used for the library. Supported in premium encoding only.
  - `EncodingTier` 0 | 1 — 0 = Free 1 = Premium
  - `OutputCodecs` string, nullable — Specifies which video codecs are used for encoding, provided as a comma-separated (CSV) string. Free encoding tier supports only x264. A premium encoding tier adds support for vp9, hevc, and av1.
  - `DrmBasePriceOverride` number, nullable — DRM (enterprise) monthly base price for this video library if it differs from list price.
  - `DrmCostPerLicenseOverride` number, nullable — DRM (enterprise) cost per license for this video library if it differs from list price.
  - `TranscribingPriceOverride` number, nullable
  - `PremiumEncodingPriceOverride` number, nullable
  - `MonthlyChargesTranscribing` number
  - `MonthlyChargesPremiumEncoding` number
  - `MonthlyChargesEnterpriseDrm` number
  - `FeatureFlags` string, nullable
  - `PlayerVersion` integer
  - `RemoveMetadataFromFallbackVideos` boolean — Marks whether all potential video metadata should be removed from the fallback files. Default false.
  - `ScaleVideoUsingBothDimensions` boolean — Marks whether videos should be scaled using both dimensions. Prevents videos being upscaled or unexpected aspect ratio changes. Default true.
  - `ExposeOriginals` boolean — Marks whether original video files should be exposed via CDN.
  - `ExposeVideoMetadata` boolean — Marks whether video metadata in form of schema meta tags and LD+JSON should be exposed.
  - `EnableCompactControls` boolean — Marks whether compact controls should be enabled for the player.

## Other responses

- `400` — Validation error
- `401` — The request authorization failed
- `404` — The Video Library with the requested ID does not exist
- `500` — Internal Server Error

---

[API](https://skmtc.net/bunny/apis/bunny-net-cdn-logging.md) · [All operations](https://skmtc.net/bunny/apis/bunny-net-cdn-logging/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/bunny/bunny-net-cdn-logging/versions/9e622620664b/schema)
