{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/bigcommerce/json-schema/bigcommerce-product-video-full-schema.json",
  "title": "productVideo_Full",
  "description": "A product video model.\n",
  "x-generated": "2026-11-10",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/bigcommerce-videos-api-openapi.yml#/components/schemas/productVideo_Full",
  "allOf": [
    {
      "$ref": "#/$defs/productVideo_Base"
    },
    {
      "type": "object",
      "properties": {
        "id": {
          "type": "integer",
          "description": "The unique numeric ID of the product video; increments sequentially.\n"
        },
        "product_id": {
          "type": "integer",
          "description": "The unique numeric identifier for the product with which the image is associated.\n"
        },
        "length": {
          "type": "string",
          "description": "Length of the video. This will be filled in according to data on a host site.\n"
        }
      }
    }
  ],
  "x-internal": false,
  "$defs": {
    "productVideo_Base": {
      "title": "productVideo_Base",
      "type": "object",
      "description": "The model for a POST to create a video on a product.\n",
      "x-internal": false,
      "properties": {
        "title": {
          "type": "string",
          "maxLength": 255,
          "minLength": 0,
          "description": "The title for the video. If left blank, this will be filled in according to data on a host site.\n"
        },
        "description": {
          "type": "string",
          "description": "The description for the video. If left blank, this will be filled in according to data on a host site.\n"
        },
        "sort_order": {
          "type": "integer",
          "maximum": 2147483647,
          "minimum": -2147483648,
          "description": "The order in which the video will be displayed on the product page. Higher integers give the video a lower priority. When updating, if the video is given a lower priority, all videos with a `sort_order` the same as or greater than the videoʼs new `sort_order` value will have their `sort_order`s reordered.\n"
        },
        "type": {
          "type": "string",
          "description": "The video type (a short name of a host site).\n",
          "enum": [
            "youtube"
          ]
        },
        "video_id": {
          "type": "string",
          "description": "The ID of the video on a host site."
        }
      }
    }
  }
}