> ## Documentation Index > Fetch the complete documentation index at: https://bunny.net/docs/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.21 servers: - url: https://video.bunnycdn.com security: [] tags: - name: Manage Collections - name: Encoding Statistics - 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 ```` This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.