> ## Documentation Index
> Fetch the complete documentation index at: https://bunnynet-cb9733c2-support-migration.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Update Video Library



## OpenAPI

````yaml https://core-api-public-docs.b-cdn.net/docs/v3/public.json post /videolibrary/{id}
openapi: 3.0.0
info:
  title: bunny.net API
  description: >-
    <img src='https://bunny.net/v2/images/bunnynet-logo-dark.svg' style='width:
    200px;' alt='bunny.net Logo'>
                   Learn how to use the [bunny.net](https://bunny.net "bunny.net - The content delivery platform that truly hops.") API. Everything that can be done with the control panel can also be achieved with our API documented on this page. To learn how to use the storage API, have a look at our <a href='https://bunnycdnstorage.docs.apiary.io/#'>storage API documentation</a>
                   <h2>Third party API clients:</h2> 
                   <br/>
                   We currently do not maintain an official API library, but you can use one of the third party ones provided here:<br/><br/>
                   <a rel='nofollow' href='https://github.com/codewithmark/bunnycdn'>https://github.com/codewithmark/bunnycdn</a> (bunny.net PHP library, thanks to <a rel="nofollow" href='https://codewithmark.com'>Code With Mark</a>)
                   <br/><br/>
                   <i style='font-size: 11px;'><b>Note that third party clients are not maintained or developed by bunny.net so we unfortunately cannot offer support for them.</b></i>
  termsOfService: https://bunny.net/tos
  contact:
    name: bunny.net
    url: https://docs.bunny.net
    email: support@bunny.net
  version: 1.0.0
servers:
  - url: https://api.bunny.net
    description: bunny.net API Server
security:
  - AccessKey: []
tags:
  - name: Stream Video Library
  - name: User
  - name: AuditLog
  - name: Storage Zone
  - name: Statistics
  - name: Search
  - name: Pull Zone
  - name: DNS Zone
  - name: DNSSEC
  - name: Billing
  - name: API Keys
  - name: Affiliate
  - name: Countries
  - name: Purge
  - name: Region
paths:
  /videolibrary/{id}:
    post:
      tags:
        - Stream Video Library
      summary: Update Video Library
      operationId: UpdateVideoLibraryEndpoint_UpdateVideoLibrary
      parameters:
        - name: id
          in: path
          required: true
          description: The ID of the Video Library to update
          schema:
            type: integer
            format: int64
          x-position: 1
      requestBody:
        x-name: model
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/VideoLibraryUpdateModel'
        required: true
        x-position: 2
      responses:
        '200':
          description: The updated video library
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VideoLibraryModel'
        '400':
          description: Validation error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorData'
        '401':
          description: The request authorization failed
        '404':
          description: The Video Library with the requested ID does not exist
        '500':
          description: Internal Server Error
      security:
        - AccessKey:
            - User
            - UserApi
            - SubuserAPIStream
            - SubuserStream
            - SubuserManage
            - SubuserAPIManage
        - bearer:
            - User
            - UserApi
            - SubuserAPIStream
            - SubuserStream
            - SubuserManage
            - SubuserAPIManage
components:
  schemas:
    VideoLibraryUpdateModel:
      type: object
      additionalProperties: false
      properties:
        Name:
          type: string
          description: (Optional) Sets name of the video library
          nullable: true
        CustomHTML:
          type: string
          description: (Optional) Sets the player custom HTML code
          nullable: true
        PlayerKeyColor:
          type: string
          description: (Optional) Sets the player key control color
          nullable: true
        EnableTokenAuthentication:
          type: boolean
          description: (Optional) Determines if the token authentication should be enabled
          nullable: true
        EnableTokenIPVerification:
          type: boolean
          description: (Optional) Determines if the token IP verification should be enabled
          nullable: true
        ResetToken:
          type: boolean
          description: (Optional) Set to true to reset the CDN and embed view token key
          nullable: true
        WatermarkPositionLeft:
          type: integer
          description: (Optional) Sets the left offset of the watermark position (in %)
          format: int32
          nullable: true
        WatermarkPositionTop:
          type: integer
          description: (Optional) Sets the top offset of the watermark position (in %)
          format: int32
          nullable: true
        WatermarkWidth:
          type: integer
          description: (Optional) Sets the width of the watermark (in %)
          format: int32
          nullable: true
        WatermarkHeight:
          type: integer
          description: (Optional) Sets the height of the watermark (in %)
          format: int32
          nullable: true
        EnabledResolutions:
          type: string
          description: >-
            (Optional) Sets the enabled resolutions for the transcoding. At
            least one resolution should be enabled. Possible values: 240p, 360p,
            480p, 720p, 1080p, 1440p, 2160p
          nullable: true
        ViAiPublisherId:
          type: string
          description: (Optional) Sets the vi.ai publisher ID
          nullable: true
        VastTagUrl:
          type: string
          description: (Optional) Sets the Vast tag URL
          nullable: true
        WebhookUrl:
          type: string
          description: (Optional) Sets the webhook API url
          nullable: true
        CaptionsFontSize:
          type: integer
          description: (Optional) Sets the captions display font size
          format: int32
          nullable: true
        CaptionsFontColor:
          type: string
          description: (Optional) Sets the captions display font color
          nullable: true
        CaptionsBackground:
          type: string
          description: (Optional) Sets the captions display background color
          nullable: true
        UILanguage:
          type: string
          description: (Optional) Sets the UI language of the video player.
          nullable: true
        AllowEarlyPlay:
          type: boolean
          description: >-
            (Optional) Determines if the Early-Play feature should be enabled.
            Enabling this will enable Expose Originals.
          nullable: true
        PlayerTokenAuthenticationEnabled:
          type: boolean
          description: (Optional) Determines if the token authentication should be enabled.
          nullable: true
        BlockNoneReferrer:
          type: boolean
          description: >-
            (Optional) Determines if requests without a referer should be
            blocked.
          nullable: true
        EnableMP4Fallback:
          type: boolean
          description: >-
            (Optional) Determines if MP4 fallback should be enabled for this
            library.
          nullable: true
        KeepOriginalFiles:
          type: boolean
          description: >-
            (Optional) Determines if the original file should be kept after the
            video is processed.
          nullable: true
        AllowDirectPlay:
          type: boolean
          description: >-
            (Optional) Determines if direct play URLs should be enabled for the
            library
          nullable: true
        EnableDRM:
          type: boolean
          description: >-
            (Optional) Determines if MediaCage DRM should be enabled for this
            library
          nullable: true
        DrmVersion:
          description: >-
            (Optional) Determines MediaCage DRM version to be used for this
            library
          nullable: true
          oneOf:
            - $ref: '#/components/schemas/DrmVersion'
        Controls:
          type: string
          description: >-
            (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.
          nullable: true
        PlaybackSpeeds:
          type: string
          description: >-
            (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
          nullable: true
        Bitrate240p:
          type: integer
          description: (Optional) The bitrate used for encoding 240p videos
          format: int32
          nullable: true
        Bitrate360p:
          type: integer
          description: (Optional) The bitrate used for encoding 360p videos
          format: int32
          nullable: true
        Bitrate480p:
          type: integer
          description: (Optional) The bitrate used for encoding 480p videos
          format: int32
          nullable: true
        Bitrate720p:
          type: integer
          description: (Optional) The bitrate used for encoding 720p videos
          format: int32
          nullable: true
        Bitrate1080p:
          type: integer
          description: (Optional) The bitrate used for encoding 1080p videos
          format: int32
          nullable: true
        Bitrate1440p:
          type: integer
          description: (Optional) The bitrate used for encoding 1440p videos
          format: int32
          nullable: true
        Bitrate2160p:
          type: integer
          description: (Optional) The bitrate used for encoding 2160p videos
          format: int32
          nullable: true
        ShowHeatmap:
          type: boolean
          description: >-
            (Optional) Determines if the video watch heatmap should be displayed
            in the player.
          nullable: true
        EnableContentTagging:
          type: boolean
          description: >-
            (Optional) Determines if content tagging should be enabled for this
            library.
          nullable: true
        FontFamily:
          type: string
          description: (Optional) The captions font family.
          nullable: true
        EnableTranscribing:
          type: boolean
          description: >-
            (Optional) Determines if the automatic audio transcribing is
            currently enabled for this zone.
          nullable: true
        EnableTranscribingTitleGeneration:
          type: boolean
          description: >-
            (Optional) Determines if automatic transcribing title generation is
            currently enabled.
          nullable: true
        EnableTranscribingDescriptionGeneration:
          type: boolean
          description: >-
            (Optional) Determines if automatic transcribing description
            generation is currently enabled.
          nullable: true
        EnableTranscribingChaptersGeneration:
          type: boolean
          description: >-
            (Optional) Determines if automatic transcribing chapters generation
            is currently enabled.
          nullable: true
        EnableTranscribingMomentsGeneration:
          type: boolean
          description: >-
            (Optional) Determines if automatic transcribing moments generation
            is currently enabled.
          nullable: true
        TranscribingCaptionLanguages:
          type: array
          description: >-
            (Optional) The list of languages that the captions will be
            automatically transcribed to.
          nullable: true
          items:
            type: string
        EnableCaptionsInPlaylist:
          type: boolean
          description: >-
            (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.
          nullable: true
        RememberPlayerPosition:
          type: boolean
          description: >-
            (Optional) Determines if the player will automatically remember the
            playback position.
          nullable: true
        EnableMultiAudioTrackSupport:
          type: boolean
          description: >-
            (Optional) Determines if multiple output audio track support is
            enabled on video library.
          nullable: true
        UseSeparateAudioStream:
          type: boolean
          description: >-
            (Optional) Determines whether output audio stream should be split
            from video stream segments.
          nullable: true
        JitEncodingEnabled:
          type: boolean
          description: >-
            (Optional) Determines whether JIT encoding should be used for the
            library. Supported in premium encoding only.
          nullable: true
        EncodingTier:
          description: >-
            (Optional) Defines encoding tier to be used with video library.
            premium is a paid tier that offers either JIT encoding or
            prioritized encoding and extra codec support.
          nullable: true
          oneOf:
            - $ref: '#/components/schemas/EncodingTier'
        OutputCodecs:
          type: string
          description: >-
            (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.
          nullable: true
        AppleFairPlayDrm:
          description: >-
            (Optional) Configure Apple FairPlay DRM. Works only if Enterprise
            DRM is set up.
          nullable: true
          oneOf:
            - $ref: '#/components/schemas/AppleFairPlayDrmUpdateModel'
        GoogleWidevineDrm:
          description: >-
            (Optional) Configure Google Widevine DRM. Works only if Enterprise
            DRM is set up.
          nullable: true
          oneOf:
            - $ref: '#/components/schemas/GoogleWidevineDrmUpdateModel'
        PlayerVersion:
          type: integer
          description: (Optional) Sets player version used for this library
          format: int32
          nullable: true
        RemoveMetadataFromFallbackVideos:
          type: boolean
          description: >-
            (Optional) Marks whether all potential video metadata should be
            removed from the fallback files
          nullable: true
        ScaleVideoUsingBothDimensions:
          type: boolean
          description: >-
            (Optional) Marks whether videos should be scaled using both
            dimensions. Prevents videos being upscaled or unexpected aspect
            ratio changes.
          nullable: true
        ExposeOriginals:
          type: boolean
          description: >-
            (Optional) Marks whether original video files should be exposed via
            CDN. Originals are not protected by DRM. Enabling Early-Play will
            enable this.
          nullable: true
        ExposeVideoMetadata:
          type: boolean
          description: >-
            (Optional) Marks whether video metadata in form of schema meta tags
            and LD+JSON should be exposed.
          nullable: true
        EnableCompactControls:
          type: boolean
          description: >-
            (Optional) Marks whether compact controls should be enabled for the
            player.
          nullable: true
    VideoLibraryModel:
      type: object
      additionalProperties: false
      properties:
        Id:
          type: integer
          format: int64
        Name:
          type: string
          description: The name of the Video Library.
          nullable: true
        VideoCount:
          type: integer
          description: The number of videos in the video library
          format: int64
        TrafficUsage:
          type: integer
          description: The amount of traffic usage this month
          format: int64
        StorageUsage:
          type: integer
          description: The total amount of storage used by the library
          format: int64
        DateCreated:
          type: string
          description: The date when the video library was created
          format: date-time
        DateModified:
          type: string
          description: The date when the video library was last modified
          format: date-time
        ReplicationRegions:
          type: array
          description: The geo-replication regions of the underlying storage zone
          nullable: true
          items:
            type: string
        ApiKey:
          type: string
          description: The API key used for authenticating with the video library
          nullable: true
        ReadOnlyApiKey:
          type: string
          description: The read-only API key used for authenticating with the video library
          nullable: true
        HasWatermark:
          type: boolean
          description: Determines if the video library has a watermark configured
        WatermarkPositionLeft:
          type: integer
          description: The left offset of the watermark position (in %)
          format: int32
        WatermarkPositionTop:
          type: integer
          description: The top offset of the watermark position (in %)
          format: int32
        WatermarkWidth:
          type: integer
          description: The width of the watermark (in %)
          format: int32
        PullZoneId:
          type: integer
          description: The ID of the connected underlying pull zone
          format: int64
        StorageZoneId:
          type: integer
          description: The ID of the connected underlying storage zone
          format: int64
        WatermarkHeight:
          type: integer
          description: The height of the watermark (in %)
          format: int32
        EnabledResolutions:
          type: string
          description: The comma separated list of enabled resolutions
          nullable: true
        ViAiPublisherId:
          type: string
          description: The vi.ai publisher id for advertising configuration
          nullable: true
        VastTagUrl:
          type: string
          description: The URL of the VAST tag endpoint for advertising configuration
          nullable: true
        WebhookUrl:
          type: string
          description: The webhook URL of the video library
          nullable: true
        CaptionsFontSize:
          type: integer
          description: The captions display font size
          format: int32
        CaptionsFontColor:
          type: string
          description: The captions display font color
          nullable: true
        CaptionsBackground:
          type: string
          description: The captions display background color
          nullable: true
        UILanguage:
          type: string
          description: The UI language of the player
          nullable: true
        AllowEarlyPlay:
          type: boolean
          description: Determines if the Early-Play feature is enabled
          nullable: true
        PlayerTokenAuthenticationEnabled:
          type: boolean
          description: Determines if the player token authentication is enabled
        AllowedReferrers:
          type: array
          description: The list of allowed referrer domains allowed to access the library
          nullable: true
          items:
            type: string
        BlockedReferrers:
          type: array
          description: >-
            The list of blocked referrer domains blocked from accessing the
            library
          nullable: true
          items:
            type: string
        BlockNoneReferrer:
          type: boolean
          description: Determines if the requests without a referrer are blocked
        EnableMP4Fallback:
          type: boolean
          description: Determines if the MP4 fallback feature is enabled
        KeepOriginalFiles:
          type: boolean
          description: >-
            Determines if the original video files should be stored after
            encoding
        AllowDirectPlay:
          type: boolean
          description: Determines direct play URLs are enabled for the library
        EnableDRM:
          type: boolean
          description: Determines if the DRM is enabled
        DrmVersion:
          description: DRM version (basic or enterprise)
          oneOf:
            - $ref: '#/components/schemas/DrmVersion'
        AppleFairPlayDrm:
          description: Described Apple FairPlay DRM
          nullable: true
          oneOf:
            - $ref: '#/components/schemas/AppleFairPlayDrm'
        GoogleWidevineDrm:
          description: Describes Google Widevine DRM
          nullable: true
          oneOf:
            - $ref: '#/components/schemas/GoogleWidevineDrm'
        Bitrate240p:
          type: integer
          description: The bitrate used for encoding 240p videos
          format: int32
        Bitrate360p:
          type: integer
          description: The bitrate used for encoding 360p videos
          format: int32
        Bitrate480p:
          type: integer
          description: The bitrate used for encoding 480p videos
          format: int32
        Bitrate720p:
          type: integer
          description: The bitrate used for encoding 720p videos
          format: int32
        Bitrate1080p:
          type: integer
          description: The bitrate used for encoding 1080p videos
          format: int32
        Bitrate1440p:
          type: integer
          description: The bitrate used for encoding 1440p videos
          format: int32
        Bitrate2160p:
          type: integer
          description: The bitrate used for encoding 2160p videos
          format: int32
        ApiAccessKey:
          type: string
          deprecated: true
          x-deprecatedMessage: >-
            The API access key for the library. Should use the ApiKey as the
            value is the same.
          nullable: true
        ShowHeatmap:
          type: boolean
          description: >-
            Determines if the video watch heatmap should be displayed in the
            player.
        EnableContentTagging:
          type: boolean
          description: Determines if content tagging should be enabled for this library.
        PullZoneType:
          description: The type of the pull zone attached. Premium = 0, Volume = 1
          oneOf:
            - $ref: '#/components/schemas/PullZoneType'
        CustomHTML:
          type: string
          description: The custom HTMl that is added into the head of the HTML player.
          nullable: true
        Controls:
          type: string
          description: The list of controls on the video player.
          nullable: true
        PlaybackSpeeds:
          type: string
          description: The list of playback speeds available in the video player.
          nullable: true
        PlayerKeyColor:
          type: string
          description: The key color of the player.
          nullable: true
        FontFamily:
          type: string
          description: The captions font family.
          nullable: true
        WatermarkVersion:
          type: integer
          format: int64
        EnableTranscribing:
          type: boolean
          description: >-
            Determines if the automatic audio transcribing is currently enabled
            for this zone.
        EnableTranscribingTitleGeneration:
          type: boolean
          description: >-
            Determines if automatic transcribing title generation is currently
            enabled.
        EnableTranscribingDescriptionGeneration:
          type: boolean
          description: >-
            Determines if automatic transcribing description generation is
            currently enabled.
        EnableTranscribingChaptersGeneration:
          type: boolean
          description: >-
            Determines if automatic transcribing chapters generation is
            currently enabled.
        EnableTranscribingMomentsGeneration:
          type: boolean
          description: >-
            Determines if automatic transcribing moments generation is currently
            enabled.
        TranscribingCaptionLanguages:
          type: array
          description: >-
            The list of languages that the captions will be automatically
            transcribed to.
          nullable: true
          items:
            type: string
        EnableCaptionsInPlaylist:
          type: boolean
          description: >-
            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.
          nullable: true
        RememberPlayerPosition:
          type: boolean
          description: >-
            Determines if the player will automatically remember the playback
            position.
        EnableMultiAudioTrackSupport:
          type: boolean
          description: >-
            Determines if multiple output audio track support is enabled on
            video library.
        UseSeparateAudioStream:
          type: boolean
          description: >-
            Determines whether output audio stream should be split from video
            stream segments.
        JitEncodingEnabled:
          type: boolean
          description: >-
            Determines whether JIT encoding should be used for the library.
            Supported in premium encoding only.
        EncodingTier:
          description: >-
            Defines encoding tier to be used with video library. premium is a
            paid tier that offers either JIT encoding or prioritized encoding
            and extra codec support.
          oneOf:
            - $ref: '#/components/schemas/EncodingTier'
        OutputCodecs:
          type: string
          description: >-
            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.
          nullable: true
        DrmBasePriceOverride:
          type: number
          description: >-
            DRM (enterprise) monthly base price for this video library if it
            differs from list price.
          format: decimal
          nullable: true
        DrmCostPerLicenseOverride:
          type: number
          description: >-
            DRM (enterprise) cost per license for this video library if it
            differs from list price.
          format: decimal
          nullable: true
        TranscribingPriceOverride:
          type: number
          format: decimal
          nullable: true
        PremiumEncodingPriceOverride:
          type: number
          format: decimal
          nullable: true
        MonthlyChargesTranscribing:
          type: number
          format: decimal
        MonthlyChargesPremiumEncoding:
          type: number
          format: decimal
        MonthlyChargesEnterpriseDrm:
          type: number
          format: decimal
        FeatureFlags:
          type: string
          nullable: true
        PlayerVersion:
          type: integer
          format: int32
        RemoveMetadataFromFallbackVideos:
          type: boolean
          description: >-
            Marks whether all potential video metadata should be removed from
            the fallback files. Default false.
        ScaleVideoUsingBothDimensions:
          type: boolean
          description: >-
            Marks whether videos should be scaled using both dimensions.
            Prevents videos being upscaled or unexpected aspect ratio changes.
            Default true.
        ExposeOriginals:
          type: boolean
          description: Marks whether original video files should be exposed via CDN.
        ExposeVideoMetadata:
          type: boolean
          description: >-
            Marks whether video metadata in form of schema meta tags and LD+JSON
            should be exposed.
        EnableCompactControls:
          type: boolean
          description: Marks whether compact controls should be enabled for the player.
    ApiErrorData:
      type: object
      additionalProperties: false
      properties:
        ErrorKey:
          type: string
          nullable: true
        Field:
          type: string
          nullable: true
        Message:
          type: string
          nullable: true
    DrmVersion:
      type: integer
      description: |-
        0 = Basic
        1 = Enterprise
        2 = BasicV2
      x-enumNames:
        - Basic
        - Enterprise
        - BasicV2
      enum:
        - 0
        - 1
        - 2
    EncodingTier:
      type: integer
      description: |-
        0 = Free
        1 = Premium
      x-enumNames:
        - Free
        - Premium
      enum:
        - 0
        - 1
    AppleFairPlayDrmUpdateModel:
      type: object
      additionalProperties: false
      properties:
        Enabled:
          type: boolean
          description: (Optional) Enables or disables Apple FairPlay Enterprise DRM
          nullable: true
    GoogleWidevineDrmUpdateModel:
      type: object
      additionalProperties: false
      properties:
        Enabled:
          type: boolean
          description: (Optional) Enables or disables Google Widevine Enterprise DRM
          nullable: true
        SdOnlyForL3:
          type: boolean
          description: (Optional) Only allow audio and SD access to Widevine L3 clients
          nullable: true
        MinClientSecurityLevel:
          description: >-
            (Optional) Minimum Client Security Level (1 being most secure, 3
            least secure and is default)
          nullable: true
          oneOf:
            - $ref: '#/components/schemas/WidevineMinClientSecurityLevel'
    AppleFairPlayDrm:
      type: object
      additionalProperties: false
      properties:
        Enabled:
          type: boolean
        CertificateId:
          type: integer
          format: int64
          nullable: true
        CertificateExpirationDate:
          type: string
          format: date-time
          nullable: true
        Provider:
          type: string
          nullable: true
    GoogleWidevineDrm:
      type: object
      additionalProperties: false
      properties:
        Enabled:
          type: boolean
        CertificateId:
          type: integer
          format: int64
          nullable: true
        CertificateExpirationDate:
          type: string
          format: date-time
          nullable: true
        Provider:
          type: string
          nullable: true
        SdOnlyForL3:
          type: boolean
        MinClientSecurityLevel:
          nullable: true
          oneOf:
            - $ref: '#/components/schemas/WidevineMinClientSecurityLevel'
    PullZoneType:
      type: integer
      description: |-
        0 = Premium
        1 = Volume
      x-enumNames:
        - Premium
        - Volume
      enum:
        - 0
        - 1
    WidevineMinClientSecurityLevel:
      type: integer
      description: |-
        0 = None
        1 = L1
        2 = L2
        3 = L3
      x-enumNames:
        - None
        - L1
        - L2
        - L3
      enum:
        - 0
        - 1
        - 2
        - 3
  securitySchemes:
    AccessKey:
      type: apiKey
      description: API Access Key authorization header
      name: AccessKey
      in: header
    bearer:
      type: apiKey
      description: Bearer token authorization header
      name: Authorization
      in: header

````