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

# Update Video



## OpenAPI

````yaml https://video.bunnycdn.com/openapi/bunnynet-video-api.public.json post /library/{libraryId}/videos/{videoId}
openapi: 3.0.0
info:
  title: Stream API
  termsOfService: https://bunny.net/tos
  contact:
    name: bunny.net
    url: https://docs.bunny.net
    email: support@bunny.net
  version: 1.6.1
servers:
  - url: https://video.bunnycdn.com
security: []
tags:
  - name: Manage Collections
  - name: Manage Videos
paths:
  /library/{libraryId}/videos/{videoId}:
    post:
      tags:
        - Manage Videos
      summary: Update Video
      operationId: Video_UpdateVideo
      parameters:
        - name: libraryId
          in: path
          required: true
          description: The ID of the video library.
          schema:
            type: integer
            format: int64
          x-position: 1
        - name: videoId
          in: path
          required: true
          description: The GUID of the video.
          schema:
            type: string
          x-position: 2
      requestBody:
        x-name: model
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateVideoModel'
        required: true
        x-position: 3
      responses:
        '200':
          description: The video was successfully updated
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/StatusModel'
        '401':
          description: The request authentication failed
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/StatusModel'
        '403':
          description: The request authorization failed
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/StatusModel'
        '404':
          description: The requested video was not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/StatusModel'
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/StatusModel'
      security:
        - AccessKey: []
components:
  schemas:
    UpdateVideoModel:
      type: object
      additionalProperties: false
      properties:
        title:
          type: string
          description: The title of the video
          nullable: true
        collectionId:
          type: string
          description: >-
            The ID of the collection where the video belongs. Omit/null to leave
            the current collection unchanged; send an empty string to remove the
            video from its collection.
          nullable: true
        chapters:
          type: array
          description: >-
            The list of chapters available for the video, up to 200. Omit/null
            to leave existing chapters unchanged; providing a list, including an
            empty one, fully replaces all existing chapters.
          nullable: true
          items:
            $ref: '#/components/schemas/ChapterModel'
        moments:
          type: array
          description: >-
            The list of moments available for the video, up to 200. Omit/null to
            leave existing moments unchanged; providing a list, including an
            empty one, fully replaces all existing moments.
          nullable: true
          items:
            $ref: '#/components/schemas/MomentModel'
        metaTags:
          type: array
          description: >-
            The meta tags added to the video, up to 50. Omit/null to leave
            existing tags unchanged; providing a list, including an empty one,
            fully replaces all existing tags. Setting a tag with Property
            "description" also updates the video's Description field.
          nullable: true
          items:
            $ref: '#/components/schemas/MetaTagModel'
    StatusModel:
      type: object
      additionalProperties: false
      properties:
        success:
          type: boolean
          description: Determines if the request was successful
        message:
          type: string
          description: >-
            Human-readable message describing the result, typically populated
            with error details when Success is false.
          nullable: true
        statusCode:
          type: integer
          description: The HTTP status code corresponding to the result of the request.
          format: int32
    ChapterModel:
      type: object
      additionalProperties: false
      required:
        - title
      properties:
        title:
          type: string
          description: The title of the chapter, up to 255 characters.
          minLength: 1
        start:
          type: integer
          description: >-
            The start time of the chapter in seconds. Must be less than End and
            within the video's duration; chapters must not overlap each other.
          format: int32
        end:
          type: integer
          description: >-
            The end time of the chapter in seconds. Must be greater than Start
            and within the video's duration; chapters must not overlap each
            other.
          format: int32
    MomentModel:
      type: object
      additionalProperties: false
      required:
        - label
      properties:
        label:
          type: string
          description: The text description label for the moment, up to 255 characters.
          minLength: 1
        timestamp:
          type: integer
          description: >-
            The timestamp of the moment in seconds. Must be within the video's
            duration.
          format: int32
    MetaTagModel:
      type: object
      additionalProperties: false
      properties:
        property:
          type: string
          description: >-
            The meta tag key. Must match ^[A-Za-z0-9._:'"-]+$. Setting a tag
            with the property "description" also updates the video's Description
            field.
          nullable: true
        value:
          type: string
          description: >-
            The meta tag value. HTML/markup is stripped and the value is stored
            as plain text.
          nullable: true
  securitySchemes:
    AccessKey:
      type: apiKey
      description: AccessKey based authentication
      name: AccessKey
      in: header

````