{
  "openapi": "3.1.0",
  "info": {
    "title": "Gumlet",
    "description": "Gumlet helps developers deliver online video and images. This API encompasses Gumlet Video, Image and Video Analytics functionality to help you build your products better and faster than ever before.",
    "version": "1.4",
    "contact": {
      "name": "Gumlet Support Team",
      "url": "https://www.gumlet.com/contact/",
      "email": "support@gumlet.com"
    },
    "termsOfService": "https://www.gumlet.com/terms/",
    "license": {
      "name": "Apache 2.0",
      "url": "https://opensource.org/license/apache-2.0"
    },
    "x-scalar-sdk-installation": [
      {
        "lang": "TypeScript",
        "description": "```sh\nnpm install @gumlet/nodejs-sdk\n```"
      },
      {
        "lang": "Python",
        "description": "```sh\npip install gumlet\n```"
      }
    ]
  },
  "servers": [
    {
      "url": "https://api.gumlet.com/v1"
    }
  ],
  "components": {
    "securitySchemes": {
      "API_KEY": {
        "type": "http",
        "scheme": "bearer"
      }
    },
    "schemas": {
      "Error": {
        "type": "object",
        "required": [
          "error"
        ],
        "properties": {
          "error": {
            "type": "object",
            "required": [
              "code",
              "message"
            ],
            "properties": {
              "code": {
                "type": "string",
                "description": "Machine-readable error code"
              },
              "message": {
                "type": "string",
                "description": "Human-readable error message"
              },
              "param": {
                "type": "string",
                "description": "Optional parameter name related to the error"
              }
            }
          }
        }
      }
    },
    "responses": {
      "Unauthorized": {
        "description": "Unauthorized — missing or invalid API key / bearer token",
        "content": {
          "application/json": {
            "examples": {
              "Result": {
                "value": {
                  "error": {
                    "code": "invalid_api_key",
                    "message": "API key supplied with request is invalid"
                  }
                }
              }
            },
            "schema": {
              "$ref": "#/components/schemas/Error"
            }
          }
        }
      },
      "Forbidden": {
        "description": "Forbidden — unpaid account or insufficient role permissions",
        "content": {
          "application/json": {
            "examples": {
              "Result": {
                "value": {
                  "error": {
                    "code": "unauthorized",
                    "message": "You don't have access to this feature. Please contact your organization owner."
                  }
                }
              }
            },
            "schema": {
              "$ref": "#/components/schemas/Error"
            }
          }
        }
      },
      "ValidationError": {
        "description": "Unprocessable Entity — request validation failed",
        "content": {
          "application/json": {
            "examples": {
              "Result": {
                "value": {
                  "error": {
                    "code": "invalid_parameter",
                    "message": "body must have required property '<field>'"
                  }
                }
              }
            },
            "schema": {
              "$ref": "#/components/schemas/Error"
            }
          }
        }
      },
      "InternalServerError": {
        "description": "Internal Server Error",
        "content": {
          "application/json": {
            "examples": {
              "Result": {
                "value": {
                  "error": {
                    "code": "internal_server_error",
                    "message": "We have encountered some server error. We have been notified and will fix it soon."
                  }
                }
              }
            },
            "schema": {
              "$ref": "#/components/schemas/Error"
            }
          }
        }
      }
    }
  },
  "paths": {
    "/video/assets": {
      "post": {
        "summary": "Create Asset",
        "description": "An asset refers to media content/video that is processed, stored, and delivered through Gumlet. This endpoint creates an asset allowing users to ingest media content into the Gumlet system for processing and delivery.",
        "operationId": "create-asset",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "input",
                  "workspace_id",
                  "format"
                ],
                "properties": {
                  "input": {
                    "type": "string",
                    "description": "URL or web address of a file that Gumlet should download to create a new asset."
                  },
                  "profile_id": {
                    "type": "string",
                    "description": "Provide `profile_id` of the previously created video profile. This parameter will override all the parameters (except `input` and `collection_id`) from the video profile."
                  },
                  "format": {
                    "type": "string",
                    "description": "Transcode and deliver the asset in the requested format. The options can be one of `ABR` (HLS + DASH) and `MP4`.",
                    "enum": [
                      "ABR",
                      "MP4"
                    ]
                  },
                  "tag": {
                    "type": "array",
                    "description": "Specify a text string or identifier which can identify an asset or bunch of assets later.",
                    "items": {
                      "x-stoplight": {
                        "id": "ukzi2mra8hepj"
                      },
                      "type": "string"
                    }
                  },
                  "title": {
                    "type": "string",
                    "description": "Specify a text string or identifier which can be used for filtering or searching the asset."
                  },
                  "description": {
                    "type": "string",
                    "description": "Attach some textual data with the asset. This field is neither searchable nor filterable."
                  },
                  "metadata": {
                    "type": "object",
                    "description": "Add your metadata you want to associate with this asset.<br/> Example: <br/> <code>  {  \"internal_video_id\" : \"123Abc\"  }  </code>",
                    "additionalProperties": {},
                    "properties": {},
                    "x-apidog-orders": []
                  },
                  "width": {
                    "type": "string",
                    "description": "Resize video with the given width. Can be an absolute value in pixels or a percentage value with the `%` suffix. Specified values greater than the original asset width will be ignored. Applicable only when specified format is `MP4`."
                  },
                  "height": {
                    "type": "string",
                    "description": "Resize video with the given height. Can be an absolute value in pixels or a percentage value with the `%` suffix. Specified values greater than the original asset height will be ignored. Applicable only when specified format is `MP4`."
                  },
                  "resolution": {
                    "type": "string",
                    "description": "Required resolutions of the transformed asset in case of HLS or MPEG-DASH delivery format. Can be a comma-separated string out of the following values: `240p`, `360p`, `480p`, `540p`, `720p`, and `1080p`. Resized rendition will retain the input aspect ratio."
                  },
                  "crop": {
                    "type": "object",
                    "description": "This transformation can be used to crop the video by defining a rectangular area within the dimensions of the output video.",
                    "required": [
                      "width",
                      "height"
                    ],
                    "properties": {
                      "horizontal_margin": {
                        "type": "string",
                        "description": "This parameter defines the horizontal coordinate value of the upper-left corner of the cropping area. Values can be an absolute number of pixels or a percentage value relative to the video width. **Default: `0`**"
                      },
                      "vertical_margin": {
                        "type": "string",
                        "description": "This parameter defines the vertical coordinate value of the upper-left corner of the cropping area. Values can be an absolute number of pixels or a percentage value relative to the video height. **Default: `0`**"
                      },
                      "width": {
                        "type": "string",
                        "description": "Width of the cropping area in pixels."
                      },
                      "height": {
                        "type": "string",
                        "description": "Height of the cropping area in pixels."
                      }
                    },
                    "x-apidog-orders": [
                      "horizontal_margin",
                      "vertical_margin",
                      "width",
                      "height"
                    ]
                  },
                  "pad": {
                    "type": "object",
                    "description": "This transformation can be used to add padding to the video.",
                    "properties": {
                      "top": {
                        "type": "string",
                        "description": "Width of padding on the top side. Values can be an absolute number of pixels or a percentage value relative to the video height. **Default: `%5`**"
                      },
                      "left": {
                        "type": "string",
                        "description": "Width of padding on the left side. Values can be an absolute number of pixels or a percentage value relative to the video width. **Default: `0`**"
                      },
                      "bottom": {
                        "type": "string",
                        "description": "Width of padding on the bottom side. Values can be an absolute number of pixels or a percentage value relative to the video height. **Default: `%5`**"
                      },
                      "right": {
                        "type": "string",
                        "description": "Width of padding on the right side. Values can be an absolute number of pixels or a percentage value relative to the video width. **Default: `0`**"
                      },
                      "color": {
                        "type": "string",
                        "description": "Color of padding area. **Default: `black`**"
                      }
                    },
                    "x-apidog-orders": [
                      "top",
                      "left",
                      "bottom",
                      "right",
                      "color"
                    ]
                  },
                  "trim": {
                    "type": "object",
                    "description": "Trim transformation can be used to trim videos based on time duration.",
                    "required": [
                      "start_offset",
                      "end_offset"
                    ],
                    "properties": {
                      "start_offset": {
                        "type": "number",
                        "description": "Start offset in number of seconds or in `HH:MM:SS` format.",
                        "format": "float"
                      },
                      "end_offset": {
                        "type": "number",
                        "description": "End offset in number of seconds or in `HH:MM:SS` format.",
                        "format": "float"
                      },
                      "duration": {
                        "type": "number",
                        "description": "Duration can be used in conjunction with `start_offset` parameter, can be specified in number of seconds.",
                        "format": "float"
                      }
                    },
                    "x-apidog-orders": [
                      "start_offset",
                      "end_offset",
                      "duration"
                    ]
                  },
                  "image_overlay": {
                    "type": "object",
                    "description": "Image overlay can be used to brand a video or add a visual label in the form of an image.",
                    "required": [
                      "url"
                    ],
                    "properties": {
                      "url": {
                        "type": "string",
                        "description": "This is the required parameter for image overlay; it can be a URL to an image that needs to be overlaid."
                      },
                      "horizontal_margin": {
                        "type": "string",
                        "description": "This parameter defines the horizontal coordinate value of the corner (determined by `horizontal_align`) of the overlay area. Values can be an absolute number of pixels or a percentage value relative to the video width. **Default: `0`**"
                      },
                      "vertical_margin": {
                        "type": "string",
                        "description": "This parameter defines the vertical coordinate value of the corner (determined by `vertical_align`) of the overlay area. Values can be an absolute number of pixels or a percentage value relative to the video height. **Default: `0`**"
                      },
                      "horizontal_align": {
                        "type": "string",
                        "description": "This parameter specifies the horizontal alignment of the overlaid image and can be either `left` or `right`. **Default: `right`**"
                      },
                      "vertical_align": {
                        "type": "string",
                        "description": "This parameter specifies the vertical alignment of the overlaid image and can be either `top` or `bottom`. **Default: `bottom`**"
                      },
                      "width": {
                        "type": "string",
                        "description": "Width of the overlaid image. **Default: `image width`**"
                      },
                      "height": {
                        "type": "string",
                        "description": "Height of the overlaid image. **Default: `image height`**"
                      }
                    },
                    "x-apidog-orders": [
                      "url",
                      "horizontal_margin",
                      "vertical_margin",
                      "horizontal_align",
                      "vertical_align",
                      "width",
                      "height"
                    ]
                  },
                  "text_overlay": {
                    "type": "object",
                    "description": "Text overlay can be used to brand a video or add a label in the form of text.",
                    "required": [
                      "text"
                    ],
                    "properties": {
                      "text": {
                        "type": "string",
                        "description": "Text to be overlaid on video."
                      },
                      "horizontal_align": {
                        "type": "string",
                        "description": "This parameter specifies the horizontal alignment of the overlaid text and can be either `left` or `right`. **Default: `right`**"
                      },
                      "vertical_align": {
                        "type": "string",
                        "description": "This parameter specifies the vertical alignment of the overlaid text and can be either `top` or `bottom`. **Default: `bottom`**"
                      },
                      "horizontal_margin": {
                        "type": "string",
                        "description": "This parameter defines the horizontal coordinate value of the corner (determined by `horizontal_align`) of the overlay area. Values can be an absolute number of pixels relative to the video width. **Default: `0`**"
                      },
                      "vertical_margin": {
                        "type": "string",
                        "description": "This parameter defines the vertical coordinate value of the corner (determined by vertical_align) of the overlay area. Values can be an absolute number of pixels relative to the video height. **Default: `0`**"
                      },
                      "color": {
                        "type": "string",
                        "description": "Font color for text. **Default: `black`**"
                      },
                      "font": {
                        "type": "string",
                        "description": "Font family type for text. **Default: `sans`**"
                      },
                      "font_size": {
                        "type": "string",
                        "description": "Font size in pixels. **Default: `16`**"
                      },
                      "opacity": {
                        "type": "string",
                        "description": "Overlay text opacity can be specified with opacity parameter where value can be between `0` and `100` where `0` is considered completely transparent and `100` is considered completely opaque. **Default: `100`**"
                      },
                      "box": {
                        "type": "boolean",
                        "description": "This parameter allows drawing a rectangular box over the overlaid text. **Default: `false`**"
                      },
                      "box_color": {
                        "type": "string",
                        "description": "Box color can be specified with this parameter. **Default: `white`**"
                      },
                      "box_opacity": {
                        "type": "string",
                        "description": "Box opacity can be specified with this parameter. **Default: `100`**"
                      },
                      "box_border": {
                        "type": "string",
                        "description": "Padding between the box border and the text can be specified with this parameter in pixels. **Default: `0`**"
                      }
                    },
                    "x-apidog-orders": [
                      "text",
                      "horizontal_align",
                      "vertical_align",
                      "horizontal_margin",
                      "vertical_margin",
                      "color",
                      "font",
                      "font_size",
                      "opacity",
                      "box",
                      "box_color",
                      "box_opacity",
                      "box_border"
                    ]
                  },
                  "animated_gif": {
                    "type": "object",
                    "description": "Create an animated GIF from the video.",
                    "properties": {
                      "start_offset": {
                        "type": "string",
                        "description": "The time (in seconds or `HH:MM:SS` format) of the video timeline where the animated gif should begin. **Default: `0`**"
                      },
                      "end_offset": {
                        "type": "string",
                        "description": "The time (in seconds or `HH:MM:SS` format) of the video timeline where the GIF ends. Defaults to `10` seconds after the start_offset. Maximum duration of GIF is limited to `10` seconds."
                      },
                      "width": {
                        "type": "string",
                        "description": "The width in pixels (or in percentage value of asset width) of the animated GIF. Max width is `640px`."
                      },
                      "height": {
                        "type": "string",
                        "description": "The height in pixels (or in percentage value of asset height) of the animated GIF. Max height is `640px`."
                      },
                      "fps": {
                        "type": "string",
                        "description": "The frame rate of the generated GIF. Defaults to `15` fps. Max `30` fps."
                      }
                    },
                    "x-apidog-orders": [
                      "start_offset",
                      "end_offset",
                      "width",
                      "height",
                      "fps"
                    ]
                  },
                  "additional_tracks": {
                    "type": "array",
                    "description": "Add additional Audio / Subtitle tracks to Gumlet for transcoding and delivery along with video asset track.",
                    "items": {
                      "type": "object",
                      "required": [
                        "url",
                        "type",
                        "language_code"
                      ],
                      "properties": {
                        "url": {
                          "type": "string",
                          "description": "URL or web address of a file that Gumlet should download to add a stream."
                        },
                        "type": {
                          "type": "string",
                          "description": "Type of additional track. Value can be either audio or subtitle."
                        },
                        "language_code": {
                          "type": "string",
                          "description": "The language code value represents BCP 47 specification compliant value. For example, en for English."
                        },
                        "name": {
                          "type": "string",
                          "description": "The name of the track containing a human-readable description."
                        }
                      },
                      "x-apidog-orders": [
                        "url",
                        "type",
                        "language_code",
                        "name"
                      ]
                    }
                  },
                  "generate_subtitles": {
                    "type": "object",
                    "description": "Gumlet allows you to generate subtitles from the audio stream (use <a href='https://en.wikipedia.org/wiki/List_of_ISO_639_language_codes'> ISO 639-1 </a> Language Codes)",
                    "properties": {
                      "audio_language": {
                        "type": "string",
                        "description": "Language code for native language of the audio."
                      },
                      "subtitle_languages": {
                        "type": "string",
                        "description": "Comma separated string of language codes for which subtitle needs to be generated. Maximum four language codes are allowed."
                      }
                    },
                    "x-apidog-orders": [
                      "audio_language",
                      "subtitle_languages"
                    ]
                  },
                  "mp4_access": {
                    "type": "boolean",
                    "description": "Creates `MP4` version for download purpose in case of `MPEG-DASH` or `HLS` delivery format. **Default: `false`**"
                  },
                  "per_title_encoding": {
                    "type": "boolean",
                    "description": "Gumlet analyzes each input video on a wide range of visual aspects. Based on the analysis, it chooses a unique set of transcoding options for processing the video. This ensures that the output video is of optimal size and best quality. **Default: `true`**"
                  },
                  "process_low_resolution_input": {
                    "type": "boolean",
                    "description": "Currently, the minimum supported frame size is `57600` (`240x240`) pixels for `HLS/DASH` and `21025` (`145x145`) pixels for `MP4` format. However, enabling this flag will allow Gumlet to simply put your video asset into the specified delivery format without transcoding and optimization. Enabling this flag will cause any kind of specified video transformation to be ignored if you input video asset frame size is lower than the minimum supported frame size for the specified format. **Default: `false`**"
                  },
                  "audio_only": {
                    "type": "boolean",
                    "description": "This flag allows Gumlet to transcode and deliver audio-only in the specified format. In this case, video transformation and thumbnails/animated GIFs would not be created. **Default: `false`**"
                  },
                  "enable_drm": {
                    "type": "boolean",
                    "description": "Enable DRM encryption for transcoded videos. Gumlet supports Widevine and FairPlay DRMs."
                  },
                  "call_to_actions": {
                    "type": "array",
                    "description": "A CTA is an explicit prompt within the video content encouraging viewers to take a particular action.",
                    "items": {
                      "type": "object",
                      "properties": {
                        "text": {
                          "type": "string"
                        },
                        "url": {
                          "type": "string"
                        },
                        "start_time": {
                          "type": "integer",
                          "format": "int32"
                        },
                        "end_time": {
                          "type": "integer",
                          "format": "int32"
                        },
                        "font_color": {
                          "type": "string",
                          "description": "hex value of color"
                        },
                        "background_color": {
                          "type": "string",
                          "description": "hex code of color"
                        },
                        "position_from_top": {
                          "type": "integer",
                          "description": "number of pixels from top",
                          "format": "int32"
                        },
                        "position_from_right": {
                          "type": "integer",
                          "description": "number of pixels from right",
                          "format": "int32"
                        }
                      },
                      "x-apidog-orders": [
                        "text",
                        "url",
                        "start_time",
                        "end_time",
                        "font_color",
                        "background_color",
                        "position_from_top",
                        "position_from_right"
                      ]
                    }
                  },
                  "playlist_id": {
                    "type": "string",
                    "description": "Add this asset to a playlist."
                  },
                  "folder": {
                    "type": "string",
                    "description": "Add this asset to an existing folder by `folder_id`."
                  },
                  "workspace_id": {
                    "type": "string",
                    "description": "Gumlet video workspace id."
                  }
                },
                "x-apidog-orders": [
                  "input",
                  "workspace_id",
                  "profile_id",
                  "format",
                  "tag",
                  "title",
                  "description",
                  "metadata",
                  "width",
                  "height",
                  "resolution",
                  "crop",
                  "pad",
                  "trim",
                  "image_overlay",
                  "text_overlay",
                  "animated_gif",
                  "additional_tracks",
                  "generate_subtitles",
                  "mp4_access",
                  "per_title_encoding",
                  "process_low_resolution_input",
                  "audio_only",
                  "enable_drm",
                  "call_to_actions",
                  "playlist_id",
                  "folder"
                ]
              },
              "examples": {
                "Simple Example": {
                  "value": {
                    "format": "ABR",
                    "workspace_id": "<your workspace id>",
                    "title": "Example Title",
                    "input": "http://devimages.apple.com/iphone/samples/bipbop/bipbopall.m3u8"
                  }
                },
                "Detailed Example": {
                  "value": {
                    "format": "ABR",
                    "workspace_id": "646df1c9173a4a2fcac180b4",
                    "input": "http://devimages.apple.com/iphone/samples/bipbop/bipbopall.m3u8",
                    "description": "some description",
                    "tag": [
                      "ball"
                    ],
                    "profile_id": "646df1c9173a4a2fcac180b7",
                    "cluster_type": "prod",
                    "playlist_id": "6597acd5ed6f26a9c5ca9633",
                    "metadata": {
                      "headermeta": "metavalue"
                    },
                    "call_to_actions": [
                      {
                        "start_time": 1,
                        "end_time": 90,
                        "text": "some test",
                        "url": "https://some-url.com",
                        "position_from_top": 11,
                        "position_from_right": 23,
                        "border_radius": "11",
                        "font_color": "#000001",
                        "background_color": "#ffffff"
                      }
                    ],
                    "folder": "697375fbfa2d1037283140e4"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "200",
            "content": {
              "application/json": {
                "examples": {
                  "Result": {
                    "value": {
                      "asset_id": "65b168a6e99b77f116c0e488",
                      "progress": 0,
                      "created_at": 1706125479006,
                      "updated_at": 1706125479006,
                      "status": "pre-queued",
                      "tag": [
                        "ball"
                      ],
                      "source_id": "646df1c9173a4a2fcac180b4",
                      "collection_id": "646df1c9173a4a2fcac180b4",
                      "input": {
                        "transformations": {
                          "format": "hls",
                          "resolution": [
                            "360p",
                            "480p",
                            "540p",
                            "720p",
                            "1080p"
                          ],
                          "audio_codec": [
                            "aac"
                          ],
                          "video_codec": [
                            "libx264"
                          ],
                          "thumbnail": [
                            "auto"
                          ],
                          "thumbnail_format": "png",
                          "mp4_access": false,
                          "per_title_encoding": false
                        },
                        "profile_id": "646df1c9173a4a2fcac180b7",
                        "title": "bipbopall",
                        "description": "some description",
                        "metadata": {
                          "headermeta": "metavalue"
                        },
                        "source_url": "http://devimages.apple.com/iphone/samples/bipbop/bipbopall.m3u8",
                        "call_to_actions": [
                          {
                            "start_time": 1,
                            "end_time": 90,
                            "text": "some test",
                            "url": "https://some-url.com",
                            "position_from_top": 11,
                            "position_from_right": 23,
                            "border_radius": 11,
                            "font_color": "#000001",
                            "background_color": "#ffffff",
                            "html_target": "_blank"
                          }
                        ]
                      },
                      "output": {
                        "format": "hls",
                        "status_url": "https://api.gumlet.com/v1/video/assets/65b168a6e99b77f116c0e488",
                        "playback_url": "https://video.gumlet.io/646df1c9173a4a2fcac180b4/65b168a6e99b77f116c0e488/main.m3u8",
                        "thumbnail_url": [
                          "https://video.gumlet.io/646df1c9173a4a2fcac180b4/65b168a6e99b77f116c0e488/thumbnail-1-0.png?v=1706125479006"
                        ]
                      },
                      "playlists": [
                        "6597acd5ed6f26a9c5ca9633"
                      ]
                    }
                  }
                },
                "schema": {
                  "type": "object",
                  "properties": {
                    "asset_id": {
                      "type": "string",
                      "example": "65b168a6e99b77f116c0e488"
                    },
                    "progress": {
                      "type": "integer",
                      "example": 0,
                      "default": 0
                    },
                    "created_at": {
                      "type": "integer",
                      "example": 1706125479006,
                      "default": 0
                    },
                    "updated_at": {
                      "type": "integer",
                      "example": 1706125479006,
                      "default": 0
                    },
                    "status": {
                      "type": "string",
                      "example": "pre-queued"
                    },
                    "tag": {
                      "type": "array",
                      "items": {
                        "type": "string",
                        "example": "ball"
                      }
                    },
                    "source_id": {
                      "type": "string",
                      "example": "646df1c9173a4a2fcac180b4"
                    },
                    "collection_id": {
                      "type": "string",
                      "example": "646df1c9173a4a2fcac180b4"
                    },
                    "input": {
                      "type": "object",
                      "properties": {
                        "transformations": {
                          "type": "object",
                          "properties": {
                            "format": {
                              "type": "string",
                              "example": "hls"
                            },
                            "resolution": {
                              "type": "array",
                              "items": {
                                "type": "string",
                                "example": "360p"
                              }
                            },
                            "audio_codec": {
                              "type": "array",
                              "items": {
                                "type": "string",
                                "example": "aac"
                              }
                            },
                            "video_codec": {
                              "type": "array",
                              "items": {
                                "type": "string",
                                "example": "libx264"
                              }
                            },
                            "thumbnail": {
                              "type": "array",
                              "items": {
                                "type": "string",
                                "example": "auto"
                              }
                            },
                            "thumbnail_format": {
                              "type": "string",
                              "example": "png"
                            },
                            "mp4_access": {
                              "type": "boolean",
                              "example": false,
                              "default": true
                            },
                            "per_title_encoding": {
                              "type": "boolean",
                              "example": false,
                              "default": true
                            }
                          }
                        },
                        "profile_id": {
                          "type": "string",
                          "example": "646df1c9173a4a2fcac180b7"
                        },
                        "title": {
                          "type": "string",
                          "example": "bipbopall"
                        },
                        "description": {
                          "type": "string",
                          "example": "some description"
                        },
                        "metadata": {
                          "type": "object",
                          "properties": {
                            "headermeta": {
                              "type": "string",
                              "example": "metavalue"
                            }
                          }
                        },
                        "source_url": {
                          "type": "string",
                          "example": "http://devimages.apple.com/iphone/samples/bipbop/bipbopall.m3u8"
                        },
                        "call_to_actions": {
                          "type": "array",
                          "items": {
                            "type": "object",
                            "properties": {
                              "start_time": {
                                "type": "integer",
                                "example": 1,
                                "default": 0
                              },
                              "end_time": {
                                "type": "integer",
                                "example": 90,
                                "default": 0
                              },
                              "text": {
                                "type": "string",
                                "example": "some test"
                              },
                              "url": {
                                "type": "string",
                                "example": "https://some-url.com"
                              },
                              "position_from_top": {
                                "type": "integer",
                                "example": 11,
                                "default": 0
                              },
                              "position_from_right": {
                                "type": "integer",
                                "example": 23,
                                "default": 0
                              },
                              "border_radius": {
                                "type": "integer",
                                "example": 11,
                                "default": 0
                              },
                              "font_color": {
                                "type": "string",
                                "example": "#000001"
                              },
                              "background_color": {
                                "type": "string",
                                "example": "#ffffff"
                              },
                              "html_target": {
                                "type": "string",
                                "example": "_blank"
                              }
                            }
                          }
                        }
                      }
                    },
                    "output": {
                      "type": "object",
                      "properties": {
                        "format": {
                          "type": "string",
                          "example": "hls"
                        },
                        "status_url": {
                          "type": "string",
                          "example": "https://api.gumlet.com/v1/video/assets/65b168a6e99b77f116c0e488"
                        },
                        "playback_url": {
                          "type": "string",
                          "example": "https://video.gumlet.io/646df1c9173a4a2fcac180b4/65b168a6e99b77f116c0e488/main.m3u8"
                        },
                        "thumbnail_url": {
                          "type": "array",
                          "items": {
                            "type": "string",
                            "example": "https://video.gumlet.io/646df1c9173a4a2fcac180b4/65b168a6e99b77f116c0e488/thumbnail-1-0.png?v=1706125479006"
                          }
                        }
                      }
                    },
                    "playlists": {
                      "type": "array",
                      "items": {
                        "type": "string",
                        "example": "6597acd5ed6f26a9c5ca9633"
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request — missing or invalid parameters",
            "content": {
              "application/json": {
                "examples": {
                  "Result": {
                    "value": {
                      "error": {
                        "code": "source_not_found",
                        "message": "Could not find any video source with specified source ID."
                      }
                    }
                  }
                },
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "code": {
                          "type": "string",
                          "example": "source_not_found"
                        },
                        "message": {
                          "type": "string",
                          "example": "Could not find any video source with specified source ID."
                        }
                      },
                      "required": [
                        "code",
                        "message"
                      ]
                    }
                  },
                  "required": [
                    "error"
                  ]
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "402": {
            "description": "Payment Required — unpaid invoices",
            "content": {
              "application/json": {
                "examples": {
                  "Result": {
                    "value": {
                      "error": {
                        "code": "payment_pending",
                        "message": "Please clear your pending invoices to resume your services."
                      }
                    }
                  }
                },
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "code": {
                          "type": "string",
                          "example": "payment_pending"
                        },
                        "message": {
                          "type": "string",
                          "example": "Please clear your pending invoices to resume your services."
                        }
                      },
                      "required": [
                        "code",
                        "message"
                      ]
                    }
                  },
                  "required": [
                    "error"
                  ]
                }
              }
            }
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "422": {
            "$ref": "#/components/responses/ValidationError"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        },
        "deprecated": false,
        "tags": [
          "Video Assets"
        ],
        "x-codeSamples": [
          {
            "label": "TypeScript",
            "lang": "TypeScript",
            "source": "import Gumlet from '@gumlet/nodejs-sdk';\n\nconst client = new Gumlet({\n  apiKey: process.env['API_KEY'], // defaults to the API_KEY env var\n});\n\nconst videoAsset = await client.videoAssets.create({\n  format: 'ABR',\n  workspace_id: '<your workspace id>',\n  title: 'Example Title',\n  input: 'http://devimages.apple.com/iphone/samples/bipbop/bipbopall.m3u8',\n});\n\nconsole.log(videoAsset);"
          },
          {
            "label": "Python",
            "lang": "Python",
            "source": "import os\n\nfrom gumlet import Gumlet\n\nclient = Gumlet(\n    api_key=os.environ.get(\"API_KEY\"),\n)\n\nvideo_asset = client.video_assets.create(\n    input=\"http://devimages.apple.com/iphone/samples/bipbop/bipbopall.m3u8\",\n    format=\"ABR\",\n    title=\"Example Title\",\n    workspace_id=\"<your workspace id>\",\n)\n\nprint(video_asset)"
          }
        ]
      }
    },
    "/video/assets/upload": {
      "post": {
        "summary": "Create Asset Direct Upload",
        "description": "This endpoint creates a video asset allowing upload of a video from the local file system and ingest media content into the Gumlet system for processing and delivery. Body parameters are the same as the Create Asset body parameters except for the `input` parameter, which this endpoint does not take. A successful response will be returned with `upload_url` field. You can make `PUT` request to that URL to upload video. To upload video using `upload_url` refer to [this](https://docs.gumlet.com/docs/direct-upload#2-use-the-url-to-upload-a-file).",
        "operationId": "create-asset-direct-upload",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "collection_id"
                ],
                "properties": {
                  "collection_id": {
                    "type": "string",
                    "description": "Gumlet video workspace id."
                  },
                  "profile_id": {
                    "type": "string",
                    "description": "Provide `profile_id` of the previously created video profile. This parameter will override all the parameters (except `input` and `collection_id`) from the video profile."
                  },
                  "format": {
                    "type": "string",
                    "description": "Transcode and deliver the asset in the requested format. The options can be one of `ABR` (HLS + DASH) and `MP4`.",
                    "enum": [
                      "ABR",
                      "MP4"
                    ]
                  },
                  "tag": {
                    "type": "array",
                    "description": "Specify a text string or identifier which can identify an asset or bunch of assets later.",
                    "items": {
                      "x-stoplight": {
                        "id": "ukzi2mra8hepj"
                      },
                      "type": "string"
                    }
                  },
                  "title": {
                    "type": "string",
                    "description": "Specify a text string or identifier which can be used for filtering or searching the asset."
                  },
                  "description": {
                    "type": "string",
                    "description": "Attach some textual data with the asset. This field is neither searchable nor filterable."
                  },
                  "metadata": {
                    "type": "object",
                    "description": "Add your metadata you want to associate with this asset.<br/> Example: <br/> <code>  {  \"internal_video_id\" : \"123Abc\"  }  </code>",
                    "additionalProperties": {}
                  },
                  "width": {
                    "type": "string",
                    "description": "Resize video with the given width. Can be an absolute value in pixels or a percentage value with the `%` suffix. Specified values greater than the original asset width will be ignored. Applicable only when specified format is `MP4`."
                  },
                  "height": {
                    "type": "string",
                    "description": "Resize video with the given height. Can be an absolute value in pixels or a percentage value with the `%` suffix. Specified values greater than the original asset height will be ignored. Applicable only when specified format is `MP4`."
                  },
                  "resolution": {
                    "type": "string",
                    "description": "Required resolutions of the transformed asset in case of HLS or MPEG-DASH delivery format. Can be a comma-separated string out of the following values: `240p`, `360p`, `480p`, `540p`, `720p`, and `1080p`. Resized rendition will retain the input aspect ratio."
                  },
                  "crop": {
                    "type": "object",
                    "description": "This transformation can be used to crop the video by defining a rectangular area within the dimensions of the output video.",
                    "required": [
                      "width",
                      "height"
                    ],
                    "properties": {
                      "horizontal_margin": {
                        "type": "string",
                        "description": "This parameter defines the horizontal coordinate value of the upper-left corner of the cropping area. Values can be an absolute number of pixels or a percentage value relative to the video width. **Default: `0`**"
                      },
                      "vertical_margin": {
                        "type": "string",
                        "description": "This parameter defines the vertical coordinate value of the upper-left corner of the cropping area. Values can be an absolute number of pixels or a percentage value relative to the video height. **Default: `0`**"
                      },
                      "width": {
                        "type": "string",
                        "description": "Width of the cropping area in pixels."
                      },
                      "height": {
                        "type": "string",
                        "description": "Height of the cropping area in pixels."
                      }
                    }
                  },
                  "pad": {
                    "type": "object",
                    "description": "This transformation can be used to add padding to the video.",
                    "properties": {
                      "top": {
                        "type": "string",
                        "description": "Width of padding on the top side. Values can be an absolute number of pixels or a percentage value relative to the video height. **Default: `%5`**"
                      },
                      "left": {
                        "type": "string",
                        "description": "Width of padding on the left side. Values can be an absolute number of pixels or a percentage value relative to the video width. **Default: `0`**"
                      },
                      "bottom": {
                        "type": "string",
                        "description": "Width of padding on the bottom side. Values can be an absolute number of pixels or a percentage value relative to the video height. **Default: `%5`**"
                      },
                      "right": {
                        "type": "string",
                        "description": "Width of padding on the right side. Values can be an absolute number of pixels or a percentage value relative to the video width. **Default: `0`**"
                      },
                      "color": {
                        "type": "string",
                        "description": "Color of padding area. **Default: `black`**"
                      }
                    }
                  },
                  "trim": {
                    "type": "object",
                    "description": "Trim transformation can be used to trim videos based on time duration.",
                    "required": [
                      "start_offset",
                      "end_offset"
                    ],
                    "properties": {
                      "start_offset": {
                        "type": "number",
                        "description": "Start offset in number of seconds or in `HH:MM:SS` format.",
                        "format": "float"
                      },
                      "end_offset": {
                        "type": "number",
                        "description": "End offset in number of seconds or in `HH:MM:SS` format.",
                        "format": "float"
                      },
                      "duration": {
                        "type": "number",
                        "description": "Duration can be used in conjunction with `start_offset` parameter, can be specified in number of seconds.",
                        "format": "float"
                      }
                    }
                  },
                  "image_overlay": {
                    "type": "object",
                    "description": "Image overlay can be used to brand a video or add a visual label in the form of an image.",
                    "required": [
                      "url"
                    ],
                    "properties": {
                      "url": {
                        "type": "string",
                        "description": "This is the required parameter for image overlay; it can be a URL to an image that needs to be overlaid."
                      },
                      "horizontal_margin": {
                        "type": "string",
                        "description": "This parameter defines the horizontal coordinate value of the corner (determined by `horizontal_align`) of the overlay area. Values can be an absolute number of pixels or a percentage value relative to the video width. **Default: `0`**"
                      },
                      "vertical_margin": {
                        "type": "string",
                        "description": "This parameter defines the vertical coordinate value of the corner (determined by `vertical_align`) of the overlay area. Values can be an absolute number of pixels or a percentage value relative to the video height. **Default: `0`**"
                      },
                      "horizontal_align": {
                        "type": "string",
                        "description": "This parameter specifies the horizontal alignment of the overlaid image and can be either `left` or `right`. **Default: `right`**"
                      },
                      "vertical_align": {
                        "type": "string",
                        "description": "This parameter specifies the vertical alignment of the overlaid image and can be either `top` or `bottom`. **Default: `bottom`**"
                      },
                      "width": {
                        "type": "string",
                        "description": "Width of the overlaid image. **Default: `image width`**"
                      },
                      "height": {
                        "type": "string",
                        "description": "Height of the overlaid image. **Default: `image height`**"
                      }
                    }
                  },
                  "text_overlay": {
                    "type": "object",
                    "description": "Text overlay can be used to brand a video or add a label in the form of text.",
                    "required": [
                      "text"
                    ],
                    "properties": {
                      "text": {
                        "type": "string",
                        "description": "Text to be overlaid on video."
                      },
                      "horizontal_align": {
                        "type": "string",
                        "description": "This parameter specifies the horizontal alignment of the overlaid text and can be either `left` or `right`. **Default: `right`**"
                      },
                      "vertical_align": {
                        "type": "string",
                        "description": "This parameter specifies the vertical alignment of the overlaid text and can be either `top` or `bottom`. **Default: `bottom`**"
                      },
                      "horizontal_margin": {
                        "type": "string",
                        "description": "This parameter defines the horizontal coordinate value of the corner (determined by `horizontal_align`) of the overlay area. Values can be an absolute number of pixels relative to the video width. **Default: `0`**"
                      },
                      "vertical_margin": {
                        "type": "string",
                        "description": "This parameter defines the vertical coordinate value of the corner (determined by vertical_align) of the overlay area. Values can be an absolute number of pixels relative to the video height. **Default: `0`**"
                      },
                      "color": {
                        "type": "string",
                        "description": "Font color for text. **Default: `black`**"
                      },
                      "font": {
                        "type": "string",
                        "description": "Font family type for text. **Default: `sans`**"
                      },
                      "font_size": {
                        "type": "string",
                        "description": "Font size in pixels. **Default: `16`**"
                      },
                      "opacity": {
                        "type": "string",
                        "description": "Overlay text opacity can be specified with opacity parameter where value can be between `0` and `100` where `0` is considered completely transparent and `100` is considered completely opaque. **Default: `100`**"
                      },
                      "box": {
                        "type": "boolean",
                        "description": "This parameter allows drawing a rectangular box over the overlaid text. **Default: `false`**"
                      },
                      "box_color": {
                        "type": "string",
                        "description": "Box color can be specified with this parameter. **Default: `white`**"
                      },
                      "box_opacity": {
                        "type": "string",
                        "description": "Box opacity can be specified with this parameter. **Default: `100`**"
                      },
                      "box_border": {
                        "type": "string",
                        "description": "Padding between the box border and the text can be specified with this parameter in pixels. **Default: `0`**"
                      }
                    }
                  },
                  "animated_gif": {
                    "type": "object",
                    "description": "Create an animated GIF from the video.",
                    "properties": {
                      "start_offset": {
                        "type": "string",
                        "description": "The time (in seconds or `HH:MM:SS` format) of the video timeline where the animated gif should begin. **Default: `0`**"
                      },
                      "end_offset": {
                        "type": "string",
                        "description": "The time (in seconds or `HH:MM:SS` format) of the video timeline where the GIF ends. Defaults to `10` seconds after the start_offset. Maximum duration of GIF is limited to `10` seconds."
                      },
                      "width": {
                        "type": "string",
                        "description": "The width in pixels (or in percentage value of asset width) of the animated GIF. Max width is `640px`."
                      },
                      "height": {
                        "type": "string",
                        "description": "The height in pixels (or in percentage value of asset height) of the animated GIF. Max height is `640px`."
                      },
                      "fps": {
                        "type": "string",
                        "description": "The frame rate of the generated GIF. Defaults to `15` fps. Max `30` fps."
                      }
                    }
                  },
                  "additional_tracks": {
                    "type": "array",
                    "description": "Add additional Audio / Subtitle tracks to Gumlet for transcoding and delivery along with video asset track.",
                    "items": {
                      "type": "object",
                      "required": [
                        "url",
                        "type",
                        "language_code"
                      ],
                      "properties": {
                        "url": {
                          "type": "string",
                          "description": "URL or web address of a file that Gumlet should download to add a stream."
                        },
                        "type": {
                          "type": "string",
                          "description": "Type of additional track. Value can be either audio or subtitle."
                        },
                        "language_code": {
                          "type": "string",
                          "description": "The language code value represents BCP 47 specification compliant value. For example, en for English."
                        },
                        "name": {
                          "type": "string",
                          "description": "The name of the track containing a human-readable description."
                        }
                      }
                    }
                  },
                  "generate_subtitles": {
                    "type": "object",
                    "description": "Gumlet allows you to generate subtitles from the audio stream (use <a href='https://en.wikipedia.org/wiki/List_of_ISO_639_language_codes'> ISO 639-1 </a> Language Codes)",
                    "properties": {
                      "audio_language": {
                        "type": "string",
                        "description": "Language code for native language of the audio."
                      },
                      "subtitle_languages": {
                        "type": "string",
                        "description": "Comma separated string of language codes for which subtitle needs to be generated. Maximum four language codes are allowed."
                      }
                    }
                  },
                  "mp4_access": {
                    "type": "boolean",
                    "description": "Creates `MP4` version for download purpose in case of `MPEG-DASH` or `HLS` delivery format. **Default: `false`**"
                  },
                  "per_title_encoding": {
                    "type": "boolean",
                    "description": "Gumlet analyzes each input video on a wide range of visual aspects. Based on the analysis, it chooses a unique set of transcoding options for processing the video. This ensures that the output video is of optimal size and best quality. **Default: `true`**"
                  },
                  "process_low_resolution_input": {
                    "type": "boolean",
                    "description": "Currently, the minimum supported frame size is `57600` (`240x240`) pixels for `HLS/DASH` and `21025` (`145x145`) pixels for `MP4` format. However, enabling this flag will allow Gumlet to simply put your video asset into the specified delivery format without transcoding and optimization. Enabling this flag will cause any kind of specified video transformation to be ignored if you input video asset frame size is lower than the minimum supported frame size for the specified format. **Default: `false`**"
                  },
                  "audio_only": {
                    "type": "boolean",
                    "description": "This flag allows Gumlet to transcode and deliver audio-only in the specified format. In this case, video transformation and thumbnails/animated GIFs would not be created. **Default: `false`**"
                  },
                  "enable_drm": {
                    "type": "boolean",
                    "description": "Enable DRM encryption for transcoded videos. Gumlet supports Widevine and FairPlay DRMs."
                  },
                  "call_to_actions": {
                    "type": "array",
                    "description": "A CTA is an explicit prompt within the video content encouraging viewers to take a particular action.",
                    "items": {
                      "type": "object",
                      "properties": {
                        "text": {
                          "type": "string"
                        },
                        "url": {
                          "type": "string"
                        },
                        "start_time": {
                          "type": "integer",
                          "format": "int32"
                        },
                        "end_time": {
                          "type": "integer",
                          "format": "int32"
                        },
                        "font_color": {
                          "type": "string",
                          "description": "hex value of color"
                        },
                        "background_color": {
                          "type": "string",
                          "description": "hex code of color"
                        },
                        "position_from_top": {
                          "type": "integer",
                          "description": "number of pixels from top",
                          "format": "int32"
                        },
                        "position_from_right": {
                          "type": "integer",
                          "description": "number of pixels from right",
                          "format": "int32"
                        }
                      }
                    }
                  },
                  "playlist_id": {
                    "type": "string",
                    "description": "Add this asset to a playlist."
                  },
                  "folder": {
                    "type": "string",
                    "description": "Add this asset to an existing folder by `folder_id`."
                  }
                }
              },
              "examples": {
                "Request Example": {
                  "value": {
                    "format": "ABR",
                    "collection_id": "646df1c9173a4a2fcac180b4",
                    "input": "http://devimages.apple.com/iphone/samples/bipbop/bipbopall.m3u8",
                    "description": "some description",
                    "tag": [
                      "ball"
                    ],
                    "profile_id": "646df1c9173a4a2fcac180b7",
                    "cluster_type": "prod",
                    "playlist_id": "6597acd5ed6f26a9c5ca9633",
                    "metadata": {
                      "headermeta": "metavalue"
                    },
                    "call_to_actions": [
                      {
                        "start_time": 1,
                        "end_time": 90,
                        "text": "some test",
                        "url": "https://some-url.com",
                        "position_from_top": 11,
                        "position_from_right": 23,
                        "border_radius": "11",
                        "font_color": "#000001",
                        "background_color": "#ffffff"
                      }
                    ],
                    "folder": "697375fbfa2d1037283140e4"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "200",
            "content": {
              "application/json": {
                "examples": {
                  "Result": {
                    "value": {
                      "asset_id": "65b169dfe99b77f116c0e4aa",
                      "progress": 0,
                      "created_at": 1706125793055,
                      "updated_at": 1706125793055,
                      "status": "upload-pending",
                      "tag": [
                        "games",
                        "field"
                      ],
                      "source_id": "646df1c9173a4a2fcac180b4",
                      "collection_id": "646df1c9173a4a2fcac180b4",
                      "input": {
                        "transformations": {
                          "format": "hls",
                          "resolution": [
                            "360p",
                            "480p",
                            "540p",
                            "720p",
                            "1080p"
                          ],
                          "audio_codec": [
                            "aac"
                          ],
                          "video_codec": [
                            "libx264"
                          ],
                          "thumbnail": [
                            "auto"
                          ],
                          "thumbnail_format": "png",
                          "mp4_access": false,
                          "per_title_encoding": false,
                          "original_deleted": true
                        },
                        "profile_id": "646df1c9173a4a2fcac180b7",
                        "title": "Sports.",
                        "description": "This video provides information about various sports.",
                        "metadata": {
                          "headermeta": "metavalue"
                        },
                        "source_url": "646df1c9173a4a2fcac180b4/65b169dfe99b77f116c0e4aa/origin-65b169dfe99b77f116c0e4aa",
                        "call_to_actions": [
                          {
                            "start_time": 1,
                            "end_time": 90,
                            "text": "Buy here!!",
                            "url": "https://some-buy-url-site.com",
                            "html_target": "_blank"
                          }
                        ]
                      },
                      "output": {
                        "format": "hls",
                        "status_url": "https://api.gumlet.com/v1/video/assets/65b169dfe99b77f116c0e4aa",
                        "playback_url": "https://dev-video.gumlet.io/646df1c9173a4a2fcac180b4/65b169dfe99b77f116c0e4aa/main.m3u8",
                        "thumbnail_url": [
                          "https://dev-video.gumlet.io/646df1c9173a4a2fcac180b4/65b169dfe99b77f116c0e4aa/thumbnail-1-0.png?v=1706125793055"
                        ]
                      },
                      "upload_url": "https://gumlet-video-user-uploads.s3-accelerate.dualstack.amazonaws.com/gumlet-user-uploads-dev-deletable/646df1c9173a4a2fcac180b4/65b169dfe99b77f116c0e4aa/origin-65b169dfe99b77f116c0e4aa?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Content-Sha256=UNSIGNED-PAYLOAD&X-Amz-Credential=AKIA4WNLTXWDAC3AKBPV%2F20240124%2Fus-west-2%2Fs3%2Faws4_request&X-Amz-Date=20240124T194953Z&X-Amz-Expires=3600&X-Amz-Signature=b724bd728efd589ec6cb4d0fab17947448c02788823619433720e8fddf0f1155&X-Amz-SignedHeaders=host&x-id=PutObject",
                      "playlists": [
                        "6597acd5ed6f26a9c5ca9633"
                      ]
                    }
                  }
                },
                "schema": {
                  "type": "object",
                  "properties": {
                    "asset_id": {
                      "type": "string",
                      "example": "65b169dfe99b77f116c0e4aa"
                    },
                    "progress": {
                      "type": "integer",
                      "example": 0,
                      "default": 0
                    },
                    "created_at": {
                      "type": "integer",
                      "example": 1706125793055,
                      "default": 0
                    },
                    "updated_at": {
                      "type": "integer",
                      "example": 1706125793055,
                      "default": 0
                    },
                    "status": {
                      "type": "string",
                      "example": "upload-pending"
                    },
                    "tag": {
                      "type": "array",
                      "items": {
                        "type": "string",
                        "example": "games"
                      }
                    },
                    "source_id": {
                      "type": "string",
                      "example": "646df1c9173a4a2fcac180b4"
                    },
                    "collection_id": {
                      "type": "string",
                      "example": "646df1c9173a4a2fcac180b4"
                    },
                    "input": {
                      "type": "object",
                      "properties": {
                        "transformations": {
                          "type": "object",
                          "properties": {
                            "format": {
                              "type": "string",
                              "example": "hls"
                            },
                            "resolution": {
                              "type": "array",
                              "items": {
                                "type": "string",
                                "example": "360p"
                              }
                            },
                            "audio_codec": {
                              "type": "array",
                              "items": {
                                "type": "string",
                                "example": "aac"
                              }
                            },
                            "video_codec": {
                              "type": "array",
                              "items": {
                                "type": "string",
                                "example": "libx264"
                              }
                            },
                            "thumbnail": {
                              "type": "array",
                              "items": {
                                "type": "string",
                                "example": "auto"
                              }
                            },
                            "thumbnail_format": {
                              "type": "string",
                              "example": "png"
                            },
                            "mp4_access": {
                              "type": "boolean",
                              "example": false,
                              "default": true
                            },
                            "per_title_encoding": {
                              "type": "boolean",
                              "example": false,
                              "default": true
                            },
                            "original_deleted": {
                              "type": "boolean",
                              "example": true,
                              "default": true
                            }
                          }
                        },
                        "profile_id": {
                          "type": "string",
                          "example": "646df1c9173a4a2fcac180b7"
                        },
                        "title": {
                          "type": "string",
                          "example": "Sports."
                        },
                        "description": {
                          "type": "string",
                          "example": "This video provides information about various sports."
                        },
                        "metadata": {
                          "type": "object",
                          "properties": {
                            "headermeta": {
                              "type": "string",
                              "example": "metavalue"
                            }
                          }
                        },
                        "source_url": {
                          "type": "string",
                          "example": "646df1c9173a4a2fcac180b4/65b169dfe99b77f116c0e4aa/origin-65b169dfe99b77f116c0e4aa"
                        },
                        "call_to_actions": {
                          "type": "array",
                          "items": {
                            "type": "object",
                            "properties": {
                              "start_time": {
                                "type": "integer",
                                "example": 1,
                                "default": 0
                              },
                              "end_time": {
                                "type": "integer",
                                "example": 90,
                                "default": 0
                              },
                              "text": {
                                "type": "string",
                                "example": "Buy here!!"
                              },
                              "url": {
                                "type": "string",
                                "example": "https://some-buy-url-site.com"
                              },
                              "html_target": {
                                "type": "string",
                                "example": "_blank"
                              }
                            }
                          }
                        }
                      }
                    },
                    "output": {
                      "type": "object",
                      "properties": {
                        "format": {
                          "type": "string",
                          "example": "hls"
                        },
                        "status_url": {
                          "type": "string",
                          "example": "https://api.gumlet.com/v1/video/assets/65b169dfe99b77f116c0e4aa"
                        },
                        "playback_url": {
                          "type": "string",
                          "example": "https://dev-video.gumlet.io/646df1c9173a4a2fcac180b4/65b169dfe99b77f116c0e4aa/main.m3u8"
                        },
                        "thumbnail_url": {
                          "type": "array",
                          "items": {
                            "type": "string",
                            "example": "https://dev-video.gumlet.io/646df1c9173a4a2fcac180b4/65b169dfe99b77f116c0e4aa/thumbnail-1-0.png?v=1706125793055"
                          }
                        }
                      }
                    },
                    "upload_url": {
                      "type": "string",
                      "example": "https://gumlet-video-user-uploads.s3-accelerate.dualstack.amazonaws.com/gumlet-user-uploads-dev-deletable/646df1c9173a4a2fcac180b4/65b169dfe99b77f116c0e4aa/origin-65b169dfe99b77f116c0e4aa?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Content-Sha256=UNSIGNED-PAYLOAD&X-Amz-Credential=AKIA4WNLTXWDAC3AKBPV%2F20240124%2Fus-west-2%2Fs3%2Faws4_request&X-Amz-Date=20240124T194953Z&X-Amz-Expires=3600&X-Amz-Signature=b724bd728efd589ec6cb4d0fab17947448c02788823619433720e8fddf0f1155&X-Amz-SignedHeaders=host&x-id=PutObject"
                    },
                    "playlists": {
                      "type": "array",
                      "items": {
                        "type": "string",
                        "example": "6597acd5ed6f26a9c5ca9633"
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request — missing or invalid parameters",
            "content": {
              "application/json": {
                "examples": {
                  "Result": {
                    "value": {
                      "error": {
                        "code": "source_not_found",
                        "message": "Could not find any video source with specified source ID."
                      }
                    }
                  }
                },
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "code": {
                          "type": "string",
                          "example": "source_not_found"
                        },
                        "message": {
                          "type": "string",
                          "example": "Could not find any video source with specified source ID."
                        }
                      },
                      "required": [
                        "code",
                        "message"
                      ]
                    }
                  },
                  "required": [
                    "error"
                  ]
                }
              }
            }
          },
          "401": {
            "description": "401",
            "content": {
              "application/json": {
                "examples": {
                  "Result": {
                    "value": {
                      "error": {
                        "code": "source_not_found",
                        "message": "Could not find any video source with specified source ID."
                      }
                    }
                  }
                },
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "code": {
                          "type": "string",
                          "example": "source_not_found"
                        },
                        "message": {
                          "type": "string",
                          "example": "Could not find any video source with specified source ID."
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "402": {
            "description": "Payment Required — plan limit exhausted",
            "content": {
              "application/json": {
                "examples": {
                  "Result": {
                    "value": {
                      "error": {
                        "code": "plan_limit_exhausted",
                        "message": "You have consumed resources of your plan, please upgrade your plan to resuming it."
                      }
                    }
                  }
                },
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "code": {
                          "type": "string",
                          "example": "plan_limit_exhausted"
                        },
                        "message": {
                          "type": "string",
                          "example": "You have consumed resources of your plan, please upgrade your plan to resuming it."
                        }
                      },
                      "required": [
                        "code",
                        "message"
                      ]
                    }
                  },
                  "required": [
                    "error"
                  ]
                }
              }
            }
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "422": {
            "$ref": "#/components/responses/ValidationError"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        },
        "deprecated": false,
        "tags": [
          "Video Assets"
        ],
        "x-stoplight": {
          "id": "7vjmxfy06ukbh"
        },
        "x-codeSamples": [
          {
            "label": "TypeScript",
            "lang": "TypeScript",
            "source": "import Gumlet from '@gumlet/nodejs-sdk';\n\nconst client = new Gumlet({\n  apiKey: process.env['API_KEY'], // defaults to the API_KEY env var\n});\n\nconst videoAsset = await client.videoAssets.upload({\n  format: 'ABR',\n  collection_id: '646df1c9173a4a2fcac180b4',\n  description: 'some description',\n  tag: ['ball'],\n  profile_id: '646df1c9173a4a2fcac180b7',\n  playlist_id: '6597acd5ed6f26a9c5ca9633',\n  metadata: { headermeta: 'metavalue' },\n  call_to_actions: [\n    {\n      start_time: 1,\n      end_time: 90,\n      text: 'some test',\n      url: 'https://some-url.com',\n      position_from_top: 11,\n      position_from_right: 23,\n      font_color: '#000001',\n      background_color: '#ffffff',\n    },\n  ],\n  folder: '697375fbfa2d1037283140e4',\n});\n\nconsole.log(videoAsset);"
          },
          {
            "label": "Python",
            "lang": "Python",
            "source": "import os\n\nfrom gumlet import Gumlet\n\nclient = Gumlet(\n    api_key=os.environ.get(\"API_KEY\"),\n)\n\nvideo_asset = client.video_assets.upload(\n    collection_id=\"646df1c9173a4a2fcac180b4\",\n    profile_id=\"646df1c9173a4a2fcac180b7\",\n    format=\"ABR\",\n    tag=[\"ball\"],\n    description=\"some description\",\n    metadata={\"headermeta\": \"metavalue\"},\n    call_to_actions=[\n        {\n            \"start_time\": 1,\n            \"end_time\": 90,\n            \"text\": \"some test\",\n            \"url\": \"https://some-url.com\",\n            \"position_from_top\": 11,\n            \"position_from_right\": 23,\n            \"border_radius\": \"11\",\n            \"font_color\": \"#000001\",\n            \"background_color\": \"#ffffff\",\n        }\n    ],\n    playlist_id=\"6597acd5ed6f26a9c5ca9633\",\n    folder=\"697375fbfa2d1037283140e4\",\n)\n\nprint(video_asset)"
          }
        ]
      }
    },
    "/video/assets/{asset_id}": {
      "get": {
        "summary": "Asset Details",
        "description": "This endpoint retrieves the details of an asset that has previously been created.",
        "operationId": "get-asset-details",
        "parameters": [
          {
            "name": "asset_id",
            "in": "path",
            "description": "An asset id for the previously created asset.",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "200",
            "content": {
              "application/json": {
                "examples": {
                  "Result": {
                    "value": {
                      "asset_id": "67e4ece9403562dbea654261",
                      "progress": 100,
                      "created_at": 1743056105661,
                      "updated_at": 1743056105661,
                      "workspace_updated_at": 1743056105661,
                      "status": "ready",
                      "tag": [
                        "demo"
                      ],
                      "workspace_id": "67e4ece9403562dbea65425f",
                      "input": {
                        "transformations": {
                          "format": "abr",
                          "resolution": [
                            "240p",
                            "360p",
                            "480p",
                            "540p",
                            "720p",
                            "1080p",
                            "1440p",
                            "2160p"
                          ],
                          "audio_codec": [
                            "aac"
                          ],
                          "video_codec": [
                            "libx264"
                          ],
                          "image_overlay": {
                            "url": "https://demo.gumlet.io/logo.png",
                            "vertical_align": "top",
                            "horizontal_align": "right",
                            "vertical_margin": "5%",
                            "horizontal_margin": "5%",
                            "width": "20%",
                            "height": "20%",
                            "image_downloaded": true
                          },
                          "thumbnail": [
                            "auto"
                          ],
                          "thumbnail_format": "png",
                          "mp4_access": false,
                          "audio_only": false,
                          "original_deleted": true,
                          "per_title_encoding": false,
                          "generate_subtitles": {
                            "audio_language": "en",
                            "subtitle_languages": [
                              "es",
                              "hi"
                            ]
                          },
                          "preview_thumbnails": {
                            "max_tiles": 100
                          }
                        },
                        "profile_id": "67e4ece9403562dbea65425c",
                        "title": "Sample Video",
                        "description": "This is a sample video to help you experience Gumlet platform and player.",
                        "chapters": [
                          {
                            "endTime": 10,
                            "label": "First Chapter"
                          },
                          {
                            "endTime": 50,
                            "label": "Second Chapter"
                          },
                          {
                            "endTime": 130,
                            "label": "Third Chapter"
                          },
                          {
                            "endTime": 155,
                            "label": "Forth Chapter"
                          }
                        ],
                        "source_url": "5f462c1561cf8a766464ffc4/647eb18cc90c6c6c35370979/origin-647eb18cc90c6c6c35370979",
                        "size": 364735178,
                        "duration": 183.088,
                        "aspect_ratio": "16:9",
                        "fps": 23.98,
                        "width": 3840,
                        "height": 2160
                      },
                      "output": {
                        "format": "abr",
                        "status_url": "https://api.gumlet.com/v1/video/assets/67e4ece9403562dbea654261",
                        "playback_url": "https://video.gumlet.io/67e4ece9403562dbea65425f/67e4ece9403562dbea654261/main.m3u8",
                        "dash_playback_url": "https://video.gumlet.io/67e4ece9403562dbea65425f/67e4ece9403562dbea654261/main.mpd",
                        "thumbnail_url": [
                          "https://video.gumlet.io/67e4ece9403562dbea65425f/67e4ece9403562dbea654261/thumbnail-1-0.png?v=1743056105661"
                        ],
                        "storage_details": {
                          "video": [
                            {
                              "fileName": "1080p.mp4",
                              "size": 91884957,
                              "resolution": "1920x1080",
                              "duration": 183
                            },
                            {
                              "fileName": "1440p.mp4",
                              "size": 148667263,
                              "resolution": "2560x1440",
                              "duration": 183
                            },
                            {
                              "fileName": "2160p.mp4",
                              "size": 296143768,
                              "resolution": "3840x2160",
                              "duration": 183
                            },
                            {
                              "fileName": "240p.mp4",
                              "size": 6573304,
                              "resolution": "426x240",
                              "duration": 183
                            },
                            {
                              "fileName": "360p.mp4",
                              "size": 14040936,
                              "resolution": "640x360",
                              "duration": 183
                            },
                            {
                              "fileName": "480p.mp4",
                              "size": 23006040,
                              "resolution": "854x480",
                              "duration": 183
                            },
                            {
                              "fileName": "540p.mp4",
                              "size": 28124144,
                              "resolution": "960x540",
                              "duration": 183
                            },
                            {
                              "fileName": "720p.mp4",
                              "size": 45395668,
                              "resolution": "1280x720",
                              "duration": 183
                            }
                          ],
                          "audio": [
                            {
                              "fileName": "en_128k.mp4",
                              "size": 2913025,
                              "duration": 183
                            },
                            {
                              "fileName": "en_192k.mp4",
                              "size": 4378028,
                              "duration": 183
                            },
                            {
                              "fileName": "en_64k.mp4",
                              "size": 1448475,
                              "duration": 183
                            },
                            {
                              "fileName": "en_96k.mp4",
                              "size": 2180524,
                              "duration": 183
                            }
                          ],
                          "playlist": [
                            {
                              "fileName": "1080p.m3u8",
                              "size": 3790
                            },
                            {
                              "fileName": "1080p_iframe.m3u8",
                              "size": 4129
                            },
                            {
                              "fileName": "1440p.m3u8",
                              "size": 3793
                            },
                            {
                              "fileName": "1440p_iframe.m3u8",
                              "size": 4160
                            },
                            {
                              "fileName": "2160p.m3u8",
                              "size": 3797
                            },
                            {
                              "fileName": "2160p_iframe.m3u8",
                              "size": 4196
                            },
                            {
                              "fileName": "240p.m3u8",
                              "size": 3701
                            },
                            {
                              "fileName": "240p_iframe.m3u8",
                              "size": 3997
                            },
                            {
                              "fileName": "360p.m3u8",
                              "size": 3701
                            },
                            {
                              "fileName": "360p_iframe.m3u8",
                              "size": 4040
                            },
                            {
                              "fileName": "480p.m3u8",
                              "size": 3702
                            },
                            {
                              "fileName": "480p_iframe.m3u8",
                              "size": 4058
                            },
                            {
                              "fileName": "540p.m3u8",
                              "size": 3705
                            },
                            {
                              "fileName": "540p_iframe.m3u8",
                              "size": 4068
                            },
                            {
                              "fileName": "720p.m3u8",
                              "size": 3730
                            },
                            {
                              "fileName": "720p_iframe.m3u8",
                              "size": 4072
                            },
                            {
                              "fileName": "en_128k.m3u8",
                              "size": 3802
                            },
                            {
                              "fileName": "en_192k.m3u8",
                              "size": 3802
                            },
                            {
                              "fileName": "en_64k.m3u8",
                              "size": 3755
                            },
                            {
                              "fileName": "en_96k.m3u8",
                              "size": 3755
                            },
                            {
                              "fileName": "es.m3u8",
                              "size": 231
                            },
                            {
                              "fileName": "hi.m3u8",
                              "size": 231
                            },
                            {
                              "fileName": "en.m3u8",
                              "size": 232
                            },
                            {
                              "fileName": "main.m3u8",
                              "size": 10690
                            },
                            {
                              "fileName": "main.mpd",
                              "size": 6889
                            }
                          ],
                          "thumbnail": [
                            {
                              "fileName": "thumbnail-1-0.png",
                              "size": 6087369,
                              "resolution": "3840x2160"
                            }
                          ],
                          "subtitle": [
                            {
                              "fileName": "es.vtt",
                              "size": 398
                            },
                            {
                              "fileName": "hi.vtt",
                              "size": 632
                            },
                            {
                              "fileName": "en.vtt",
                              "size": 645
                            }
                          ],
                          "previewThumbnail": [
                            {
                              "fileName": "preview_thumbnails.png",
                              "size": 3089899
                            },
                            {
                              "fileName": "preview_thumbnails.vtt",
                              "size": 3816
                            }
                          ]
                        },
                        "transcription_word_level_timestamps": "https://video.gumlet.io/67e4ece9403562dbea65425f/67e4ece9403562dbea654261/67e4ece9403562dbea654261-transcription-word-level-timestamp.json?token=5589a9b725fabe0586e37782c3eb8e083a84e5c2&expires=1744100014337",
                        "storage_bytes": 674034917,
                        "preview_thumbnails_url": "https://video.gumlet.io/67e4ece9403562dbea65425f/67e4ece9403562dbea654261/preview_thumbnails.vtt"
                      },
                      "processed_at": 1743056105661,
                      "folder": "Demo Folder",
                      "playlists": [
                        "6580370331f481c578e07287",
                        "657c24f3e3340004404eed59"
                      ]
                    }
                  }
                },
                "schema": {
                  "type": "object",
                  "properties": {
                    "asset_id": {
                      "type": "string",
                      "examples": [
                        "67e4ece9403562dbea654261"
                      ]
                    },
                    "progress": {
                      "type": "integer",
                      "default": 0,
                      "examples": [
                        100
                      ]
                    },
                    "created_at": {
                      "type": "integer",
                      "default": 0,
                      "examples": [
                        1743056105661
                      ],
                      "format": "int64",
                      "description": "Asset created timestamp in milliseconds since epoch"
                    },
                    "updated_at": {
                      "type": "integer",
                      "default": 0,
                      "examples": [
                        1743056105661
                      ],
                      "format": "int64",
                      "description": "Asset updated timestamp in milliseconds since epoch"
                    },
                    "status": {
                      "type": "string",
                      "examples": [
                        "ready"
                      ]
                    },
                    "tag": {
                      "type": "array",
                      "items": {
                        "type": "string",
                        "examples": [
                          "demo"
                        ]
                      }
                    },
                    "input": {
                      "type": "object",
                      "properties": {
                        "transformations": {
                          "type": "object",
                          "properties": {
                            "format": {
                              "type": "string",
                              "examples": [
                                "abr"
                              ]
                            },
                            "resolution": {
                              "type": "array",
                              "items": {
                                "type": "string",
                                "examples": [
                                  "240p"
                                ]
                              }
                            },
                            "audio_codec": {
                              "type": "array",
                              "items": {
                                "type": "string",
                                "examples": [
                                  "aac"
                                ]
                              }
                            },
                            "video_codec": {
                              "type": "array",
                              "items": {
                                "type": "string",
                                "examples": [
                                  "libx264"
                                ]
                              }
                            },
                            "image_overlay": {
                              "type": "object",
                              "properties": {
                                "url": {
                                  "type": "string",
                                  "examples": [
                                    "https://demo.gumlet.io/logo.png"
                                  ]
                                },
                                "vertical_align": {
                                  "type": "string",
                                  "examples": [
                                    "top"
                                  ]
                                },
                                "horizontal_align": {
                                  "type": "string",
                                  "examples": [
                                    "right"
                                  ]
                                },
                                "vertical_margin": {
                                  "type": "string",
                                  "examples": [
                                    "5%"
                                  ]
                                },
                                "horizontal_margin": {
                                  "type": "string",
                                  "examples": [
                                    "5%"
                                  ]
                                },
                                "width": {
                                  "type": "string",
                                  "examples": [
                                    "20%"
                                  ]
                                },
                                "height": {
                                  "type": "string",
                                  "examples": [
                                    "20%"
                                  ]
                                },
                                "image_downloaded": {
                                  "type": "boolean",
                                  "default": true,
                                  "examples": [
                                    true
                                  ]
                                }
                              },
                              "x-apidog-orders": [
                                "url",
                                "vertical_align",
                                "horizontal_align",
                                "vertical_margin",
                                "horizontal_margin",
                                "width",
                                "height",
                                "image_downloaded"
                              ]
                            },
                            "thumbnail": {
                              "type": "array",
                              "items": {
                                "type": "string",
                                "examples": [
                                  "auto"
                                ]
                              }
                            },
                            "thumbnail_format": {
                              "type": "string",
                              "examples": [
                                "png"
                              ]
                            },
                            "mp4_access": {
                              "type": "boolean",
                              "default": true,
                              "examples": [
                                false
                              ]
                            },
                            "audio_only": {
                              "type": "boolean",
                              "default": true,
                              "examples": [
                                false
                              ]
                            },
                            "original_deleted": {
                              "type": "boolean",
                              "default": true,
                              "examples": [
                                true
                              ]
                            },
                            "per_title_encoding": {
                              "type": "boolean",
                              "default": true,
                              "examples": [
                                false
                              ]
                            },
                            "generate_subtitles": {
                              "type": "object",
                              "properties": {
                                "audio_language": {
                                  "type": "string",
                                  "examples": [
                                    "en"
                                  ]
                                },
                                "subtitle_languages": {
                                  "type": "array",
                                  "items": {
                                    "type": "string",
                                    "examples": [
                                      "es"
                                    ]
                                  }
                                }
                              },
                              "x-apidog-orders": [
                                "audio_language",
                                "subtitle_languages"
                              ]
                            },
                            "preview_thumbnails": {
                              "type": "object",
                              "properties": {
                                "max_tiles": {
                                  "type": "integer",
                                  "default": 0,
                                  "examples": [
                                    100
                                  ]
                                }
                              },
                              "x-apidog-orders": [
                                "max_tiles"
                              ]
                            },
                            "pre_processing_successful": {
                              "type": "boolean",
                              "description": "Flag indicating if the pre-processing was successful"
                            },
                            "generate_chapters": {
                              "type": "boolean",
                              "description": "Flag if AI chapter generation is enabled"
                            },
                            "drm": {
                              "type": "object",
                              "properties": {
                                "type": {
                                  "type": "string",
                                  "enum": [
                                    "widevine",
                                    "fairplay",
                                    "clearkey",
                                    "widevine,fairplay",
                                    "fairplay,widevine"
                                  ],
                                  "x-apidog-enum": [
                                    {
                                      "value": "widevine",
                                      "name": "",
                                      "description": ""
                                    },
                                    {
                                      "value": "fairplay",
                                      "name": "",
                                      "description": ""
                                    },
                                    {
                                      "value": "clearkey",
                                      "name": "",
                                      "description": ""
                                    },
                                    {
                                      "value": "widevine,fairplay",
                                      "name": "",
                                      "description": ""
                                    },
                                    {
                                      "value": "fairplay,widevine",
                                      "name": "",
                                      "description": ""
                                    }
                                  ]
                                }
                              },
                              "x-apidog-orders": [
                                "type"
                              ],
                              "required": [
                                "type"
                              ]
                            },
                            "generate_description": {
                              "type": "boolean",
                              "description": "Flag if AI description generation is enabled"
                            }
                          },
                          "x-apidog-orders": [
                            "format",
                            "drm",
                            "pre_processing_successful",
                            "generate_chapters",
                            "generate_description",
                            "resolution",
                            "audio_codec",
                            "video_codec",
                            "image_overlay",
                            "thumbnail",
                            "thumbnail_format",
                            "mp4_access",
                            "audio_only",
                            "original_deleted",
                            "per_title_encoding",
                            "generate_subtitles",
                            "preview_thumbnails"
                          ],
                          "required": [
                            "format"
                          ]
                        },
                        "profile_id": {
                          "type": "string",
                          "examples": [
                            "67e4ece9403562dbea65425c"
                          ]
                        },
                        "title": {
                          "type": "string",
                          "examples": [
                            " Sample Video"
                          ]
                        },
                        "description": {
                          "type": "string",
                          "examples": [
                            "This is a sample video to help you experience Gumlet platform and player."
                          ]
                        },
                        "chapters": {
                          "type": "array",
                          "items": {
                            "type": "object",
                            "properties": {
                              "endTime": {
                                "type": "integer",
                                "default": 0,
                                "examples": [
                                  10
                                ]
                              },
                              "label": {
                                "type": "string",
                                "examples": [
                                  "First Chapter"
                                ]
                              }
                            },
                            "x-apidog-orders": [
                              "endTime",
                              "label"
                            ]
                          }
                        },
                        "source_url": {
                          "type": "string",
                          "examples": [
                            "5f462c1561cf8a766464ffc4/647eb18cc90c6c6c35370979/origin-647eb18cc90c6c6c35370979"
                          ]
                        },
                        "size": {
                          "type": "integer",
                          "default": 0,
                          "examples": [
                            364735178
                          ]
                        },
                        "duration": {
                          "type": "number",
                          "default": 0,
                          "examples": [
                            183.088
                          ]
                        },
                        "aspect_ratio": {
                          "type": "string",
                          "examples": [
                            "16:9"
                          ]
                        },
                        "fps": {
                          "type": "number",
                          "default": 0,
                          "examples": [
                            23.98
                          ]
                        },
                        "width": {
                          "type": "integer",
                          "default": 0,
                          "examples": [
                            3840
                          ]
                        },
                        "height": {
                          "type": "integer",
                          "default": 0,
                          "examples": [
                            2160
                          ]
                        }
                      },
                      "x-apidog-orders": [
                        "transformations",
                        "profile_id",
                        "title",
                        "description",
                        "chapters",
                        "source_url",
                        "size",
                        "duration",
                        "aspect_ratio",
                        "fps",
                        "width",
                        "height"
                      ]
                    },
                    "output": {
                      "type": "object",
                      "properties": {
                        "format": {
                          "type": "string",
                          "examples": [
                            "abr"
                          ]
                        },
                        "status_url": {
                          "type": "string",
                          "examples": [
                            "https://api.gumlet.com/v1/video/assets/67e4ece9403562dbea654261"
                          ]
                        },
                        "playback_url": {
                          "type": "string",
                          "examples": [
                            "https://video.gumlet.io/67e4ece9403562dbea65425f/67e4ece9403562dbea654261/main.m3u8"
                          ]
                        },
                        "dash_playback_url": {
                          "type": "string",
                          "examples": [
                            "https://video.gumlet.io/67e4ece9403562dbea65425f/67e4ece9403562dbea654261/main.mpd"
                          ]
                        },
                        "thumbnail_url": {
                          "type": "array",
                          "items": {
                            "type": "string",
                            "examples": [
                              "https://video.gumlet.io/67e4ece9403562dbea65425f/67e4ece9403562dbea654261/thumbnail-1-0.png?v=1743056105661"
                            ]
                          }
                        },
                        "storage_details": {
                          "type": "object",
                          "properties": {
                            "video": {
                              "type": "array",
                              "items": {
                                "type": "object",
                                "properties": {
                                  "fileName": {
                                    "type": "string",
                                    "examples": [
                                      "1080p.mp4"
                                    ]
                                  },
                                  "size": {
                                    "type": "integer",
                                    "default": 0,
                                    "examples": [
                                      91884957
                                    ]
                                  },
                                  "resolution": {
                                    "type": "string",
                                    "examples": [
                                      "1920x1080"
                                    ]
                                  },
                                  "duration": {
                                    "type": "integer",
                                    "default": 0,
                                    "examples": [
                                      183
                                    ]
                                  }
                                },
                                "x-apidog-orders": [
                                  "fileName",
                                  "size",
                                  "resolution",
                                  "duration"
                                ]
                              }
                            },
                            "audio": {
                              "type": "array",
                              "items": {
                                "type": "object",
                                "properties": {
                                  "fileName": {
                                    "type": "string",
                                    "examples": [
                                      "en_128k.mp4"
                                    ]
                                  },
                                  "size": {
                                    "type": "integer",
                                    "default": 0,
                                    "examples": [
                                      2913025
                                    ]
                                  },
                                  "duration": {
                                    "type": "integer",
                                    "default": 0,
                                    "examples": [
                                      183
                                    ]
                                  }
                                },
                                "x-apidog-orders": [
                                  "fileName",
                                  "size",
                                  "duration"
                                ]
                              }
                            },
                            "playlist": {
                              "type": "array",
                              "items": {
                                "type": "object",
                                "properties": {
                                  "fileName": {
                                    "type": "string",
                                    "examples": [
                                      "1080p.m3u8"
                                    ]
                                  },
                                  "size": {
                                    "type": "integer",
                                    "default": 0,
                                    "examples": [
                                      3790
                                    ]
                                  }
                                },
                                "x-apidog-orders": [
                                  "fileName",
                                  "size"
                                ]
                              }
                            },
                            "thumbnail": {
                              "type": "array",
                              "items": {
                                "type": "object",
                                "properties": {
                                  "fileName": {
                                    "type": "string",
                                    "examples": [
                                      "thumbnail-1-0.png"
                                    ]
                                  },
                                  "size": {
                                    "type": "integer",
                                    "default": 0,
                                    "examples": [
                                      6087369
                                    ]
                                  },
                                  "resolution": {
                                    "type": "string",
                                    "examples": [
                                      "3840x2160"
                                    ]
                                  }
                                },
                                "x-apidog-orders": [
                                  "fileName",
                                  "size",
                                  "resolution"
                                ]
                              }
                            },
                            "subtitle": {
                              "type": "array",
                              "items": {
                                "type": "object",
                                "properties": {
                                  "fileName": {
                                    "type": "string",
                                    "examples": [
                                      "es.vtt"
                                    ]
                                  },
                                  "size": {
                                    "type": "integer",
                                    "default": 0,
                                    "examples": [
                                      398
                                    ]
                                  }
                                },
                                "x-apidog-orders": [
                                  "fileName",
                                  "size"
                                ]
                              }
                            },
                            "previewThumbnail": {
                              "type": "array",
                              "items": {
                                "type": "object",
                                "properties": {
                                  "fileName": {
                                    "type": "string",
                                    "examples": [
                                      "preview_thumbnails.png"
                                    ]
                                  },
                                  "size": {
                                    "type": "integer",
                                    "default": 0,
                                    "examples": [
                                      3089899
                                    ]
                                  }
                                },
                                "x-apidog-orders": [
                                  "fileName",
                                  "size"
                                ]
                              }
                            }
                          },
                          "x-apidog-orders": [
                            "video",
                            "audio",
                            "playlist",
                            "thumbnail",
                            "subtitle",
                            "previewThumbnail"
                          ],
                          "required": [
                            "video",
                            "audio",
                            "thumbnail",
                            "playlist",
                            "subtitle",
                            "previewThumbnail"
                          ]
                        },
                        "transcription_word_level_timestamps": {
                          "type": "string",
                          "examples": [
                            "https://video.gumlet.io/67e4ece9403562dbea65425f/67e4ece9403562dbea654261/67e4ece9403562dbea654261-transcription-word-level-timestamp.json?token=5589a9b725fabe0586e37782c3eb8e083a84e5c2&expires=1744100014337"
                          ]
                        },
                        "storage_bytes": {
                          "type": "integer",
                          "default": 0,
                          "examples": [
                            674034917
                          ]
                        },
                        "preview_thumbnails_url": {
                          "type": "string",
                          "examples": [
                            "https://video.gumlet.io/67e4ece9403562dbea65425f/67e4ece9403562dbea654261/preview_thumbnails.vtt"
                          ]
                        }
                      },
                      "x-apidog-orders": [
                        "format",
                        "status_url",
                        "playback_url",
                        "dash_playback_url",
                        "thumbnail_url",
                        "storage_details",
                        "transcription_word_level_timestamps",
                        "storage_bytes",
                        "preview_thumbnails_url"
                      ]
                    },
                    "processed_at": {
                      "type": "integer",
                      "default": 0,
                      "examples": [
                        1743056105661
                      ]
                    },
                    "folder": {
                      "type": "string",
                      "examples": [
                        "Demo Folder"
                      ]
                    },
                    "playlists": {
                      "type": "array",
                      "description": "Array of Playlist IDs",
                      "items": {
                        "x-stoplight": {
                          "id": "i8aa4yls9dah8"
                        },
                        "type": "string"
                      }
                    },
                    "thumbnail_updated_at": {
                      "type": "integer",
                      "format": "int64",
                      "description": "Thumbnail updated timestamp in milliseconds since epoch"
                    },
                    "warning": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "code": {
                            "type": "string",
                            "description": "Warning code for the asset"
                          },
                          "message": {
                            "type": "string",
                            "description": "Human friendly warning message"
                          }
                        },
                        "x-apidog-orders": [
                          "code",
                          "message"
                        ],
                        "required": [
                          "code",
                          "message"
                        ]
                      }
                    },
                    "audioOnly": {
                      "type": "boolean",
                      "description": "If `true` the asset is audio only"
                    },
                    "video_protection": {
                      "type": "object",
                      "properties": {
                        "signed_url": {
                          "type": "boolean",
                          "description": "Flag is signed URL is enabled for this asset"
                        }
                      },
                      "x-apidog-orders": [
                        "signed_url"
                      ]
                    },
                    "access_control": {
                      "type": "string",
                      "description": "Access control",
                      "enum": [
                        "private",
                        "public",
                        "password-protected",
                        "dashboardOnly"
                      ],
                      "x-apidog-enum": [
                        {
                          "value": "private",
                          "name": "",
                          "description": ""
                        },
                        {
                          "value": "public",
                          "name": "",
                          "description": ""
                        },
                        {
                          "value": "password-protected",
                          "name": "",
                          "description": ""
                        },
                        {
                          "value": "dashboardOnly",
                          "name": "",
                          "description": ""
                        }
                      ]
                    },
                    "access_controls": {
                      "type": "object",
                      "properties": {
                        "password": {
                          "type": "string",
                          "description": "Hidden password field"
                        }
                      },
                      "x-apidog-orders": [
                        "password"
                      ]
                    },
                    "workspace_updated_at": {
                      "type": "integer",
                      "format": "int64",
                      "description": "Collection updated timestamp in milliseconds since epoch"
                    },
                    "workspace_id": {
                      "type": "string",
                      "examples": [
                        "67e4ece9403562dbea65425f"
                      ],
                      "description": "Workspace ID"
                    }
                  },
                  "x-apidog-orders": [
                    "asset_id",
                    "progress",
                    "created_at",
                    "updated_at",
                    "thumbnail_updated_at",
                    "workspace_updated_at",
                    "status",
                    "tag",
                    "workspace_id",
                    "input",
                    "output",
                    "processed_at",
                    "folder",
                    "playlists",
                    "warning",
                    "audioOnly",
                    "video_protection",
                    "access_control",
                    "access_controls"
                  ],
                  "required": [
                    "asset_id",
                    "workspace_updated_at",
                    "status",
                    "created_at"
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Bad Request — invalid asset ID",
            "content": {
              "application/json": {
                "examples": {
                  "Result": {
                    "value": {
                      "error": {
                        "code": "asset_id_not_valid",
                        "message": "The asset ID is not valid."
                      }
                    }
                  }
                },
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "code": {
                          "type": "string",
                          "example": "asset_id_not_valid"
                        },
                        "message": {
                          "type": "string",
                          "example": "The asset ID is not valid."
                        }
                      },
                      "required": [
                        "code",
                        "message"
                      ]
                    }
                  },
                  "required": [
                    "error"
                  ]
                }
              }
            }
          },
          "401": {
            "description": "401",
            "content": {
              "application/json": {
                "examples": {
                  "Result": {
                    "value": {
                      "error": {
                        "code": "asset_not_found",
                        "message": "Could not find any video asset with specified asset_id."
                      }
                    }
                  }
                },
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "code": {
                          "type": "string",
                          "example": "asset_not_found"
                        },
                        "message": {
                          "type": "string",
                          "example": "Could not find any video asset with specified asset_id."
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "403": {
            "description": "Forbidden — no access to this asset",
            "content": {
              "application/json": {
                "examples": {
                  "Result": {
                    "value": {
                      "error": {
                        "code": "access_denied",
                        "message": "You are not authorized to access this asset."
                      }
                    }
                  }
                },
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "code": {
                          "type": "string",
                          "example": "access_denied"
                        },
                        "message": {
                          "type": "string",
                          "example": "You are not authorized to access this asset."
                        }
                      },
                      "required": [
                        "code",
                        "message"
                      ]
                    }
                  },
                  "required": [
                    "error"
                  ]
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "examples": {
                  "Result": {
                    "value": {
                      "error": {
                        "code": "asset_not_found",
                        "message": "Could not find any video asset with specified asset_id."
                      }
                    }
                  }
                },
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "code": {
                          "type": "string",
                          "example": "asset_not_found"
                        },
                        "message": {
                          "type": "string",
                          "example": "Could not find any video asset with specified asset_id."
                        }
                      },
                      "required": [
                        "code",
                        "message"
                      ]
                    }
                  },
                  "required": [
                    "error"
                  ]
                }
              }
            }
          }
        },
        "deprecated": false,
        "tags": [
          "Video Assets"
        ],
        "x-codeSamples": [
          {
            "label": "TypeScript",
            "lang": "TypeScript",
            "source": "import Gumlet from '@gumlet/nodejs-sdk';\n\nconst client = new Gumlet({\n  apiKey: process.env['API_KEY'], // defaults to the API_KEY env var\n});\n\nconst videoAsset = await client.videoAssets.retrieveDetails('assetId');\n\nconsole.log(videoAsset);"
          },
          {
            "label": "Python",
            "lang": "Python",
            "source": "import os\n\nfrom gumlet import Gumlet\n\nclient = Gumlet(\n    api_key=os.environ.get(\"API_KEY\"),\n)\n\nvideo_asset = client.video_assets.retrieve_details(\n    asset_id=\"assetId\",\n)\n\nprint(video_asset)"
          }
        ]
      },
      "delete": {
        "summary": "Delete Asset",
        "description": "This endpoint removes an asset given its unique asset id. The asset will be removed from storage as well, associated URLs will be inaccessible.",
        "operationId": "delete-asset",
        "parameters": [
          {
            "name": "asset_id",
            "in": "path",
            "description": "Asset id of the video asset which needs to be deleted.",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "responses": {
          "204": {
            "description": "204",
            "content": {
              "application/json": {
                "examples": {
                  "Result": {
                    "value": ""
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request — invalid asset ID",
            "content": {
              "application/json": {
                "examples": {
                  "Result": {
                    "value": {
                      "error": {
                        "code": "asset_id_not_valid",
                        "message": "The asset ID is not valid."
                      }
                    }
                  }
                },
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "code": {
                          "type": "string",
                          "example": "asset_id_not_valid"
                        },
                        "message": {
                          "type": "string",
                          "example": "The asset ID is not valid."
                        }
                      },
                      "required": [
                        "code",
                        "message"
                      ]
                    }
                  },
                  "required": [
                    "error"
                  ]
                }
              }
            }
          },
          "401": {
            "description": "401",
            "content": {
              "application/json": {
                "examples": {
                  "Result": {
                    "value": {
                      "error": {
                        "code": "asset_not_found",
                        "message": "Could not find any video asset with specified asset_id."
                      }
                    }
                  }
                },
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "code": {
                          "type": "string",
                          "example": "asset_not_found"
                        },
                        "message": {
                          "type": "string",
                          "example": "Could not find any video asset with specified asset_id."
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "examples": {
                  "Result": {
                    "value": {
                      "error": {
                        "code": "asset_not_found",
                        "message": "Could not find any video asset with specified asset_id."
                      }
                    }
                  }
                },
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "code": {
                          "type": "string",
                          "example": "asset_not_found"
                        },
                        "message": {
                          "type": "string",
                          "example": "Could not find any video asset with specified asset_id."
                        }
                      },
                      "required": [
                        "code",
                        "message"
                      ]
                    }
                  },
                  "required": [
                    "error"
                  ]
                }
              }
            }
          }
        },
        "deprecated": false,
        "tags": [
          "Video Assets"
        ],
        "x-codeSamples": [
          {
            "label": "TypeScript",
            "lang": "TypeScript",
            "source": "import Gumlet from '@gumlet/nodejs-sdk';\n\nconst client = new Gumlet({\n  apiKey: process.env['API_KEY'], // defaults to the API_KEY env var\n});\n\nawait client.videoAssets.delete('assetId');"
          },
          {
            "label": "Python",
            "lang": "Python",
            "source": "import os\n\nfrom gumlet import Gumlet\n\nclient = Gumlet(\n    api_key=os.environ.get(\"API_KEY\"),\n)\n\nclient.video_assets.delete(\n    asset_id=\"assetId\",\n)"
          }
        ]
      }
    },
    "/video/assets/update": {
      "post": {
        "summary": "Update Asset",
        "description": "This endpoint allows users to update video asset that has previously been created.",
        "operationId": "update-asset",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "asset_id"
                ],
                "properties": {
                  "asset_id": {
                    "type": "string",
                    "description": "Asset Id"
                  },
                  "title": {
                    "type": "string",
                    "description": "Specify a text string or identifier which can be used for filtering or searching the asset."
                  },
                  "description": {
                    "type": "string",
                    "description": "Attach some textual data with the asset. This field is neither searchable nor filterable."
                  },
                  "tag": {
                    "type": "string",
                    "description": "Specify a text string or identifier which can identify an asset or bunch of assets later. You can pass multiple comma-separated values."
                  },
                  "call_to_actions": {
                    "type": "array",
                    "description": "A CTA is an explicit prompt within the video content encouraging viewers to take a particular action.",
                    "items": {
                      "properties": {
                        "text": {
                          "type": "string"
                        },
                        "url": {
                          "type": "string"
                        },
                        "start_time": {
                          "type": "integer",
                          "format": "int32"
                        },
                        "end_time": {
                          "type": "integer",
                          "format": "int32"
                        },
                        "font_color": {
                          "type": "string",
                          "description": "hex value of color"
                        },
                        "background_color": {
                          "type": "string",
                          "description": "hex code of color"
                        },
                        "position_from_top": {
                          "type": "integer",
                          "description": "number of pixels from top",
                          "format": "int32"
                        },
                        "position_from_right": {
                          "type": "string",
                          "description": "number of pixels from right"
                        }
                      },
                      "type": "object",
                      "x-apidog-orders": [
                        "text",
                        "url",
                        "start_time",
                        "end_time",
                        "font_color",
                        "background_color",
                        "position_from_top",
                        "position_from_right"
                      ]
                    }
                  },
                  "metadata": {
                    "type": "string",
                    "description": "Set of key-value pairs that you can attach to this Asset. This can be useful for storing additional information.<br/> Example: <br/> <code>  {  \"internal_video_id\" : \"123Abc\"  }  </code>",
                    "format": "json"
                  },
                  "remove_subtitles": {
                    "type": "array",
                    "description": "Comma separated string of language codes.",
                    "items": {
                      "type": "string"
                    }
                  },
                  "input": {
                    "type": "string",
                    "description": "For replacing videos, pass this along with `asset_id`\n\n`{workspace_id}/{asset_id}/origin-{asset_id}`"
                  },
                  "reprocess": {
                    "type": "boolean",
                    "description": "To reprocess same video, pass this as true."
                  }
                },
                "x-apidog-orders": [
                  "asset_id",
                  "title",
                  "description",
                  "tag",
                  "call_to_actions",
                  "metadata",
                  "remove_subtitles",
                  "input",
                  "reprocess"
                ]
              },
              "examples": {
                "Example 1": {
                  "value": {
                    "asset_id": "<YOUR_ASSET_ID>",
                    "title": "Updated Title"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "200",
            "content": {
              "application/json": {
                "examples": {
                  "Result": {
                    "value": {}
                  }
                },
                "schema": {
                  "type": "object",
                  "properties": {}
                }
              }
            }
          },
          "400": {
            "description": "Bad Request — invalid parameters or asset not found",
            "content": {
              "application/json": {
                "examples": {
                  "Result": {
                    "value": {
                      "error": {
                        "code": "asset_id_not_valid",
                        "message": "The asset ID is not valid."
                      }
                    }
                  }
                },
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "code": {
                          "type": "string",
                          "example": "asset_id_not_valid"
                        },
                        "message": {
                          "type": "string",
                          "example": "The asset ID is not valid."
                        }
                      },
                      "required": [
                        "code",
                        "message"
                      ]
                    }
                  },
                  "required": [
                    "error"
                  ]
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "examples": {
                  "Result": {
                    "value": {
                      "error": {
                        "code": "asset_not_found",
                        "message": "Could not find any video asset with specified asset_id."
                      }
                    }
                  }
                },
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "code": {
                          "type": "string",
                          "example": "asset_not_found"
                        },
                        "message": {
                          "type": "string",
                          "example": "Could not find any video asset with specified asset_id."
                        }
                      },
                      "required": [
                        "code",
                        "message"
                      ]
                    }
                  },
                  "required": [
                    "error"
                  ]
                }
              }
            }
          },
          "422": {
            "$ref": "#/components/responses/ValidationError"
          }
        },
        "deprecated": false,
        "tags": [
          "Video Assets"
        ],
        "x-codeSamples": [
          {
            "label": "TypeScript",
            "lang": "TypeScript",
            "source": "import Gumlet from '@gumlet/nodejs-sdk';\n\nconst client = new Gumlet({\n  apiKey: process.env['API_KEY'], // defaults to the API_KEY env var\n});\n\nconst videoAsset = await client.videoAssets.update({ asset_id: '<YOUR_ASSET_ID>', title: 'Updated Title' });\n\nconsole.log(videoAsset);"
          },
          {
            "label": "Python",
            "lang": "Python",
            "source": "import os\n\nfrom gumlet import Gumlet\n\nclient = Gumlet(\n    api_key=os.environ.get(\"API_KEY\"),\n)\n\nvideo_asset = client.video_assets.update(\n    asset_id=\"<YOUR_ASSET_ID>\",\n    title=\"Updated Title\",\n)\n\nprint(video_asset)"
          }
        ]
      }
    },
    "/video/assets/{asset_id}/thumbnail-select": {
      "post": {
        "summary": "Update thumbnail from video",
        "description": "Select frame from video to use as thumbnail.",
        "operationId": "thumbnail-select",
        "parameters": [
          {
            "name": "asset_id",
            "in": "path",
            "description": "Asset id of the video asset which needs to be deleted.",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "frame_at_second"
                ],
                "properties": {
                  "frame_at_second": {
                    "type": "integer",
                    "description": "Frame secound",
                    "format": "int32"
                  }
                }
              },
              "examples": {
                "Request Example": {
                  "value": {
                    "frame_at_second": 2
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "200",
            "content": {
              "text/plain": {
                "examples": {
                  "Result": {
                    "value": {
                      "success": true,
                      "asset_id": "6495e52a01e29f9a90f3e884",
                      "thumbnail_updated_at": 1787073689058
                    }
                  }
                },
                "schema": {
                  "type": "object",
                  "x-examples": {
                    "Example 1": {
                      "success": true,
                      "asset_id": "6495e52a01e29f9a90f3e884",
                      "thumbnail_updated_at": 1787073689058
                    }
                  },
                  "properties": {
                    "success": {
                      "type": "boolean"
                    },
                    "asset_id": {
                      "type": "string"
                    },
                    "thumbnail_updated_at": {
                      "type": "integer",
                      "description": "Milliseconds since epoch for the updated time."
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "examples": {
                  "Result": {
                    "value": {
                      "error": {
                        "code": "video_asset_not_in_ready_state",
                        "message": "Uploading a custom thumbnail is only allowed when the video asset is in the ready state."
                      }
                    }
                  }
                },
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "code": {
                          "type": "string",
                          "example": "video_asset_not_in_ready_state"
                        },
                        "message": {
                          "type": "string",
                          "example": "Uploading a custom thumbnail is only allowed when the video asset is in the ready state."
                        }
                      },
                      "required": [
                        "code",
                        "message"
                      ]
                    }
                  },
                  "required": [
                    "error"
                  ]
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        },
        "deprecated": false,
        "tags": [
          "Video Assets"
        ],
        "x-codeSamples": [
          {
            "label": "TypeScript",
            "lang": "TypeScript",
            "source": "import Gumlet from '@gumlet/nodejs-sdk';\n\nconst client = new Gumlet({\n  apiKey: process.env['API_KEY'], // defaults to the API_KEY env var\n});\n\nconst videoAsset = await client.videoAssets.thumbnailSelect('assetId', { frame_at_second: 2 });\n\nconsole.log(videoAsset);"
          },
          {
            "label": "Python",
            "lang": "Python",
            "source": "import os\n\nfrom gumlet import Gumlet\n\nclient = Gumlet(\n    api_key=os.environ.get(\"API_KEY\"),\n)\n\nvideo_asset = client.video_assets.thumbnail_select(\n    asset_id=\"assetId\",\n    frame_at_second=2,\n)\n\nprint(video_asset)"
          }
        ]
      },
      "parameters": [
        {
          "schema": {
            "type": "string"
          },
          "name": "asset_id",
          "description": "Gumlet asset ID",
          "in": "path",
          "required": true
        }
      ]
    },
    "/video/assets/{asset_ID}/thumbnail": {
      "post": {
        "summary": "Update thumbnail via upload",
        "description": "Use any image file to use as thumbnail. Once you use the API, you will get `upload_url` in the response, and that can be used to upload the image file.\n\nHere is the sample curl request.\n\n```bash\ncurl --location --request PUT '<upload_url>' \\\n--data '<YOUR_FILE_PATH>'\n```",
        "operationId": "thumbnail-upload",
        "parameters": [
          {
            "name": "asset_ID",
            "in": "path",
            "description": "An asset id for the previously created asset.",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "examples": {
                  "Result": {
                    "value": {
                      "upload_url": "URL",
                      "asset_id": "asset_id"
                    }
                  }
                },
                "schema": {
                  "type": "object",
                  "x-examples": {
                    "Example 1": {
                      "upload_url": "https://gumlet-video-storage.s3.us-west-2.amazonaws.com/gumlet-video-storage-prod/5f553b6cec202a5b44e3dd69/6495e52a01e29f9a90f3e884/thumbnail-1-0.png?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Content-Sha256=UNSIGNED-PAYLOAD&X-Amz-Credential=AKIA4WNLTXWDACO5V32D%2F20260818%2Fus-west-2%2Fs3%2Faws4_request&X-Amz-Date=20260818T173755Z&X-Amz-Expires=1800&X-Amz-Signature=1ba342f62a5d72bcfff451d7696039e951260434ce5e27bec9dffac448d762a7&X-Amz-SignedHeaders=host&x-amz-checksum-crc32=AAAAAA%3D%3D&x-amz-sdk-checksum-algorithm=CRC32&x-id=PutObject",
                      "asset_id": "6495e52a01e29f9a90f3e884",
                      "thumbnail_updated_at": 1787074674975
                    }
                  },
                  "properties": {
                    "upload_url": {
                      "type": "string"
                    },
                    "asset_id": {
                      "type": "string"
                    },
                    "thumbnail_updated_at": {
                      "type": "integer",
                      "description": "Thumbnail updated at timestamp in milliseconds since epoch"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "examples": {
                  "Result": {
                    "value": {
                      "error": {
                        "code": "video_asset_not_in_ready_state",
                        "message": "Uploading a custom thumbnail is only allowed when the video asset is in the ready state."
                      }
                    }
                  }
                },
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "code": {
                          "type": "string",
                          "example": "video_asset_not_in_ready_state"
                        },
                        "message": {
                          "type": "string",
                          "example": "Uploading a custom thumbnail is only allowed when the video asset is in the ready state."
                        }
                      },
                      "required": [
                        "code",
                        "message"
                      ]
                    }
                  },
                  "required": [
                    "error"
                  ]
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        },
        "deprecated": false,
        "tags": [
          "Video Assets"
        ],
        "x-codeSamples": [
          {
            "label": "TypeScript",
            "lang": "TypeScript",
            "source": "import Gumlet from '@gumlet/nodejs-sdk';\n\nconst client = new Gumlet({\n  apiKey: process.env['API_KEY'], // defaults to the API_KEY env var\n});\n\nconst videoAsset = await client.videoAssets.thumbnailUpload('assetId');\n\nconsole.log(videoAsset);"
          },
          {
            "label": "Python",
            "lang": "Python",
            "source": "import os\n\nfrom gumlet import Gumlet\n\nclient = Gumlet(\n    api_key=os.environ.get(\"API_KEY\"),\n)\n\nvideo_asset = client.video_assets.thumbnail_upload(\n    asset_id=\"assetId\",\n)\n\nprint(video_asset)"
          }
        ]
      }
    },
    "/video/assets/{asset_ID}/subtitle/upload": {
      "post": {
        "summary": "Upload Subtitles",
        "description": "Upload `.srt` or `.vtt` file to the video asset. The response of this API call gives `upload_url` for each language specified. You need to send a `PUT` request of the subtitle files to those URLs. Once that's done, you need to call the subtitle upload complete API. Only after that, Gumlet will add subtitles to asset.",
        "operationId": "upload-subtitles",
        "parameters": [
          {
            "name": "asset_ID",
            "in": "path",
            "description": "An asset id for the previously created asset.",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "language_codes": {
                    "type": "array",
                    "description": "List of language codes to upload subtitle file (use <a href='https://en.wikipedia.org/wiki/List_of_ISO_639_language_codes'> ISO 639-1 </a> Language Codes)",
                    "items": {
                      "type": "string"
                    }
                  }
                }
              },
              "examples": {
                "Example 1": {
                  "value": {
                    "language_codes": [
                      "en"
                    ]
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "200",
            "content": {
              "application/json": {
                "examples": {
                  "Result": {
                    "value": {
                      "signed_urls": [
                        {
                          "language_code": "en",
                          "upload_url": "<UPLOAD_URL>"
                        }
                      ],
                      "asset_id": "6a8491aaf180d34362c9587a"
                    }
                  }
                },
                "schema": {
                  "title": "",
                  "type": "object",
                  "properties": {
                    "asset_id": {
                      "type": "string",
                      "description": "Asset ID of Gumlet"
                    },
                    "signed_urls": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "language_code": {
                            "type": "string"
                          },
                          "upload_url": {
                            "type": "string"
                          }
                        },
                        "x-apidog-orders": [
                          "language_code",
                          "upload_url"
                        ],
                        "required": [
                          "language_code",
                          "upload_url"
                        ]
                      }
                    }
                  },
                  "x-apidog-orders": [
                    "asset_id",
                    "signed_urls"
                  ],
                  "required": [
                    "asset_id",
                    "signed_urls"
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "examples": {
                  "Result": {
                    "value": {
                      "error": {
                        "code": "invalid_language_code",
                        "message": "Invalid language code. It must be one of the ISO 639-1 assigned codes."
                      }
                    }
                  }
                },
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "code": {
                          "type": "string",
                          "example": "invalid_language_code"
                        },
                        "message": {
                          "type": "string",
                          "example": "Invalid language code. It must be one of the ISO 639-1 assigned codes."
                        }
                      },
                      "required": [
                        "code",
                        "message"
                      ]
                    }
                  },
                  "required": [
                    "error"
                  ]
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        },
        "deprecated": false,
        "tags": [
          "Subtitle Upload"
        ],
        "x-codeSamples": [
          {
            "label": "TypeScript",
            "lang": "TypeScript",
            "source": "import Gumlet from '@gumlet/nodejs-sdk';\n\nconst client = new Gumlet({\n  apiKey: process.env['API_KEY'], // defaults to the API_KEY env var\n});\n\nconst subtitleUpload = await client.subtitleUpload.upload('assetId', { language_codes: ['en'] });\n\nconsole.log(subtitleUpload);"
          },
          {
            "label": "Python",
            "lang": "Python",
            "source": "import os\n\nfrom gumlet import Gumlet\n\nclient = Gumlet(\n    api_key=os.environ.get(\"API_KEY\"),\n)\n\nsubtitle_upload = client.subtitle_upload.upload(\n    asset_id=\"assetId\",\n    language_codes=[\"en\"],\n)\n\nprint(subtitle_upload)"
          }
        ]
      }
    },
    "/video/assets/{asset_ID}/subtitle/upload/event": {
      "post": {
        "summary": "Complete Subtitle Upload",
        "description": "This API must be called after adding subtitles; the add subtitle call gives you URLs to upload, and you complete a `PUT` request to those URLs. \nOnce that is done, calling this initiates the process to actually add the subtitle to the video.",
        "operationId": "complete-subtitle-upload",
        "parameters": [
          {
            "name": "asset_ID",
            "in": "path",
            "description": "An asset id for the previously created asset.",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "upload_responses": {
                    "type": "array",
                    "items": {
                      "properties": {
                        "language_code": {
                          "type": "string",
                          "description": "Language code for uploaded .srt or .vtt file."
                        },
                        "uploaded": {
                          "type": "boolean",
                          "description": "Status of language uploaded .srt or .vtt file. (If status code was 200, You can mark true else false)"
                        }
                      },
                      "type": "object",
                      "x-apidog-orders": [
                        "language_code",
                        "uploaded"
                      ]
                    }
                  }
                },
                "x-apidog-orders": [
                  "upload_responses"
                ]
              },
              "examples": {
                "Example 1": {
                  "value": {
                    "upload_responses": [
                      {
                        "language_code": "en",
                        "uploaded": true
                      }
                    ]
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "200",
            "content": {
              "application/json": {
                "examples": {
                  "Result": {
                    "value": {}
                  }
                },
                "schema": {
                  "type": "object",
                  "properties": {}
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "examples": {
                  "Result": {
                    "value": {
                      "error": {
                        "code": "no_additional_track",
                        "message": "No track request exists. Please upload a track first."
                      }
                    }
                  }
                },
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "code": {
                          "type": "string",
                          "example": "no_additional_track"
                        },
                        "message": {
                          "type": "string",
                          "example": "No track request exists. Please upload a track first."
                        }
                      },
                      "required": [
                        "code",
                        "message"
                      ]
                    }
                  },
                  "required": [
                    "error"
                  ]
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        },
        "deprecated": false,
        "tags": [
          "Subtitle Upload"
        ],
        "x-codeSamples": [
          {
            "label": "TypeScript",
            "lang": "TypeScript",
            "source": "import Gumlet from '@gumlet/nodejs-sdk';\n\nconst client = new Gumlet({\n  apiKey: process.env['API_KEY'], // defaults to the API_KEY env var\n});\n\nconst subtitleUpload = await client.subtitleUpload.complete('assetId', {\n  upload_responses: [{ language_code: 'en', uploaded: true }],\n});\n\nconsole.log(subtitleUpload);"
          },
          {
            "label": "Python",
            "lang": "Python",
            "source": "import os\n\nfrom gumlet import Gumlet\n\nclient = Gumlet(\n    api_key=os.environ.get(\"API_KEY\"),\n)\n\nsubtitle_upload = client.subtitle_upload.complete(\n    asset_id=\"assetId\",\n    upload_responses=[{\"language_code\": \"en\", \"uploaded\": True}],\n)\n\nprint(subtitle_upload)"
          }
        ]
      }
    },
    "/video/assets/{asset_ID}/audio/upload": {
      "post": {
        "summary": "Add Audio",
        "description": "Add any audio file to the video asset. \nThe response of this API call gives `upload_url` for each language specified. You need to send a `PUT` request of the audio files to those URLs. Once that's done, you need to call the audio upload complete API. Only after that will Gumlet add audio to the asset.",
        "operationId": "asset-audio-upload",
        "parameters": [
          {
            "name": "asset_ID",
            "in": "path",
            "description": "An asset id for the previously created asset.",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "language_codes": {
                    "type": "array",
                    "description": "List of language codes to upload audio file (use <a href='https://en.wikipedia.org/wiki/List_of_ISO_639_language_codes'> ISO 639-1 </a> Language Codes)",
                    "items": {
                      "type": "string"
                    }
                  }
                }
              },
              "examples": {
                "Example 1": {
                  "value": {
                    "language_codes": [
                      "en"
                    ]
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "200",
            "content": {
              "application/json": {
                "examples": {
                  "Result": {
                    "value": {
                      "signed_urls": [
                        {
                          "language_code": "en",
                          "upload_url": "<UPLOAD_URL>"
                        }
                      ],
                      "asset_id": "6a8491aaf180d34362c9587a"
                    }
                  }
                },
                "schema": {
                  "title": "",
                  "type": "object",
                  "properties": {
                    "asset_id": {
                      "type": "string",
                      "description": "Gumlet Asset ID"
                    },
                    "signed_urls": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "language_code": {
                            "type": "string"
                          },
                          "upload_url": {
                            "type": "string"
                          }
                        },
                        "x-apidog-orders": [
                          "language_code",
                          "upload_url"
                        ],
                        "required": [
                          "language_code",
                          "upload_url"
                        ]
                      }
                    }
                  },
                  "x-apidog-orders": [
                    "asset_id",
                    "signed_urls"
                  ],
                  "required": [
                    "asset_id",
                    "signed_urls"
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "examples": {
                  "Result": {
                    "value": {
                      "error": {
                        "code": "asset_id_not_valid",
                        "message": "The asset ID is not valid."
                      }
                    }
                  }
                },
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "code": {
                          "type": "string",
                          "example": "asset_id_not_valid"
                        },
                        "message": {
                          "type": "string",
                          "example": "The asset ID is not valid."
                        }
                      },
                      "required": [
                        "code",
                        "message"
                      ]
                    }
                  },
                  "required": [
                    "error"
                  ]
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        },
        "deprecated": false,
        "tags": [
          "Audio Upload"
        ],
        "x-codeSamples": [
          {
            "label": "TypeScript",
            "lang": "TypeScript",
            "source": "import Gumlet from '@gumlet/nodejs-sdk';\n\nconst client = new Gumlet({\n  apiKey: process.env['API_KEY'], // defaults to the API_KEY env var\n});\n\nconst audioUpload = await client.audioUpload.upload('assetId', { language_codes: ['en'] });\n\nconsole.log(audioUpload);"
          },
          {
            "label": "Python",
            "lang": "Python",
            "source": "import os\n\nfrom gumlet import Gumlet\n\nclient = Gumlet(\n    api_key=os.environ.get(\"API_KEY\"),\n)\n\naudio_upload = client.audio_upload.upload(\n    asset_id=\"assetId\",\n    language_codes=[\"en\"],\n)\n\nprint(audio_upload)"
          }
        ]
      }
    },
    "/video/assets/{asset_ID}/audio/upload/event": {
      "post": {
        "summary": "Complete Audio Upload",
        "description": "This API must be called after adding audio(s); The add audio call gives you URLs to upload, and you complete a `PUT` request to those URLs. \nOnce that is done, calling this initiates the process to actually add the subtitle to the video.",
        "operationId": "complete-audio-upload",
        "parameters": [
          {
            "name": "asset_ID",
            "in": "path",
            "description": "An asset id for the previously created asset.",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "upload_responses": {
                    "type": "array",
                    "items": {
                      "properties": {
                        "language_code": {
                          "type": "string",
                          "description": "Language code for uploaded audio file."
                        },
                        "uploaded": {
                          "type": "boolean",
                          "description": "Status of language uploaded audio file. (If status code was 200, You can mark true else false)"
                        }
                      },
                      "type": "object"
                    }
                  }
                }
              },
              "examples": {
                "Example 1": {
                  "value": {
                    "upload_responses": [
                      {
                        "language_codes": [
                          "en"
                        ],
                        "uploaded": true
                      }
                    ]
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "200",
            "content": {
              "application/json": {
                "examples": {
                  "Result": {
                    "value": {}
                  }
                },
                "schema": {
                  "type": "object",
                  "properties": {}
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "examples": {
                  "Result": {
                    "value": {
                      "error": {
                        "code": "no_additional_track",
                        "message": "No track request exists. Please upload a track first."
                      }
                    }
                  }
                },
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "code": {
                          "type": "string",
                          "example": "no_additional_track"
                        },
                        "message": {
                          "type": "string",
                          "example": "No track request exists. Please upload a track first."
                        }
                      },
                      "required": [
                        "code",
                        "message"
                      ]
                    }
                  },
                  "required": [
                    "error"
                  ]
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        },
        "deprecated": false,
        "tags": [
          "Audio Upload"
        ],
        "x-codeSamples": [
          {
            "label": "TypeScript",
            "lang": "TypeScript",
            "source": "import Gumlet from '@gumlet/nodejs-sdk';\n\nconst client = new Gumlet({\n  apiKey: process.env['API_KEY'], // defaults to the API_KEY env var\n});\n\nconst audioUpload = await client.audioUpload.complete('assetId', { upload_responses: [{ uploaded: true }] });\n\nconsole.log(audioUpload);"
          },
          {
            "label": "Python",
            "lang": "Python",
            "source": "import os\n\nfrom gumlet import Gumlet\n\nclient = Gumlet(\n    api_key=os.environ.get(\"API_KEY\"),\n)\n\naudio_upload = client.audio_upload.complete(\n    asset_id=\"assetId\",\n    upload_responses=[{\"language_codes\": [\"en\"], \"uploaded\": True}],\n)\n\nprint(audio_upload)"
          }
        ]
      }
    },
    "/video/assets/{asset_id}/chapters": {
      "post": {
        "summary": "Create/Update Video Asset Chapters",
        "description": "This endpoint will create/update video asset chapters.",
        "operationId": "create-update-chapter",
        "parameters": [
          {
            "name": "asset_id",
            "description": "Gumlet asset ID",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "chapters"
                ],
                "properties": {
                  "chapters": {
                    "type": "array",
                    "items": {
                      "properties": {
                        "label": {
                          "type": "string",
                          "description": "Label for the chapter."
                        },
                        "startTime": {
                          "type": "integer",
                          "format": "int32",
                          "description": "Start time of chapter in seconds. 0 means chapter is put as the video starts."
                        }
                      },
                      "required": [
                        "label",
                        "startTime"
                      ],
                      "type": "object",
                      "x-apidog-orders": [
                        "label",
                        "startTime"
                      ]
                    }
                  }
                },
                "x-apidog-orders": [
                  "chapters"
                ]
              },
              "examples": {
                "Example 1": {
                  "value": {
                    "chapters": [
                      {
                        "label": "Chapter 1",
                        "startTime": 0
                      },
                      {
                        "label": "Chapter 2",
                        "startTime": 10
                      }
                    ]
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "200",
            "content": {
              "application/json": {
                "examples": {
                  "Result": {
                    "value": {}
                  }
                },
                "schema": {
                  "type": "object",
                  "properties": {}
                }
              }
            }
          },
          "400": {
            "description": "Bad Request — chapter validation failed",
            "content": {
              "application/json": {
                "examples": {
                  "Result": {
                    "value": {
                      "error": {
                        "code": "label_missing",
                        "message": "Please provide a label with each chapter."
                      }
                    }
                  }
                },
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "code": {
                          "type": "string",
                          "example": "label_missing"
                        },
                        "message": {
                          "type": "string",
                          "example": "Please provide a label with each chapter."
                        }
                      },
                      "required": [
                        "code",
                        "message"
                      ]
                    }
                  },
                  "required": [
                    "error"
                  ]
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "402": {
            "description": "Payment Required — unpaid invoices",
            "content": {
              "application/json": {
                "examples": {
                  "Result": {
                    "value": {
                      "error": {
                        "code": "payment_pending",
                        "message": "Please clear your pending invoices to resume your services."
                      }
                    }
                  }
                },
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "code": {
                          "type": "string",
                          "example": "payment_pending"
                        },
                        "message": {
                          "type": "string",
                          "example": "Please clear your pending invoices to resume your services."
                        }
                      },
                      "required": [
                        "code",
                        "message"
                      ]
                    }
                  },
                  "required": [
                    "error"
                  ]
                }
              }
            }
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        },
        "deprecated": false,
        "tags": [
          "Video Assets"
        ],
        "x-codeSamples": [
          {
            "label": "TypeScript",
            "lang": "TypeScript",
            "source": "import Gumlet from '@gumlet/nodejs-sdk';\n\nconst client = new Gumlet({\n  apiKey: process.env['API_KEY'], // defaults to the API_KEY env var\n});\n\nconst videoAsset = await client.videoAssets.createUpdateChapter('assetId', {\n  chapters: [\n    { label: 'Chapter 1', startTime: 0 },\n    { label: 'Chapter 2', startTime: 10 },\n  ],\n});\n\nconsole.log(videoAsset);"
          },
          {
            "label": "Python",
            "lang": "Python",
            "source": "import os\n\nfrom gumlet import Gumlet\n\nclient = Gumlet(\n    api_key=os.environ.get(\"API_KEY\"),\n)\n\nvideo_asset = client.video_assets.create_update_chapter(\n    asset_id=\"assetId\",\n    chapters=[{\"label\": \"Chapter 1\", \"startTime\": 0}, {\"label\": \"Chapter 2\", \"startTime\": 10}],\n)\n\nprint(video_asset)"
          }
        ]
      }
    },
    "/video/analytics": {
      "post": {
        "summary": "Video Usage Analytics",
        "description": "This endpoint gives usage analytics data of your videos. Ex - top assets, bandwidth consumption",
        "operationId": "retrieve-analytics",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "metrics",
                  "date_range"
                ],
                "properties": {
                  "metrics": {
                    "type": "array",
                    "description": "Define the metric you need the data for. Currently we only support `bandwidth_consumption`, `asset_duration`, `storage_unit`, `top_assets`, `bandwidth_consumption_by_collection`, `errored_videos` and `widget_data`",
                    "items": {
                      "type": "string",
                      "enum": [
                        "bandwidth_consumption",
                        "asset_duration",
                        "storage_unit",
                        "top_assets",
                        "drm_requests",
                        "ai_credit_usage",
                        "errored_videos"
                      ],
                      "x-apidog-enum": [
                        {
                          "value": "bandwidth_consumption",
                          "name": "",
                          "description": ""
                        },
                        {
                          "value": "asset_duration",
                          "name": "",
                          "description": ""
                        },
                        {
                          "value": "storage_unit",
                          "name": "",
                          "description": ""
                        },
                        {
                          "value": "top_assets",
                          "name": "",
                          "description": ""
                        },
                        {
                          "value": "drm_requests",
                          "name": "",
                          "description": ""
                        },
                        {
                          "value": "ai_credit_usage",
                          "name": "",
                          "description": ""
                        },
                        {
                          "value": "errored_videos",
                          "name": "",
                          "description": ""
                        }
                      ]
                    }
                  },
                  "date_range": {
                    "type": "object",
                    "description": "The timeframe to get the data for. Currently we only support a maximum of 60 days between `start_at` and `end_at`.",
                    "properties": {
                      "start_at": {
                        "type": "string",
                        "description": "The starting date to consider",
                        "format": "date"
                      },
                      "end_at": {
                        "type": "string",
                        "description": "The ending date to consider",
                        "format": "date"
                      }
                    },
                    "x-apidog-orders": [
                      "start_at",
                      "end_at"
                    ],
                    "required": [
                      "start_at",
                      "end_at"
                    ]
                  },
                  "filters": {
                    "type": "object",
                    "properties": {
                      "collection_id": {
                        "type": "string",
                        "description": "The ID of the `workspace` you want to filter the data for."
                      },
                      "source_id": {
                        "type": "string",
                        "description": "The ID of the `workspace` you want to filter the data for. Deprecated.",
                        "deprecated": true
                      }
                    },
                    "x-apidog-orders": [
                      "collection_id",
                      "source_id"
                    ]
                  },
                  "top_assets_count": {
                    "type": "string",
                    "description": "Count of video assets that should be returned. Max assets count is 1000 per page.",
                    "default": "5"
                  },
                  "top_assets_page": {
                    "type": "string",
                    "default": "0",
                    "description": "top_assets metric may get paginated response. Iterate this parameter to get more data."
                  },
                  "group_by": {
                    "type": "string",
                    "description": "Group by hourly, daily or monthly. If you don't specify anything it's `hourly` by default.",
                    "enum": [
                      "hourly",
                      "daily",
                      "monthly"
                    ],
                    "x-apidog-enum": [
                      {
                        "value": "hourly",
                        "name": "",
                        "description": ""
                      },
                      {
                        "value": "daily",
                        "name": "",
                        "description": ""
                      },
                      {
                        "value": "monthly",
                        "name": "",
                        "description": ""
                      }
                    ],
                    "default": "hourly"
                  }
                },
                "x-apidog-orders": [
                  "metrics",
                  "date_range",
                  "group_by",
                  "filters",
                  "top_assets_count",
                  "top_assets_page"
                ]
              },
              "examples": {
                "Example 1": {
                  "value": {
                    "metrics": [
                      "bandwidth_consumption",
                      "asset_duration",
                      "storage_unit",
                      "top_assets",
                      "drm_requests"
                    ],
                    "date_range": {
                      "start_at": "2026-08-01",
                      "end_at": "2026-08-20"
                    },
                    "group_by": "daily"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "200",
            "content": {
              "application/json": {
                "examples": {},
                "schema": {
                  "type": "object",
                  "properties": {
                    "drm_requests": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "units": {
                            "type": "integer",
                            "description": "Number of DRM requests.",
                            "format": "int64"
                          },
                          "timestamp": {
                            "type": "integer",
                            "description": "Seconds since epoch for the unit given.",
                            "format": "int64"
                          }
                        },
                        "x-apidog-orders": [
                          "units",
                          "timestamp"
                        ],
                        "required": [
                          "units",
                          "timestamp"
                        ]
                      }
                    },
                    "bandwidth_saving_unit": {
                      "type": "string",
                      "enum": [
                        ""
                      ],
                      "x-apidog-enum": [
                        {
                          "value": "",
                          "name": "",
                          "description": ""
                        }
                      ],
                      "description": "The unit for bandwidth saving data."
                    },
                    "storage_data_unit": {
                      "type": "string",
                      "enum": [
                        "gb",
                        "min"
                      ],
                      "x-apidog-enum": [
                        {
                          "value": "gb",
                          "name": "Gigabytes",
                          "description": ""
                        },
                        {
                          "value": "min",
                          "name": "Minutes",
                          "description": ""
                        }
                      ],
                      "description": "The unit for the storage data."
                    },
                    "bandwidth_consumption": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "units": {
                            "type": "integer",
                            "format": "int64",
                            "description": "The bandwidth consumption data in bytes."
                          },
                          "timestamp": {
                            "type": "integer",
                            "format": "int64",
                            "description": "Seconds since epoch for the unit given."
                          }
                        },
                        "x-apidog-orders": [
                          "units",
                          "timestamp"
                        ],
                        "required": [
                          "units",
                          "timestamp"
                        ]
                      }
                    },
                    "storage_unit": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "units": {
                            "type": "integer",
                            "format": "int64",
                            "description": "The storage data in bytes or seconds."
                          },
                          "timestamp": {
                            "type": "integer",
                            "format": "int64",
                            "description": "Seconds since epoch for the unit given."
                          }
                        },
                        "x-apidog-orders": [
                          "units",
                          "timestamp"
                        ],
                        "required": [
                          "units",
                          "timestamp"
                        ]
                      }
                    },
                    "asset_duration": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "units": {
                            "type": "integer",
                            "format": "int64",
                            "description": "Total transcoding duration in seconds."
                          },
                          "timestamp": {
                            "type": "integer",
                            "format": "int64",
                            "description": "Seconds since epoch for the unit given."
                          }
                        },
                        "x-apidog-orders": [
                          "units",
                          "timestamp"
                        ],
                        "required": [
                          "units",
                          "timestamp"
                        ]
                      }
                    },
                    "top_assets": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "asset_id": {
                            "type": "string",
                            "description": "Asset ID"
                          },
                          "units": {
                            "type": "string",
                            "description": "Bandwidth consumption by this asset in bytes."
                          },
                          "workspace_id": {
                            "type": "string",
                            "description": "Workspace ID"
                          },
                          "duration": {
                            "type": "string",
                            "description": "Seconds of streaming minutes consumed by this asset."
                          },
                          "title": {
                            "type": "string",
                            "description": "Asset Title"
                          },
                          "collection_name": {
                            "type": "string",
                            "description": "Workspace Name"
                          }
                        },
                        "x-apidog-orders": [
                          "workspace_id",
                          "asset_id",
                          "units",
                          "duration",
                          "title",
                          "collection_name"
                        ],
                        "required": [
                          "workspace_id",
                          "asset_id",
                          "units",
                          "duration",
                          "title",
                          "collection_name"
                        ]
                      }
                    },
                    "has_more_top_asset": {
                      "type": "boolean",
                      "description": "Indicates whether the list of top assets is exhaustive or if it has more assets."
                    },
                    "ai_credit_usage": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "timestamp": {
                            "type": "integer",
                            "description": "Seconds since epoch for the unit given."
                          }
                        },
                        "x-apidog-orders": [
                          "timestamp"
                        ],
                        "required": [
                          "timestamp"
                        ]
                      }
                    },
                    "errored_videos": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "timestamp": {
                            "type": "integer",
                            "description": "Seconds since epoch for the unit given."
                          },
                          "units": {
                            "type": "integer",
                            "description": "Number of errored videos in the timeframe"
                          }
                        },
                        "x-apidog-orders": [
                          "timestamp",
                          "units"
                        ],
                        "required": [
                          "timestamp",
                          "units"
                        ]
                      }
                    }
                  },
                  "x-apidog-orders": [
                    "drm_requests",
                    "bandwidth_saving_unit",
                    "storage_data_unit",
                    "bandwidth_consumption",
                    "storage_unit",
                    "asset_duration",
                    "errored_videos",
                    "top_assets",
                    "ai_credit_usage",
                    "has_more_top_asset"
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "examples": {
                  "Result": {
                    "value": {
                      "error": {
                        "code": "invalid_parameter_value",
                        "message": "The parameter value is invalid."
                      }
                    }
                  }
                },
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "code": {
                          "type": "string",
                          "example": "invalid_parameter_value"
                        },
                        "message": {
                          "type": "string",
                          "example": "The parameter value is invalid."
                        }
                      },
                      "required": [
                        "code",
                        "message"
                      ]
                    }
                  },
                  "required": [
                    "error"
                  ]
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          }
        },
        "deprecated": false,
        "tags": [
          "Video Usage Analytics"
        ],
        "x-codeSamples": [
          {
            "label": "TypeScript",
            "lang": "TypeScript",
            "source": "import Gumlet from '@gumlet/nodejs-sdk';\n\nconst client = new Gumlet({\n  apiKey: process.env['API_KEY'], // defaults to the API_KEY env var\n});\n\nconst videoUsageAnalytic = await client.videoUsageAnalytics.retrieve({\n  metrics: ['bandwidth_consumption', 'asset_duration', 'storage_unit', 'top_assets', 'drm_requests'],\n  date_range: { start_at: '2026-08-01', end_at: '2026-08-20' },\n  group_by: 'daily',\n});\n\nconsole.log(videoUsageAnalytic);"
          },
          {
            "label": "Python",
            "lang": "Python",
            "source": "import os\n\nfrom gumlet import Gumlet\n\nclient = Gumlet(\n    api_key=os.environ.get(\"API_KEY\"),\n)\n\nvideo_usage_analytic = client.video_usage_analytics.retrieve(\n    metrics=[\"bandwidth_consumption\", \"asset_duration\", \"storage_unit\", \"top_assets\", \"drm_requests\"],\n    date_range={\"start_at\": \"2026-08-01\", \"end_at\": \"2026-08-20\"},\n    top_assets_count=\"5\",\n    top_assets_page=\"0\",\n    group_by=\"hourly\",\n)\n\nprint(video_usage_analytic)"
          }
        ]
      }
    },
    "/video/streaming-duration": {
      "get": {
        "summary": "Top Streamed Assets",
        "description": "This endpoint lists top streamed assets in a video collection",
        "operationId": "top-assets",
        "parameters": [
          {
            "name": "start_at",
            "in": "query",
            "description": "Date string in \"yyyy-mm-dd\" format",
            "required": true,
            "schema": {
              "type": "string",
              "examples": [
                "2026-06-21"
              ]
            }
          },
          {
            "name": "end_at",
            "in": "query",
            "description": "Date string in \"yyyy-mm-dd\" format",
            "required": true,
            "schema": {
              "type": "string",
              "examples": [
                "2026-06-30"
              ]
            }
          },
          {
            "name": "collection_id",
            "description": "Gumlet workspace ID",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "page",
            "description": "Page number of the response.",
            "in": "query",
            "schema": {
              "type": "string",
              "default": "1"
            }
          },
          {
            "name": "page_size",
            "description": "Assets to list per page.",
            "in": "query",
            "schema": {
              "type": "string",
              "default": "1000"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "200",
            "content": {
              "application/json": {
                "examples": {
                  "Result": {
                    "value": {
                      "data": [
                        {
                          "asset_id": "638888010f1a158347ce9842",
                          "units": 0
                        },
                        {
                          "asset_id": "6369df88cb5ca27c554bb1f2",
                          "units": 0
                        },
                        {
                          "asset_id": "63761f1fbe6f4dea7af3e050",
                          "units": 0
                        },
                        {
                          "asset_id": "63761eb6b6648252fc979673",
                          "units": 0
                        },
                        {
                          "asset_id": "6385035a3f8d6fa3925c5ae9",
                          "units": 0
                        },
                        {
                          "asset_id": "63761e09be6f4dea7af3ddaf",
                          "units": 0
                        },
                        {
                          "asset_id": "6322109d046f16b5e0ee63d9",
                          "units": 0
                        },
                        {
                          "asset_id": "6405cc5b4d82222f8a2053f2",
                          "units": 0
                        }
                      ],
                      "has_next_page": false
                    }
                  }
                },
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "asset_id": {
                            "type": "string",
                            "example": "638888010f1a158347ce9842"
                          },
                          "units": {
                            "type": "integer",
                            "example": 0,
                            "default": 0
                          }
                        }
                      }
                    },
                    "has_next_page": {
                      "type": "boolean",
                      "example": false,
                      "default": true
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "examples": {
                  "Result": {
                    "value": {
                      "error": {
                        "code": "invalid_parameter_value",
                        "message": "The parameter value is invalid."
                      }
                    }
                  }
                },
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "code": {
                          "type": "string",
                          "example": "invalid_parameter_value"
                        },
                        "message": {
                          "type": "string",
                          "example": "The parameter value is invalid."
                        }
                      },
                      "required": [
                        "code",
                        "message"
                      ]
                    }
                  },
                  "required": [
                    "error"
                  ]
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          }
        },
        "deprecated": false,
        "tags": [
          "Video Usage Analytics"
        ],
        "x-stoplight": {
          "id": "difsmxe8e5oaa"
        },
        "x-codeSamples": [
          {
            "label": "TypeScript",
            "lang": "TypeScript",
            "source": "import Gumlet from '@gumlet/nodejs-sdk';\n\nconst client = new Gumlet({\n  apiKey: process.env['API_KEY'], // defaults to the API_KEY env var\n});\n\nconst videoUsageAnalytic = await client.videoUsageAnalytics.topAssets({\n  start_at: '2026-06-21',\n  end_at: '2026-06-30',\n  page: '1',\n  page_size: '1000',\n});\n\nconsole.log(videoUsageAnalytic);"
          },
          {
            "label": "Python",
            "lang": "Python",
            "source": "import os\n\nfrom gumlet import Gumlet\n\nclient = Gumlet(\n    api_key=os.environ.get(\"API_KEY\"),\n)\n\nvideo_usage_analytic = client.video_usage_analytics.top_assets(\n    start_at=\"2026-06-21\",\n    end_at=\"2026-06-30\",\n    page=\"1\",\n    page_size=\"1000\",\n)\n\nprint(video_usage_analytic)"
          }
        ]
      }
    },
    "/video/assets/{asset_id}/multipartupload/{part_number}/sign": {
      "get": {
        "summary": "Get Part Upload URL",
        "description": "Use this endpoint to retrieve a pre-signed upload URL for the given part number.",
        "operationId": "retrieve-part-url",
        "parameters": [
          {
            "name": "asset_id",
            "in": "path",
            "description": "An asset id of the created asset for which you are uploading parts",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "part_number",
            "in": "path",
            "description": "Part number of multiple parts of the original video which you you are uploading",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "200",
            "content": {
              "application/json": {
                "examples": {
                  "Result": {
                    "value": {
                      "asset_id": "642db9d6cc21a55eb474a0b2",
                      "part_number": "1",
                      "part_upload_url": "https://gumlet-video-user-uploads.s3.us-west-2.amazonaws.com/gumlet-user-uploads-prod/600e2eccc1be42e7a5b29427/642db9d6cc21c21eb474a0c1/origin-642db9d6cc21a55eb474a0c1?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Content-Sha256=UNSIGNED-PAYLOAD&X-Amz-Credential=AKIA4WNLTXWDOHE3WKEQ%2F20230405%2Fus-west-2%2Fs3%2Faws4_request&X-Amz-Date=20230405T181136Z&X-Amz-Expires=3600&X-Amz-Signature=23d23ca56dceab55ba16349609af7d0921361ced905dde848b6206aa3de0205a&X-Amz-SignedHeaders=host&partNumber=1&uploadId=rkY.tbFdsN14Obcdh.VpVvGdtVxipAa2dyKszL2g7ETT38TXucloiyJLtz9Ff79OgvM3tdsFdenolTgdaIy_jo7GyArbApbueZZ9oLM3k7tuHkX9wXyOMDbGRQ3V0q4W&x-id=UploadPart"
                    }
                  }
                },
                "schema": {
                  "type": "object",
                  "properties": {
                    "asset_id": {
                      "type": "string",
                      "example": "642db9d6cc21a55eb474a0b2"
                    },
                    "part_number": {
                      "type": "string",
                      "example": "1"
                    },
                    "part_upload_url": {
                      "type": "string",
                      "example": "https://gumlet-video-user-uploads.s3.us-west-2.amazonaws.com/gumlet-user-uploads-prod/600e2eccc1be42e7a5b29427/642db9d6cc21c21eb474a0c1/origin-642db9d6cc21a55eb474a0c1?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Content-Sha256=UNSIGNED-PAYLOAD&X-Amz-Credential=AKIA4WNLTXWDOHE3WKEQ%2F20230405%2Fus-west-2%2Fs3%2Faws4_request&X-Amz-Date=20230405T181136Z&X-Amz-Expires=3600&X-Amz-Signature=23d23ca56dceab55ba16349609af7d0921361ced905dde848b6206aa3de0205a&X-Amz-SignedHeaders=host&partNumber=1&uploadId=rkY.tbFdsN14Obcdh.VpVvGdtVxipAa2dyKszL2g7ETT38TXucloiyJLtz9Ff79OgvM3tdsFdenolTgdaIy_jo7GyArbApbueZZ9oLM3k7tuHkX9wXyOMDbGRQ3V0q4W&x-id=UploadPart"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "examples": {
                  "Result": {
                    "value": {
                      "error": {
                        "code": "invalid_parameter_value",
                        "message": "The parameter value is invalid."
                      }
                    }
                  }
                },
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "code": {
                          "type": "string",
                          "example": "invalid_parameter_value"
                        },
                        "message": {
                          "type": "string",
                          "example": "The parameter value is invalid."
                        }
                      },
                      "required": [
                        "code",
                        "message"
                      ]
                    }
                  },
                  "required": [
                    "error"
                  ]
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          }
        },
        "deprecated": false,
        "tags": [
          "Multipart Upload"
        ],
        "x-stoplight": {
          "id": "3s79ppxzn4m4a"
        },
        "x-codeSamples": [
          {
            "label": "TypeScript",
            "lang": "TypeScript",
            "source": "import Gumlet from '@gumlet/nodejs-sdk';\n\nconst client = new Gumlet({\n  apiKey: process.env['API_KEY'], // defaults to the API_KEY env var\n});\n\nconst multipartUpload = await client.multipartUpload.retrievePartURL('partNumber', {\n  asset_id: 'assetId',\n});\n\nconsole.log(multipartUpload);"
          },
          {
            "label": "Python",
            "lang": "Python",
            "source": "import os\n\nfrom gumlet import Gumlet\n\nclient = Gumlet(\n    api_key=os.environ.get(\"API_KEY\"),\n)\n\nmultipart_upload = client.multipart_upload.retrieve_part_url(\n    asset_id=\"assetId\",\n    part_number=\"partNumber\",\n)\n\nprint(multipart_upload)"
          }
        ]
      }
    },
    "/video/assets/{asset_id}/multipartupload/complete": {
      "post": {
        "summary": "Complete Multipart Upload",
        "description": "Once you upload all parts to S3 bucket via pre-signed URL, use this endpoint to complete the multipart upload.",
        "operationId": "complete-multipart-upload",
        "parameters": [
          {
            "name": "asset_id",
            "in": "path",
            "description": "An asset id for which you are uploading original video via multipart",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "parts": {
                    "type": "array",
                    "description": "List of object containing part number with ETag received as a response header while uploading each part",
                    "items": {
                      "properties": {
                        "PartNumber": {
                          "type": "integer",
                          "format": "int32"
                        },
                        "ETag": {
                          "type": "string",
                          "description": "ETag received while uploading the part using PUT"
                        }
                      },
                      "type": "object"
                    }
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "200",
            "content": {
              "application/json": {
                "examples": {
                  "Result": {
                    "value": {}
                  }
                },
                "schema": {
                  "type": "object",
                  "properties": {}
                }
              }
            }
          },
          "400": {
            "description": "Bad Request — multipart upload incomplete or aborted",
            "content": {
              "application/json": {
                "examples": {
                  "Result": {
                    "value": {
                      "code": "multipart_upload_not_completed",
                      "message": "Multipart upload may have been aboarted or not completed."
                    }
                  }
                },
                "schema": {
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string",
                      "example": "multipart_upload_not_completed"
                    },
                    "message": {
                      "type": "string",
                      "example": "Multipart upload may have been aboarted or not completed."
                    }
                  },
                  "required": [
                    "code",
                    "message"
                  ]
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          }
        },
        "deprecated": false,
        "tags": [
          "Multipart Upload"
        ],
        "x-stoplight": {
          "id": "hn4uybtbtvz5m"
        },
        "x-codeSamples": [
          {
            "label": "TypeScript",
            "lang": "TypeScript",
            "source": "import Gumlet from '@gumlet/nodejs-sdk';\n\nconst client = new Gumlet({\n  apiKey: process.env['API_KEY'], // defaults to the API_KEY env var\n});\n\nconst multipartUpload = await client.multipartUpload.complete('assetId');\n\nconsole.log(multipartUpload);"
          },
          {
            "label": "Python",
            "lang": "Python",
            "source": "import os\n\nfrom gumlet import Gumlet\n\nclient = Gumlet(\n    api_key=os.environ.get(\"API_KEY\"),\n)\n\nmultipart_upload = client.multipart_upload.complete(\n    asset_id=\"assetId\",\n)\n\nprint(multipart_upload)"
          }
        ]
      }
    },
    "/video/profiles": {
      "post": {
        "summary": "Create Profile",
        "description": "Gumlet provides the functionality of creating multiple video assets using the same set of parameters. A Video profile is a set of parameters that can be referenced/used while creating a video as a single parameter.",
        "operationId": "create-profile",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "name",
                  "format"
                ],
                "properties": {
                  "name": {
                    "type": "string",
                    "description": "Profile name or identifier.",
                    "default": "Gumlet-Profile-1"
                  },
                  "format": {
                    "type": "string",
                    "description": "Transcode and deliver the asset in the requested format. The options can be one of `ABR` (HLS + DASH) and `MP4`.",
                    "default": "ABR",
                    "enum": [
                      "ABR",
                      "MP4"
                    ]
                  },
                  "width": {
                    "type": "string",
                    "description": "Resize video with the given width. Can be an absolute value in pixels or a percentage value with the `%` suffix. Specified values greater than the original asset width will be ignored. Only applicable when specified `format` is `MP4`."
                  },
                  "height": {
                    "type": "string",
                    "description": "Resize video with the given height. Can be an absolute value in pixels or a percentage value with the `%` suffix. Specified values greater than the original asset height will be ignored. Only applicable when specified `format` is `MP4`."
                  },
                  "resolution": {
                    "type": "string",
                    "description": "Required resolutions of the transformed asset in case of HLS or MPEG-DASH delivery format. Can be a comma-separated string out of the following values: `240p`, `360p`, `480p`, `540p`, `720p`, and `1080p `. Resized rendition will retain the input aspect ratio."
                  },
                  "crop": {
                    "type": "object",
                    "description": "This transformation can be used to crop the video by defining a rectangular area within the dimensions of the output video.",
                    "required": [
                      "width",
                      "height"
                    ],
                    "properties": {
                      "horizontal_margin": {
                        "type": "string",
                        "description": "This parameter defines the horizontal coordinate value of the upper-left corner of the cropping area. Values can be an absolute number of pixels or a percentage value relative to the video width. **Default: `0`**"
                      },
                      "vertical_margin": {
                        "type": "string",
                        "description": "This parameter defines the vertical coordinate value of the upper-left corner of the cropping area. Values can be an absolute number of pixels or a percentage value relative to the video height. **Default: `0`**"
                      },
                      "width": {
                        "type": "string",
                        "description": "Width of the cropping area in pixels."
                      },
                      "height": {
                        "type": "string",
                        "description": "Height of the cropping area in pixels."
                      }
                    }
                  },
                  "pad": {
                    "type": "object",
                    "description": "This transformation can be used to add padding to the video.",
                    "properties": {
                      "top": {
                        "type": "string",
                        "description": "Width of padding on the top side. Values can be an absolute number of pixels or a percentage value relative to the video height. **Default: `%5`**"
                      },
                      "left": {
                        "type": "string",
                        "description": "Width of padding on the left side. Values can be an absolute number of pixels or a percentage value relative to the video width. **Default: `0`**"
                      },
                      "bottom": {
                        "type": "string",
                        "description": "Width of padding on the bottom side. Values can be an absolute number of pixels or a percentage value relative to the video height. **Default: `%5`**"
                      },
                      "right": {
                        "type": "string",
                        "description": "Width of padding on the right side. Values can be an absolute number of pixels or a percentage value relative to the video width. **Default: `0`**"
                      },
                      "color": {
                        "type": "string",
                        "description": "Color of padding area. **Default: `black`**"
                      }
                    }
                  },
                  "trim": {
                    "type": "object",
                    "description": "Trim transformation can be used to trim videos based on time duration.",
                    "required": [
                      "start_offset",
                      "end_offset"
                    ],
                    "properties": {
                      "start_offset": {
                        "type": "number",
                        "description": "Start offset in number of seconds or in `HH:MM:SS` format.",
                        "format": "float"
                      },
                      "end_offset": {
                        "type": "number",
                        "description": "End offset in number of seconds or in `HH:MM:SS` format.",
                        "format": "float"
                      },
                      "duration": {
                        "type": "number",
                        "description": "Duration can be used in conjunction with `start_offset` parameter, can be specified in number of seconds.",
                        "format": "float"
                      }
                    }
                  },
                  "image_overlay": {
                    "type": "object",
                    "description": "Image overlay can be used to brand a video or add a visual label in the form of an image.",
                    "required": [
                      "url"
                    ],
                    "properties": {
                      "url": {
                        "type": "string",
                        "description": "This is the required parameter for image overlay; it can be a URL to an image that needs to be overlaid."
                      },
                      "horizontal_margin": {
                        "type": "string",
                        "description": "This parameter defines the horizontal coordinate value of the corner (determined by `horizontal_align`) of the overlay area. Values can be an absolute number of pixels or a percentage value relative to the video width. **Default: `0`**"
                      },
                      "vertical_margin": {
                        "type": "string",
                        "description": "This parameter defines the vertical coordinate value of the corner (determined by `vertical_align`) of the overlay area. Values can be an absolute number of pixels or a percentage value relative to the video height. **Default: `0`**"
                      },
                      "horizontal_align": {
                        "type": "string",
                        "description": "This parameter specifies the horizontal alignment of the overlaid image and can be either `left` or `right`. **Default: `right`**"
                      },
                      "vertical_align": {
                        "type": "string",
                        "description": "This parameter specifies the vertical alignment of the overlaid image and can be either `top` or `bottom`. **Default: `bottom`**"
                      },
                      "width": {
                        "type": "string",
                        "description": "Width of the overlaid image. **Default: `image width`**"
                      },
                      "height": {
                        "type": "string",
                        "description": "Height of the overlaid image. **Default: `image height`**"
                      }
                    }
                  },
                  "text_overlay": {
                    "type": "object",
                    "description": "Text overlay can be used to brand a video or add a label in the form of text.",
                    "required": [
                      "text"
                    ],
                    "properties": {
                      "text": {
                        "type": "string",
                        "description": "Text to be overlaid on video."
                      },
                      "horizontal_align": {
                        "type": "string",
                        "description": "This parameter specifies the horizontal alignment of the overlaid text and can be either `left` or `right`. **Default: `right`**"
                      },
                      "vertical_align": {
                        "type": "string",
                        "description": "This parameter specifies the vertical alignment of the overlaid text and can be either `top` or `bottom`. **Default: `bottom`**"
                      },
                      "horizontal_margin": {
                        "type": "string",
                        "description": "This parameter defines the horizontal coordinate value of the corner (determined by `horizontal_align`) of the overlay area. Values can be an absolute number of pixels relative to the video width. **Default: `0`**"
                      },
                      "vertical_margin": {
                        "type": "string",
                        "description": "This parameter defines the vertical coordinate value of the corner (determined by vertical_align) of the overlay area. Values can be an absolute number of pixels relative to the video height. **Default: `0`**"
                      },
                      "color": {
                        "type": "string",
                        "description": "Font color for text. **Default: `black`**"
                      },
                      "font": {
                        "type": "string",
                        "description": "Font family type for text. **Default: `sans`**"
                      },
                      "font_size": {
                        "type": "string",
                        "description": "Font size in pixels. **Default: `16`**"
                      },
                      "opacity": {
                        "type": "string",
                        "description": "Overlay text opacity can be specified with opacity parameter where value can be between `0` and `100` where `0` is considered completely transparent and `100` is considered completely opaque. **Default: `100`**"
                      },
                      "box": {
                        "type": "boolean",
                        "description": "This parameter allows drawing a rectangular box over the overlaid text. **Default: `false`**"
                      },
                      "box_color": {
                        "type": "string",
                        "description": "Box color can be specified with this parameter. **Default: `white`**"
                      },
                      "box_opacity": {
                        "type": "string",
                        "description": "Box opacity can be specified with this parameter. **Default: `100`**"
                      },
                      "box_border": {
                        "type": "string",
                        "description": "Padding between the box border and the text can be specified with this parameter in pixels. **Default: `0`**"
                      }
                    }
                  },
                  "animated_gif": {
                    "type": "object",
                    "description": "Create an animated GIF from a video.",
                    "properties": {
                      "start_offset": {
                        "type": "string",
                        "description": "The time (in seconds or `HH:MM:SS` format) of the video timeline where the animated gif should begin. **Default: `0`**"
                      },
                      "end_offset": {
                        "type": "string",
                        "description": "The time (in seconds or `HH:MM:SS` format) of the video timeline where the GIF ends. Defaults to `10` seconds after the start_offset. Maximum duration of GIF is limited to `10` seconds."
                      },
                      "width": {
                        "type": "string",
                        "description": "The width in pixels (or in percentage value of asset width) of the animated GIF. Max width is `640px`."
                      },
                      "height": {
                        "type": "string",
                        "description": "The height in pixels (or in percentage value of asset height) of the animated GIF. Max height is `640px`."
                      },
                      "fps": {
                        "type": "string",
                        "description": "The frame rate of the generated GIF. Defaults to `15` fps. Max `30` fps."
                      }
                    }
                  },
                  "generate_subtitles": {
                    "type": "object",
                    "description": "Gumlet allows you to generate subtitles from the audio stream (use <a href='https://en.wikipedia.org/wiki/List_of_ISO_639_language_codes'> ISO 639-1 </a> Language Codes). Remove this object if you do not want to generate AI subtitles.",
                    "properties": {
                      "transcribe": {
                        "type": "boolean",
                        "description": "This will generate the subtitles in the native audio.",
                        "default": true
                      },
                      "subtitle_languages": {
                        "type": "string",
                        "description": "Array of string of language codes for which subtitle needs to be generated. Maximum four language codes are allowed."
                      }
                    }
                  },
                  "mp4_access": {
                    "type": "boolean",
                    "description": "Creates `mp4` version for download purpose in case of `MPEG-DASH` or `HLS` delivery format. **Default: `false`**"
                  },
                  "per_title_encoding": {
                    "type": "boolean",
                    "description": "Gumlet analyzes each input video on a wide range of visual aspects. Based on the analysis, it chooses a unique set of transcoding options for processing the video. This ensures that the output video is of optimal size and best quality. **Default: `true`**"
                  },
                  "process_low_resolution_input": {
                    "type": "boolean",
                    "description": "Currently, the minimum supported frame size is `57600` (`240x240`) pixels for `HLS/DASH` and `21025` (`145x145`) pixels for `MP4` format. However, enabling this flag will allow Gumlet to simply put your video asset into the specified delivery format without transcoding and optimization. Enabling this flag will cause any kind of specified video transformation to be ignored if you input video asset frame size is lower than the minimum supported frame size for the specified format. **Default: `false`**"
                  },
                  "audio_only": {
                    "type": "boolean",
                    "description": "This flag allows Gumlet to transcode and deliver audio-only in the specified format. In this case,This flag allows Gumlet to transcode and deliver audio-only in the specified format. In this case, video transformation and thumbnails/animated GIFs would not be created. **Default: `false`**"
                  },
                  "enable_drm": {
                    "type": "boolean",
                    "description": "Enable DRM encryption for transcoded videos. Gumlet supports Widevine and FairPlay DRMs."
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "200",
            "content": {
              "application/json": {
                "examples": {
                  "Result": {
                    "value": {
                      "profile_id": "61921fb10822a81d955d1730",
                      "name": "Gumlet-Profile-1",
                      "transformations": {
                        "format": "hls",
                        "audio_codec": [
                          "aac"
                        ],
                        "video_codec": [
                          "libx264"
                        ],
                        "thumbnail": [
                          "auto"
                        ],
                        "thumbnail_format": "png",
                        "mp4_access": false,
                        "per_title_encoding": true
                      },
                      "created_at": 1636966321742
                    }
                  }
                },
                "schema": {
                  "type": "object",
                  "properties": {
                    "profile_id": {
                      "type": "string",
                      "example": "61921fb10822a81d955d1730"
                    },
                    "name": {
                      "type": "string",
                      "example": "Gumlet-Profile-1"
                    },
                    "transformations": {
                      "type": "object",
                      "properties": {
                        "format": {
                          "type": "string",
                          "example": "hls"
                        },
                        "audio_codec": {
                          "type": "array",
                          "items": {
                            "type": "string",
                            "example": "aac"
                          }
                        },
                        "video_codec": {
                          "type": "array",
                          "items": {
                            "type": "string",
                            "example": "libx264"
                          }
                        },
                        "thumbnail": {
                          "type": "array",
                          "items": {
                            "type": "string",
                            "example": "auto"
                          }
                        },
                        "thumbnail_format": {
                          "type": "string",
                          "example": "png"
                        },
                        "mp4_access": {
                          "type": "boolean",
                          "example": false,
                          "default": true
                        },
                        "per_title_encoding": {
                          "type": "boolean",
                          "example": true,
                          "default": true
                        }
                      }
                    },
                    "created_at": {
                      "type": "integer",
                      "example": 1636966321742,
                      "default": 0
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "examples": {
                  "Result": {
                    "value": {
                      "error": {
                        "code": "parameter_missing",
                        "message": "video output format (format) and profile name (name) are required to create profile."
                      }
                    }
                  }
                },
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "code": {
                          "type": "string",
                          "example": "parameter_missing"
                        },
                        "message": {
                          "type": "string",
                          "example": "video output format (format) and profile name (name) are required to create profile."
                        }
                      },
                      "required": [
                        "code",
                        "message"
                      ]
                    }
                  },
                  "required": [
                    "error"
                  ]
                }
              }
            }
          },
          "401": {
            "description": "401",
            "content": {
              "application/json": {
                "examples": {
                  "Result": {
                    "value": {
                      "error": {
                        "code": "profile_not_found",
                        "message": "Could not find any video profile with specified profile_id."
                      }
                    }
                  }
                },
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "code": {
                          "type": "string",
                          "example": "profile_not_found"
                        },
                        "message": {
                          "type": "string",
                          "example": "Could not find any video profile with specified profile_id."
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "422": {
            "$ref": "#/components/responses/ValidationError"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        },
        "deprecated": false,
        "tags": [
          "Video Profiles"
        ],
        "x-stoplight": {
          "id": "c17cjdbbio5um"
        },
        "x-codeSamples": [
          {
            "label": "TypeScript",
            "lang": "TypeScript",
            "source": "import Gumlet from '@gumlet/nodejs-sdk';\n\nconst client = new Gumlet({\n  apiKey: process.env['API_KEY'], // defaults to the API_KEY env var\n});\n\nconst videoProfile = await client.videoProfiles.create({\n  name: 'Gumlet-Profile-1',\n  format: 'ABR',\n});\n\nconsole.log(videoProfile);"
          },
          {
            "label": "Python",
            "lang": "Python",
            "source": "import os\n\nfrom gumlet import Gumlet\n\nclient = Gumlet(\n    api_key=os.environ.get(\"API_KEY\"),\n)\n\nvideo_profile = client.video_profiles.create(\n    name=\"Gumlet-Profile-1\",\n    format=\"ABR\",\n)\n\nprint(video_profile)"
          }
        ]
      },
      "get": {
        "summary": "List Profiles",
        "description": "This endpoint retrieves the details of all profiles that have previously been created.",
        "operationId": "list-profiles",
        "parameters": [
          {
            "name": "offset",
            "in": "query",
            "description": "Offset value for a paginated list of profiles. Can be zero for the first time and `current_offset` value received from the last request afterwards.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "size",
            "in": "query",
            "description": "Page size for the paginated list. **Default: `10`**",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "200",
            "content": {
              "application/json": {
                "examples": {
                  "Result": {
                    "value": {
                      "all_profiles": [
                        {
                          "profile_id": "61921fb10822a81d955d1730",
                          "name": "Gumlet-Profile-1",
                          "transformations": {
                            "format": "hls",
                            "audio_codec": [
                              "aac"
                            ],
                            "video_codec": [
                              "libx264"
                            ],
                            "thumbnail": [
                              "auto"
                            ],
                            "thumbnail_format": "png",
                            "mp4_access": false,
                            "per_title_encoding": true
                          },
                          "created_at": 1636966321742,
                          "updated_at": 1636966321742
                        },
                        {
                          "profile_id": "619206f80822a81d955cb2b1",
                          "name": "Gumlet Video Profile-1",
                          "transformations": {
                            "format": "hls",
                            "audio_codec": [
                              "aac"
                            ],
                            "video_codec": [
                              "libx264"
                            ],
                            "thumbnail": [
                              "auto"
                            ],
                            "thumbnail_format": "png",
                            "mp4_access": false,
                            "per_title_encoding": true
                          },
                          "created_at": 1636959992966,
                          "updated_at": 1636959992966
                        },
                        {
                          "profile_id": "61666fce68d8028cdd8e3417",
                          "name": "new-staging-1",
                          "transformations": {
                            "format": "hls",
                            "resolution": [
                              "240p",
                              "360p",
                              "480p",
                              "540p",
                              "720p",
                              "1080p"
                            ],
                            "video_codec": [
                              "libx264"
                            ],
                            "audio_codec": [
                              "aac"
                            ],
                            "thumbnail": [
                              "auto"
                            ],
                            "thumbnail_format": "png",
                            "mp4_access": false,
                            "per_title_encoding": true
                          },
                          "created_at": 1634103246666,
                          "updated_at": 1634103246666
                        },
                        {
                          "profile_id": "615db3e70ba15d66354583c2",
                          "name": "new-staging-p",
                          "transformations": {
                            "resolution": [
                              "240p",
                              "360p",
                              "480p",
                              "540p",
                              "720p"
                            ],
                            "format": "hls",
                            "audio_codec": [
                              "aac"
                            ],
                            "video_codec": [
                              "libx264"
                            ],
                            "thumbnail": [
                              "auto"
                            ],
                            "thumbnail_format": "png",
                            "mp4_access": false,
                            "per_title_encoding": true
                          },
                          "created_at": 1633530855475,
                          "updated_at": 1633530855475
                        },
                        {
                          "profile_id": "615d84e80ba15d66354534fe",
                          "name": "new-profile-test",
                          "transformations": {
                            "resolution": [
                              "240p",
                              "360p",
                              "480p",
                              "540p",
                              "720p",
                              "1080p"
                            ],
                            "format": "hls",
                            "audio_codec": [
                              "aac"
                            ],
                            "video_codec": [
                              "libx264"
                            ],
                            "thumbnail": [
                              "auto"
                            ],
                            "thumbnail_format": "png",
                            "mp4_access": true,
                            "per_title_encoding": true
                          },
                          "created_at": 1633518824278,
                          "updated_at": 1633518824278
                        },
                        {
                          "profile_id": "60a3f690687a6ca9aad205dc",
                          "name": "staging-profile",
                          "transformations": {
                            "format": "hls",
                            "resolution": {
                              "0": "240p",
                              "1": "360p",
                              "2": "480p",
                              "3": "540p"
                            },
                            "video_codec": [
                              "libx264"
                            ],
                            "audio_codec": [
                              "aac"
                            ],
                            "thumbnail": [
                              "auto"
                            ],
                            "thumbnail_format": "png",
                            "mp4_access": true,
                            "per_title_encoding": true,
                            "trim": {}
                          },
                          "created_at": 1621358224338,
                          "updated_at": 1633517722412
                        },
                        {
                          "profile_id": "609cf385fb00af2de13f8b3f",
                          "name": "non-pte-test-profile",
                          "transformations": {
                            "format": "hls",
                            "resolution": [
                              "240p",
                              "360p",
                              "480p",
                              "540p",
                              "720p",
                              "1080p"
                            ],
                            "video_codec": [
                              "libx264"
                            ],
                            "audio_codec": [
                              "aac"
                            ],
                            "thumbnail": [
                              "auto"
                            ],
                            "thumbnail_format": "png",
                            "mp4_access": false,
                            "per_title_encoding": false
                          },
                          "created_at": 1620898693836,
                          "updated_at": 1620898693836
                        },
                        {
                          "profile_id": "5feaf9a22e3cb37e8417174e",
                          "name": "Gumlet Video Profile-1",
                          "transformations": {
                            "format": "hls",
                            "video_codec": [
                              "libx264"
                            ],
                            "audio_codec": [
                              "aac"
                            ],
                            "text_overlay": {
                              "text": "Gumlet",
                              "vertical_align": "top",
                              "horizontal_align": "left",
                              "vertical_margin": "10%",
                              "horizontal_margin": "10%",
                              "font_color": "black",
                              "font": "sans",
                              "font_size": 45,
                              "box": true,
                              "box_color": "white",
                              "box_border": 10
                            },
                            "thumbnail": [
                              "auto"
                            ],
                            "thumbnail_format": "png",
                            "mp4_access": false,
                            "image_overlay": {
                              "url": "https://assets.gumlet.io/assets/logo.svg?format=png",
                              "vertical_align": "top",
                              "horizontal_align": "left",
                              "vertical_margin": "5%",
                              "horizontal_margin": "5%",
                              "width": "10%",
                              "height": "10%"
                            }
                          },
                          "created_at": 1609234850093,
                          "updated_at": 1609235119156
                        }
                      ],
                      "total_profile_count": 8,
                      "current_offset": 8
                    }
                  }
                },
                "schema": {
                  "type": "object",
                  "properties": {
                    "all_profiles": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "profile_id": {
                            "type": "string",
                            "example": "61921fb10822a81d955d1730"
                          },
                          "name": {
                            "type": "string",
                            "example": "Gumlet-Profile-1"
                          },
                          "transformations": {
                            "type": "object",
                            "properties": {
                              "format": {
                                "type": "string",
                                "example": "hls"
                              },
                              "audio_codec": {
                                "type": "array",
                                "items": {
                                  "type": "string",
                                  "example": "aac"
                                }
                              },
                              "video_codec": {
                                "type": "array",
                                "items": {
                                  "type": "string",
                                  "example": "libx264"
                                }
                              },
                              "thumbnail": {
                                "type": "array",
                                "items": {
                                  "type": "string",
                                  "example": "auto"
                                }
                              },
                              "thumbnail_format": {
                                "type": "string",
                                "example": "png"
                              },
                              "mp4_access": {
                                "type": "boolean",
                                "example": false,
                                "default": true
                              },
                              "per_title_encoding": {
                                "type": "boolean",
                                "example": true,
                                "default": true
                              }
                            }
                          },
                          "created_at": {
                            "type": "integer",
                            "example": 1636966321742,
                            "default": 0
                          },
                          "updated_at": {
                            "type": "integer",
                            "example": 1636966321742,
                            "default": 0
                          }
                        }
                      }
                    },
                    "total_profile_count": {
                      "type": "integer",
                      "example": 8,
                      "default": 0
                    },
                    "current_offset": {
                      "type": "integer",
                      "example": 8,
                      "default": 0
                    }
                  }
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          }
        },
        "deprecated": false,
        "tags": [
          "Video Profiles"
        ],
        "x-stoplight": {
          "id": "pagbl35gzdirz"
        },
        "x-codeSamples": [
          {
            "label": "TypeScript",
            "lang": "TypeScript",
            "source": "import Gumlet from '@gumlet/nodejs-sdk';\n\nconst client = new Gumlet({\n  apiKey: process.env['API_KEY'], // defaults to the API_KEY env var\n});\n\nconst videoProfile = await client.videoProfiles.list();\n\nconsole.log(videoProfile);"
          },
          {
            "label": "Python",
            "lang": "Python",
            "source": "import os\n\nfrom gumlet import Gumlet\n\nclient = Gumlet(\n    api_key=os.environ.get(\"API_KEY\"),\n)\n\nvideo_profile = client.video_profiles.list()\n\nprint(video_profile)"
          }
        ]
      }
    },
    "/video/profiles/{profile_id}": {
      "post": {
        "summary": "Update Profile",
        "description": "Update an existing profile. Settings provided in body parameters will only be updated in the existing profile.",
        "operationId": "update-profile",
        "parameters": [
          {
            "name": "profile_id",
            "in": "path",
            "description": "Profile id of the profile which need to be updated.",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "profile_id"
                ],
                "properties": {
                  "profile_id": {
                    "type": "string",
                    "description": "Profile id of the profile which needs to be deleted."
                  },
                  "name": {
                    "type": "string",
                    "description": "Profile name or identifier."
                  },
                  "format": {
                    "type": "string",
                    "description": "Transcode and deliver the asset in the requested format. The options can be one of `ABR` (HLS + DASH) and `MP4`.",
                    "default": "ABR",
                    "enum": [
                      "ABR",
                      "MP4"
                    ]
                  },
                  "width": {
                    "type": "string",
                    "description": "Resize video with the given width. Can be an absolute value in pixels or a percentage value with the `%` suffix. Specified values greater than the original asset width will be ignored. Only applicable when specified `format` is `MP4`."
                  },
                  "height": {
                    "type": "string",
                    "description": "Resize video with the given height. Can be an absolute value in pixels or a percentage value with the `%` suffix. Specified values greater than the original asset height will be ignored. Only applicable when specified `format` is `MP4`."
                  },
                  "resolution": {
                    "type": "string",
                    "description": "Resize video with the given height. Can be an absolute value in pixels or a percentage value with the `%` suffix. Specified values greater than the original asset height will be ignored. Only applicable when specified `format` is `MP4`."
                  },
                  "crop": {
                    "type": "object",
                    "description": "This transformation can be used to crop the video by defining a rectangular area within the dimensions of the output video.",
                    "required": [
                      "width",
                      "height"
                    ],
                    "properties": {
                      "horizontal_margin": {
                        "type": "string",
                        "description": "This parameter defines the horizontal coordinate value of the upper-left corner of the cropping area. Values can be an absolute number of pixels or a percentage value relative to the video width. **Default: `0`**"
                      },
                      "vertical_margin": {
                        "type": "string",
                        "description": "This parameter defines the vertical coordinate value of the upper-left corner of the cropping area. Values can be an absolute number of pixels or a percentage value relative to the video height. **Default: `0`**"
                      },
                      "width": {
                        "type": "string",
                        "description": "Width of the cropping area in pixels."
                      },
                      "height": {
                        "type": "string",
                        "description": "Height of the cropping area in pixels."
                      }
                    },
                    "x-apidog-orders": [
                      "horizontal_margin",
                      "vertical_margin",
                      "width",
                      "height"
                    ]
                  },
                  "pad": {
                    "type": "object",
                    "description": "This transformation can be used to add padding to the video.",
                    "properties": {
                      "top": {
                        "type": "string",
                        "description": "Width of padding on the top side. Values can be an absolute number of pixels or a percentage value relative to the video height. **Default: `%5`**"
                      },
                      "left": {
                        "type": "string",
                        "description": "Width of padding on the left side. Values can be an absolute number of pixels or a percentage value relative to the video width. **Default: `0`**"
                      },
                      "bottom": {
                        "type": "string",
                        "description": "Width of padding on the bottom side. Values can be an absolute number of pixels or a percentage value relative to the video height. **Default: `%5`**"
                      },
                      "right": {
                        "type": "string",
                        "description": "Width of padding on the right side. Values can be an absolute number of pixels or a percentage value relative to the video width. **Default: `0`**"
                      },
                      "color": {
                        "type": "string",
                        "description": "Color of padding area. **Default: `black`**"
                      }
                    },
                    "x-apidog-orders": [
                      "top",
                      "left",
                      "bottom",
                      "right",
                      "color"
                    ]
                  },
                  "trim": {
                    "type": "object",
                    "description": "Trim transformation can be used to trim videos based on time duration.",
                    "required": [
                      "start_offset",
                      "end_offset"
                    ],
                    "properties": {
                      "start_offset": {
                        "type": "number",
                        "description": "Start offset in number of seconds or in `HH:MM:SS` format.",
                        "format": "float"
                      },
                      "end_offset": {
                        "type": "number",
                        "description": "End offset in number of seconds or in `HH:MM:SS` format.",
                        "format": "float"
                      },
                      "duration": {
                        "type": "number",
                        "description": "Duration can be used in conjunction with `start_offset` parameter, can be specified in number of seconds.",
                        "format": "float"
                      }
                    },
                    "x-apidog-orders": [
                      "start_offset",
                      "end_offset",
                      "duration"
                    ]
                  },
                  "image_overlay": {
                    "type": "object",
                    "description": "Image overlay can be used to brand a video or add a visual label in the form of an image.",
                    "required": [
                      "url"
                    ],
                    "properties": {
                      "url": {
                        "type": "string",
                        "description": "This is the required parameter for image overlay; it can be a URL to an image that needs to be overlaid."
                      },
                      "horizontal_margin": {
                        "type": "string",
                        "description": "This parameter defines the horizontal coordinate value of the corner (determined by `horizontal_align`) of the overlay area. Values can be an absolute number of pixels or a percentage value relative to the video width. **Default: `0`**"
                      },
                      "vertical_margin": {
                        "type": "string",
                        "description": "This parameter defines the vertical coordinate value of the corner (determined by `vertical_align`) of the overlay area. Values can be an absolute number of pixels or a percentage value relative to the video height. **Default: `0`**"
                      },
                      "horizontal_align": {
                        "type": "string",
                        "description": "This parameter specifies the horizontal alignment of the overlaid image and can be either `left` or `right`. **Default: `right`**"
                      },
                      "vertical_align": {
                        "type": "string",
                        "description": "This parameter specifies the vertical alignment of the overlaid image and can be either `top` or `bottom`. **Default: `bottom`**"
                      },
                      "width": {
                        "type": "string",
                        "description": "Width of the overlaid image. **Default: `image width`**"
                      },
                      "height": {
                        "type": "string",
                        "description": "Height of the overlaid image. **Default: `image height`**"
                      }
                    },
                    "x-apidog-orders": [
                      "url",
                      "horizontal_margin",
                      "vertical_margin",
                      "horizontal_align",
                      "vertical_align",
                      "width",
                      "height"
                    ]
                  },
                  "text_overlay": {
                    "type": "object",
                    "description": "Text overlay can be used to brand a video or add a label in the form of text.",
                    "required": [
                      "text"
                    ],
                    "properties": {
                      "text": {
                        "type": "string",
                        "description": "Text to be overlaid on video."
                      },
                      "horizontal_align": {
                        "type": "string",
                        "description": "This parameter specifies the horizontal alignment of the overlaid text and can be either `left` or `right`. **Default: `right`**"
                      },
                      "vertical_align": {
                        "type": "string",
                        "description": "This parameter specifies the vertical alignment of the overlaid text and can be either `top` or `bottom`. **Default: `bottom`**"
                      },
                      "horizontal_margin": {
                        "type": "string",
                        "description": "This parameter defines the horizontal coordinate value of the corner (determined by `horizontal_align`) of the overlay area. Values can be an absolute number of pixels relative to the video width. **Default: `0`**"
                      },
                      "vertical_margin": {
                        "type": "string",
                        "description": "This parameter defines the vertical coordinate value of the corner (determined by vertical_align) of the overlay area. Values can be an absolute number of pixels relative to the video height. **Default: `0`**"
                      },
                      "color": {
                        "type": "string",
                        "description": "Font color for text. **Default: `black`**"
                      },
                      "font": {
                        "type": "string",
                        "description": "Font family type for text. **Default: `sans`**"
                      },
                      "font_size": {
                        "type": "string",
                        "description": "Font size in pixels. **Default: `16`**"
                      },
                      "opacity": {
                        "type": "string",
                        "description": "Overlay text opacity can be specified with opacity parameter where value can be between `0` and `100` where `0` is considered completely transparent and `100` is considered completely opaque. **Default: `100`**"
                      },
                      "box": {
                        "type": "boolean",
                        "description": "This parameter allows drawing a rectangular box over the overlaid text. **Default: `false`**"
                      },
                      "box_color": {
                        "type": "string",
                        "description": "Box color can be specified with this parameter. **Default: `white`**"
                      },
                      "box_opacity": {
                        "type": "string",
                        "description": "Box opacity can be specified with this parameter. **Default: `100`**"
                      },
                      "box_border": {
                        "type": "string",
                        "description": "Padding between the box border and the text can be specified with this parameter in pixels. **Default: `0`**"
                      }
                    },
                    "x-apidog-orders": [
                      "text",
                      "horizontal_align",
                      "vertical_align",
                      "horizontal_margin",
                      "vertical_margin",
                      "color",
                      "font",
                      "font_size",
                      "opacity",
                      "box",
                      "box_color",
                      "box_opacity",
                      "box_border"
                    ]
                  },
                  "animated_gif": {
                    "type": "object",
                    "description": "Create an animated GIF from a video.",
                    "properties": {
                      "start_offset": {
                        "type": "string",
                        "description": "The time (in seconds or `HH:MM:SS` format) of the video timeline where the animated gif should begin. **Default: `0`**"
                      },
                      "end_offset": {
                        "type": "string",
                        "description": "The time (in seconds or `HH:MM:SS` format) of the video timeline where the GIF ends. Defaults to `10` seconds after the start_offset. Maximum duration of GIF is limited to `10` seconds."
                      },
                      "width": {
                        "type": "string",
                        "description": "The width in pixels (or in percentage value of asset width) of the animated GIF. Max width is `640px`."
                      },
                      "height": {
                        "type": "string",
                        "description": "The height in pixels (or in percentage value of asset height) of the animated GIF. Max height is `640px`."
                      },
                      "fps": {
                        "type": "string",
                        "description": "The frame rate of the generated GIF. Defaults to `15` fps. Max `30` fps."
                      }
                    },
                    "x-apidog-orders": [
                      "start_offset",
                      "end_offset",
                      "width",
                      "height",
                      "fps"
                    ]
                  },
                  "generate_subtitles": {
                    "type": "object",
                    "description": "Gumlet allows you to generate subtitles from the audio stream (use <a href='https://en.wikipedia.org/wiki/List_of_ISO_639_language_codes'> ISO 639-1 </a> Language Codes). You can remove this object if you don't want to generate AI subtitles.",
                    "properties": {
                      "subtitle_languages": {
                        "type": "array",
                        "description": "Array of string of language codes for which subtitle needs to be generated. Maximum four language codes are allowed.",
                        "items": {
                          "type": "string"
                        }
                      },
                      "transcribe": {
                        "type": "boolean",
                        "default": true,
                        "description": "This is by default true to generate the subtitles in the native audio."
                      }
                    },
                    "x-apidog-orders": [
                      "subtitle_languages",
                      "transcribe"
                    ]
                  },
                  "mp4_access": {
                    "type": "boolean",
                    "description": "Creates `mp4` version for download purpose in case of `MPEG-DASH` or `HLS` delivery format. **Default: `false`**"
                  },
                  "per_title_encoding": {
                    "type": "boolean",
                    "description": "Gumlet analyzes each input video on a wide range of visual aspects. Based on the analysis, it chooses a unique set of transcoding options for processing the video. This ensures that the output video is of optimal size and best quality. **Default: `true`**"
                  },
                  "process_low_resolution_input": {
                    "type": "boolean",
                    "description": "Currently, the minimum supported frame size is `57600` (`240x240`) pixels for `HLS/DASH` and `21025` (`145x145`) pixels for `MP4` format. However, enabling this flag will allow Gumlet to simply put your video asset into the specified delivery format without transcoding and optimization. Enabling this flag will cause any kind of specified video transformation to be ignored if you input video asset frame size is lower than the minimum supported frame size for the specified format. **Default: `false`**"
                  },
                  "audio_only": {
                    "type": "boolean",
                    "description": "This flag allows Gumlet to transcode and deliver audio-only in the specified format. In this case,This flag allows Gumlet to transcode and deliver audio-only in the specified format. In this case, video transformation and thumbnails/animated GIFs would not be created. **Default: `false`**"
                  },
                  "enable_drm": {
                    "type": "boolean",
                    "description": "Enable DRM encryption for transcoded videos. Gumlet supports Widevine and FairPlay DRMs."
                  },
                  "vc": {
                    "type": "array",
                    "items": {
                      "type": "string",
                      "enum": [
                        "libx264",
                        "libsvtav1"
                      ]
                    },
                    "default": [
                      "libx264"
                    ],
                    "description": "Video Codecs"
                  },
                  "generate_chapters": {
                    "type": "boolean",
                    "description": "Whether Gumlet should generate chapters."
                  },
                  "generate_description": {
                    "type": "boolean",
                    "description": "Whether Gumlet should generate descriptions."
                  }
                },
                "x-apidog-orders": [
                  "profile_id",
                  "name",
                  "format",
                  "width",
                  "height",
                  "resolution",
                  "vc",
                  "crop",
                  "pad",
                  "trim",
                  "image_overlay",
                  "text_overlay",
                  "animated_gif",
                  "generate_subtitles",
                  "mp4_access",
                  "per_title_encoding",
                  "process_low_resolution_input",
                  "audio_only",
                  "enable_drm",
                  "generate_chapters",
                  "generate_description"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "200",
            "content": {
              "application/json": {
                "examples": {
                  "Result": {
                    "value": {
                      "profile_id": "61921fb10822a81d955d1730",
                      "name": "Gumlet-Profile-2",
                      "transformations": {
                        "resolution": "240p,360p",
                        "format": "hls",
                        "audio_codec": [
                          "aac"
                        ],
                        "video_codec": [
                          "libx264"
                        ],
                        "thumbnail": [
                          "auto"
                        ],
                        "thumbnail_format": "png",
                        "mp4_access": false,
                        "per_title_encoding": true
                      },
                      "created_at": 1636966321742,
                      "updated_at": 1636975593082
                    }
                  }
                },
                "schema": {
                  "type": "object",
                  "properties": {
                    "profile_id": {
                      "type": "string",
                      "example": "61921fb10822a81d955d1730"
                    },
                    "name": {
                      "type": "string",
                      "example": "Gumlet-Profile-2"
                    },
                    "transformations": {
                      "type": "object",
                      "properties": {
                        "resolution": {
                          "type": "string",
                          "example": "240p,360p"
                        },
                        "format": {
                          "type": "string",
                          "example": "hls"
                        },
                        "audio_codec": {
                          "type": "array",
                          "items": {
                            "type": "string",
                            "example": "aac"
                          }
                        },
                        "video_codec": {
                          "type": "array",
                          "items": {
                            "type": "string",
                            "example": "libx264"
                          }
                        },
                        "thumbnail": {
                          "type": "array",
                          "items": {
                            "type": "string",
                            "example": "auto"
                          }
                        },
                        "thumbnail_format": {
                          "type": "string",
                          "example": "png"
                        },
                        "mp4_access": {
                          "type": "boolean",
                          "example": false,
                          "default": true
                        },
                        "per_title_encoding": {
                          "type": "boolean",
                          "example": true,
                          "default": true
                        }
                      }
                    },
                    "created_at": {
                      "type": "integer",
                      "example": 1636966321742,
                      "default": 0
                    },
                    "updated_at": {
                      "type": "integer",
                      "example": 1636975593082,
                      "default": 0
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "examples": {
                  "Result": {
                    "value": {
                      "error": {
                        "code": "parameter_missing",
                        "message": "One or more required values are missing."
                      }
                    }
                  }
                },
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "code": {
                          "type": "string",
                          "example": "parameter_missing"
                        },
                        "message": {
                          "type": "string",
                          "example": "One or more required values are missing."
                        }
                      },
                      "required": [
                        "code",
                        "message"
                      ]
                    }
                  },
                  "required": [
                    "error"
                  ]
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "examples": {
                  "Result": {
                    "value": {
                      "error": {
                        "code": "profile_not_found",
                        "message": "Could not find any video profile with specified profile_id."
                      }
                    }
                  }
                },
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "code": {
                          "type": "string",
                          "example": "profile_not_found"
                        },
                        "message": {
                          "type": "string",
                          "example": "Could not find any video profile with specified profile_id."
                        }
                      },
                      "required": [
                        "code",
                        "message"
                      ]
                    }
                  },
                  "required": [
                    "error"
                  ]
                }
              }
            }
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        },
        "deprecated": false,
        "tags": [
          "Video Profiles"
        ],
        "x-stoplight": {
          "id": "4z7lrir87xi3k"
        },
        "x-codeSamples": [
          {
            "label": "TypeScript",
            "lang": "TypeScript",
            "source": "import Gumlet from '@gumlet/nodejs-sdk';\n\nconst client = new Gumlet({\n  apiKey: process.env['API_KEY'], // defaults to the API_KEY env var\n});\n\nconst videoProfile = await client.videoProfiles.update('profileId', {\n  profile_id: '',\n  format: 'ABR',\n  vc: ['libx264'],\n});\n\nconsole.log(videoProfile);"
          },
          {
            "label": "Python",
            "lang": "Python",
            "source": "import os\n\nfrom gumlet import Gumlet\n\nclient = Gumlet(\n    api_key=os.environ.get(\"API_KEY\"),\n)\n\nvideo_profile = client.video_profiles.update(\n    path_profile_id=\"profileId\",\n    body_profile_id=\"\",\n    format=\"ABR\",\n    vc=[\"libx264\"],\n)\n\nprint(video_profile)"
          }
        ]
      },
      "get": {
        "summary": "Get Profile",
        "description": "This endpoint retrieves the details of a video profile that has previously been created.",
        "operationId": "get-profile",
        "parameters": [
          {
            "name": "profile_id",
            "in": "path",
            "description": "Profile id of the profile which needs to be retrieved.",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "200",
            "content": {
              "application/json": {
                "examples": {
                  "Result": {
                    "value": {
                      "profile_id": "61921fb10822a81d955d1730",
                      "name": "Gumlet-Profile-2",
                      "transformations": {
                        "format": "hls",
                        "audio_codec": [
                          "aac"
                        ],
                        "video_codec": [
                          "libx264"
                        ],
                        "thumbnail": [
                          "auto"
                        ],
                        "thumbnail_format": "png",
                        "mp4_access": false,
                        "per_title_encoding": true,
                        "resolution": "240p,360p"
                      },
                      "created_at": 1636966321742,
                      "updated_at": 1636975593082
                    }
                  }
                },
                "schema": {
                  "type": "object",
                  "properties": {
                    "profile_id": {
                      "type": "string",
                      "examples": [
                        "61921fb10822a81d955d1730"
                      ]
                    },
                    "name": {
                      "type": "string",
                      "examples": [
                        "Gumlet-Profile-2"
                      ]
                    },
                    "transformations": {
                      "type": "object",
                      "properties": {
                        "format": {
                          "type": "string",
                          "examples": [
                            "hls"
                          ]
                        },
                        "audio_codec": {
                          "type": "array",
                          "items": {
                            "type": "string",
                            "examples": [
                              "aac"
                            ]
                          }
                        },
                        "video_codec": {
                          "type": "array",
                          "items": {
                            "type": "string",
                            "examples": [
                              "libx264"
                            ]
                          }
                        },
                        "thumbnail": {
                          "type": "array",
                          "items": {
                            "type": "string",
                            "examples": [
                              "auto"
                            ]
                          }
                        },
                        "thumbnail_format": {
                          "type": "string",
                          "examples": [
                            "png"
                          ]
                        },
                        "mp4_access": {
                          "type": "boolean",
                          "default": true,
                          "examples": [
                            false
                          ]
                        },
                        "per_title_encoding": {
                          "type": "boolean",
                          "default": true,
                          "examples": [
                            true
                          ]
                        },
                        "resolution": {
                          "type": "string",
                          "examples": [
                            "240p,360p"
                          ]
                        },
                        "generate_chapters": {
                          "type": "boolean",
                          "description": "Flag that shows if AI generated chapters are enabled"
                        }
                      },
                      "x-apidog-orders": [
                        "format",
                        "audio_codec",
                        "video_codec",
                        "thumbnail",
                        "thumbnail_format",
                        "mp4_access",
                        "per_title_encoding",
                        "resolution",
                        "generate_chapters"
                      ]
                    },
                    "created_at": {
                      "type": "integer",
                      "default": 0,
                      "examples": [
                        1636966321742
                      ]
                    },
                    "updated_at": {
                      "type": "integer",
                      "default": 0,
                      "examples": [
                        1636975593082
                      ]
                    }
                  },
                  "x-apidog-orders": [
                    "profile_id",
                    "name",
                    "transformations",
                    "created_at",
                    "updated_at"
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "examples": {
                  "Result": {
                    "value": {
                      "error": {
                        "code": "profile_not_found",
                        "message": "Could not find any video profile with specified profile_id."
                      }
                    }
                  }
                },
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "code": {
                          "type": "string",
                          "example": "profile_not_found"
                        },
                        "message": {
                          "type": "string",
                          "example": "Could not find any video profile with specified profile_id."
                        }
                      },
                      "required": [
                        "code",
                        "message"
                      ]
                    }
                  },
                  "required": [
                    "error"
                  ]
                }
              }
            }
          },
          "401": {
            "description": "401",
            "content": {
              "application/json": {
                "examples": {
                  "Result": {
                    "value": {
                      "error": {
                        "code": "profile_not_found",
                        "message": "Could not find any video profile with specified profile_id."
                      }
                    }
                  }
                },
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "code": {
                          "type": "string",
                          "example": "profile_not_found"
                        },
                        "message": {
                          "type": "string",
                          "example": "Could not find any video profile with specified profile_id."
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "examples": {
                  "Result": {
                    "value": {
                      "error": {
                        "code": "profile_not_found",
                        "message": "Could not find any video profile with specified profile_id."
                      }
                    }
                  }
                },
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "code": {
                          "type": "string",
                          "example": "profile_not_found"
                        },
                        "message": {
                          "type": "string",
                          "example": "Could not find any video profile with specified profile_id."
                        }
                      },
                      "required": [
                        "code",
                        "message"
                      ]
                    }
                  },
                  "required": [
                    "error"
                  ]
                }
              }
            }
          }
        },
        "deprecated": false,
        "tags": [
          "Video Profiles"
        ],
        "x-codeSamples": [
          {
            "label": "TypeScript",
            "lang": "TypeScript",
            "source": "import Gumlet from '@gumlet/nodejs-sdk';\n\nconst client = new Gumlet({\n  apiKey: process.env['API_KEY'], // defaults to the API_KEY env var\n});\n\nconst videoProfile = await client.videoProfiles.retrieve('profileId');\n\nconsole.log(videoProfile);"
          },
          {
            "label": "Python",
            "lang": "Python",
            "source": "import os\n\nfrom gumlet import Gumlet\n\nclient = Gumlet(\n    api_key=os.environ.get(\"API_KEY\"),\n)\n\nvideo_profile = client.video_profiles.retrieve(\n    profile_id=\"profileId\",\n)\n\nprint(video_profile)"
          }
        ]
      },
      "delete": {
        "summary": "Delete Profile",
        "description": "This endpoint removes a profile given its unique `profile_id`. The profile will be removed but video assets created using the profile will remain as it is.",
        "operationId": "delete-profile",
        "parameters": [
          {
            "name": "profile_id",
            "in": "path",
            "description": "Profile id of the profile which needs to be deleted.",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "responses": {
          "204": {
            "description": "204",
            "content": {
              "application/json": {
                "examples": {
                  "Result": {
                    "value": {}
                  }
                },
                "schema": {
                  "type": "object",
                  "properties": {}
                }
              }
            }
          },
          "400": {
            "description": "Bad Request — profile linked to workspace",
            "content": {
              "application/json": {
                "examples": {
                  "Result": {
                    "value": {
                      "error": {
                        "code": "profile_collection_link_found",
                        "message": "The profile is configured as default profile for one or multiple workspaces. Please remove it as default profile first."
                      }
                    }
                  }
                },
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "code": {
                          "type": "string",
                          "example": "profile_collection_link_found"
                        },
                        "message": {
                          "type": "string",
                          "example": "The profile is configured as default profile for one or multiple workspaces. Please remove it as default profile first."
                        }
                      },
                      "required": [
                        "code",
                        "message"
                      ]
                    }
                  },
                  "required": [
                    "error"
                  ]
                }
              }
            }
          },
          "401": {
            "description": "401",
            "content": {
              "application/json": {
                "examples": {
                  "Result": {
                    "value": {
                      "error": {
                        "code": "profile_not_found",
                        "message": "Could not find any video profile with specified profile_id."
                      }
                    }
                  }
                },
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "code": {
                          "type": "string",
                          "example": "profile_not_found"
                        },
                        "message": {
                          "type": "string",
                          "example": "Could not find any video profile with specified profile_id."
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "examples": {
                  "Result": {
                    "value": {
                      "error": {
                        "code": "profile_not_found",
                        "message": "Could not find any video profile with specified profile_id."
                      }
                    }
                  }
                },
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "code": {
                          "type": "string",
                          "example": "profile_not_found"
                        },
                        "message": {
                          "type": "string",
                          "example": "Could not find any video profile with specified profile_id."
                        }
                      },
                      "required": [
                        "code",
                        "message"
                      ]
                    }
                  },
                  "required": [
                    "error"
                  ]
                }
              }
            }
          }
        },
        "deprecated": false,
        "tags": [
          "Video Profiles"
        ],
        "x-stoplight": {
          "id": "0rf71da9mcxfb"
        },
        "x-codeSamples": [
          {
            "label": "TypeScript",
            "lang": "TypeScript",
            "source": "import Gumlet from '@gumlet/nodejs-sdk';\n\nconst client = new Gumlet({\n  apiKey: process.env['API_KEY'], // defaults to the API_KEY env var\n});\n\nconst videoProfile = await client.videoProfiles.delete('profileId');\n\nconsole.log(videoProfile);"
          },
          {
            "label": "Python",
            "lang": "Python",
            "source": "import os\n\nfrom gumlet import Gumlet\n\nclient = Gumlet(\n    api_key=os.environ.get(\"API_KEY\"),\n)\n\nvideo_profile = client.video_profiles.delete(\n    profile_id=\"profileId\",\n)\n\nprint(video_profile)"
          }
        ]
      }
    },
    "/video/playlist": {
      "post": {
        "summary": "Create Playlist",
        "description": "Create new playlist inside video wprkspace",
        "operationId": "create-playlist",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "collection_id",
                  "title"
                ],
                "properties": {
                  "collection_id": {
                    "type": "string"
                  },
                  "title": {
                    "type": "string"
                  },
                  "description": {
                    "type": "string"
                  }
                }
              },
              "examples": {
                "Request Example": {
                  "value": {
                    "title": "Playlist-Title",
                    "description": "This is description for playlist.",
                    "collection_id": "{{video-source-id}}"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "200",
            "content": {
              "application/json": {
                "examples": {
                  "Result": {
                    "value": {
                      "id": "659693cadc46251d898930f2",
                      "collection_id": "646df1c9173a4a2fcac180b4",
                      "title": "Playlist-Title",
                      "description": "This is description for playlist.",
                      "player_config": {
                        "preload": false,
                        "autoplay": false,
                        "disable_seek": false,
                        "disable_player_controls": false,
                        "powered_by_gumlet_overlay": false,
                        "allow_drm_protected_videos": false,
                        "loop": false,
                        "player_color": "#6658ea",
                        "include_seo": true,
                        "subtitle_enabled": false,
                        "pixel_tags": {},
                        "logo_width": 100,
                        "logo_height": 100,
                        "dynamic_watermark": false,
                        "watermark_font_size": 20,
                        "watermark_font_color": "#ff0000",
                        "watermark_bg_color": "transparent",
                        "watermark_interval": 1000
                      }
                    }
                  }
                },
                "schema": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string",
                      "examples": [
                        "659693cadc46251d898930f2"
                      ]
                    },
                    "collection_id": {
                      "type": "string",
                      "examples": [
                        "646df1c9173a4a2fcac180b4"
                      ]
                    },
                    "title": {
                      "type": "string",
                      "examples": [
                        "Playlist-Title"
                      ]
                    },
                    "description": {
                      "type": "string",
                      "examples": [
                        "This is description for playlist."
                      ]
                    },
                    "player_config": {
                      "type": "object",
                      "properties": {
                        "preload": {
                          "type": "boolean",
                          "default": true,
                          "examples": [
                            false
                          ]
                        },
                        "autoplay": {
                          "type": "boolean",
                          "default": true,
                          "examples": [
                            false
                          ]
                        },
                        "disable_seek": {
                          "type": "boolean",
                          "default": true,
                          "examples": [
                            false
                          ]
                        },
                        "disable_player_controls": {
                          "type": "boolean",
                          "default": true,
                          "examples": [
                            false
                          ]
                        },
                        "powered_by_gumlet_overlay": {
                          "type": "boolean",
                          "default": true,
                          "examples": [
                            false
                          ]
                        },
                        "allow_drm_protected_videos": {
                          "type": "boolean",
                          "default": true,
                          "examples": [
                            false
                          ]
                        },
                        "loop": {
                          "type": "boolean",
                          "default": true,
                          "examples": [
                            false
                          ]
                        },
                        "player_color": {
                          "type": "string",
                          "examples": [
                            "#6658ea"
                          ]
                        },
                        "include_seo": {
                          "type": "boolean",
                          "default": true,
                          "examples": [
                            true
                          ]
                        },
                        "subtitle_enabled": {
                          "type": "boolean",
                          "default": true,
                          "examples": [
                            false
                          ]
                        },
                        "pixel_tags": {
                          "type": "object",
                          "properties": {},
                          "x-apidog-orders": []
                        },
                        "logo_width": {
                          "type": "integer",
                          "default": 0,
                          "examples": [
                            100
                          ]
                        },
                        "logo_height": {
                          "type": "integer",
                          "default": 0,
                          "examples": [
                            100
                          ]
                        },
                        "dynamic_watermark": {
                          "type": "boolean",
                          "default": true,
                          "examples": [
                            false
                          ]
                        },
                        "watermark_font_size": {
                          "type": "integer",
                          "default": 0,
                          "examples": [
                            20
                          ]
                        },
                        "watermark_font_color": {
                          "type": "string",
                          "examples": [
                            "#ff0000"
                          ]
                        },
                        "watermark_bg_color": {
                          "type": "string",
                          "examples": [
                            "transparent"
                          ]
                        },
                        "watermark_interval": {
                          "type": "integer",
                          "default": 0,
                          "examples": [
                            1000
                          ]
                        }
                      },
                      "x-apidog-orders": [
                        "preload",
                        "autoplay",
                        "disable_seek",
                        "disable_player_controls",
                        "powered_by_gumlet_overlay",
                        "allow_drm_protected_videos",
                        "loop",
                        "player_color",
                        "include_seo",
                        "subtitle_enabled",
                        "pixel_tags",
                        "logo_width",
                        "logo_height",
                        "dynamic_watermark",
                        "watermark_font_size",
                        "watermark_font_color",
                        "watermark_bg_color",
                        "watermark_interval"
                      ]
                    }
                  },
                  "x-apidog-orders": [
                    "id",
                    "collection_id",
                    "title",
                    "description",
                    "player_config"
                  ],
                  "required": [
                    "id"
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "examples": {
                  "Result": {
                    "value": {
                      "error": {
                        "code": "title_duplication",
                        "message": "A playlist with this title already exist. All playlist titles under a workspace should be unique."
                      }
                    }
                  }
                },
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "code": {
                          "type": "string",
                          "example": "title_duplication"
                        },
                        "message": {
                          "type": "string",
                          "example": "A playlist with this title already exist. All playlist titles under a workspace should be unique."
                        }
                      },
                      "required": [
                        "code",
                        "message"
                      ]
                    }
                  },
                  "required": [
                    "error"
                  ]
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "422": {
            "$ref": "#/components/responses/ValidationError"
          }
        },
        "deprecated": false,
        "tags": [
          "Video Playlists"
        ],
        "x-codeSamples": [
          {
            "label": "TypeScript",
            "lang": "TypeScript",
            "source": "import Gumlet from '@gumlet/nodejs-sdk';\n\nconst client = new Gumlet({\n  apiKey: process.env['API_KEY'], // defaults to the API_KEY env var\n});\n\nconst videoPlaylist = await client.videoPlaylists.create({\n  title: 'Playlist-Title',\n  description: 'This is description for playlist.',\n  collection_id: '{{video-source-id}}',\n});\n\nconsole.log(videoPlaylist);"
          },
          {
            "label": "Python",
            "lang": "Python",
            "source": "import os\n\nfrom gumlet import Gumlet\n\nclient = Gumlet(\n    api_key=os.environ.get(\"API_KEY\"),\n)\n\nvideo_playlist = client.video_playlists.create(\n    collection_id=\"{{video-source-id}}\",\n    title=\"Playlist-Title\",\n    description=\"This is description for playlist.\",\n)\n\nprint(video_playlist)"
          }
        ]
      },
      "get": {
        "summary": "Get all playlists",
        "description": "Get all playlists for given workspace",
        "operationId": "get-all-playlists",
        "parameters": [
          {
            "name": "collection_id",
            "in": "query",
            "description": "Video Collection ID",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "200",
            "content": {
              "application/json": {
                "examples": {
                  "Result": {
                    "value": [
                      {
                        "id": "6566ebd57499c676fe302bfc",
                        "collection_id": "646df1c9173a4a2fcac180b4",
                        "title": "Playlist-1",
                        "description": "This is updated description",
                        "player_config": {}
                      },
                      {
                        "id": "65802cc5bda4c3f74c99eacf",
                        "collection_id": "646df1c9173a4a2fcac180b4",
                        "title": "Playlist-2",
                        "player_config": {}
                      },
                      {
                        "id": "65802cc6bda4c3f74c99eae5",
                        "collection_id": "646df1c9173a4a2fcac180b4",
                        "title": "Playlist-3",
                        "player_config": {}
                      }
                    ]
                  }
                },
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "id": {
                        "type": "string",
                        "examples": [
                          "6566ebd57499c676fe302bfc"
                        ]
                      },
                      "collection_id": {
                        "type": "string",
                        "examples": [
                          "646df1c9173a4a2fcac180b4"
                        ]
                      },
                      "title": {
                        "type": "string",
                        "examples": [
                          "Playlist-1"
                        ]
                      },
                      "description": {
                        "type": "string",
                        "examples": [
                          "This is updated description"
                        ]
                      },
                      "player_config": {
                        "type": "object",
                        "properties": {},
                        "x-apidog-orders": []
                      }
                    },
                    "x-apidog-orders": [
                      "id",
                      "collection_id",
                      "title",
                      "description",
                      "player_config"
                    ],
                    "required": [
                      "id"
                    ]
                  }
                }
              }
            }
          },
          "400": {
            "description": "400",
            "content": {
              "application/json": {
                "examples": {
                  "Result": {
                    "value": {
                      "error": {
                        "code": "collection_not_found",
                        "message": "Could not find any video collection with specified collection_id."
                      }
                    }
                  }
                },
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "code": {
                          "type": "string",
                          "example": "collection_not_found"
                        },
                        "message": {
                          "type": "string",
                          "example": "Could not find any video collection with specified collection_id."
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          }
        },
        "deprecated": false,
        "tags": [
          "Video Playlists"
        ],
        "x-codeSamples": [
          {
            "label": "TypeScript",
            "lang": "TypeScript",
            "source": "import Gumlet from '@gumlet/nodejs-sdk';\n\nconst client = new Gumlet({\n  apiKey: process.env['API_KEY'], // defaults to the API_KEY env var\n});\n\nconst videoPlaylist = await client.videoPlaylists.listAll();\n\nconsole.log(videoPlaylist);"
          },
          {
            "label": "Python",
            "lang": "Python",
            "source": "import os\n\nfrom gumlet import Gumlet\n\nclient = Gumlet(\n    api_key=os.environ.get(\"API_KEY\"),\n)\n\nvideo_playlist = client.video_playlists.list_all()\n\nprint(video_playlist)"
          }
        ]
      }
    },
    "/video/playlist/{playlist_id}/asset": {
      "post": {
        "summary": "Add asset to playlist",
        "description": "This operation adds a single asset or a list of assets to a playlist.",
        "operationId": "add-asset-playlist",
        "parameters": [
          {
            "name": "playlist_id",
            "description": "Playlist ID in which the asset needs to be added.",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "asset_list"
                ],
                "properties": {
                  "asset_list": {
                    "type": "array",
                    "items": {
                      "properties": {
                        "asset_id": {
                          "type": "string"
                        },
                        "position": {
                          "type": "integer",
                          "description": "Optional, if not provided asset will added at the back/last of playlist",
                          "format": "int32"
                        }
                      },
                      "type": "object"
                    }
                  }
                }
              },
              "examples": {
                "Request Example": {
                  "value": {
                    "asset_list": [
                      {
                        "asset_id": "6508790283e4d60611846790"
                      },
                      {
                        "position": 1,
                        "asset_id": "650878f883e4d6061184677d"
                      },
                      {
                        "asset_id": "650878de83e4d6061184676a"
                      },
                      {
                        "position": 2,
                        "asset_id": "650878d883e4d60611846757"
                      },
                      {
                        "position": 3,
                        "asset_id": "65578dd87eebc22dcdd549a2"
                      }
                    ]
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "200",
            "content": {
              "application/json": {
                "examples": {
                  "Result": {
                    "value": {
                      "success": true
                    }
                  }
                },
                "schema": {
                  "type": "object",
                  "properties": {
                    "success": {
                      "type": "boolean",
                      "example": true,
                      "default": true
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "examples": {
                  "Result": {
                    "value": {
                      "error": {
                        "code": "incorrect_playlist_id",
                        "message": "No playlist with provided id exists."
                      }
                    }
                  }
                },
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "code": {
                          "type": "string",
                          "example": "incorrect_playlist_id"
                        },
                        "message": {
                          "type": "string",
                          "example": "No playlist with provided id exists."
                        }
                      },
                      "required": [
                        "code",
                        "message"
                      ]
                    }
                  },
                  "required": [
                    "error"
                  ]
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          }
        },
        "deprecated": false,
        "tags": [
          "Video Playlists"
        ],
        "x-stoplight": {
          "id": "udtlsqhehl96y"
        },
        "x-codeSamples": [
          {
            "label": "TypeScript",
            "lang": "TypeScript",
            "source": "import Gumlet from '@gumlet/nodejs-sdk';\n\nconst client = new Gumlet({\n  apiKey: process.env['API_KEY'], // defaults to the API_KEY env var\n});\n\nconst videoPlaylist = await client.videoPlaylists.createAsset('playlistId', {\n  asset_list: [\n    { asset_id: '6508790283e4d60611846790' },\n    { position: 1, asset_id: '650878f883e4d6061184677d' },\n    { asset_id: '650878de83e4d6061184676a' },\n    { position: 2, asset_id: '650878d883e4d60611846757' },\n    { position: 3, asset_id: '65578dd87eebc22dcdd549a2' },\n  ],\n});\n\nconsole.log(videoPlaylist);"
          },
          {
            "label": "Python",
            "lang": "Python",
            "source": "import os\n\nfrom gumlet import Gumlet\n\nclient = Gumlet(\n    api_key=os.environ.get(\"API_KEY\"),\n)\n\nvideo_playlist = client.video_playlists.create_asset(\n    playlist_id=\"playlistId\",\n    asset_list=[\n        {\"asset_id\": \"6508790283e4d60611846790\"},\n        {\"position\": 1, \"asset_id\": \"650878f883e4d6061184677d\"},\n        {\"asset_id\": \"650878de83e4d6061184676a\"},\n        {\"position\": 2, \"asset_id\": \"650878d883e4d60611846757\"},\n        {\"position\": 3, \"asset_id\": \"65578dd87eebc22dcdd549a2\"},\n    ],\n)\n\nprint(video_playlist)"
          }
        ]
      },
      "delete": {
        "summary": "Remove asset from playlist",
        "description": "Removed an asset or list of assets from a given playlist.",
        "operationId": "remove-asset-playlist",
        "parameters": [
          {
            "name": "playlist_id",
            "description": "Playlist ID that is to be deleted.",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "delete_list"
                ],
                "properties": {
                  "delete_list": {
                    "type": "array",
                    "description": "Array of video asset ids.",
                    "items": {
                      "type": "string"
                    }
                  }
                }
              },
              "examples": {
                "Request Example": {
                  "value": {
                    "delete_list": [
                      "6508790783e4d606118467a3"
                    ]
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "200",
            "content": {
              "application/json": {
                "examples": {
                  "Result": {
                    "value": {
                      "success": true
                    }
                  }
                },
                "schema": {
                  "type": "object",
                  "properties": {
                    "success": {
                      "type": "boolean",
                      "example": true,
                      "default": true
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "examples": {
                  "Result": {
                    "value": {
                      "error": {
                        "code": "incorrect_playlist_id",
                        "message": "No playlist with provided id exists."
                      }
                    }
                  }
                },
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "code": {
                          "type": "string",
                          "example": "incorrect_playlist_id"
                        },
                        "message": {
                          "type": "string",
                          "example": "No playlist with provided id exists."
                        }
                      },
                      "required": [
                        "code",
                        "message"
                      ]
                    }
                  },
                  "required": [
                    "error"
                  ]
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          }
        },
        "deprecated": false,
        "tags": [
          "Video Playlists"
        ],
        "x-stoplight": {
          "id": "j7pd61w7qxzcy"
        },
        "x-codeSamples": [
          {
            "label": "TypeScript",
            "lang": "TypeScript",
            "source": "import Gumlet from '@gumlet/nodejs-sdk';\n\nconst client = new Gumlet({\n  apiKey: process.env['API_KEY'], // defaults to the API_KEY env var\n});\n\nconst videoPlaylist = await client.videoPlaylists.deleteAsset('playlistId', {\n  delete_list: ['6508790783e4d606118467a3'],\n});\n\nconsole.log(videoPlaylist);"
          },
          {
            "label": "Python",
            "lang": "Python",
            "source": "import os\n\nfrom gumlet import Gumlet\n\nclient = Gumlet(\n    api_key=os.environ.get(\"API_KEY\"),\n)\n\nvideo_playlist = client.video_playlists.delete_asset(\n    playlist_id=\"playlistId\",\n    delete_list=[\"6508790783e4d606118467a3\"],\n)\n\nprint(video_playlist)"
          }
        ]
      }
    },
    "/video/playlist/{playlist_id}": {
      "post": {
        "summary": "Update Playlist",
        "description": "This endpoint allows you to update playlist name, channel visibility, or playlist order on a channel page.",
        "operationId": "update-playlist",
        "parameters": [
          {
            "name": "playlist_id",
            "description": "ID for the playlist to update.",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "title": {
                    "type": "string"
                  },
                  "description": {
                    "type": "string"
                  },
                  "position": {
                    "type": "integer",
                    "description": "Playlists have order in which they will be shown on the channel page.",
                    "format": "int32"
                  },
                  "player_config": {
                    "type": "object",
                    "description": "Configure player settings for this playlist, it overrides the setting set on collection.",
                    "properties": {
                      "preload": {
                        "type": "boolean"
                      },
                      "autoplay": {
                        "type": "boolean"
                      },
                      "disable_seek": {
                        "type": "boolean"
                      },
                      "disable_player_controls": {
                        "type": "boolean"
                      },
                      "powered_by_gumlet_overlay": {
                        "type": "boolean"
                      },
                      "allow_drm_protected_videos": {
                        "type": "boolean"
                      },
                      "loop": {
                        "type": "boolean"
                      },
                      "player_color": {
                        "type": "string"
                      },
                      "include_seo": {
                        "type": "boolean"
                      },
                      "subtitle_enabled": {
                        "type": "boolean"
                      },
                      "pixel_tags": {
                        "type": "object",
                        "properties": {}
                      },
                      "logo_width": {
                        "type": "integer",
                        "format": "int32"
                      },
                      "logo_height": {
                        "type": "integer",
                        "format": "int32"
                      },
                      "dynamic_watermark": {
                        "type": "boolean"
                      },
                      "watermark_font_size": {
                        "type": "integer",
                        "format": "int32"
                      },
                      "watermark_font_color": {
                        "type": "string"
                      },
                      "watermark_bg_color": {
                        "type": "string"
                      },
                      "watermark_interval": {
                        "type": "integer",
                        "format": "int32"
                      }
                    }
                  },
                  "channel_visibility": {
                    "type": "boolean",
                    "description": "If true then playlist will be visible on channel page.",
                    "default": false
                  }
                }
              },
              "examples": {
                "Request Example": {
                  "value": {
                    "title": "Playlist-Title-Updated",
                    "position": 6,
                    "description": "This is updated description",
                    "player_config": {
                      "preload": true,
                      "autoplay": false,
                      "disable_seek": true,
                      "disable_player_controls": false,
                      "powered_by_gumlet_overlay": false,
                      "allow_drm_protected_videos": false,
                      "loop": false,
                      "player_color": "#6658ea",
                      "include_seo": true,
                      "subtitle_enabled": true,
                      "pixel_tags": {},
                      "logo_width": 51,
                      "logo_height": 100,
                      "dynamic_watermark": false,
                      "watermark_font_size": 1,
                      "watermark_font_color": "#ff0000",
                      "watermark_bg_color": "transparent",
                      "watermark_interval": 1000
                    }
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "200",
            "content": {
              "application/json": {
                "examples": {
                  "Result": {
                    "value": {
                      "id": "6566ebd57499c676fe302bfc",
                      "collection_id": "646df1c9173a4a2fcac180b4",
                      "title": "Playlist-Title-Updated",
                      "description": "This is updated description",
                      "player_config": {
                        "preload": true,
                        "autoplay": false,
                        "disable_seek": true,
                        "disable_player_controls": false,
                        "powered_by_gumlet_overlay": false,
                        "allow_drm_protected_videos": false,
                        "loop": false,
                        "player_color": "#6658ea",
                        "include_seo": true,
                        "subtitle_enabled": true,
                        "pixel_tags": {},
                        "logo_width": 51,
                        "logo_height": 100,
                        "dynamic_watermark": false,
                        "watermark_font_size": 1,
                        "watermark_font_color": "#ff0000",
                        "watermark_bg_color": "transparent",
                        "watermark_interval": 1000
                      }
                    }
                  }
                },
                "schema": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string",
                      "examples": [
                        "6566ebd57499c676fe302bfc"
                      ]
                    },
                    "collection_id": {
                      "type": "string",
                      "examples": [
                        "646df1c9173a4a2fcac180b4"
                      ]
                    },
                    "title": {
                      "type": "string",
                      "examples": [
                        "Playlist-Title-Updated"
                      ]
                    },
                    "description": {
                      "type": "string",
                      "examples": [
                        "This is updated description"
                      ]
                    },
                    "player_config": {
                      "type": "object",
                      "properties": {
                        "preload": {
                          "type": "boolean",
                          "default": true,
                          "examples": [
                            true
                          ]
                        },
                        "autoplay": {
                          "type": "boolean",
                          "default": true,
                          "examples": [
                            false
                          ]
                        },
                        "disable_seek": {
                          "type": "boolean",
                          "default": true,
                          "examples": [
                            true
                          ]
                        },
                        "disable_player_controls": {
                          "type": "boolean",
                          "default": true,
                          "examples": [
                            false
                          ]
                        },
                        "powered_by_gumlet_overlay": {
                          "type": "boolean",
                          "default": true,
                          "examples": [
                            false
                          ]
                        },
                        "allow_drm_protected_videos": {
                          "type": "boolean",
                          "default": true,
                          "examples": [
                            false
                          ]
                        },
                        "loop": {
                          "type": "boolean",
                          "default": true,
                          "examples": [
                            false
                          ]
                        },
                        "player_color": {
                          "type": "string",
                          "examples": [
                            "#6658ea"
                          ]
                        },
                        "include_seo": {
                          "type": "boolean",
                          "default": true,
                          "examples": [
                            true
                          ]
                        },
                        "subtitle_enabled": {
                          "type": "boolean",
                          "default": true,
                          "examples": [
                            true
                          ]
                        },
                        "pixel_tags": {
                          "type": "object",
                          "properties": {},
                          "x-apidog-orders": []
                        },
                        "logo_width": {
                          "type": "integer",
                          "default": 0,
                          "examples": [
                            51
                          ]
                        },
                        "logo_height": {
                          "type": "integer",
                          "default": 0,
                          "examples": [
                            100
                          ]
                        },
                        "dynamic_watermark": {
                          "type": "boolean",
                          "default": true,
                          "examples": [
                            false
                          ]
                        },
                        "watermark_font_size": {
                          "type": "integer",
                          "default": 0,
                          "examples": [
                            1
                          ]
                        },
                        "watermark_font_color": {
                          "type": "string",
                          "examples": [
                            "#ff0000"
                          ]
                        },
                        "watermark_bg_color": {
                          "type": "string",
                          "examples": [
                            "transparent"
                          ]
                        },
                        "watermark_interval": {
                          "type": "integer",
                          "default": 0,
                          "examples": [
                            1000
                          ]
                        }
                      },
                      "x-apidog-orders": [
                        "preload",
                        "autoplay",
                        "disable_seek",
                        "disable_player_controls",
                        "powered_by_gumlet_overlay",
                        "allow_drm_protected_videos",
                        "loop",
                        "player_color",
                        "include_seo",
                        "subtitle_enabled",
                        "pixel_tags",
                        "logo_width",
                        "logo_height",
                        "dynamic_watermark",
                        "watermark_font_size",
                        "watermark_font_color",
                        "watermark_bg_color",
                        "watermark_interval"
                      ]
                    }
                  },
                  "x-apidog-orders": [
                    "id",
                    "collection_id",
                    "title",
                    "description",
                    "player_config"
                  ],
                  "required": [
                    "id"
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "examples": {
                  "Result": {
                    "value": {
                      "error": {
                        "code": "incorrect_playlist_id",
                        "message": "No playlist with provided id exists."
                      }
                    }
                  }
                },
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "code": {
                          "type": "string",
                          "example": "incorrect_playlist_id"
                        },
                        "message": {
                          "type": "string",
                          "example": "No playlist with provided id exists."
                        }
                      },
                      "required": [
                        "code",
                        "message"
                      ]
                    }
                  },
                  "required": [
                    "error"
                  ]
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          }
        },
        "deprecated": false,
        "tags": [
          "Video Playlists"
        ],
        "x-stoplight": {
          "id": "p0mid6f7xir0p"
        },
        "x-codeSamples": [
          {
            "label": "TypeScript",
            "lang": "TypeScript",
            "source": "import Gumlet from '@gumlet/nodejs-sdk';\n\nconst client = new Gumlet({\n  apiKey: process.env['API_KEY'], // defaults to the API_KEY env var\n});\n\nconst videoPlaylist = await client.videoPlaylists.update('playlistId', {\n  title: 'Playlist-Title-Updated',\n  position: 6,\n  description: 'This is updated description',\n  player_config: {\n    preload: true,\n    autoplay: false,\n    disable_seek: true,\n    disable_player_controls: false,\n    powered_by_gumlet_overlay: false,\n    allow_drm_protected_videos: false,\n    loop: false,\n    player_color: '#6658ea',\n    include_seo: true,\n    subtitle_enabled: true,\n    pixel_tags: {},\n    logo_width: 51,\n    logo_height: 100,\n    dynamic_watermark: false,\n    watermark_font_size: 1,\n    watermark_font_color: '#ff0000',\n    watermark_bg_color: 'transparent',\n    watermark_interval: 1000,\n  },\n});\n\nconsole.log(videoPlaylist);"
          },
          {
            "label": "Python",
            "lang": "Python",
            "source": "import os\n\nfrom gumlet import Gumlet\n\nclient = Gumlet(\n    api_key=os.environ.get(\"API_KEY\"),\n)\n\nvideo_playlist = client.video_playlists.update(\n    playlist_id=\"playlistId\",\n    title=\"Playlist-Title-Updated\",\n    description=\"This is updated description\",\n    position=6,\n    player_config={\n        \"preload\": True,\n        \"autoplay\": False,\n        \"disable_seek\": True,\n        \"disable_player_controls\": False,\n        \"powered_by_gumlet_overlay\": False,\n        \"allow_drm_protected_videos\": False,\n        \"loop\": False,\n        \"player_color\": \"#6658ea\",\n        \"include_seo\": True,\n        \"subtitle_enabled\": True,\n        \"pixel_tags\": {},\n        \"logo_width\": 51,\n        \"logo_height\": 100,\n        \"dynamic_watermark\": False,\n        \"watermark_font_size\": 1,\n        \"watermark_font_color\": \"#ff0000\",\n        \"watermark_bg_color\": \"transparent\",\n        \"watermark_interval\": 1000,\n    },\n    channel_visibility=False,\n)\n\nprint(video_playlist)"
          }
        ]
      },
      "delete": {
        "description": "Deletes this playlist.",
        "responses": {
          "200": {
            "description": ""
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "examples": {
                  "Result": {
                    "value": {
                      "error": {
                        "code": "incorrect_playlist_id",
                        "message": "No playlist with provided id exists."
                      }
                    }
                  }
                },
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "code": {
                          "type": "string",
                          "example": "incorrect_playlist_id"
                        },
                        "message": {
                          "type": "string",
                          "example": "No playlist with provided id exists."
                        }
                      },
                      "required": [
                        "code",
                        "message"
                      ]
                    }
                  },
                  "required": [
                    "error"
                  ]
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          }
        },
        "parameters": [
          {
            "in": "path",
            "name": "playlist_id",
            "description": "Playlist ID that is to be deleted.",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "delete-playlist",
        "tags": [
          "Video Playlists"
        ],
        "x-stoplight": {
          "id": "gocfme0boqws3"
        },
        "x-codeSamples": [
          {
            "label": "TypeScript",
            "lang": "TypeScript",
            "source": "import Gumlet from '@gumlet/nodejs-sdk';\n\nconst client = new Gumlet({\n  apiKey: process.env['API_KEY'], // defaults to the API_KEY env var\n});\n\nawait client.videoPlaylists.delete('playlistId');"
          },
          {
            "label": "Python",
            "lang": "Python",
            "source": "import os\n\nfrom gumlet import Gumlet\n\nclient = Gumlet(\n    api_key=os.environ.get(\"API_KEY\"),\n)\n\nclient.video_playlists.delete(\n    playlist_id=\"playlistId\",\n)"
          }
        ]
      }
    },
    "/video/playlist/{playlist_id}/assets": {
      "get": {
        "summary": "Get playlist assets",
        "description": "Get a list of all assets inside playlist. You can choose in which order are assets returned.",
        "operationId": "get-playlist-assets",
        "parameters": [
          {
            "name": "playlist_id",
            "description": "ID of playlist in which you need to list assets.",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "sort_by",
            "in": "query",
            "description": "Optional, if sort_by is set to asset_title it will sorted by title name. Otherwise order in which user added the assets in playlist.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "sort_order",
            "in": "query",
            "description": "-1 or 1",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 1
            }
          },
          {
            "name": "page_number",
            "in": "query",
            "description": "Optional. Minimum: 1",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 1
            }
          },
          {
            "name": "page_size",
            "in": "query",
            "description": "Optional. Minimum: 10",
            "schema": {
              "type": "string",
              "default": "10"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "200",
            "content": {
              "application/json": {
                "examples": {
                  "Result": {
                    "value": {
                      "asset_list": [
                        {
                          "id": "6593d0e5e1b4f8a05db8df0d",
                          "title": "video asset title 1",
                          "description": "Asset description",
                          "status": "ready",
                          "created_at": "2024-01-02T09:01:25.079Z",
                          "duration": 885
                        },
                        {
                          "id": "6593d14583d3d4d3324f7f71",
                          "title": "video asset title 2",
                          "description": "Asset description",
                          "status": "ready",
                          "created_at": "2024-01-02T09:03:01.149Z",
                          "duration": 1742
                        },
                        {
                          "id": "6596f6f8b3487059a710ff77",
                          "title": "video asset title 3",
                          "description": "Asset description",
                          "status": "ready",
                          "created_at": "2024-01-04T18:20:40.582Z",
                          "duration": 8462
                        },
                        {
                          "id": "6596f6e7b3487059a710ff4f",
                          "title": "video asset title 4",
                          "description": "Asset description",
                          "status": "ready",
                          "created_at": "2024-01-04T18:20:23.342Z",
                          "duration": 645
                        },
                        {
                          "id": "65578dd87eebc22dcdd549a2",
                          "title": "video asset title 5",
                          "description": "Asset description",
                          "status": "ready",
                          "created_at": "2023-11-17T15:59:20.823Z",
                          "duration": 427
                        },
                        {
                          "id": "6593f310c69a8548236b2a86",
                          "title": "video asset title 6",
                          "description": "Asset description",
                          "status": "upload-pending",
                          "created_at": "2024-01-02T11:27:16.289Z",
                          "duration": 720
                        },
                        {
                          "id": "6593e776c69a8548236b2a59",
                          "title": "video asset title 7",
                          "description": "Asset description",
                          "status": "upload-pending",
                          "created_at": "2024-01-02T11:26:15.083Z",
                          "duration": 374
                        },
                        {
                          "id": "6508790283e4d60611846790",
                          "title": "video asset title 8",
                          "description": "Asset description",
                          "status": "ready",
                          "created_at": "2023-09-18T16:21:22.955Z",
                          "duration": 603
                        },
                        {
                          "id": "650878f883e4d6061184677d",
                          "title": "video asset title 9",
                          "description": "Asset description",
                          "status": "ready",
                          "created_at": "2023-09-18T16:21:12.870Z",
                          "duration": 929
                        },
                        {
                          "id": "650878de83e4d6061184676a",
                          "title": "video asset title 10",
                          "description": "Asset description",
                          "status": "ready",
                          "created_at": "2023-09-18T16:20:46.129Z",
                          "duration": 12
                        }
                      ],
                      "has_next_page": true,
                      "next_page": 2
                    }
                  }
                },
                "schema": {
                  "type": "object",
                  "properties": {
                    "asset_list": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "id": {
                            "type": "string",
                            "example": "6593d0e5e1b4f8a05db8df0d"
                          },
                          "title": {
                            "type": "string",
                            "example": "video asset title 1"
                          },
                          "description": {
                            "type": "string",
                            "example": "Asset description"
                          },
                          "status": {
                            "type": "string",
                            "example": "ready"
                          },
                          "created_at": {
                            "type": "string",
                            "example": "2024-01-02T09:01:25.079Z"
                          },
                          "duration": {
                            "type": "integer",
                            "example": 885,
                            "default": 0
                          }
                        }
                      }
                    },
                    "has_next_page": {
                      "type": "boolean",
                      "example": true,
                      "default": true
                    },
                    "next_page": {
                      "type": "integer",
                      "example": 2,
                      "default": 0
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "examples": {
                  "Result": {
                    "value": {
                      "error": {
                        "code": "incorrect_playlist_id",
                        "message": "No playlist with provided id exists."
                      }
                    }
                  }
                },
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "code": {
                          "type": "string",
                          "example": "incorrect_playlist_id"
                        },
                        "message": {
                          "type": "string",
                          "example": "No playlist with provided id exists."
                        }
                      },
                      "required": [
                        "code",
                        "message"
                      ]
                    }
                  },
                  "required": [
                    "error"
                  ]
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          }
        },
        "deprecated": false,
        "tags": [
          "Video Playlists"
        ],
        "x-stoplight": {
          "id": "955aq8lyn9wbf"
        },
        "x-codeSamples": [
          {
            "label": "TypeScript",
            "lang": "TypeScript",
            "source": "import Gumlet from '@gumlet/nodejs-sdk';\n\nconst client = new Gumlet({\n  apiKey: process.env['API_KEY'], // defaults to the API_KEY env var\n});\n\nconst videoPlaylist = await client.videoPlaylists.listAssets('playlistId', {\n  sort_order: 1,\n  page_number: 1,\n  page_size: '10',\n});\n\nconsole.log(videoPlaylist);"
          },
          {
            "label": "Python",
            "lang": "Python",
            "source": "import os\n\nfrom gumlet import Gumlet\n\nclient = Gumlet(\n    api_key=os.environ.get(\"API_KEY\"),\n)\n\nvideo_playlist = client.video_playlists.list_assets(\n    playlist_id=\"playlistId\",\n    sort_order=1,\n    page_number=1,\n    page_size=\"10\",\n)\n\nprint(video_playlist)"
          }
        ]
      }
    },
    "/video/playlists/{playlist_id}/reorder": {
      "post": {
        "summary": "Arrange Videos In Playlist",
        "description": "Reorder videos inside a playlist either by moving a single asset to a position or by sorting the playlist by title or created date.",
        "operationId": "reorder-asset-playlist",
        "parameters": [
          {
            "name": "playlist_id",
            "in": "path",
            "description": "Playlist id.",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "oneOf": [
                  {
                    "type": "object",
                    "required": [
                      "asset_id",
                      "page_number",
                      "page_size",
                      "asset_position"
                    ],
                    "properties": {
                      "asset_id": {
                        "type": "string",
                        "description": "Asset id to move."
                      },
                      "page_number": {
                        "type": "integer",
                        "minimum": 1,
                        "description": "Current playlist page number."
                      },
                      "page_size": {
                        "type": "integer",
                        "minimum": 1,
                        "maximum": 200,
                        "description": "Playlist page size used by the caller."
                      },
                      "asset_position": {
                        "type": "integer",
                        "minimum": 0,
                        "description": "Zero-based position inside the provided page."
                      }
                    }
                  },
                  {
                    "type": "object",
                    "required": [
                      "sort_by",
                      "sort_order"
                    ],
                    "properties": {
                      "sort_by": {
                        "type": "string",
                        "enum": [
                          "title",
                          "created_at"
                        ]
                      },
                      "sort_order": {
                        "type": "string",
                        "enum": [
                          "asc",
                          "desc"
                        ]
                      }
                    }
                  }
                ]
              },
              "examples": {
                "Move Example": {
                  "value": {
                    "asset_id": "6e82bf783e88be000ab45ed2",
                    "page_number": 1,
                    "page_size": 10,
                    "asset_position": 0
                  }
                },
                "Sort Example": {
                  "value": {
                    "sort_by": "title",
                    "sort_order": "asc"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "200",
            "content": {
              "application/json": {
                "examples": {
                  "Result": {
                    "value": {
                      "success": true,
                      "asset_list": [
                        "6e82bf783e88be000ab45ed2",
                        "6e82bf783e88be000ab45ed1"
                      ]
                    }
                  }
                },
                "schema": {
                  "type": "object",
                  "properties": {
                    "success": {
                      "type": "boolean",
                      "example": true,
                      "default": true
                    },
                    "asset_list": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "examples": {
                  "Result": {
                    "value": {
                      "error": {
                        "code": "invalid_parameter_value",
                        "message": "The parameter value is invalid."
                      }
                    }
                  }
                },
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "code": {
                          "type": "string",
                          "example": "invalid_parameter_value"
                        },
                        "message": {
                          "type": "string",
                          "example": "The parameter value is invalid."
                        }
                      },
                      "required": [
                        "code",
                        "message"
                      ]
                    }
                  },
                  "required": [
                    "error"
                  ]
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "examples": {
                  "Result": {
                    "value": {
                      "error": {
                        "code": "playlist_not_found",
                        "message": "No playlist with provided id exists."
                      }
                    }
                  }
                },
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "code": {
                          "type": "string",
                          "example": "playlist_not_found"
                        },
                        "message": {
                          "type": "string",
                          "example": "No playlist with provided id exists."
                        }
                      },
                      "required": [
                        "code",
                        "message"
                      ]
                    }
                  },
                  "required": [
                    "error"
                  ]
                }
              }
            }
          }
        },
        "deprecated": false,
        "tags": [
          "Video Playlists"
        ],
        "x-stoplight": {
          "id": "ya28vvdrhqo14"
        },
        "x-codeSamples": [
          {
            "label": "TypeScript",
            "lang": "TypeScript",
            "source": "import Gumlet from '@gumlet/nodejs-sdk';\n\nconst client = new Gumlet({\n  apiKey: process.env['API_KEY'], // defaults to the API_KEY env var\n});\n\nconst videoPlaylist = await client.videoPlaylists.reorderAsset('playlistId', {\n  asset_id: '6e82bf783e88be000ab45ed2',\n  page_number: 1,\n  page_size: 10,\n  asset_position: 0,\n});\n\nconsole.log(videoPlaylist);"
          },
          {
            "label": "Python",
            "lang": "Python",
            "source": "import os\n\nfrom gumlet import Gumlet\n\nclient = Gumlet(\n    api_key=os.environ.get(\"API_KEY\"),\n)\n\nvideo_playlist = client.video_playlists.reorder_asset(\n    playlist_id=\"playlistId\",\n    asset_id=\"6e82bf783e88be000ab45ed2\",\n    page_number=1,\n    page_size=10,\n    asset_position=0,\n)\n\nprint(video_playlist)"
          }
        ]
      }
    },
    "/org/webhooks": {
      "post": {
        "summary": "Create Webhook",
        "description": "Creates a new webhook listener.",
        "operationId": "create-webhook",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "url",
                  "secret_token",
                  "triggers",
                  "sources"
                ],
                "properties": {
                  "url": {
                    "type": "string",
                    "description": "URL from the application you want to send data to."
                  },
                  "secret_token": {
                    "type": "string",
                    "description": "Authentication token to ensure legitimacy of Gumlet Webhook request on your application."
                  },
                  "triggers": {
                    "type": "array",
                    "description": "Triggers for the invocation of webhookos, supported option is `status`.",
                    "items": {
                      "type": "string"
                    }
                  },
                  "sources": {
                    "type": "array",
                    "description": "List of video collection identifiers for which webhooks are needed to be invoked.",
                    "items": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "200",
            "content": {
              "application/json": {
                "examples": {
                  "Result": {
                    "value": {
                      "id": "65eed75eadeea8478f14ebd4",
                      "url": "https://webhook.site/16df065a-b398-48bc-b825-b0804979c5f1",
                      "triggers": [
                        "status"
                      ],
                      "created_at": "2024-03-11T10:05:18.316Z",
                      "updated_at": "2024-03-11T10:05:18.316Z",
                      "sources": [
                        "5f462c1561cf8a766464ffc4"
                      ],
                      "secret_token": "rnVNfIKgnH"
                    }
                  }
                },
                "schema": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string",
                      "example": "65eed75eadeea8478f14ebd4"
                    },
                    "url": {
                      "type": "string",
                      "example": "https://webhook.site/16df065a-b398-48bc-b825-b0804979c5f1"
                    },
                    "triggers": {
                      "type": "array",
                      "items": {
                        "type": "string",
                        "example": "status"
                      }
                    },
                    "created_at": {
                      "type": "string",
                      "example": "2024-03-11T10:05:18.316Z"
                    },
                    "updated_at": {
                      "type": "string",
                      "example": "2024-03-11T10:05:18.316Z"
                    },
                    "sources": {
                      "type": "array",
                      "items": {
                        "type": "string",
                        "example": "5f462c1561cf8a766464ffc4"
                      }
                    },
                    "secret_token": {
                      "type": "string",
                      "example": "rnVNfIKgnH"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "examples": {
                  "Result": {
                    "value": {
                      "error": {
                        "code": "invalid_parameter_value",
                        "message": "The parameter value you have provided is not valid."
                      }
                    }
                  }
                },
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "code": {
                          "type": "string",
                          "example": "invalid_parameter_value"
                        },
                        "message": {
                          "type": "string",
                          "example": "The parameter value you have provided is not valid."
                        }
                      },
                      "required": [
                        "code",
                        "message"
                      ]
                    }
                  },
                  "required": [
                    "error"
                  ]
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "422": {
            "$ref": "#/components/responses/ValidationError"
          }
        },
        "deprecated": false,
        "tags": [
          "Webhooks"
        ],
        "x-stoplight": {
          "id": "73fyyktivlvzj"
        },
        "x-codeSamples": [
          {
            "label": "TypeScript",
            "lang": "TypeScript",
            "source": "import Gumlet from '@gumlet/nodejs-sdk';\n\nconst client = new Gumlet({\n  apiKey: process.env['API_KEY'], // defaults to the API_KEY env var\n});\n\nconst webhook = await client.webhooksResource.create({\n  url: '',\n  secret_token: '',\n  triggers: [''],\n  sources: [''],\n});\n\nconsole.log(webhook);"
          },
          {
            "label": "Python",
            "lang": "Python",
            "source": "import os\n\nfrom gumlet import Gumlet\n\nclient = Gumlet(\n    api_key=os.environ.get(\"API_KEY\"),\n)\n\nwebhook = client.webhooks.create(\n    url=\"\",\n    secret_token=\"\",\n    triggers=[\"\"],\n    sources=[\"\"],\n)\n\nprint(webhook)"
          }
        ]
      },
      "get": {
        "summary": "List Webhooks",
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string",
                      "description": "Webhook ID"
                    },
                    "url": {
                      "type": "string",
                      "description": "Webhook URL"
                    },
                    "triggers": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      },
                      "description": "List of triggers configured for this webhook"
                    },
                    "created_at": {
                      "type": "string",
                      "description": "Creation timestamp in ISO 8601 format"
                    },
                    "updated_at": {
                      "type": "string",
                      "description": "Update timestamp in ISO 8601 format"
                    },
                    "sources": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      },
                      "description": "List of workspace IDs for which the webhook is enabled."
                    },
                    "secret_token": {
                      "type": "string",
                      "description": "The token which you must validate when you receive the webhook. It's given by you when you create the webhook."
                    }
                  },
                  "x-apidog-orders": [
                    "id",
                    "url",
                    "triggers",
                    "created_at",
                    "updated_at",
                    "sources",
                    "secret_token"
                  ],
                  "required": [
                    "id",
                    "url",
                    "triggers",
                    "created_at",
                    "updated_at",
                    "sources"
                  ]
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          }
        },
        "operationId": "list-webhooks",
        "tags": [
          "Webhooks"
        ],
        "description": "List all webhooks.",
        "x-codeSamples": [
          {
            "label": "TypeScript",
            "lang": "TypeScript",
            "source": "import Gumlet from '@gumlet/nodejs-sdk';\n\nconst client = new Gumlet({\n  apiKey: process.env['API_KEY'], // defaults to the API_KEY env var\n});\n\nconst webhook = await client.webhooksResource.list();\n\nconsole.log(webhook);"
          },
          {
            "label": "Python",
            "lang": "Python",
            "source": "import os\n\nfrom gumlet import Gumlet\n\nclient = Gumlet(\n    api_key=os.environ.get(\"API_KEY\"),\n)\n\nwebhook = client.webhooks.list()\n\nprint(webhook)"
          }
        ]
      }
    },
    "/org/webhooks/{webhook_id}": {
      "post": {
        "summary": "Update Webhook",
        "description": "Update a webhook listener.",
        "operationId": "update-webhook",
        "parameters": [
          {
            "name": "webhook_id",
            "in": "path",
            "description": "Unique identifier for the Gumlet Webhook which needs to be updated.",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "url": {
                    "type": "string",
                    "description": "URL from the application you want to send data to."
                  },
                  "secret_token": {
                    "type": "string",
                    "description": "Authentication token to ensure legitimacy of Gumlet Webhook request on your application."
                  },
                  "triggers": {
                    "type": "string",
                    "description": "Triggers for the invocation of webhookos, supported option is `status`."
                  },
                  "sources": {
                    "type": "string",
                    "description": "List of video collection identifiers for which webhooks are needed to be invoked."
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "200",
            "content": {
              "application/json": {
                "examples": {
                  "Result": {
                    "value": {
                      "id": "65eed75eadeea8478f14ebd4",
                      "url": "https://webhook.site/16df065a-b398-48bc-b825-b0804979c5f2",
                      "triggers": [
                        "status"
                      ],
                      "created_at": "2024-03-11T10:05:18.316Z",
                      "updated_at": "2024-03-11T10:10:37.461Z",
                      "sources": [
                        "5f462c1561cf8a766464ffc4"
                      ],
                      "secret_token": "rnVNfIKgnH"
                    }
                  }
                },
                "schema": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string",
                      "example": "65eed75eadeea8478f14ebd4"
                    },
                    "url": {
                      "type": "string",
                      "example": "https://webhook.site/16df065a-b398-48bc-b825-b0804979c5f2"
                    },
                    "triggers": {
                      "type": "array",
                      "items": {
                        "type": "string",
                        "example": "status"
                      }
                    },
                    "created_at": {
                      "type": "string",
                      "example": "2024-03-11T10:05:18.316Z"
                    },
                    "updated_at": {
                      "type": "string",
                      "example": "2024-03-11T10:10:37.461Z"
                    },
                    "sources": {
                      "type": "array",
                      "items": {
                        "type": "string",
                        "example": "5f462c1561cf8a766464ffc4"
                      }
                    },
                    "secret_token": {
                      "type": "string",
                      "example": "rnVNfIKgnH"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "examples": {
                  "Result": {
                    "value": {
                      "error": {
                        "code": "webhook_not_found",
                        "message": "Could not find any webhook with the specified webhook_id."
                      }
                    }
                  }
                },
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "code": {
                          "type": "string",
                          "example": "webhook_not_found"
                        },
                        "message": {
                          "type": "string",
                          "example": "Could not find any webhook with the specified webhook_id."
                        }
                      },
                      "required": [
                        "code",
                        "message"
                      ]
                    }
                  },
                  "required": [
                    "error"
                  ]
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          }
        },
        "deprecated": false,
        "tags": [
          "Webhooks"
        ],
        "x-stoplight": {
          "id": "cj3d5p1p3xcxm"
        },
        "x-codeSamples": [
          {
            "label": "TypeScript",
            "lang": "TypeScript",
            "source": "import Gumlet from '@gumlet/nodejs-sdk';\n\nconst client = new Gumlet({\n  apiKey: process.env['API_KEY'], // defaults to the API_KEY env var\n});\n\nconst webhook = await client.webhooksResource.update('webhookId');\n\nconsole.log(webhook);"
          },
          {
            "label": "Python",
            "lang": "Python",
            "source": "import os\n\nfrom gumlet import Gumlet\n\nclient = Gumlet(\n    api_key=os.environ.get(\"API_KEY\"),\n)\n\nwebhook = client.webhooks.update(\n    webhook_id=\"webhookId\",\n)\n\nprint(webhook)"
          }
        ]
      },
      "delete": {
        "summary": "Delete Webhook",
        "description": "Delete webhook listener endpoint.",
        "operationId": "delete-webhook",
        "parameters": [
          {
            "name": "webhook_id",
            "in": "path",
            "description": "Unique identifier for the Gumlet Webhook which needs to be deleted.",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "responses": {
          "204": {
            "description": "204",
            "content": {
              "application/json": {
                "examples": {
                  "Result": {
                    "value": {}
                  }
                },
                "schema": {
                  "type": "object",
                  "properties": {}
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "examples": {
                  "Result": {
                    "value": {
                      "error": {
                        "code": "webhook_id_not_valid",
                        "message": "The webhook is not valid."
                      }
                    }
                  }
                },
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "code": {
                          "type": "string",
                          "example": "webhook_id_not_valid"
                        },
                        "message": {
                          "type": "string",
                          "example": "The webhook is not valid."
                        }
                      },
                      "required": [
                        "code",
                        "message"
                      ]
                    }
                  },
                  "required": [
                    "error"
                  ]
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "examples": {
                  "Result": {
                    "value": {
                      "error": {
                        "code": "webhook_not_found",
                        "message": "Could not find any webhook with the specified webhook_id."
                      }
                    }
                  }
                },
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "code": {
                          "type": "string",
                          "example": "webhook_not_found"
                        },
                        "message": {
                          "type": "string",
                          "example": "Could not find any webhook with the specified webhook_id."
                        }
                      },
                      "required": [
                        "code",
                        "message"
                      ]
                    }
                  },
                  "required": [
                    "error"
                  ]
                }
              }
            }
          }
        },
        "deprecated": false,
        "tags": [
          "Webhooks"
        ],
        "x-stoplight": {
          "id": "62i31r1exgnzy"
        },
        "x-codeSamples": [
          {
            "label": "TypeScript",
            "lang": "TypeScript",
            "source": "import Gumlet from '@gumlet/nodejs-sdk';\n\nconst client = new Gumlet({\n  apiKey: process.env['API_KEY'], // defaults to the API_KEY env var\n});\n\nconst webhook = await client.webhooksResource.delete('webhookId');\n\nconsole.log(webhook);"
          },
          {
            "label": "Python",
            "lang": "Python",
            "source": "import os\n\nfrom gumlet import Gumlet\n\nclient = Gumlet(\n    api_key=os.environ.get(\"API_KEY\"),\n)\n\nwebhook = client.webhooks.delete(\n    webhook_id=\"webhookId\",\n)\n\nprint(webhook)"
          }
        ]
      }
    },
    "/image/sources": {
      "post": {
        "summary": "Create Source",
        "description": "This endpoint allows users to create image source.",
        "operationId": "create-image-source",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "namespace",
                  "type"
                ],
                "properties": {
                  "namespace": {
                    "type": "string",
                    "description": "unique subdomain associated with the image source"
                  },
                  "type": {
                    "type": "string",
                    "enum": [
                      "proxy",
                      "webfolder",
                      "aws",
                      "gcs",
                      "dostorage",
                      "wasabi",
                      "cloudinary",
                      "azure",
                      "linode",
                      "backblaze",
                      "cloudflare",
                      "zoom"
                    ]
                  },
                  "aws": {
                    "type": "object",
                    "description": "This is a required field if source type is aws.",
                    "required": [
                      "bucket_name",
                      "bucket_region",
                      "access_key",
                      "secret"
                    ],
                    "properties": {
                      "bucket_name": {
                        "type": "string"
                      },
                      "bucket_region": {
                        "type": "string"
                      },
                      "access_key": {
                        "type": "string"
                      },
                      "secret": {
                        "type": "string"
                      },
                      "base_path": {
                        "type": "string"
                      },
                      "endpoint": {
                        "type": "string"
                      }
                    }
                  },
                  "proxy": {
                    "type": "object",
                    "description": "This is a required field if source type is proxy.",
                    "required": [
                      "whitelisted_domains"
                    ],
                    "properties": {
                      "whitelisted_domains": {
                        "type": "string"
                      }
                    }
                  },
                  "gcs": {
                    "type": "object",
                    "description": "This is a required field if source type is gcs.",
                    "required": [
                      "bucket_name",
                      "service_account_key"
                    ],
                    "properties": {
                      "bucket_name": {
                        "type": "string"
                      },
                      "service_account_key": {
                        "type": "string"
                      }
                    }
                  },
                  "dostorage": {
                    "type": "object",
                    "description": "This is a required field if source type is dostorage.",
                    "required": [
                      "bucket_name",
                      "bucket_region",
                      "access_key",
                      "secret"
                    ],
                    "properties": {
                      "bucket_name": {
                        "type": "string"
                      },
                      "bucket_region": {
                        "type": "string"
                      },
                      "access_key": {
                        "type": "string"
                      },
                      "secret": {
                        "type": "string"
                      },
                      "base_path": {
                        "type": "string"
                      }
                    }
                  },
                  "wasabi": {
                    "type": "object",
                    "description": "This is a required field if source type is wasabi.",
                    "required": [
                      "bucket_name",
                      "bucket_region",
                      "access_key",
                      "secret"
                    ],
                    "properties": {
                      "bucket_name": {
                        "type": "string"
                      },
                      "bucket_region": {
                        "type": "string"
                      },
                      "access_key": {
                        "type": "string"
                      },
                      "secret": {
                        "type": "string"
                      },
                      "base_path": {
                        "type": "string"
                      }
                    }
                  },
                  "cloudinary": {
                    "type": "object",
                    "description": "This is a required field if source type is cloudinary.",
                    "required": [
                      "host_name",
                      "cloud_name"
                    ],
                    "properties": {
                      "host_name": {
                        "type": "string"
                      },
                      "cloud_name": {
                        "type": "string"
                      }
                    }
                  },
                  "azure": {
                    "type": "object",
                    "description": "This is a required field if source type is azure.",
                    "required": [
                      "azure_account_name",
                      "azure_container_name",
                      "azure_shared_token",
                      "azure_path"
                    ],
                    "properties": {
                      "azure_account_name": {
                        "type": "string"
                      },
                      "azure_container_name": {
                        "type": "string"
                      },
                      "azure_shared_token": {
                        "type": "string"
                      },
                      "azure_path": {
                        "type": "string"
                      }
                    }
                  },
                  "linode": {
                    "type": "object",
                    "description": "This is a required field if source type is linode.",
                    "required": [
                      "bucket_name",
                      "bucket_region",
                      "access_key",
                      "secret"
                    ],
                    "properties": {
                      "bucket_name": {
                        "type": "string"
                      },
                      "bucket_region": {
                        "type": "string"
                      },
                      "access_key": {
                        "type": "string"
                      },
                      "secret": {
                        "type": "string"
                      }
                    }
                  },
                  "backblaze": {
                    "type": "object",
                    "description": "This is a required field if source type is backblaze.",
                    "required": [
                      "bucket_name",
                      "access_key",
                      "secret"
                    ],
                    "properties": {
                      "bucket_name": {
                        "type": "string"
                      },
                      "bucket_region": {
                        "type": "string",
                        "description": "bucket_region or endpoint"
                      },
                      "endpoint": {
                        "type": "string",
                        "description": "bucket_region or endpoint"
                      },
                      "access_key": {
                        "type": "string"
                      },
                      "secret": {
                        "type": "string"
                      },
                      "base_path": {
                        "type": "string"
                      }
                    }
                  },
                  "cloudflare": {
                    "type": "object",
                    "description": "This is a required field if source type is cloudflare.",
                    "required": [
                      "bucket_name",
                      "access_key",
                      "account_id",
                      "secret"
                    ],
                    "properties": {
                      "bucket_name": {
                        "type": "string"
                      },
                      "access_key": {
                        "type": "string"
                      },
                      "account_id": {
                        "type": "string"
                      },
                      "secret": {
                        "type": "string"
                      },
                      "base_path": {
                        "type": "string"
                      }
                    }
                  },
                  "webfolder": {
                    "type": "object",
                    "x-stoplight": {
                      "id": "kt4iq0r4ofkar"
                    },
                    "properties": {
                      "base_url": {
                        "type": "string",
                        "x-stoplight": {
                          "id": "8nxga6djly0mz"
                        }
                      }
                    }
                  }
                }
              },
              "examples": {
                "Request Example": {
                  "value": {
                    "type": "webfolder",
                    "webfolder": {
                      "base_url": "https://www.google.com"
                    },
                    "namespace": "google-demo"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "200",
            "content": {
              "application/json": {
                "examples": {
                  "Result": {
                    "value": {
                      "id": "6a849ee1ed1e919cbba62a7e",
                      "namespace": "google-demo",
                      "type": "webfolder",
                      "cdn_type": "third_party",
                      "cdn_cache_time": 8640000,
                      "canonical_url": true,
                      "browser_cache_time": 8640000,
                      "is_cloudfront": false,
                      "created_at": "2026-08-18T18:05:21.565Z",
                      "updated_at": "2026-08-18T18:05:21.565Z",
                      "webfolder": {
                        "base_url": "https://www.google.com"
                      },
                      "default_params": {
                        "format": "auto",
                        "compress": "true"
                      },
                      "subdomain": "google-demo.gumlet.io",
                      "is_active": true
                    }
                  }
                },
                "schema": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string"
                    },
                    "namespace": {
                      "type": "string"
                    },
                    "type": {
                      "type": "string"
                    },
                    "cdn_type": {
                      "type": "string"
                    },
                    "cdn_cache_time": {
                      "type": "integer"
                    },
                    "canonical_url": {
                      "type": "boolean"
                    },
                    "browser_cache_time": {
                      "type": "integer"
                    },
                    "is_cloudfront": {
                      "type": "boolean"
                    },
                    "created_at": {
                      "type": "string"
                    },
                    "updated_at": {
                      "type": "string"
                    },
                    "webfolder": {
                      "type": "object",
                      "properties": {
                        "base_url": {
                          "type": "string"
                        }
                      }
                    },
                    "default_params": {
                      "type": "object",
                      "properties": {
                        "format": {
                          "type": "string"
                        },
                        "compress": {
                          "type": "string"
                        }
                      }
                    },
                    "subdomain": {
                      "type": "string"
                    },
                    "is_active": {
                      "type": "boolean"
                    }
                  },
                  "x-examples": {
                    "Example 1": {
                      "id": "6a849ee1ed1e919cbba62a7e",
                      "namespace": "google-demo",
                      "type": "webfolder",
                      "cdn_type": "third_party",
                      "cdn_cache_time": 8640000,
                      "canonical_url": true,
                      "browser_cache_time": 8640000,
                      "is_cloudfront": false,
                      "created_at": "2026-08-18T18:05:21.565Z",
                      "updated_at": "2026-08-18T18:05:21.565Z",
                      "webfolder": {
                        "base_url": "https://www.google.com"
                      },
                      "default_params": {
                        "format": "auto",
                        "compress": "true"
                      },
                      "subdomain": "google-demo.gumlet.io",
                      "is_active": true
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "examples": {
                  "Result": {
                    "value": {
                      "error": {
                        "code": "parameter_missing",
                        "message": "One or more required values are missing."
                      }
                    }
                  }
                },
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "code": {
                          "type": "string",
                          "example": "parameter_missing"
                        },
                        "message": {
                          "type": "string",
                          "example": "One or more required values are missing."
                        }
                      },
                      "required": [
                        "code",
                        "message"
                      ]
                    }
                  },
                  "required": [
                    "error"
                  ]
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "description": "Forbidden — feature not on plan",
            "content": {
              "application/json": {
                "examples": {
                  "Result": {
                    "value": {
                      "error": {
                        "code": "unauthorised_feature_access",
                        "message": "Your plan doesn't have this feature or you have reached the plan limit. Please upgrade your current plan to access this feature."
                      }
                    }
                  }
                },
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "code": {
                          "type": "string",
                          "example": "unauthorised_feature_access"
                        },
                        "message": {
                          "type": "string",
                          "example": "Your plan doesn't have this feature or you have reached the plan limit. Please upgrade your current plan to access this feature."
                        }
                      },
                      "required": [
                        "code",
                        "message"
                      ]
                    }
                  },
                  "required": [
                    "error"
                  ]
                }
              }
            }
          },
          "422": {
            "$ref": "#/components/responses/ValidationError"
          }
        },
        "deprecated": false,
        "tags": [
          "Image Sources"
        ],
        "x-stoplight": {
          "id": "hublbrwwbpzvk"
        },
        "x-codeSamples": [
          {
            "label": "TypeScript",
            "lang": "TypeScript",
            "source": "import Gumlet from '@gumlet/nodejs-sdk';\n\nconst client = new Gumlet({\n  apiKey: process.env['API_KEY'], // defaults to the API_KEY env var\n});\n\nconst imageSource = await client.imageSources.create({\n  type: 'webfolder',\n  webfolder: { base_url: 'https://www.google.com' },\n  namespace: 'google-demo',\n});\n\nconsole.log(imageSource);"
          },
          {
            "label": "Python",
            "lang": "Python",
            "source": "import os\n\nfrom gumlet import Gumlet\n\nclient = Gumlet(\n    api_key=os.environ.get(\"API_KEY\"),\n)\n\nimage_source = client.image_sources.create(\n    namespace=\"google-demo\",\n    type=\"webfolder\",\n    webfolder={\"base_url\": \"https://www.google.com\"},\n)\n\nprint(image_source)"
          }
        ]
      },
      "get": {
        "summary": "List Sources",
        "description": "This endpoint list image sources which are assigned to the user or token.",
        "operationId": "list-sources",
        "responses": {
          "200": {
            "description": "List all image sources",
            "content": {
              "application/json": {
                "examples": {},
                "schema": {
                  "type": "object",
                  "properties": {
                    "all_sources": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "id": {
                            "type": "string",
                            "examples": [
                              "646df1c9173a4a2fcac180b4"
                            ]
                          },
                          "type": {
                            "type": "string",
                            "examples": [
                              "aws"
                            ]
                          },
                          "created_at": {
                            "type": "string",
                            "examples": [
                              "2023-05-24T11:15:21.624Z"
                            ]
                          },
                          "updated_at": {
                            "type": "string",
                            "examples": [
                              "2024-01-24T11:57:48.744Z"
                            ]
                          },
                          "video_protection": {
                            "type": "object",
                            "properties": {
                              "signed_url": {
                                "type": "boolean",
                                "default": true,
                                "examples": [
                                  true
                                ]
                              },
                              "signed_url_secret": {
                                "type": "string",
                                "examples": [
                                  "47a3e2fbb1318f033b882c632bc103a8"
                                ]
                              }
                            },
                            "x-apidog-orders": [
                              "signed_url",
                              "signed_url_secret"
                            ]
                          },
                          "player_config": {
                            "type": "object",
                            "properties": {
                              "preload": {
                                "type": "boolean",
                                "default": true,
                                "examples": [
                                  false
                                ]
                              },
                              "autoplay": {
                                "type": "boolean",
                                "default": true,
                                "examples": [
                                  false
                                ]
                              },
                              "disable_seek": {
                                "type": "boolean",
                                "default": true,
                                "examples": [
                                  false
                                ]
                              },
                              "disable_player_controls": {
                                "type": "boolean",
                                "default": true,
                                "examples": [
                                  false
                                ]
                              },
                              "powered_by_gumlet_overlay": {
                                "type": "boolean",
                                "default": true,
                                "examples": [
                                  false
                                ]
                              },
                              "allow_drm_protected_videos": {
                                "type": "boolean",
                                "default": true,
                                "examples": [
                                  false
                                ]
                              },
                              "loop": {
                                "type": "boolean",
                                "default": true,
                                "examples": [
                                  false
                                ]
                              },
                              "player_color": {
                                "type": "string",
                                "examples": [
                                  "#6658ea"
                                ]
                              },
                              "include_seo": {
                                "type": "boolean",
                                "default": true,
                                "examples": [
                                  true
                                ]
                              },
                              "subtitle_enabled": {
                                "type": "boolean",
                                "default": true,
                                "examples": [
                                  false
                                ]
                              },
                              "pixel_tags": {
                                "type": "object",
                                "properties": {},
                                "x-apidog-orders": []
                              },
                              "logo_width": {
                                "type": "integer",
                                "default": 0,
                                "examples": [
                                  100
                                ]
                              },
                              "logo_height": {
                                "type": "integer",
                                "default": 0,
                                "examples": [
                                  100
                                ]
                              },
                              "dynamic_watermark": {
                                "type": "boolean",
                                "default": true,
                                "examples": [
                                  false
                                ]
                              },
                              "watermark_font_size": {
                                "type": "integer",
                                "default": 0,
                                "examples": [
                                  20
                                ]
                              },
                              "watermark_font_color": {
                                "type": "string",
                                "examples": [
                                  "#ff0000"
                                ]
                              },
                              "watermark_bg_color": {
                                "type": "string",
                                "examples": [
                                  "transparent"
                                ]
                              },
                              "watermark_interval": {
                                "type": "integer",
                                "default": 0,
                                "examples": [
                                  1000
                                ]
                              }
                            },
                            "x-apidog-orders": [
                              "preload",
                              "autoplay",
                              "disable_seek",
                              "disable_player_controls",
                              "powered_by_gumlet_overlay",
                              "allow_drm_protected_videos",
                              "loop",
                              "player_color",
                              "include_seo",
                              "subtitle_enabled",
                              "pixel_tags",
                              "logo_width",
                              "logo_height",
                              "dynamic_watermark",
                              "watermark_font_size",
                              "watermark_font_color",
                              "watermark_bg_color",
                              "watermark_interval"
                            ]
                          },
                          "default_profile_id": {
                            "type": "string",
                            "examples": [
                              "646df1c9173a4a2fcac180b7"
                            ]
                          },
                          "insight_property_id": {
                            "type": "string",
                            "examples": [
                              "646df0aa173a4a2fcac18009"
                            ]
                          },
                          "aws": {
                            "type": "object",
                            "properties": {
                              "bucket_name": {
                                "type": "string",
                                "examples": [
                                  "asd"
                                ]
                              },
                              "bucket_region": {
                                "type": "string",
                                "examples": [
                                  "ap-south-1"
                                ]
                              },
                              "access_key": {
                                "type": "string",
                                "examples": [
                                  "Code@123"
                                ]
                              },
                              "secret": {
                                "type": "string",
                                "examples": [
                                  "****************"
                                ]
                              },
                              "base_path": {
                                "type": "string"
                              }
                            },
                            "x-apidog-orders": [
                              "bucket_name",
                              "bucket_region",
                              "access_key",
                              "secret",
                              "base_path"
                            ]
                          },
                          "embed_details": {
                            "type": "object",
                            "properties": {
                              "pixel_tags": {
                                "type": "object",
                                "properties": {},
                                "x-apidog-orders": []
                              },
                              "preload": {
                                "type": "boolean",
                                "default": true,
                                "examples": [
                                  false
                                ]
                              },
                              "autoplay": {
                                "type": "boolean",
                                "default": true,
                                "examples": [
                                  false
                                ]
                              },
                              "logo_width": {
                                "type": "integer",
                                "default": 0,
                                "examples": [
                                  100
                                ]
                              },
                              "logo_height": {
                                "type": "integer",
                                "default": 0,
                                "examples": [
                                  100
                                ]
                              },
                              "player_color": {
                                "type": "string",
                                "examples": [
                                  "#6658ea"
                                ]
                              },
                              "is_seo": {
                                "type": "boolean",
                                "default": true,
                                "examples": [
                                  true
                                ]
                              },
                              "dynamic_watermark": {
                                "type": "boolean",
                                "default": true,
                                "examples": [
                                  false
                                ]
                              },
                              "disable_seek": {
                                "type": "boolean",
                                "default": true,
                                "examples": [
                                  false
                                ]
                              },
                              "disable_player_controls": {
                                "type": "boolean",
                                "default": true,
                                "examples": [
                                  false
                                ]
                              },
                              "allow_drm_protected_videos": {
                                "type": "boolean",
                                "default": true,
                                "examples": [
                                  false
                                ]
                              },
                              "powered_by_gumlet_overlay": {
                                "type": "boolean",
                                "default": true,
                                "examples": [
                                  false
                                ]
                              },
                              "loop": {
                                "type": "boolean",
                                "default": true,
                                "examples": [
                                  false
                                ]
                              },
                              "subtitle_enabled": {
                                "type": "boolean",
                                "default": true,
                                "examples": [
                                  false
                                ]
                              },
                              "watermark_bg_color": {
                                "type": "string",
                                "examples": [
                                  "transparent"
                                ]
                              },
                              "watermark_font_color": {
                                "type": "string",
                                "examples": [
                                  "#ff0000"
                                ]
                              },
                              "watermark_font_size": {
                                "type": "integer",
                                "default": 0,
                                "examples": [
                                  20
                                ]
                              },
                              "watermark_interval": {
                                "type": "integer",
                                "default": 0,
                                "examples": [
                                  1000
                                ]
                              }
                            },
                            "x-apidog-orders": [
                              "pixel_tags",
                              "preload",
                              "autoplay",
                              "logo_width",
                              "logo_height",
                              "player_color",
                              "is_seo",
                              "dynamic_watermark",
                              "disable_seek",
                              "disable_player_controls",
                              "allow_drm_protected_videos",
                              "powered_by_gumlet_overlay",
                              "loop",
                              "subtitle_enabled",
                              "watermark_bg_color",
                              "watermark_font_color",
                              "watermark_font_size",
                              "watermark_interval"
                            ]
                          },
                          "folders": {
                            "type": "array",
                            "items": {
                              "type": "string",
                              "examples": [
                                "folder"
                              ]
                            }
                          },
                          "channel_settings": {
                            "type": "object",
                            "properties": {
                              "title": {
                                "type": "string",
                                "examples": [
                                  "my channel"
                                ]
                              },
                              "active": {
                                "type": "boolean",
                                "default": true,
                                "examples": [
                                  false
                                ]
                              },
                              "description": {
                                "type": "string",
                                "examples": [
                                  "desc"
                                ]
                              },
                              "privacy_type": {
                                "type": "string",
                                "examples": [
                                  "private"
                                ]
                              },
                              "custom_logo": {
                                "type": "boolean",
                                "default": true,
                                "examples": [
                                  true
                                ]
                              },
                              "logo_url": {
                                "type": "string",
                                "examples": [
                                  "https://dev-video.gumlet.io/646df1c9172a4a2fcac180b4/channel/logo.png"
                                ]
                              },
                              "cname": {
                                "type": "array",
                                "items": {
                                  "type": "string",
                                  "examples": [
                                    "okj.com"
                                  ]
                                }
                              },
                              "temp_cname": {
                                "type": "array",
                                "items": {
                                  "type": "string",
                                  "examples": [
                                    "okj.com"
                                  ]
                                }
                              }
                            },
                            "x-apidog-orders": [
                              "title",
                              "active",
                              "description",
                              "privacy_type",
                              "custom_logo",
                              "logo_url",
                              "cname",
                              "temp_cname"
                            ]
                          },
                          "namespace": {
                            "type": "string",
                            "examples": [
                              "collection_name"
                            ]
                          },
                          "subdomain": {
                            "type": "string"
                          },
                          "webfolder": {
                            "type": "object",
                            "properties": {
                              "base_url": {
                                "type": "string"
                              }
                            },
                            "x-apidog-orders": [
                              "base_url"
                            ],
                            "required": [
                              "base_url"
                            ]
                          },
                          "cname": {
                            "type": "array",
                            "items": {
                              "type": "string"
                            },
                            "description": "Custom domains assigned to this source."
                          },
                          "wasabi": {
                            "type": "object",
                            "properties": {
                              "bucket_name": {
                                "type": "string"
                              },
                              "base_path": {
                                "type": "string"
                              }
                            },
                            "x-apidog-orders": [
                              "bucket_name",
                              "base_path"
                            ],
                            "required": [
                              "bucket_name"
                            ]
                          },
                          "gcs": {
                            "type": "object",
                            "properties": {
                              "bucket_name": {
                                "type": "string"
                              },
                              "base_path": {
                                "type": "string"
                              }
                            },
                            "x-apidog-orders": [
                              "bucket_name",
                              "base_path"
                            ],
                            "required": [
                              "bucket_name"
                            ]
                          },
                          "wordpress": {
                            "type": "object",
                            "properties": {
                              "website_url": {
                                "type": "string"
                              }
                            },
                            "x-apidog-orders": [
                              "website_url"
                            ],
                            "required": [
                              "website_url"
                            ]
                          },
                          "backblaze": {
                            "type": "object",
                            "properties": {
                              "bucket_name": {
                                "type": "string"
                              },
                              "base_path": {
                                "type": "string"
                              }
                            },
                            "x-apidog-orders": [
                              "bucket_name",
                              "base_path"
                            ],
                            "required": [
                              "bucket_name"
                            ]
                          },
                          "hetzner": {
                            "type": "object",
                            "properties": {
                              "bucket_name": {
                                "type": "string"
                              },
                              "base_path": {
                                "type": "string"
                              }
                            },
                            "x-apidog-orders": [
                              "bucket_name",
                              "base_path"
                            ]
                          },
                          "dostorage": {
                            "type": "object",
                            "properties": {
                              "bucket_name": {
                                "type": "string"
                              },
                              "base_path": {
                                "type": "string"
                              }
                            },
                            "x-apidog-orders": [
                              "bucket_name",
                              "base_path"
                            ],
                            "required": [
                              "bucket_name"
                            ]
                          },
                          "azure": {
                            "type": "object",
                            "properties": {
                              "azure_account_name": {
                                "type": "string"
                              },
                              "azure_container_name": {
                                "type": "string"
                              },
                              "azure_path": {
                                "type": "string"
                              }
                            },
                            "x-apidog-orders": [
                              "azure_account_name",
                              "azure_container_name",
                              "azure_path"
                            ],
                            "required": [
                              "azure_account_name",
                              "azure_path"
                            ]
                          },
                          "linode": {
                            "type": "object",
                            "properties": {
                              "bucket_name": {
                                "type": "string"
                              },
                              "bucket_region": {
                                "type": "string"
                              }
                            },
                            "x-apidog-orders": [
                              "bucket_name",
                              "bucket_region"
                            ],
                            "required": [
                              "bucket_name",
                              "bucket_region"
                            ]
                          },
                          "cloudinary": {
                            "type": "object",
                            "properties": {
                              "cloud_name": {
                                "type": "string"
                              }
                            },
                            "x-apidog-orders": [
                              "cloud_name"
                            ],
                            "required": [
                              "cloud_name"
                            ]
                          }
                        },
                        "x-apidog-orders": [
                          "id",
                          "namespace",
                          "type",
                          "created_at",
                          "updated_at",
                          "video_protection",
                          "player_config",
                          "default_profile_id",
                          "insight_property_id",
                          "aws",
                          "embed_details",
                          "folders",
                          "channel_settings",
                          "subdomain",
                          "webfolder",
                          "cname",
                          "wasabi",
                          "gcs",
                          "wordpress",
                          "backblaze",
                          "hetzner",
                          "dostorage",
                          "azure",
                          "linode",
                          "cloudinary"
                        ],
                        "required": [
                          "subdomain",
                          "namespace",
                          "id"
                        ]
                      }
                    }
                  },
                  "x-apidog-orders": [
                    "all_sources"
                  ]
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          }
        },
        "deprecated": false,
        "tags": [
          "Image Sources"
        ],
        "x-stoplight": {
          "id": "25t5xel9wzl7p"
        },
        "parameters": [
          {
            "in": "query",
            "name": "offset",
            "schema": {
              "type": "integer",
              "default": 0
            },
            "description": "Skip number of items. Helpful for pagination."
          },
          {
            "in": "query",
            "name": "size",
            "schema": {
              "type": "integer",
              "default": 20
            },
            "description": "Results per page."
          }
        ],
        "x-codeSamples": [
          {
            "label": "TypeScript",
            "lang": "TypeScript",
            "source": "import Gumlet from '@gumlet/nodejs-sdk';\n\nconst client = new Gumlet({\n  apiKey: process.env['API_KEY'], // defaults to the API_KEY env var\n});\n\nconst imageSource = await client.imageSources.list({\n  offset: 0,\n  size: 20,\n});\n\nconsole.log(imageSource);"
          },
          {
            "label": "Python",
            "lang": "Python",
            "source": "import os\n\nfrom gumlet import Gumlet\n\nclient = Gumlet(\n    api_key=os.environ.get(\"API_KEY\"),\n)\n\nimage_source = client.image_sources.list(\n    offset=0,\n    size=20,\n)\n\nprint(image_source)"
          }
        ]
      }
    },
    "/image/sources/{image_source_id}": {
      "get": {
        "summary": "Get Image Source",
        "description": "Get all details about image source.",
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string"
                    },
                    "namespace": {
                      "type": "string"
                    },
                    "type": {
                      "type": "string",
                      "enum": [
                        "dostorage",
                        "aws",
                        "wasabi",
                        "hetzner",
                        "backblaze",
                        "webfolder",
                        "gcs",
                        "azure",
                        "cloudflare",
                        "imgix",
                        "cloudinary",
                        "proxy",
                        "wordpress",
                        "linode"
                      ],
                      "x-apidog-enum": [
                        {
                          "value": "dostorage",
                          "name": "",
                          "description": ""
                        },
                        {
                          "value": "aws",
                          "name": "",
                          "description": ""
                        },
                        {
                          "value": "wasabi",
                          "name": "",
                          "description": ""
                        },
                        {
                          "value": "hetzner",
                          "name": "",
                          "description": ""
                        },
                        {
                          "value": "backblaze",
                          "name": "",
                          "description": ""
                        },
                        {
                          "value": "webfolder",
                          "name": "",
                          "description": ""
                        },
                        {
                          "value": "gcs",
                          "name": "",
                          "description": ""
                        },
                        {
                          "value": "azure",
                          "name": "",
                          "description": ""
                        },
                        {
                          "value": "cloudflare",
                          "name": "",
                          "description": ""
                        },
                        {
                          "value": "imgix",
                          "name": "",
                          "description": ""
                        },
                        {
                          "value": "cloudinary",
                          "name": "",
                          "description": ""
                        },
                        {
                          "value": "proxy",
                          "name": "",
                          "description": ""
                        },
                        {
                          "value": "wordpress",
                          "name": "",
                          "description": ""
                        },
                        {
                          "value": "linode",
                          "name": "",
                          "description": ""
                        }
                      ]
                    },
                    "cdn_type": {
                      "type": "string"
                    },
                    "cdn_cache_time": {
                      "type": "integer"
                    },
                    "canonical_url": {
                      "type": "boolean"
                    },
                    "browser_cache_time": {
                      "type": "integer"
                    },
                    "is_cloudfront": {
                      "type": "boolean"
                    },
                    "created_at": {
                      "type": "string"
                    },
                    "updated_at": {
                      "type": "string"
                    },
                    "webfolder": {
                      "type": "object",
                      "description": "This is a required field if source type is webfolder.",
                      "properties": {
                        "base_url": {
                          "type": "string"
                        }
                      },
                      "x-apidog-orders": [
                        "base_url"
                      ]
                    },
                    "aws": {
                      "type": "object",
                      "description": "This is a required field if source type is aws.",
                      "required": [
                        "bucket_name",
                        "bucket_region",
                        "access_key",
                        "secret"
                      ],
                      "properties": {
                        "bucket_name": {
                          "type": "string"
                        },
                        "bucket_region": {
                          "type": "string"
                        },
                        "access_key": {
                          "type": "string"
                        },
                        "secret": {
                          "type": "string"
                        },
                        "base_path": {
                          "type": "string"
                        },
                        "endpoint": {
                          "type": "string"
                        }
                      },
                      "x-apidog-orders": [
                        "bucket_name",
                        "bucket_region",
                        "access_key",
                        "secret",
                        "base_path",
                        "endpoint"
                      ]
                    },
                    "proxy": {
                      "type": "object",
                      "description": "This is a required field if source type is proxy.",
                      "required": [
                        "whitelisted_domains"
                      ],
                      "properties": {
                        "whitelisted_domains": {
                          "type": "string"
                        }
                      },
                      "x-apidog-orders": [
                        "whitelisted_domains"
                      ]
                    },
                    "gcs": {
                      "type": "object",
                      "description": "This is a required field if source type is gcs.",
                      "required": [
                        "bucket_name",
                        "service_account_key"
                      ],
                      "properties": {
                        "bucket_name": {
                          "type": "string"
                        },
                        "service_account_key": {
                          "type": "string"
                        }
                      },
                      "x-apidog-orders": [
                        "bucket_name",
                        "service_account_key"
                      ]
                    },
                    "dostorage": {
                      "type": "object",
                      "description": "This is a required field if source type is dostorage.",
                      "required": [
                        "bucket_name",
                        "bucket_region",
                        "access_key",
                        "secret"
                      ],
                      "properties": {
                        "bucket_name": {
                          "type": "string"
                        },
                        "bucket_region": {
                          "type": "string"
                        },
                        "access_key": {
                          "type": "string"
                        },
                        "secret": {
                          "type": "string"
                        },
                        "base_path": {
                          "type": "string"
                        }
                      },
                      "x-apidog-orders": [
                        "bucket_name",
                        "bucket_region",
                        "access_key",
                        "secret",
                        "base_path"
                      ]
                    },
                    "wasabi": {
                      "type": "object",
                      "description": "This is a required field if source type is wasabi.",
                      "required": [
                        "bucket_name",
                        "bucket_region",
                        "access_key",
                        "secret"
                      ],
                      "properties": {
                        "bucket_name": {
                          "type": "string"
                        },
                        "bucket_region": {
                          "type": "string"
                        },
                        "access_key": {
                          "type": "string"
                        },
                        "secret": {
                          "type": "string"
                        },
                        "base_path": {
                          "type": "string"
                        }
                      },
                      "x-apidog-orders": [
                        "bucket_name",
                        "bucket_region",
                        "access_key",
                        "secret",
                        "base_path"
                      ]
                    },
                    "linode": {
                      "type": "object",
                      "description": "This is a required field if source type is linode.",
                      "required": [
                        "bucket_name",
                        "bucket_region",
                        "access_key",
                        "secret"
                      ],
                      "properties": {
                        "bucket_name": {
                          "type": "string"
                        },
                        "bucket_region": {
                          "type": "string"
                        },
                        "access_key": {
                          "type": "string"
                        },
                        "secret": {
                          "type": "string"
                        }
                      },
                      "x-apidog-orders": [
                        "bucket_name",
                        "bucket_region",
                        "access_key",
                        "secret"
                      ]
                    },
                    "backblaze": {
                      "type": "object",
                      "description": "This is a required field if source type is backblaze.",
                      "required": [
                        "bucket_name",
                        "access_key",
                        "secret"
                      ],
                      "properties": {
                        "bucket_name": {
                          "type": "string"
                        },
                        "bucket_region": {
                          "type": "string",
                          "description": "bucket_region or endpoint"
                        },
                        "endpoint": {
                          "type": "string",
                          "description": "bucket_region or endpoint"
                        },
                        "access_key": {
                          "type": "string"
                        },
                        "secret": {
                          "type": "string"
                        },
                        "base_path": {
                          "type": "string"
                        }
                      },
                      "x-apidog-orders": [
                        "bucket_name",
                        "bucket_region",
                        "endpoint",
                        "access_key",
                        "secret",
                        "base_path"
                      ]
                    },
                    "cloudflare": {
                      "type": "object",
                      "description": "This is a required field if source type is cloudflare.",
                      "required": [
                        "bucket_name",
                        "access_key",
                        "account_id",
                        "secret"
                      ],
                      "properties": {
                        "bucket_name": {
                          "type": "string"
                        },
                        "access_key": {
                          "type": "string"
                        },
                        "account_id": {
                          "type": "string"
                        },
                        "secret": {
                          "type": "string"
                        },
                        "base_path": {
                          "type": "string"
                        }
                      },
                      "x-apidog-orders": [
                        "bucket_name",
                        "access_key",
                        "account_id",
                        "secret",
                        "base_path"
                      ]
                    },
                    "cloudinary": {
                      "type": "object",
                      "description": "This is a required field if source type is cloudinary.",
                      "required": [
                        "host_name",
                        "cloud_name"
                      ],
                      "properties": {
                        "host_name": {
                          "type": "string"
                        },
                        "cloud_name": {
                          "type": "string"
                        }
                      },
                      "x-apidog-orders": [
                        "host_name",
                        "cloud_name"
                      ]
                    },
                    "azure": {
                      "type": "object",
                      "description": "This is a required field if source type is azure.",
                      "required": [
                        "azure_account_name",
                        "azure_container_name",
                        "azure_shared_token",
                        "azure_path"
                      ],
                      "properties": {
                        "azure_account_name": {
                          "type": "string"
                        },
                        "azure_container_name": {
                          "type": "string"
                        },
                        "azure_shared_token": {
                          "type": "string"
                        },
                        "azure_path": {
                          "type": "string"
                        }
                      },
                      "x-apidog-orders": [
                        "azure_account_name",
                        "azure_container_name",
                        "azure_shared_token",
                        "azure_path"
                      ]
                    },
                    "default_params": {
                      "type": "object",
                      "properties": {},
                      "x-apidog-orders": []
                    },
                    "request_headers": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {},
                        "x-apidog-orders": []
                      }
                    },
                    "subdomain": {
                      "type": "string"
                    },
                    "is_active": {
                      "type": "boolean"
                    },
                    "secure_urls": {
                      "type": "boolean",
                      "description": "Gives information if signed URLs are enabled."
                    },
                    "secure_token": {
                      "type": "string",
                      "description": "This is the token that you can use to sign URLs."
                    },
                    "imgix": {
                      "type": "object",
                      "properties": {},
                      "x-apidog-orders": []
                    },
                    "hetzner": {
                      "type": "object",
                      "properties": {},
                      "x-apidog-orders": []
                    },
                    "fallback_origins": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "name": {
                            "type": "string"
                          },
                          "type": {
                            "type": "string",
                            "enum": [
                              "dostorage",
                              "aws",
                              "wasabi",
                              "hetzner",
                              "backblaze",
                              "webfolder",
                              "gcs",
                              "azure",
                              "cloudflare",
                              "imgix",
                              "cloudinary",
                              "proxy",
                              "wordpress",
                              "linode"
                            ],
                            "x-apidog-enum": [
                              {
                                "value": "proxy",
                                "name": "",
                                "description": ""
                              }
                            ]
                          },
                          "conditions": {
                            "type": "array",
                            "items": {
                              "type": "string"
                            }
                          },
                          "replace_operation": {
                            "type": "object",
                            "properties": {
                              "from": {
                                "type": "string"
                              },
                              "to": {
                                "type": "string"
                              }
                            },
                            "x-apidog-orders": [
                              "from",
                              "to"
                            ]
                          },
                          "webfolder": {
                            "type": "object",
                            "description": "This is a required field if source type is webfolder.",
                            "properties": {
                              "base_url": {
                                "type": "string"
                              }
                            },
                            "x-apidog-orders": [
                              "base_url"
                            ]
                          },
                          "aws": {
                            "type": "object",
                            "description": "This is a required field if source type is aws.",
                            "required": [
                              "bucket_name",
                              "bucket_region",
                              "access_key",
                              "secret"
                            ],
                            "properties": {
                              "bucket_name": {
                                "type": "string"
                              },
                              "bucket_region": {
                                "type": "string"
                              },
                              "access_key": {
                                "type": "string"
                              },
                              "secret": {
                                "type": "string"
                              },
                              "base_path": {
                                "type": "string"
                              },
                              "endpoint": {
                                "type": "string"
                              }
                            },
                            "x-apidog-orders": [
                              "bucket_name",
                              "bucket_region",
                              "access_key",
                              "secret",
                              "base_path",
                              "endpoint"
                            ]
                          },
                          "proxy": {
                            "type": "object",
                            "description": "This is a required field if source type is proxy.",
                            "required": [
                              "whitelisted_domains"
                            ],
                            "properties": {
                              "whitelisted_domains": {
                                "type": "string"
                              }
                            },
                            "x-apidog-orders": [
                              "whitelisted_domains"
                            ]
                          },
                          "gcs": {
                            "type": "object",
                            "description": "This is a required field if source type is gcs.",
                            "required": [
                              "bucket_name",
                              "service_account_key"
                            ],
                            "properties": {
                              "bucket_name": {
                                "type": "string"
                              },
                              "service_account_key": {
                                "type": "string"
                              }
                            },
                            "x-apidog-orders": [
                              "bucket_name",
                              "service_account_key"
                            ]
                          },
                          "dostorage": {
                            "type": "object",
                            "description": "This is a required field if source type is dostorage.",
                            "required": [
                              "bucket_name",
                              "bucket_region",
                              "access_key",
                              "secret"
                            ],
                            "properties": {
                              "bucket_name": {
                                "type": "string"
                              },
                              "bucket_region": {
                                "type": "string"
                              },
                              "access_key": {
                                "type": "string"
                              },
                              "secret": {
                                "type": "string"
                              },
                              "base_path": {
                                "type": "string"
                              }
                            },
                            "x-apidog-orders": [
                              "bucket_name",
                              "bucket_region",
                              "access_key",
                              "secret",
                              "base_path"
                            ]
                          },
                          "wasabi": {
                            "type": "object",
                            "description": "This is a required field if source type is wasabi.",
                            "required": [
                              "bucket_name",
                              "bucket_region",
                              "access_key",
                              "secret"
                            ],
                            "properties": {
                              "bucket_name": {
                                "type": "string"
                              },
                              "bucket_region": {
                                "type": "string"
                              },
                              "access_key": {
                                "type": "string"
                              },
                              "secret": {
                                "type": "string"
                              },
                              "base_path": {
                                "type": "string"
                              }
                            },
                            "x-apidog-orders": [
                              "bucket_name",
                              "bucket_region",
                              "access_key",
                              "secret",
                              "base_path"
                            ]
                          },
                          "linode": {
                            "type": "object",
                            "description": "This is a required field if source type is linode.",
                            "required": [
                              "bucket_name",
                              "bucket_region",
                              "access_key",
                              "secret"
                            ],
                            "properties": {
                              "bucket_name": {
                                "type": "string"
                              },
                              "bucket_region": {
                                "type": "string"
                              },
                              "access_key": {
                                "type": "string"
                              },
                              "secret": {
                                "type": "string"
                              }
                            },
                            "x-apidog-orders": [
                              "bucket_name",
                              "bucket_region",
                              "access_key",
                              "secret"
                            ]
                          },
                          "backblaze": {
                            "type": "object",
                            "description": "This is a required field if source type is backblaze.",
                            "required": [
                              "bucket_name",
                              "access_key",
                              "secret"
                            ],
                            "properties": {
                              "bucket_name": {
                                "type": "string"
                              },
                              "bucket_region": {
                                "type": "string",
                                "description": "bucket_region or endpoint"
                              },
                              "endpoint": {
                                "type": "string",
                                "description": "bucket_region or endpoint"
                              },
                              "access_key": {
                                "type": "string"
                              },
                              "secret": {
                                "type": "string"
                              },
                              "base_path": {
                                "type": "string"
                              }
                            },
                            "x-apidog-orders": [
                              "bucket_name",
                              "bucket_region",
                              "endpoint",
                              "access_key",
                              "secret",
                              "base_path"
                            ]
                          },
                          "cloudflare": {
                            "type": "object",
                            "description": "This is a required field if source type is cloudflare.",
                            "required": [
                              "bucket_name",
                              "access_key",
                              "account_id",
                              "secret"
                            ],
                            "properties": {
                              "bucket_name": {
                                "type": "string"
                              },
                              "access_key": {
                                "type": "string"
                              },
                              "account_id": {
                                "type": "string"
                              },
                              "secret": {
                                "type": "string"
                              },
                              "base_path": {
                                "type": "string"
                              }
                            },
                            "x-apidog-orders": [
                              "bucket_name",
                              "access_key",
                              "account_id",
                              "secret",
                              "base_path"
                            ]
                          },
                          "cloudinary": {
                            "type": "object",
                            "description": "This is a required field if source type is cloudinary.",
                            "required": [
                              "host_name",
                              "cloud_name"
                            ],
                            "properties": {
                              "host_name": {
                                "type": "string"
                              },
                              "cloud_name": {
                                "type": "string"
                              }
                            },
                            "x-apidog-orders": [
                              "host_name",
                              "cloud_name"
                            ]
                          },
                          "azure": {
                            "type": "object",
                            "description": "This is a required field if source type is azure.",
                            "required": [
                              "azure_account_name",
                              "azure_container_name",
                              "azure_shared_token",
                              "azure_path"
                            ],
                            "properties": {
                              "azure_account_name": {
                                "type": "string"
                              },
                              "azure_container_name": {
                                "type": "string"
                              },
                              "azure_shared_token": {
                                "type": "string"
                              },
                              "azure_path": {
                                "type": "string"
                              }
                            },
                            "x-apidog-orders": [
                              "azure_account_name",
                              "azure_container_name",
                              "azure_shared_token",
                              "azure_path"
                            ]
                          },
                          "_id": {
                            "type": "string"
                          },
                          "hetzner": {
                            "type": "object",
                            "properties": {},
                            "x-apidog-orders": []
                          },
                          "imgix": {
                            "type": "object",
                            "properties": {},
                            "x-apidog-orders": []
                          }
                        },
                        "x-apidog-orders": [
                          "name",
                          "_id",
                          "type",
                          "conditions",
                          "replace_operation",
                          "webfolder",
                          "aws",
                          "proxy",
                          "gcs",
                          "dostorage",
                          "wasabi",
                          "linode",
                          "backblaze",
                          "cloudflare",
                          "cloudinary",
                          "azure",
                          "hetzner",
                          "imgix"
                        ],
                        "required": [
                          "name",
                          "type"
                        ]
                      }
                    },
                    "wordpress": {
                      "type": "object",
                      "properties": {
                        "website_url": {
                          "type": "string"
                        }
                      },
                      "x-apidog-orders": [
                        "website_url"
                      ],
                      "required": [
                        "website_url"
                      ]
                    },
                    "response_headers": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {},
                        "x-apidog-orders": []
                      }
                    }
                  },
                  "x-examples": {
                    "Example 1": {
                      "id": "58bfdbace74f4f000123b4ac",
                      "namespace": "demo",
                      "type": "dostorage",
                      "cdn_type": "third_party",
                      "cdn_cache_time": 31536000,
                      "canonical_url": false,
                      "browser_cache_time": 8640000,
                      "is_cloudfront": false,
                      "created_at": "2017-03-08T10:23:40.422Z",
                      "updated_at": "2026-03-25T11:18:02.877Z",
                      "dostorage": {
                        "bucket_name": "gumlet",
                        "bucket_region": "sgp1",
                        "base_path": "/public/img",
                        "access_key": "DO801YUPB6PA8L7CMFNC",
                        "secret": "****************"
                      },
                      "default_params": {},
                      "request_headers": [],
                      "subdomain": "demo.gumlet.io",
                      "is_active": true
                    }
                  },
                  "x-apidog-orders": [
                    "id",
                    "namespace",
                    "type",
                    "cdn_type",
                    "cdn_cache_time",
                    "canonical_url",
                    "browser_cache_time",
                    "is_cloudfront",
                    "created_at",
                    "updated_at",
                    "webfolder",
                    "aws",
                    "proxy",
                    "gcs",
                    "dostorage",
                    "wasabi",
                    "linode",
                    "backblaze",
                    "cloudflare",
                    "cloudinary",
                    "azure",
                    "default_params",
                    "request_headers",
                    "subdomain",
                    "is_active",
                    "secure_urls",
                    "secure_token",
                    "imgix",
                    "hetzner",
                    "fallback_origins",
                    "wordpress",
                    "response_headers"
                  ],
                  "required": [
                    "type",
                    "namespace"
                  ]
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "examples": {
                  "Result": {
                    "value": {
                      "error": {
                        "code": "source_not_found",
                        "message": "Could not find any image source with the specified source_id."
                      }
                    }
                  }
                },
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "code": {
                          "type": "string",
                          "example": "source_not_found"
                        },
                        "message": {
                          "type": "string",
                          "example": "Could not find any image source with the specified source_id."
                        }
                      },
                      "required": [
                        "code",
                        "message"
                      ]
                    }
                  },
                  "required": [
                    "error"
                  ]
                }
              }
            }
          }
        },
        "parameters": [
          {
            "in": "path",
            "name": "image_source_id",
            "description": "Image source id. You can get it on Gumlet dashboard or using list sources API endpoint.",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "get_image-sources-source-id",
        "tags": [
          "Image Sources"
        ],
        "x-stoplight": {
          "id": "npgcaxb2d1coo"
        },
        "x-codeSamples": [
          {
            "label": "TypeScript",
            "lang": "TypeScript",
            "source": "import Gumlet from '@gumlet/nodejs-sdk';\n\nconst client = new Gumlet({\n  apiKey: process.env['API_KEY'], // defaults to the API_KEY env var\n});\n\nconst imageSource = await client.imageSources.retrieve('imageSourceId');\n\nconsole.log(imageSource);"
          },
          {
            "label": "Python",
            "lang": "Python",
            "source": "import os\n\nfrom gumlet import Gumlet\n\nclient = Gumlet(\n    api_key=os.environ.get(\"API_KEY\"),\n)\n\nimage_source = client.image_sources.retrieve(\n    image_source_id=\"imageSourceId\",\n)\n\nprint(image_source)"
          }
        ]
      },
      "post": {
        "summary": "Update Source",
        "description": "This endpoint allows users to update image source that has previously been created.",
        "operationId": "update-image-source",
        "parameters": [
          {
            "name": "image_source_id",
            "in": "path",
            "description": "image source id which you want to update",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "proxy",
                      "direct-upload",
                      "webfolder",
                      "aws",
                      "gcs",
                      "dostorage",
                      "wasabi",
                      "cloudinary",
                      "azure",
                      "linode",
                      "backblaze",
                      "cloudflare"
                    ]
                  },
                  "webfolder": {
                    "type": "object",
                    "description": "This is a required field if source type is webfolder.",
                    "properties": {
                      "base_url": {
                        "type": "string"
                      }
                    },
                    "x-apidog-orders": [
                      "base_url"
                    ]
                  },
                  "aws": {
                    "type": "object",
                    "description": "This is a required field if source type is aws.",
                    "required": [
                      "bucket_name",
                      "bucket_region",
                      "access_key",
                      "secret"
                    ],
                    "properties": {
                      "bucket_name": {
                        "type": "string"
                      },
                      "bucket_region": {
                        "type": "string"
                      },
                      "access_key": {
                        "type": "string"
                      },
                      "secret": {
                        "type": "string"
                      },
                      "base_path": {
                        "type": "string"
                      },
                      "endpoint": {
                        "type": "string"
                      }
                    },
                    "x-apidog-orders": [
                      "bucket_name",
                      "bucket_region",
                      "access_key",
                      "secret",
                      "base_path",
                      "endpoint"
                    ]
                  },
                  "proxy": {
                    "type": "object",
                    "description": "This is a required field if source type is proxy.",
                    "required": [
                      "whitelisted_domains"
                    ],
                    "properties": {
                      "whitelisted_domains": {
                        "type": "string"
                      }
                    },
                    "x-apidog-orders": [
                      "whitelisted_domains"
                    ]
                  },
                  "gcs": {
                    "type": "object",
                    "description": "This is a required field if source type is gcs.",
                    "required": [
                      "bucket_name",
                      "service_account_key"
                    ],
                    "properties": {
                      "bucket_name": {
                        "type": "string"
                      },
                      "service_account_key": {
                        "type": "string"
                      }
                    },
                    "x-apidog-orders": [
                      "bucket_name",
                      "service_account_key"
                    ]
                  },
                  "dostorage": {
                    "type": "object",
                    "description": "This is a required field if source type is dostorage.",
                    "required": [
                      "bucket_name",
                      "bucket_region",
                      "access_key",
                      "secret"
                    ],
                    "properties": {
                      "bucket_name": {
                        "type": "string"
                      },
                      "bucket_region": {
                        "type": "string"
                      },
                      "access_key": {
                        "type": "string"
                      },
                      "secret": {
                        "type": "string"
                      },
                      "base_path": {
                        "type": "string"
                      }
                    },
                    "x-apidog-orders": [
                      "bucket_name",
                      "bucket_region",
                      "access_key",
                      "secret",
                      "base_path"
                    ]
                  },
                  "wasabi": {
                    "type": "object",
                    "description": "This is a required field if source type is wasabi.",
                    "required": [
                      "bucket_name",
                      "bucket_region",
                      "access_key",
                      "secret"
                    ],
                    "properties": {
                      "bucket_name": {
                        "type": "string"
                      },
                      "bucket_region": {
                        "type": "string"
                      },
                      "access_key": {
                        "type": "string"
                      },
                      "secret": {
                        "type": "string"
                      },
                      "base_path": {
                        "type": "string"
                      }
                    },
                    "x-apidog-orders": [
                      "bucket_name",
                      "bucket_region",
                      "access_key",
                      "secret",
                      "base_path"
                    ]
                  },
                  "linode": {
                    "type": "object",
                    "description": "This is a required field if source type is linode.",
                    "required": [
                      "bucket_name",
                      "bucket_region",
                      "access_key",
                      "secret"
                    ],
                    "properties": {
                      "bucket_name": {
                        "type": "string"
                      },
                      "bucket_region": {
                        "type": "string"
                      },
                      "access_key": {
                        "type": "string"
                      },
                      "secret": {
                        "type": "string"
                      }
                    },
                    "x-apidog-orders": [
                      "bucket_name",
                      "bucket_region",
                      "access_key",
                      "secret"
                    ]
                  },
                  "backblaze": {
                    "type": "object",
                    "description": "This is a required field if source type is backblaze.",
                    "required": [
                      "bucket_name",
                      "access_key",
                      "secret"
                    ],
                    "properties": {
                      "bucket_name": {
                        "type": "string"
                      },
                      "bucket_region": {
                        "type": "string",
                        "description": "bucket_region or endpoint"
                      },
                      "endpoint": {
                        "type": "string",
                        "description": "bucket_region or endpoint"
                      },
                      "access_key": {
                        "type": "string"
                      },
                      "secret": {
                        "type": "string"
                      },
                      "base_path": {
                        "type": "string"
                      }
                    },
                    "x-apidog-orders": [
                      "bucket_name",
                      "bucket_region",
                      "endpoint",
                      "access_key",
                      "secret",
                      "base_path"
                    ]
                  },
                  "cloudflare": {
                    "type": "object",
                    "description": "This is a required field if source type is cloudflare.",
                    "required": [
                      "bucket_name",
                      "access_key",
                      "account_id",
                      "secret"
                    ],
                    "properties": {
                      "bucket_name": {
                        "type": "string"
                      },
                      "access_key": {
                        "type": "string"
                      },
                      "account_id": {
                        "type": "string"
                      },
                      "secret": {
                        "type": "string"
                      },
                      "base_path": {
                        "type": "string"
                      }
                    },
                    "x-apidog-orders": [
                      "bucket_name",
                      "access_key",
                      "account_id",
                      "secret",
                      "base_path"
                    ]
                  },
                  "cloudinary": {
                    "type": "object",
                    "description": "This is a required field if source type is cloudinary.",
                    "required": [
                      "host_name",
                      "cloud_name"
                    ],
                    "properties": {
                      "host_name": {
                        "type": "string"
                      },
                      "cloud_name": {
                        "type": "string"
                      }
                    },
                    "x-apidog-orders": [
                      "host_name",
                      "cloud_name"
                    ]
                  },
                  "azure": {
                    "type": "object",
                    "description": "This is a required field if source type is azure.",
                    "required": [
                      "azure_account_name",
                      "azure_container_name",
                      "azure_shared_token",
                      "azure_path"
                    ],
                    "properties": {
                      "azure_account_name": {
                        "type": "string"
                      },
                      "azure_container_name": {
                        "type": "string"
                      },
                      "azure_shared_token": {
                        "type": "string"
                      },
                      "azure_path": {
                        "type": "string"
                      }
                    },
                    "x-apidog-orders": [
                      "azure_account_name",
                      "azure_container_name",
                      "azure_shared_token",
                      "azure_path"
                    ]
                  },
                  "default_params": {
                    "type": "object",
                    "x-stoplight": {
                      "id": "uevurxwukxwph"
                    },
                    "properties": {},
                    "x-apidog-orders": []
                  },
                  "error_image": {
                    "type": "string",
                    "x-stoplight": {
                      "id": "vsfn5j2zepna2"
                    },
                    "description": "URL for error image to display when we get broken image from your origin."
                  },
                  "request_headers": {
                    "type": "array",
                    "x-stoplight": {
                      "id": "jfv8jngxfn44y"
                    },
                    "items": {
                      "x-stoplight": {
                        "id": "b4zme1scx0vau"
                      },
                      "type": "object",
                      "properties": {},
                      "x-apidog-orders": []
                    }
                  },
                  "response_headers": {
                    "type": "array",
                    "x-stoplight": {
                      "id": "3c37705m1vqtv"
                    },
                    "items": {
                      "x-stoplight": {
                        "id": "h991rmiuuck50"
                      },
                      "type": "object",
                      "properties": {},
                      "x-apidog-orders": []
                    }
                  },
                  "temp_cname": {
                    "type": "array",
                    "x-stoplight": {
                      "id": "nycpttbt3ubkv"
                    },
                    "items": {
                      "x-stoplight": {
                        "id": "uiq0l25kmsvrr"
                      },
                      "type": "string"
                    }
                  },
                  "browser_cache_time": {
                    "type": "integer",
                    "x-stoplight": {
                      "id": "xfsu66pc7m5ok"
                    },
                    "format": "int32",
                    "description": "Browser cache time in seconds. For example setting this to 3600 caches the image in browser for 3600 seconds (1 hour)"
                  },
                  "cdn_cache_time": {
                    "type": "integer",
                    "x-stoplight": {
                      "id": "9g2k0iyj9vq86"
                    },
                    "format": "int32",
                    "description": "CDN cache time in seconds."
                  },
                  "is_active": {
                    "type": "boolean",
                    "x-stoplight": {
                      "id": "l0wilhnm9rcwn"
                    },
                    "description": "Enable / disable source."
                  },
                  "cname": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    },
                    "description": "List of verified CNAMEs"
                  },
                  "fallback_origins": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "conditions": {
                          "type": "array",
                          "items": {
                            "type": "string"
                          }
                        },
                        "name": {
                          "type": "string",
                          "description": "Name of fallback"
                        },
                        "type": {
                          "type": "string",
                          "description": "Type of fallback origin",
                          "enum": [
                            "dostorage",
                            "aws",
                            "wasabi",
                            "hetzner",
                            "backblaze",
                            "webfolder",
                            "gcs",
                            "azure",
                            "cloudflare",
                            "imgix",
                            "cloudinary",
                            "proxy",
                            "wordpress",
                            "linode"
                          ],
                          "x-apidog-enum": [
                            {
                              "value": "proxy",
                              "name": "",
                              "description": ""
                            }
                          ]
                        },
                        "replace_operation": {
                          "type": "object",
                          "properties": {
                            "from": {
                              "type": "string"
                            },
                            "to": {
                              "type": "string"
                            }
                          },
                          "x-apidog-orders": [
                            "from",
                            "to"
                          ]
                        },
                        "webfolder": {
                          "type": "object",
                          "description": "This is a required field if source type is webfolder.",
                          "properties": {
                            "base_url": {
                              "type": "string"
                            }
                          },
                          "x-apidog-orders": [
                            "base_url"
                          ]
                        },
                        "aws": {
                          "type": "object",
                          "description": "This is a required field if source type is aws.",
                          "required": [
                            "bucket_name",
                            "bucket_region",
                            "access_key",
                            "secret"
                          ],
                          "properties": {
                            "bucket_name": {
                              "type": "string"
                            },
                            "bucket_region": {
                              "type": "string"
                            },
                            "access_key": {
                              "type": "string"
                            },
                            "secret": {
                              "type": "string"
                            },
                            "base_path": {
                              "type": "string"
                            },
                            "endpoint": {
                              "type": "string"
                            }
                          },
                          "x-apidog-orders": [
                            "bucket_name",
                            "bucket_region",
                            "access_key",
                            "secret",
                            "base_path",
                            "endpoint"
                          ]
                        },
                        "proxy": {
                          "type": "object",
                          "description": "This is a required field if source type is proxy.",
                          "required": [
                            "whitelisted_domains"
                          ],
                          "properties": {
                            "whitelisted_domains": {
                              "type": "string"
                            }
                          },
                          "x-apidog-orders": [
                            "whitelisted_domains"
                          ]
                        },
                        "gcs": {
                          "type": "object",
                          "description": "This is a required field if source type is gcs.",
                          "required": [
                            "bucket_name",
                            "service_account_key"
                          ],
                          "properties": {
                            "bucket_name": {
                              "type": "string"
                            },
                            "service_account_key": {
                              "type": "string"
                            }
                          },
                          "x-apidog-orders": [
                            "bucket_name",
                            "service_account_key"
                          ]
                        },
                        "dostorage": {
                          "type": "object",
                          "description": "This is a required field if source type is dostorage.",
                          "required": [
                            "bucket_name",
                            "bucket_region",
                            "access_key",
                            "secret"
                          ],
                          "properties": {
                            "bucket_name": {
                              "type": "string"
                            },
                            "bucket_region": {
                              "type": "string"
                            },
                            "access_key": {
                              "type": "string"
                            },
                            "secret": {
                              "type": "string"
                            },
                            "base_path": {
                              "type": "string"
                            }
                          },
                          "x-apidog-orders": [
                            "bucket_name",
                            "bucket_region",
                            "access_key",
                            "secret",
                            "base_path"
                          ]
                        },
                        "wasabi": {
                          "type": "object",
                          "description": "This is a required field if source type is wasabi.",
                          "required": [
                            "bucket_name",
                            "bucket_region",
                            "access_key",
                            "secret"
                          ],
                          "properties": {
                            "bucket_name": {
                              "type": "string"
                            },
                            "bucket_region": {
                              "type": "string"
                            },
                            "access_key": {
                              "type": "string"
                            },
                            "secret": {
                              "type": "string"
                            },
                            "base_path": {
                              "type": "string"
                            }
                          },
                          "x-apidog-orders": [
                            "bucket_name",
                            "bucket_region",
                            "access_key",
                            "secret",
                            "base_path"
                          ]
                        },
                        "linode": {
                          "type": "object",
                          "description": "This is a required field if source type is linode.",
                          "required": [
                            "bucket_name",
                            "bucket_region",
                            "access_key",
                            "secret"
                          ],
                          "properties": {
                            "bucket_name": {
                              "type": "string"
                            },
                            "bucket_region": {
                              "type": "string"
                            },
                            "access_key": {
                              "type": "string"
                            },
                            "secret": {
                              "type": "string"
                            }
                          },
                          "x-apidog-orders": [
                            "bucket_name",
                            "bucket_region",
                            "access_key",
                            "secret"
                          ]
                        },
                        "backblaze": {
                          "type": "object",
                          "description": "This is a required field if source type is backblaze.",
                          "required": [
                            "bucket_name",
                            "access_key",
                            "secret"
                          ],
                          "properties": {
                            "bucket_name": {
                              "type": "string"
                            },
                            "bucket_region": {
                              "type": "string",
                              "description": "bucket_region or endpoint"
                            },
                            "endpoint": {
                              "type": "string",
                              "description": "bucket_region or endpoint"
                            },
                            "access_key": {
                              "type": "string"
                            },
                            "secret": {
                              "type": "string"
                            },
                            "base_path": {
                              "type": "string"
                            }
                          },
                          "x-apidog-orders": [
                            "bucket_name",
                            "bucket_region",
                            "endpoint",
                            "access_key",
                            "secret",
                            "base_path"
                          ]
                        },
                        "cloudflare": {
                          "type": "object",
                          "description": "This is a required field if source type is cloudflare.",
                          "required": [
                            "bucket_name",
                            "access_key",
                            "account_id",
                            "secret"
                          ],
                          "properties": {
                            "bucket_name": {
                              "type": "string"
                            },
                            "access_key": {
                              "type": "string"
                            },
                            "account_id": {
                              "type": "string"
                            },
                            "secret": {
                              "type": "string"
                            },
                            "base_path": {
                              "type": "string"
                            }
                          },
                          "x-apidog-orders": [
                            "bucket_name",
                            "access_key",
                            "account_id",
                            "secret",
                            "base_path"
                          ]
                        },
                        "cloudinary": {
                          "type": "object",
                          "description": "This is a required field if source type is cloudinary.",
                          "required": [
                            "host_name",
                            "cloud_name"
                          ],
                          "properties": {
                            "host_name": {
                              "type": "string"
                            },
                            "cloud_name": {
                              "type": "string"
                            }
                          },
                          "x-apidog-orders": [
                            "host_name",
                            "cloud_name"
                          ]
                        },
                        "azure": {
                          "type": "object",
                          "description": "This is a required field if source type is azure.",
                          "required": [
                            "azure_account_name",
                            "azure_container_name",
                            "azure_shared_token",
                            "azure_path"
                          ],
                          "properties": {
                            "azure_account_name": {
                              "type": "string"
                            },
                            "azure_container_name": {
                              "type": "string"
                            },
                            "azure_shared_token": {
                              "type": "string"
                            },
                            "azure_path": {
                              "type": "string"
                            }
                          },
                          "x-apidog-orders": [
                            "azure_account_name",
                            "azure_container_name",
                            "azure_shared_token",
                            "azure_path"
                          ]
                        }
                      },
                      "x-apidog-orders": [
                        "conditions",
                        "name",
                        "replace_operation",
                        "type",
                        "webfolder",
                        "aws",
                        "proxy",
                        "gcs",
                        "dostorage",
                        "wasabi",
                        "linode",
                        "backblaze",
                        "cloudflare",
                        "cloudinary",
                        "azure"
                      ],
                      "required": [
                        "conditions",
                        "name",
                        "type",
                        "replace_operation"
                      ]
                    },
                    "description": "List of fallback origins"
                  }
                },
                "x-apidog-orders": [
                  "type",
                  "webfolder",
                  "aws",
                  "proxy",
                  "gcs",
                  "dostorage",
                  "wasabi",
                  "linode",
                  "backblaze",
                  "cloudflare",
                  "cloudinary",
                  "azure",
                  "default_params",
                  "error_image",
                  "request_headers",
                  "response_headers",
                  "temp_cname",
                  "browser_cache_time",
                  "cdn_cache_time",
                  "is_active",
                  "cname",
                  "fallback_origins"
                ]
              },
              "examples": {
                "Request Example": {
                  "value": {
                    "default_profile_id": "646df1c9173a4a2fcac180b7",
                    "name": "awsrename",
                    "type": "aws",
                    "aws": {
                      "bucket_name": "my-bucket-test",
                      "bucket_region": "ap-southeast-1",
                      "access_key": "BQUA6QFXVWHAAB6IO2X1",
                      "secret": "aws_secret"
                    }
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "200",
            "content": {
              "application/json": {
                "examples": {
                  "Result": {
                    "value": {
                      "id": "653cc238411da17d32d9aefc",
                      "namespace": "gumlet-blog-content",
                      "type": "webfolder",
                      "cdn_type": "third_party",
                      "cdn_cache_time": 8640000,
                      "canonical_url": true,
                      "browser_cache_time": 8640000,
                      "is_cloudfront": false,
                      "created_at": "2023-10-28T08:11:36.943Z",
                      "updated_at": "2026-08-19T03:50:26.098Z",
                      "webfolder": {
                        "base_url": "https://www.gumlet.co"
                      },
                      "default_params": {
                        "format": "auto",
                        "compress": "true"
                      },
                      "subdomain": "gumlet-blog-content.gumlet.io",
                      "is_active": true
                    }
                  }
                },
                "schema": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string"
                    },
                    "namespace": {
                      "type": "string"
                    },
                    "type": {
                      "type": "string",
                      "enum": [
                        "dostorage",
                        "aws",
                        "wasabi",
                        "hetzner",
                        "backblaze",
                        "webfolder",
                        "gcs",
                        "azure",
                        "cloudflare",
                        "imgix",
                        "cloudinary",
                        "proxy",
                        "wordpress",
                        "linode"
                      ],
                      "x-apidog-enum": [
                        {
                          "value": "proxy",
                          "name": "",
                          "description": ""
                        }
                      ]
                    },
                    "cdn_type": {
                      "type": "string"
                    },
                    "cdn_cache_time": {
                      "type": "integer"
                    },
                    "canonical_url": {
                      "type": "boolean"
                    },
                    "browser_cache_time": {
                      "type": "integer"
                    },
                    "is_cloudfront": {
                      "type": "boolean"
                    },
                    "created_at": {
                      "type": "string"
                    },
                    "updated_at": {
                      "type": "string"
                    },
                    "webfolder": {
                      "type": "object",
                      "description": "This is a required field if source type is webfolder.",
                      "properties": {
                        "base_url": {
                          "type": "string"
                        }
                      },
                      "x-apidog-orders": [
                        "base_url"
                      ]
                    },
                    "aws": {
                      "type": "object",
                      "description": "This is a required field if source type is aws.",
                      "required": [
                        "bucket_name",
                        "bucket_region",
                        "access_key",
                        "secret"
                      ],
                      "properties": {
                        "bucket_name": {
                          "type": "string"
                        },
                        "bucket_region": {
                          "type": "string"
                        },
                        "access_key": {
                          "type": "string"
                        },
                        "secret": {
                          "type": "string"
                        },
                        "base_path": {
                          "type": "string"
                        },
                        "endpoint": {
                          "type": "string"
                        }
                      },
                      "x-apidog-orders": [
                        "bucket_name",
                        "bucket_region",
                        "access_key",
                        "secret",
                        "base_path",
                        "endpoint"
                      ]
                    },
                    "proxy": {
                      "type": "object",
                      "description": "This is a required field if source type is proxy.",
                      "required": [
                        "whitelisted_domains"
                      ],
                      "properties": {
                        "whitelisted_domains": {
                          "type": "string"
                        }
                      },
                      "x-apidog-orders": [
                        "whitelisted_domains"
                      ]
                    },
                    "fallback_origins": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "name": {
                            "type": "string"
                          },
                          "type": {
                            "type": "string",
                            "enum": [
                              "dostorage",
                              "aws",
                              "wasabi",
                              "hetzner",
                              "backblaze",
                              "webfolder",
                              "gcs",
                              "azure",
                              "cloudflare",
                              "imgix",
                              "cloudinary",
                              "proxy",
                              "wordpress",
                              "linode"
                            ],
                            "x-apidog-enum": [
                              {
                                "value": "proxy",
                                "name": "",
                                "description": ""
                              }
                            ]
                          },
                          "conditions": {
                            "type": "array",
                            "items": {
                              "type": "string"
                            }
                          },
                          "replace_operation": {
                            "type": "object",
                            "properties": {
                              "from": {
                                "type": "string"
                              },
                              "to": {
                                "type": "string"
                              }
                            },
                            "x-apidog-orders": [
                              "from",
                              "to"
                            ]
                          },
                          "webfolder": {
                            "type": "object",
                            "description": "This is a required field if source type is webfolder.",
                            "properties": {
                              "base_url": {
                                "type": "string"
                              }
                            },
                            "x-apidog-orders": [
                              "base_url"
                            ]
                          },
                          "aws": {
                            "type": "object",
                            "description": "This is a required field if source type is aws.",
                            "required": [
                              "bucket_name",
                              "bucket_region",
                              "access_key",
                              "secret"
                            ],
                            "properties": {
                              "bucket_name": {
                                "type": "string"
                              },
                              "bucket_region": {
                                "type": "string"
                              },
                              "access_key": {
                                "type": "string"
                              },
                              "secret": {
                                "type": "string"
                              },
                              "base_path": {
                                "type": "string"
                              },
                              "endpoint": {
                                "type": "string"
                              }
                            },
                            "x-apidog-orders": [
                              "bucket_name",
                              "bucket_region",
                              "access_key",
                              "secret",
                              "base_path",
                              "endpoint"
                            ]
                          },
                          "proxy": {
                            "type": "object",
                            "description": "This is a required field if source type is proxy.",
                            "required": [
                              "whitelisted_domains"
                            ],
                            "properties": {
                              "whitelisted_domains": {
                                "type": "string"
                              }
                            },
                            "x-apidog-orders": [
                              "whitelisted_domains"
                            ]
                          },
                          "gcs": {
                            "type": "object",
                            "description": "This is a required field if source type is gcs.",
                            "required": [
                              "bucket_name",
                              "service_account_key"
                            ],
                            "properties": {
                              "bucket_name": {
                                "type": "string"
                              },
                              "service_account_key": {
                                "type": "string"
                              }
                            },
                            "x-apidog-orders": [
                              "bucket_name",
                              "service_account_key"
                            ]
                          },
                          "dostorage": {
                            "type": "object",
                            "description": "This is a required field if source type is dostorage.",
                            "required": [
                              "bucket_name",
                              "bucket_region",
                              "access_key",
                              "secret"
                            ],
                            "properties": {
                              "bucket_name": {
                                "type": "string"
                              },
                              "bucket_region": {
                                "type": "string"
                              },
                              "access_key": {
                                "type": "string"
                              },
                              "secret": {
                                "type": "string"
                              },
                              "base_path": {
                                "type": "string"
                              }
                            },
                            "x-apidog-orders": [
                              "bucket_name",
                              "bucket_region",
                              "access_key",
                              "secret",
                              "base_path"
                            ]
                          },
                          "wasabi": {
                            "type": "object",
                            "description": "This is a required field if source type is wasabi.",
                            "required": [
                              "bucket_name",
                              "bucket_region",
                              "access_key",
                              "secret"
                            ],
                            "properties": {
                              "bucket_name": {
                                "type": "string"
                              },
                              "bucket_region": {
                                "type": "string"
                              },
                              "access_key": {
                                "type": "string"
                              },
                              "secret": {
                                "type": "string"
                              },
                              "base_path": {
                                "type": "string"
                              }
                            },
                            "x-apidog-orders": [
                              "bucket_name",
                              "bucket_region",
                              "access_key",
                              "secret",
                              "base_path"
                            ]
                          },
                          "linode": {
                            "type": "object",
                            "description": "This is a required field if source type is linode.",
                            "required": [
                              "bucket_name",
                              "bucket_region",
                              "access_key",
                              "secret"
                            ],
                            "properties": {
                              "bucket_name": {
                                "type": "string"
                              },
                              "bucket_region": {
                                "type": "string"
                              },
                              "access_key": {
                                "type": "string"
                              },
                              "secret": {
                                "type": "string"
                              }
                            },
                            "x-apidog-orders": [
                              "bucket_name",
                              "bucket_region",
                              "access_key",
                              "secret"
                            ]
                          },
                          "backblaze": {
                            "type": "object",
                            "description": "This is a required field if source type is backblaze.",
                            "required": [
                              "bucket_name",
                              "access_key",
                              "secret"
                            ],
                            "properties": {
                              "bucket_name": {
                                "type": "string"
                              },
                              "bucket_region": {
                                "type": "string",
                                "description": "bucket_region or endpoint"
                              },
                              "endpoint": {
                                "type": "string",
                                "description": "bucket_region or endpoint"
                              },
                              "access_key": {
                                "type": "string"
                              },
                              "secret": {
                                "type": "string"
                              },
                              "base_path": {
                                "type": "string"
                              }
                            },
                            "x-apidog-orders": [
                              "bucket_name",
                              "bucket_region",
                              "endpoint",
                              "access_key",
                              "secret",
                              "base_path"
                            ]
                          },
                          "cloudflare": {
                            "type": "object",
                            "description": "This is a required field if source type is cloudflare.",
                            "required": [
                              "bucket_name",
                              "access_key",
                              "account_id",
                              "secret"
                            ],
                            "properties": {
                              "bucket_name": {
                                "type": "string"
                              },
                              "access_key": {
                                "type": "string"
                              },
                              "account_id": {
                                "type": "string"
                              },
                              "secret": {
                                "type": "string"
                              },
                              "base_path": {
                                "type": "string"
                              }
                            },
                            "x-apidog-orders": [
                              "bucket_name",
                              "access_key",
                              "account_id",
                              "secret",
                              "base_path"
                            ]
                          },
                          "cloudinary": {
                            "type": "object",
                            "description": "This is a required field if source type is cloudinary.",
                            "required": [
                              "host_name",
                              "cloud_name"
                            ],
                            "properties": {
                              "host_name": {
                                "type": "string"
                              },
                              "cloud_name": {
                                "type": "string"
                              }
                            },
                            "x-apidog-orders": [
                              "host_name",
                              "cloud_name"
                            ]
                          },
                          "azure": {
                            "type": "object",
                            "description": "This is a required field if source type is azure.",
                            "required": [
                              "azure_account_name",
                              "azure_container_name",
                              "azure_shared_token",
                              "azure_path"
                            ],
                            "properties": {
                              "azure_account_name": {
                                "type": "string"
                              },
                              "azure_container_name": {
                                "type": "string"
                              },
                              "azure_shared_token": {
                                "type": "string"
                              },
                              "azure_path": {
                                "type": "string"
                              }
                            },
                            "x-apidog-orders": [
                              "azure_account_name",
                              "azure_container_name",
                              "azure_shared_token",
                              "azure_path"
                            ]
                          },
                          "_id": {
                            "type": "string"
                          },
                          "hetzner": {
                            "type": "object",
                            "properties": {},
                            "x-apidog-orders": []
                          },
                          "imgix": {
                            "type": "object",
                            "properties": {},
                            "x-apidog-orders": []
                          }
                        },
                        "x-apidog-orders": [
                          "name",
                          "type",
                          "conditions",
                          "replace_operation",
                          "webfolder",
                          "aws",
                          "proxy",
                          "gcs",
                          "dostorage",
                          "wasabi",
                          "linode",
                          "backblaze",
                          "cloudflare",
                          "cloudinary",
                          "azure",
                          "hetzner",
                          "imgix",
                          "_id"
                        ],
                        "required": [
                          "name",
                          "type"
                        ]
                      }
                    },
                    "gcs": {
                      "type": "object",
                      "description": "This is a required field if source type is gcs.",
                      "required": [
                        "bucket_name",
                        "service_account_key"
                      ],
                      "properties": {
                        "bucket_name": {
                          "type": "string"
                        },
                        "service_account_key": {
                          "type": "string"
                        }
                      },
                      "x-apidog-orders": [
                        "bucket_name",
                        "service_account_key"
                      ]
                    },
                    "dostorage": {
                      "type": "object",
                      "description": "This is a required field if source type is dostorage.",
                      "required": [
                        "bucket_name",
                        "bucket_region",
                        "access_key",
                        "secret"
                      ],
                      "properties": {
                        "bucket_name": {
                          "type": "string"
                        },
                        "bucket_region": {
                          "type": "string"
                        },
                        "access_key": {
                          "type": "string"
                        },
                        "secret": {
                          "type": "string"
                        },
                        "base_path": {
                          "type": "string"
                        }
                      },
                      "x-apidog-orders": [
                        "bucket_name",
                        "bucket_region",
                        "access_key",
                        "secret",
                        "base_path"
                      ]
                    },
                    "wasabi": {
                      "type": "object",
                      "description": "This is a required field if source type is wasabi.",
                      "required": [
                        "bucket_name",
                        "bucket_region",
                        "access_key",
                        "secret"
                      ],
                      "properties": {
                        "bucket_name": {
                          "type": "string"
                        },
                        "bucket_region": {
                          "type": "string"
                        },
                        "access_key": {
                          "type": "string"
                        },
                        "secret": {
                          "type": "string"
                        },
                        "base_path": {
                          "type": "string"
                        }
                      },
                      "x-apidog-orders": [
                        "bucket_name",
                        "bucket_region",
                        "access_key",
                        "secret",
                        "base_path"
                      ]
                    },
                    "linode": {
                      "type": "object",
                      "description": "This is a required field if source type is linode.",
                      "required": [
                        "bucket_name",
                        "bucket_region",
                        "access_key",
                        "secret"
                      ],
                      "properties": {
                        "bucket_name": {
                          "type": "string"
                        },
                        "bucket_region": {
                          "type": "string"
                        },
                        "access_key": {
                          "type": "string"
                        },
                        "secret": {
                          "type": "string"
                        }
                      },
                      "x-apidog-orders": [
                        "bucket_name",
                        "bucket_region",
                        "access_key",
                        "secret"
                      ]
                    },
                    "backblaze": {
                      "type": "object",
                      "description": "This is a required field if source type is backblaze.",
                      "required": [
                        "bucket_name",
                        "access_key",
                        "secret"
                      ],
                      "properties": {
                        "bucket_name": {
                          "type": "string"
                        },
                        "bucket_region": {
                          "type": "string",
                          "description": "bucket_region or endpoint"
                        },
                        "endpoint": {
                          "type": "string",
                          "description": "bucket_region or endpoint"
                        },
                        "access_key": {
                          "type": "string"
                        },
                        "secret": {
                          "type": "string"
                        },
                        "base_path": {
                          "type": "string"
                        }
                      },
                      "x-apidog-orders": [
                        "bucket_name",
                        "bucket_region",
                        "endpoint",
                        "access_key",
                        "secret",
                        "base_path"
                      ]
                    },
                    "cloudflare": {
                      "type": "object",
                      "description": "This is a required field if source type is cloudflare.",
                      "required": [
                        "bucket_name",
                        "access_key",
                        "account_id",
                        "secret"
                      ],
                      "properties": {
                        "bucket_name": {
                          "type": "string"
                        },
                        "access_key": {
                          "type": "string"
                        },
                        "account_id": {
                          "type": "string"
                        },
                        "secret": {
                          "type": "string"
                        },
                        "base_path": {
                          "type": "string"
                        }
                      },
                      "x-apidog-orders": [
                        "bucket_name",
                        "access_key",
                        "account_id",
                        "secret",
                        "base_path"
                      ]
                    },
                    "cloudinary": {
                      "type": "object",
                      "description": "This is a required field if source type is cloudinary.",
                      "required": [
                        "host_name",
                        "cloud_name"
                      ],
                      "properties": {
                        "host_name": {
                          "type": "string"
                        },
                        "cloud_name": {
                          "type": "string"
                        }
                      },
                      "x-apidog-orders": [
                        "host_name",
                        "cloud_name"
                      ]
                    },
                    "azure": {
                      "type": "object",
                      "description": "This is a required field if source type is azure.",
                      "required": [
                        "azure_account_name",
                        "azure_container_name",
                        "azure_shared_token",
                        "azure_path"
                      ],
                      "properties": {
                        "azure_account_name": {
                          "type": "string"
                        },
                        "azure_container_name": {
                          "type": "string"
                        },
                        "azure_shared_token": {
                          "type": "string"
                        },
                        "azure_path": {
                          "type": "string"
                        }
                      },
                      "x-apidog-orders": [
                        "azure_account_name",
                        "azure_container_name",
                        "azure_shared_token",
                        "azure_path"
                      ]
                    },
                    "default_params": {
                      "type": "object",
                      "properties": {},
                      "x-apidog-orders": []
                    },
                    "request_headers": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {},
                        "x-apidog-orders": []
                      }
                    },
                    "subdomain": {
                      "type": "string"
                    },
                    "is_active": {
                      "type": "boolean"
                    },
                    "secure_urls": {
                      "type": "boolean"
                    },
                    "secure_token": {
                      "type": "string"
                    },
                    "response_headers": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {},
                        "x-apidog-orders": []
                      }
                    },
                    "imgix": {
                      "type": "object",
                      "properties": {},
                      "x-apidog-orders": []
                    }
                  },
                  "x-apidog-orders": [
                    "id",
                    "namespace",
                    "type",
                    "cdn_type",
                    "cdn_cache_time",
                    "canonical_url",
                    "browser_cache_time",
                    "is_cloudfront",
                    "created_at",
                    "updated_at",
                    "webfolder",
                    "aws",
                    "proxy",
                    "gcs",
                    "dostorage",
                    "wasabi",
                    "linode",
                    "backblaze",
                    "cloudflare",
                    "cloudinary",
                    "azure",
                    "imgix",
                    "default_params",
                    "request_headers",
                    "subdomain",
                    "is_active",
                    "secure_urls",
                    "secure_token",
                    "response_headers",
                    "fallback_origins"
                  ],
                  "required": [
                    "type"
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "examples": {
                  "Result": {
                    "value": {
                      "error": {
                        "code": "parameter_missing",
                        "message": "One or more required values are missing."
                      }
                    }
                  }
                },
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "code": {
                          "type": "string",
                          "example": "parameter_missing"
                        },
                        "message": {
                          "type": "string",
                          "example": "One or more required values are missing."
                        }
                      },
                      "required": [
                        "code",
                        "message"
                      ]
                    }
                  },
                  "required": [
                    "error"
                  ]
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "examples": {
                  "Result": {
                    "value": {
                      "error": {
                        "code": "source_not_found",
                        "message": "Could not find any image source with the specified source_id."
                      }
                    }
                  }
                },
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "code": {
                          "type": "string",
                          "example": "source_not_found"
                        },
                        "message": {
                          "type": "string",
                          "example": "Could not find any image source with the specified source_id."
                        }
                      },
                      "required": [
                        "code",
                        "message"
                      ]
                    }
                  },
                  "required": [
                    "error"
                  ]
                }
              }
            }
          }
        },
        "deprecated": false,
        "tags": [
          "Image Sources"
        ],
        "x-stoplight": {
          "id": "eik63l5w65q6w"
        },
        "x-codeSamples": [
          {
            "label": "TypeScript",
            "lang": "TypeScript",
            "source": "import Gumlet from '@gumlet/nodejs-sdk';\n\nconst client = new Gumlet({\n  apiKey: process.env['API_KEY'], // defaults to the API_KEY env var\n});\n\nconst imageSource = await client.imageSources.update('imageSourceId', {\n  type: 'aws',\n  aws: {\n    bucket_name: 'my-bucket-test',\n    bucket_region: 'ap-southeast-1',\n    access_key: 'BQUA6QFXVWHAAB6IO2X1',\n    secret: 'aws_secret',\n  },\n});\n\nconsole.log(imageSource);"
          },
          {
            "label": "Python",
            "lang": "Python",
            "source": "import os\n\nfrom gumlet import Gumlet\n\nclient = Gumlet(\n    api_key=os.environ.get(\"API_KEY\"),\n)\n\nimage_source = client.image_sources.update(\n    image_source_id=\"imageSourceId\",\n    type=\"aws\",\n    aws={\n        \"bucket_name\": \"my-bucket-test\",\n        \"bucket_region\": \"ap-southeast-1\",\n        \"access_key\": \"BQUA6QFXVWHAAB6IO2X1\",\n        \"secret\": \"aws_secret\",\n    },\n)\n\nprint(image_source)"
          }
        ]
      },
      "delete": {
        "summary": "Delete Source",
        "description": "This endpoint removes a image source. All image delivery using this subdomain will be stopped.",
        "operationId": "delete-source",
        "parameters": [
          {
            "name": "image_source_id",
            "description": "Image source ID to delete. You can get this on Gumlet dashboard or in list source API.",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "examples": {
                  "Result": {
                    "value": {}
                  }
                },
                "schema": {
                  "type": "object",
                  "properties": {}
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "examples": {
                  "Result": {
                    "value": {
                      "error": {
                        "code": "source_not_found",
                        "message": "Could not find any image source with the specified source_id."
                      }
                    }
                  }
                },
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "code": {
                          "type": "string",
                          "example": "source_not_found"
                        },
                        "message": {
                          "type": "string",
                          "example": "Could not find any image source with the specified source_id."
                        }
                      },
                      "required": [
                        "code",
                        "message"
                      ]
                    }
                  },
                  "required": [
                    "error"
                  ]
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "examples": {
                  "Result": {
                    "value": {
                      "error": {
                        "code": "source_not_found",
                        "message": "Could not find any image source with the specified source_id."
                      }
                    }
                  }
                },
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "code": {
                          "type": "string",
                          "example": "source_not_found"
                        },
                        "message": {
                          "type": "string",
                          "example": "Could not find any image source with the specified source_id."
                        }
                      },
                      "required": [
                        "code",
                        "message"
                      ]
                    }
                  },
                  "required": [
                    "error"
                  ]
                }
              }
            }
          }
        },
        "deprecated": false,
        "tags": [
          "Image Sources"
        ],
        "x-stoplight": {
          "id": "bbevpkv6hdvi3"
        },
        "x-codeSamples": [
          {
            "label": "TypeScript",
            "lang": "TypeScript",
            "source": "import Gumlet from '@gumlet/nodejs-sdk';\n\nconst client = new Gumlet({\n  apiKey: process.env['API_KEY'], // defaults to the API_KEY env var\n});\n\nconst imageSource = await client.imageSources.delete('imageSourceId');\n\nconsole.log(imageSource);"
          },
          {
            "label": "Python",
            "lang": "Python",
            "source": "import os\n\nfrom gumlet import Gumlet\n\nclient = Gumlet(\n    api_key=os.environ.get(\"API_KEY\"),\n)\n\nimage_source = client.image_sources.delete(\n    image_source_id=\"imageSourceId\",\n)\n\nprint(image_source)"
          }
        ]
      }
    },
    "/purge/{subdomain}": {
      "post": {
        "summary": "Purge Cache",
        "description": "You can purge cache for any image by using our cache purge API.",
        "operationId": "purge-image-cache",
        "parameters": [
          {
            "name": "subdomain",
            "in": "path",
            "description": "Subdomain is same subdomain you created while creating source. If you serve image from example.gumlet.com, please enter only 'example' for this parameter.",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "paths": {
                    "type": "array",
                    "description": "An array of path of images to purge. It should be provided without any query parameters.",
                    "items": {
                      "type": "string"
                    }
                  }
                }
              },
              "examples": {
                "Example 1": {
                  "value": {
                    "paths": [
                      "image.jpeg",
                      "image2.png"
                    ]
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "200",
            "content": {
              "application/json": {
                "examples": {
                  "Result": {
                    "value": {
                      "status": "pending"
                    }
                  }
                },
                "schema": {
                  "title": "",
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string"
                    }
                  },
                  "x-apidog-orders": [
                    "status"
                  ],
                  "required": [
                    "status"
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "examples": {
                  "Result": {
                    "value": {
                      "error": {
                        "code": "invalid_parameter_value",
                        "message": "The parameter value is invalid."
                      }
                    }
                  }
                },
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "code": {
                          "type": "string",
                          "example": "invalid_parameter_value"
                        },
                        "message": {
                          "type": "string",
                          "example": "The parameter value is invalid."
                        }
                      },
                      "required": [
                        "code",
                        "message"
                      ]
                    }
                  },
                  "required": [
                    "error"
                  ]
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          }
        },
        "deprecated": true,
        "tags": [
          "Image Sources"
        ],
        "x-codeSamples": [
          {
            "label": "TypeScript",
            "lang": "TypeScript",
            "source": "import Gumlet from '@gumlet/nodejs-sdk';\n\nconst client = new Gumlet({\n  apiKey: process.env['API_KEY'], // defaults to the API_KEY env var\n});\n\nconst imageSource = await client.imageSources.purgeCache('subdomain', {\n  paths: ['image.jpeg', 'image2.png'],\n});\n\nconsole.log(imageSource);"
          },
          {
            "label": "Python",
            "lang": "Python",
            "source": "import os\n\nfrom gumlet import Gumlet\n\nclient = Gumlet(\n    api_key=os.environ.get(\"API_KEY\"),\n)\n\nimage_source = client.image_sources.purge_cache(\n    subdomain=\"subdomain\",\n    paths=[\"image.jpeg\", \"image2.png\"],\n)\n\nprint(image_source)"
          }
        ]
      }
    },
    "/image/analytics": {
      "post": {
        "summary": "Image Usage Analytics",
        "description": "This endpoint helps you get image analytics data like bandwidth consumption, request count, CDN hit ratio, etc.",
        "operationId": "retrieve-image-analytics",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "metrics",
                  "date_range"
                ],
                "properties": {
                  "metrics": {
                    "type": "array",
                    "items": {
                      "type": "string",
                      "enum": [
                        "bandwidth_consumption",
                        "requests_count",
                        "transformations_count",
                        "bandwidth_savings",
                        "origin_hit_rate",
                        "avg_transformation_response_time",
                        "status_4xx",
                        "status_5xx",
                        "cdn_hit_rate",
                        "content_type",
                        "status_2xx",
                        "avg_response_time",
                        "top_assets",
                        "bandwidth_consumption_by_source",
                        "ai_credit_usage"
                      ],
                      "x-apidog-enum": [
                        {
                          "value": "bandwidth_consumption",
                          "name": "",
                          "description": ""
                        },
                        {
                          "value": "requests_count",
                          "name": "",
                          "description": ""
                        },
                        {
                          "value": "transformations_count",
                          "name": "",
                          "description": ""
                        },
                        {
                          "value": "bandwidth_savings",
                          "name": "",
                          "description": ""
                        },
                        {
                          "value": "origin_hit_rate",
                          "name": "",
                          "description": ""
                        },
                        {
                          "value": "avg_transformation_response_time",
                          "name": "",
                          "description": ""
                        },
                        {
                          "value": "status_4xx",
                          "name": "",
                          "description": ""
                        },
                        {
                          "value": "status_5xx",
                          "name": "",
                          "description": ""
                        },
                        {
                          "value": "cdn_hit_rate",
                          "name": "",
                          "description": ""
                        },
                        {
                          "value": "content_type",
                          "name": "",
                          "description": ""
                        },
                        {
                          "value": "status_2xx",
                          "name": "",
                          "description": ""
                        },
                        {
                          "value": "avg_response_time",
                          "name": "",
                          "description": ""
                        },
                        {
                          "value": "top_assets",
                          "name": "",
                          "description": ""
                        },
                        {
                          "value": "bandwidth_consumption_by_source",
                          "name": "",
                          "description": ""
                        },
                        {
                          "value": "ai_credit_usage",
                          "name": "",
                          "description": ""
                        }
                      ]
                    },
                    "description": "Define the metric you need the data for. Currently we support `bandwidth_consumption`, `requests_count`, `status_4xx`, `status_5xx`, and `avg_response_time`."
                  },
                  "date_range": {
                    "type": "object",
                    "description": "The timeframe to get the data for. Currently we only support a maximum of 30 days between `start_at` and `end_at`.",
                    "properties": {
                      "start_at": {
                        "type": "string",
                        "description": "The starting date to consider",
                        "format": "date"
                      },
                      "end_at": {
                        "type": "string",
                        "description": "The ending date to consider",
                        "format": "date"
                      }
                    },
                    "x-apidog-orders": [
                      "start_at",
                      "end_at"
                    ],
                    "required": [
                      "start_at",
                      "end_at"
                    ]
                  },
                  "group_by": {
                    "type": "string",
                    "enum": [
                      "daily",
                      "weekly",
                      "monthly",
                      "hourly"
                    ],
                    "x-apidog-enum": [
                      {
                        "value": "daily",
                        "name": "",
                        "description": ""
                      },
                      {
                        "value": "weekly",
                        "name": "",
                        "description": ""
                      },
                      {
                        "value": "monthly",
                        "name": "",
                        "description": ""
                      },
                      {
                        "value": "hourly",
                        "name": "",
                        "description": ""
                      }
                    ],
                    "default": "daily"
                  },
                  "filters": {
                    "type": "object",
                    "properties": {
                      "source_id": {
                        "type": "string",
                        "description": "Source ID"
                      }
                    },
                    "x-apidog-orders": [
                      "source_id"
                    ]
                  }
                },
                "x-apidog-orders": [
                  "metrics",
                  "date_range",
                  "group_by",
                  "filters"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "200",
            "content": {
              "application/json": {
                "examples": {},
                "schema": {
                  "type": "object",
                  "properties": {
                    "bandwidth_consumption": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "units": {
                            "type": "number",
                            "description": "Value of bandwidth consumption in bytes."
                          },
                          "timestamp": {
                            "type": "number",
                            "description": "Seconds since epoch for the unit given."
                          }
                        },
                        "x-apidog-orders": [
                          "units",
                          "timestamp"
                        ],
                        "required": [
                          "units",
                          "timestamp"
                        ]
                      }
                    },
                    "requests_count": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "units": {
                            "type": "number",
                            "description": "Count of requests."
                          },
                          "timestamp": {
                            "type": "number",
                            "description": "Seconds since epoch for the unit given."
                          }
                        },
                        "x-apidog-orders": [
                          "units",
                          "timestamp"
                        ],
                        "required": [
                          "units",
                          "timestamp"
                        ]
                      }
                    },
                    "status_2xx": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "units": {
                            "type": "number",
                            "description": "Value between 0 and 1 depicting percentage of 2xx requests.",
                            "format": "float",
                            "minimum": 0,
                            "maximum": 1
                          },
                          "timestamp": {
                            "type": "number",
                            "description": "Seconds since epoch for the unit given."
                          }
                        },
                        "x-apidog-orders": [
                          "units",
                          "timestamp"
                        ],
                        "required": [
                          "units",
                          "timestamp"
                        ]
                      }
                    },
                    "status_4xx": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "units": {
                            "type": "number",
                            "description": "Value between 0 and 1 depicting percentage of 4xx requests.",
                            "format": "float",
                            "minimum": 0,
                            "maximum": 1
                          },
                          "timestamp": {
                            "type": "number",
                            "description": "Seconds since epoch for the unit given."
                          }
                        },
                        "x-apidog-orders": [
                          "units",
                          "timestamp"
                        ],
                        "required": [
                          "units",
                          "timestamp"
                        ]
                      }
                    },
                    "status_5xx": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "units": {
                            "type": "number",
                            "description": "Value between 0 and 1 depicting percentage of 5xx requests.",
                            "format": "float",
                            "minimum": 0,
                            "maximum": 1
                          },
                          "timestamp": {
                            "type": "number",
                            "description": "Seconds since epoch for the unit given."
                          }
                        },
                        "x-apidog-orders": [
                          "units",
                          "timestamp"
                        ],
                        "required": [
                          "units",
                          "timestamp"
                        ]
                      }
                    },
                    "avg_response_time": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "units": {
                            "type": "number",
                            "description": "Response time in seconds.",
                            "format": "float",
                            "minimum": 0
                          },
                          "timestamp": {
                            "type": "number",
                            "description": "Seconds since epoch for the unit given."
                          }
                        },
                        "x-apidog-orders": [
                          "units",
                          "timestamp"
                        ],
                        "required": [
                          "units",
                          "timestamp"
                        ]
                      }
                    },
                    "cdn_hit_rate": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "units": {
                            "type": "number",
                            "description": "Number between 0 and 1 depicting CDN hit ratio percentage.",
                            "format": "float",
                            "minimum": 0,
                            "maximum": 1
                          },
                          "timestamp": {
                            "type": "number",
                            "description": "Seconds since epoch for the unit given."
                          }
                        },
                        "x-apidog-orders": [
                          "units",
                          "timestamp"
                        ],
                        "required": [
                          "units",
                          "timestamp"
                        ]
                      }
                    },
                    "transformations_count": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "units": {
                            "type": "number",
                            "description": "Number of transformations"
                          },
                          "timestamp": {
                            "type": "number",
                            "description": "Seconds since epoch for the unit given."
                          }
                        },
                        "x-apidog-orders": [
                          "units",
                          "timestamp"
                        ],
                        "required": [
                          "units",
                          "timestamp"
                        ]
                      }
                    },
                    "origin_hit_rate": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "units": {
                            "type": "number",
                            "description": "Number between 0 and 1 depicting Origin Cache hit ratio.",
                            "format": "float",
                            "minimum": 0,
                            "maximum": 1
                          },
                          "timestamp": {
                            "type": "number",
                            "description": "Seconds since epoch for the unit given."
                          }
                        },
                        "x-apidog-orders": [
                          "units",
                          "timestamp"
                        ],
                        "required": [
                          "units",
                          "timestamp"
                        ]
                      }
                    },
                    "avg_transformation_response_time": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "timestamp": {
                            "type": "number",
                            "description": "Seconds since epoch for the unit given."
                          },
                          "fetch_time": {
                            "type": "number",
                            "description": "Seconds it took to fetch image from origin",
                            "format": "float",
                            "minimum": 0
                          },
                          "response_time": {
                            "type": "number",
                            "format": "float",
                            "description": "Seconds it took to prepare final image and send response."
                          }
                        },
                        "x-apidog-orders": [
                          "fetch_time",
                          "timestamp",
                          "response_time"
                        ],
                        "required": [
                          "fetch_time",
                          "timestamp",
                          "response_time"
                        ]
                      }
                    },
                    "content_type": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "avif": {
                            "type": "integer",
                            "description": "Total count of AVIF images delivered"
                          },
                          "png": {
                            "type": "integer",
                            "description": "Total count of PNG images delivered"
                          },
                          "jpeg": {
                            "type": "integer",
                            "description": "Total count of JPEG images delivered"
                          },
                          "gif": {
                            "type": "integer",
                            "description": "Total count of GIF images delivered"
                          },
                          "webp": {
                            "type": "integer",
                            "description": "Total count of WEBP images delivered"
                          },
                          "jxl": {
                            "type": "integer",
                            "description": "Total count of JPEG-XL images delivered"
                          },
                          "mp4": {
                            "type": "integer",
                            "description": "Total count of MP4 videos delivered"
                          },
                          "timestamp": {
                            "type": "integer",
                            "description": "Seconds since epoch."
                          }
                        },
                        "x-apidog-orders": [
                          "avif",
                          "png",
                          "jpeg",
                          "gif",
                          "webp",
                          "jxl",
                          "mp4",
                          "timestamp"
                        ],
                        "required": [
                          "avif",
                          "png",
                          "jpeg",
                          "gif",
                          "webp",
                          "jxl",
                          "mp4",
                          "timestamp"
                        ]
                      }
                    },
                    "bandwidth_savings": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "units": {
                            "type": "number",
                            "format": "float",
                            "minimum": 0,
                            "maximum": 1,
                            "description": "Number between 0 and 1 depicting bandwidth savings percentage."
                          },
                          "timestamp": {
                            "type": "integer",
                            "description": "Timestamp of data point in seconds since epoch."
                          }
                        },
                        "x-apidog-orders": [
                          "units",
                          "timestamp"
                        ],
                        "required": [
                          "timestamp",
                          "units"
                        ]
                      }
                    },
                    "bandwidth_consumption_by_source": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "bytes": {
                            "type": "number",
                            "description": "Bandwidth usage by the source."
                          },
                          "domain": {
                            "type": "string",
                            "description": "Domain name of the source."
                          }
                        },
                        "x-apidog-orders": [
                          "bytes",
                          "domain"
                        ],
                        "required": [
                          "bytes",
                          "domain"
                        ]
                      }
                    },
                    "ai_credit_usage": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "timestamp": {
                            "type": "integer",
                            "description": "Timestamp of data point in seconds since epoch."
                          },
                          "bg_removal": {
                            "type": "integer",
                            "description": "Background removal credits used."
                          },
                          "shadow_gen": {
                            "type": "integer",
                            "description": "Shadow generation credits used."
                          }
                        },
                        "x-apidog-orders": [
                          "timestamp",
                          "shadow_gen",
                          "bg_removal"
                        ],
                        "required": [
                          "timestamp"
                        ]
                      }
                    }
                  },
                  "x-apidog-orders": [
                    "bandwidth_consumption",
                    "requests_count",
                    "status_2xx",
                    "status_4xx",
                    "status_5xx",
                    "avg_response_time",
                    "cdn_hit_rate",
                    "transformations_count",
                    "origin_hit_rate",
                    "avg_transformation_response_time",
                    "content_type",
                    "bandwidth_savings",
                    "bandwidth_consumption_by_source",
                    "ai_credit_usage"
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "examples": {
                  "Result": {
                    "value": {
                      "error": {
                        "code": "image_source_not_found",
                        "message": "Could not find any image source with the specified source_id."
                      }
                    }
                  }
                },
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "code": {
                          "type": "string",
                          "example": "image_source_not_found"
                        },
                        "message": {
                          "type": "string",
                          "example": "Could not find any image source with the specified source_id."
                        }
                      },
                      "required": [
                        "code",
                        "message"
                      ]
                    }
                  },
                  "required": [
                    "error"
                  ]
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          }
        },
        "deprecated": false,
        "tags": [
          "Image Usage Analytics"
        ],
        "x-codeSamples": [
          {
            "label": "TypeScript",
            "lang": "TypeScript",
            "source": "import Gumlet from '@gumlet/nodejs-sdk';\n\nconst client = new Gumlet({\n  apiKey: process.env['API_KEY'], // defaults to the API_KEY env var\n});\n\nconst imageUsageAnalytic = await client.imageUsageAnalytics.retrieve({\n  metrics: ['bandwidth_consumption'],\n  date_range: {\n    start_at: '2024-01-01',\n    end_at: '2024-01-01',\n  },\n  group_by: 'daily',\n});\n\nconsole.log(imageUsageAnalytic);"
          },
          {
            "label": "Python",
            "lang": "Python",
            "source": "import os\n\nfrom gumlet import Gumlet\n\nclient = Gumlet(\n    api_key=os.environ.get(\"API_KEY\"),\n)\n\nimage_usage_analytic = client.image_usage_analytics.retrieve(\n    metrics=[\"bandwidth_consumption\"],\n    date_range={\"start_at\": \"2024-01-01\", \"end_at\": \"2024-01-01\"},\n    group_by=\"daily\",\n)\n\nprint(image_usage_analytic)"
          }
        ]
      }
    },
    "/video/live/assets": {
      "post": {
        "summary": "Create Live Asset",
        "description": "A live asset refers to media content/video that is live-streamed through Gumlet. This endpoint creates a live streaming asset allowing users to live stream a video that will be pushed to Gumlet.",
        "operationId": "create-live-asset",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "live_source_id",
                  "resolution"
                ],
                "properties": {
                  "live_source_id": {
                    "type": "string",
                    "description": "Gumlet live video source/collection id."
                  },
                  "resolution": {
                    "type": "string",
                    "description": "Required resolutions in HLS delivery format for live stream. Can be an array of string out of the following values: `240p`, `360p`, `480p`, `540p`, `720p`, and `1080p`. Resized rendition will retain the input aspect ratio."
                  },
                  "title": {
                    "type": "string",
                    "description": "Your live stream asset title"
                  },
                  "mp4_access": {
                    "type": "boolean",
                    "description": "Creates <code>MP4</code> version for download purpose."
                  },
                  "orientation": {
                    "type": "string",
                    "enum": [
                      "landscape",
                      "potrait"
                    ]
                  },
                  "start_at": {
                    "type": "string",
                    "format": "date-time"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "200",
            "content": {
              "application/json": {
                "examples": {
                  "Result": {
                    "value": {
                      "status": "created",
                      "stream_key": "68c3da5947f9ad0c0d513fe3",
                      "live_asset_id": "68c3da5947f9ad0c0d513fe2",
                      "live_video_source_id": "67e4ecea403562dbea654269",
                      "input": {
                        "resolution": [
                          "360p",
                          "480p",
                          "720p",
                          "240p",
                          "1080p"
                        ],
                        "title": "gumlet-stream"
                      },
                      "stream_url": "rtmp://44.245.28.195:1935/app/68c3da5947f9ad0c0d513fe3",
                      "output": {
                        "playback_url": "https://stream.gumlet.io/67e4ecea403562dbea654269/68c3da5947f9ad0c0d513fe2/main.m3u8",
                        "recording_playback_url": "https://video.gumlet.io/6867815b6410daa283f85532/68c3da5947f9ad0c0d513fe4/main.m3u8",
                        "recording_dash_playback_url": "https://video.gumlet.io/6867815b6410daa283f85532/68c3da5947f9ad0c0d513fe4/main.mpd"
                      },
                      "vod_asset_id": "68c3da5947f9ad0c0d513fe4",
                      "created_at": 1757665882451,
                      "updated_at": 1757665882451
                    }
                  }
                },
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "created"
                    },
                    "stream_key": {
                      "type": "string",
                      "example": "619231610822a81d955d22f4"
                    },
                    "live_asset_id": {
                      "type": "string",
                      "example": "619231610822a81d955d22f3"
                    },
                    "live_video_source_id": {
                      "type": "string",
                      "example": "6165247368d80232d28d4379"
                    },
                    "input": {
                      "type": "object",
                      "properties": {
                        "resolution": {
                          "type": "array",
                          "items": {
                            "type": "string",
                            "example": "720p"
                          }
                        },
                        "title": {
                          "type": "string"
                        }
                      }
                    },
                    "stream_url": {
                      "type": "string",
                      "example": "rtmp://livestream-ingest.gumlet.io:1935/app/619231610822a81d955d22f4"
                    },
                    "output": {
                      "type": "object",
                      "properties": {
                        "playback_url": {
                          "type": "string",
                          "example": "https://video.gumlet.io/6165247368d80232d28d4379/619231610822a81d955d22f3/master.m3u8"
                        },
                        "recording_playback_url": {
                          "type": "string"
                        },
                        "recording_dash_playback_url": {
                          "type": "string"
                        }
                      }
                    },
                    "thumbnail": {
                      "type": "object",
                      "properties": {
                        "preparing": {
                          "type": "string",
                          "example": "https://stream.gumlet.io/67e4ecea403562dbea654269/68c3da5947f9ad0c0d513fe2/thumbnail-preparing.png"
                        },
                        "disconnected": {
                          "type": "string",
                          "example": "https://stream.gumlet.io/67e4ecea403562dbea654269/68c3da5947f9ad0c0d513fe2/thumbnail-disconnected.png"
                        },
                        "end": {
                          "type": "string",
                          "example": "https://stream.gumlet.io/67e4ecea403562dbea654269/68c3da5947f9ad0c0d513fe2/thumbnail-end.png"
                        }
                      }
                    },
                    "created_at": {
                      "type": "integer",
                      "example": 1636970849188,
                      "default": 0
                    },
                    "updated_at": {
                      "type": "integer",
                      "example": 1636970849188,
                      "default": 0
                    },
                    "vod_asset_id": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "examples": {
                  "Result": {
                    "value": {
                      "error": {
                        "code": "parameter_missing",
                        "message": "One or more required values are missing."
                      }
                    }
                  }
                },
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "code": {
                          "type": "string",
                          "example": "parameter_missing"
                        },
                        "message": {
                          "type": "string",
                          "example": "One or more required values are missing."
                        }
                      },
                      "required": [
                        "code",
                        "message"
                      ]
                    }
                  },
                  "required": [
                    "error"
                  ]
                }
              }
            }
          },
          "401": {
            "description": "401",
            "content": {
              "application/json": {
                "examples": {
                  "Result": {
                    "value": {
                      "error": {
                        "code": "source_not_found",
                        "message": "Could not find any video source with specified source ID."
                      }
                    }
                  }
                },
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "code": {
                          "type": "string",
                          "example": "source_not_found"
                        },
                        "message": {
                          "type": "string",
                          "example": "Could not find any video source with specified source ID."
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "403": {
            "description": "Forbidden — monthly live streaming quota exceeded",
            "content": {
              "application/json": {
                "examples": {
                  "Result": {
                    "value": {
                      "error": {
                        "code": "live_stream_monthly_usage_quota_exceeded",
                        "message": "You have already exceeded your monthly quota for live streaming usage. Please upgrade your plan."
                      }
                    }
                  }
                },
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "code": {
                          "type": "string",
                          "example": "live_stream_monthly_usage_quota_exceeded"
                        },
                        "message": {
                          "type": "string",
                          "example": "You have already exceeded your monthly quota for live streaming usage. Please upgrade your plan."
                        }
                      },
                      "required": [
                        "code",
                        "message"
                      ]
                    }
                  },
                  "required": [
                    "error"
                  ]
                }
              }
            }
          },
          "422": {
            "$ref": "#/components/responses/ValidationError"
          }
        },
        "deprecated": false,
        "tags": [
          "Live Stream Assets"
        ],
        "x-stoplight": {
          "id": "cka42lfc4c8hf"
        },
        "x-codeSamples": [
          {
            "label": "TypeScript",
            "lang": "TypeScript",
            "source": "import Gumlet from '@gumlet/nodejs-sdk';\n\nconst client = new Gumlet({\n  apiKey: process.env['API_KEY'], // defaults to the API_KEY env var\n});\n\nconst liveStreamAsset = await client.liveStreamAssets.create({\n  live_source_id: '',\n  resolution: '',\n});\n\nconsole.log(liveStreamAsset);"
          },
          {
            "label": "Python",
            "lang": "Python",
            "source": "import os\n\nfrom gumlet import Gumlet\n\nclient = Gumlet(\n    api_key=os.environ.get(\"API_KEY\"),\n)\n\nlive_stream_asset = client.live_stream_assets.create(\n    live_source_id=\"\",\n    resolution=\"\",\n)\n\nprint(live_stream_asset)"
          }
        ]
      }
    },
    "/video/live/assets/update": {
      "post": {
        "summary": "Update Live Asset",
        "description": "A live asset refers to media content/video that is live-streamed through Gumlet. This endpoint allows users to update a live streaming asset.",
        "operationId": "create-live-asset-copy",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "live_asset_id"
                ],
                "properties": {
                  "live_asset_id": {
                    "type": "string",
                    "description": "Gumlet live video asset id."
                  },
                  "title": {
                    "type": "string",
                    "description": "Your live stream asset title"
                  },
                  "start_at": {
                    "type": "string",
                    "format": "date-time",
                    "description": ""
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "200",
            "content": {
              "application/json": {
                "examples": {
                  "Result": {
                    "value": {
                      "status": "created",
                      "stream_key": "68c6d4b8d2b638a10ef3e044",
                      "live_asset_id": "68c6d4b8d2b638a10ef3e043",
                      "live_video_source_id": "67e4ecea403562dbea654269",
                      "input": {
                        "resolution": [
                          "360p",
                          "480p",
                          "720p"
                        ],
                        "title": "gumlet-stream-1-edited"
                      },
                      "stream_url": "rtmp://52.11.39.160:1935/app/68c6d4b8d2b638a10ef3e044",
                      "output": {
                        "playback_url": "https://stream.gumlet.io/67e4ecea403562dbea654269/68c6d4b8d2b638a10ef3e043/main.m3u8",
                        "recording_playback_url": "https://video.gumlet.io/6867815b6410daa283f85532/68c6d4b8d2b638a10ef3e045/main.m3u8",
                        "recording_dash_playback_url": "https://video.gumlet.io/6867815b6410daa283f85532/68c6d4b8d2b638a10ef3e045/main.mpd"
                      },
                      "vod_asset_id": "68c6d4b8d2b638a10ef3e045",
                      "created_at": 1757861049778,
                      "updated_at": 1757861101257
                    }
                  }
                },
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "created"
                    },
                    "stream_key": {
                      "type": "string",
                      "example": "619231610822a81d955d22f4"
                    },
                    "live_asset_id": {
                      "type": "string",
                      "example": "619231610822a81d955d22f3"
                    },
                    "live_video_source_id": {
                      "type": "string",
                      "example": "6165247368d80232d28d4379"
                    },
                    "input": {
                      "type": "object",
                      "properties": {
                        "resolution": {
                          "type": "array",
                          "items": {
                            "type": "string",
                            "example": "720p"
                          }
                        },
                        "title": {
                          "type": "string"
                        }
                      }
                    },
                    "stream_url": {
                      "type": "string",
                      "example": "rtmp://livestream-ingest.gumlet.io:1935/app/619231610822a81d955d22f4"
                    },
                    "output": {
                      "type": "object",
                      "properties": {
                        "playback_url": {
                          "type": "string",
                          "example": "https://video.gumlet.io/6165247368d80232d28d4379/619231610822a81d955d22f3/master.m3u8"
                        },
                        "recording_playback_url": {
                          "type": "string"
                        },
                        "recording_dash_playback_url": {
                          "type": "string"
                        }
                      }
                    },
                    "thumbnail": {
                      "type": "object",
                      "properties": {
                        "preparing": {
                          "type": "string",
                          "example": "https://stream.gumlet.io/67e4ecea403562dbea654269/68c6d4b8d2b638a10ef3e043/thumbnail-preparing.png"
                        },
                        "disconnected": {
                          "type": "string",
                          "example": "https://stream.gumlet.io/67e4ecea403562dbea654269/68c6d4b8d2b638a10ef3e043/thumbnail-disconnected.png"
                        },
                        "end": {
                          "type": "string",
                          "example": "https://stream.gumlet.io/67e4ecea403562dbea654269/68c6d4b8d2b638a10ef3e043/thumbnail-end.png"
                        }
                      }
                    },
                    "created_at": {
                      "type": "integer",
                      "example": 1636970849188,
                      "default": 0
                    },
                    "updated_at": {
                      "type": "integer",
                      "example": 1636970849188,
                      "default": 0
                    },
                    "vod_asset_id": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "examples": {
                  "Result": {
                    "value": {
                      "error": {
                        "code": "parameter_missing",
                        "message": "One or more required values are missing."
                      }
                    }
                  }
                },
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "code": {
                          "type": "string",
                          "example": "parameter_missing"
                        },
                        "message": {
                          "type": "string",
                          "example": "One or more required values are missing."
                        }
                      },
                      "required": [
                        "code",
                        "message"
                      ]
                    }
                  },
                  "required": [
                    "error"
                  ]
                }
              }
            }
          },
          "401": {
            "description": "401",
            "content": {
              "application/json": {
                "examples": {
                  "Result": {
                    "value": {
                      "error": {
                        "code": "source_not_found",
                        "message": "Could not find any video source with specified source ID."
                      }
                    }
                  }
                },
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "code": {
                          "type": "string",
                          "example": "source_not_found"
                        },
                        "message": {
                          "type": "string",
                          "example": "Could not find any video source with specified source ID."
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "examples": {
                  "Result": {
                    "value": {
                      "error": {
                        "code": "live_asset_not_found",
                        "message": "Live Video Asset not found."
                      }
                    }
                  }
                },
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "code": {
                          "type": "string",
                          "example": "live_asset_not_found"
                        },
                        "message": {
                          "type": "string",
                          "example": "Live Video Asset not found."
                        }
                      },
                      "required": [
                        "code",
                        "message"
                      ]
                    }
                  },
                  "required": [
                    "error"
                  ]
                }
              }
            }
          }
        },
        "deprecated": false,
        "tags": [
          "Live Stream Assets"
        ],
        "x-stoplight": {
          "id": "5728lo8oym6rd"
        },
        "x-codeSamples": [
          {
            "label": "TypeScript",
            "lang": "TypeScript",
            "source": "import Gumlet from '@gumlet/nodejs-sdk';\n\nconst client = new Gumlet({\n  apiKey: process.env['API_KEY'], // defaults to the API_KEY env var\n});\n\nconst liveStreamAsset = await client.liveStreamAssets.update({\n  live_asset_id: '',\n});\n\nconsole.log(liveStreamAsset);"
          },
          {
            "label": "Python",
            "lang": "Python",
            "source": "import os\n\nfrom gumlet import Gumlet\n\nclient = Gumlet(\n    api_key=os.environ.get(\"API_KEY\"),\n)\n\nlive_stream_asset = client.live_stream_assets.update(\n    live_asset_id=\"\",\n)\n\nprint(live_stream_asset)"
          }
        ]
      }
    },
    "/video/live/assets/{live_asset_id}": {
      "get": {
        "summary": "Get Live Asset Status",
        "description": "This endpoint retrieves the details of a live video asset that has previously been created.",
        "operationId": "get-live-asset-status",
        "parameters": [
          {
            "name": "live_asset_id",
            "in": "path",
            "description": "A live asset id for the previously created asset.",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "200",
            "content": {
              "application/json": {
                "examples": {
                  "Result": {
                    "value": {
                      "status": "disconnected",
                      "stream_key": "68c406b147f9ad0c0d584ce3",
                      "live_asset_id": "68c406b147f9ad0c0d584ce2",
                      "live_video_source_id": "67e4ecea403562dbea654269",
                      "input": {
                        "resolution": [
                          "720p"
                        ],
                        "title": "gumlet-stream"
                      },
                      "stream_url": "rtmp://44.231.82.146:1935/app/68c406b147f9ad0c0d584ce3",
                      "output": {
                        "playback_url": "https://stream.gumlet.io/67e4ecea403562dbea654269/68c406b147f9ad0c0d584ce2/main.m3u8",
                        "recording_playback_url": "https://video.gumlet.io/6867815b6410daa283f85532/68c406b147f9ad0c0d584ce4/main.m3u8",
                        "recording_dash_playback_url": "https://video.gumlet.io/6867815b6410daa283f85532/68c406b147f9ad0c0d584ce4/main.mpd"
                      },
                      "thumbnail": {
                        "disconnected": "https://stream.gumlet.io/67e4ecea403562dbea654269/68c406b147f9ad0c0d584ce2/thumbnail-disconnected.png"
                      },
                      "vod_asset_id": "68c406b147f9ad0c0d584ce4",
                      "created_at": 1757677234093,
                      "updated_at": 1757677327882
                    }
                  }
                },
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "created"
                    },
                    "stream_key": {
                      "type": "string",
                      "example": "619231610822a81d955d22f4"
                    },
                    "live_asset_id": {
                      "type": "string",
                      "example": "619231610822a81d955d22f3"
                    },
                    "live_video_source_id": {
                      "type": "string",
                      "example": "6165247368d80232d28d4379"
                    },
                    "input": {
                      "type": "object",
                      "properties": {
                        "resolution": {
                          "type": "array",
                          "items": {
                            "type": "string",
                            "example": "720p"
                          }
                        },
                        "title": {
                          "type": "string"
                        }
                      }
                    },
                    "stream_url": {
                      "type": "string",
                      "example": "rtmp://livestream-ingest.gumlet.io:1935/app/619231610822a81d955d22f4"
                    },
                    "output": {
                      "type": "object",
                      "properties": {
                        "playback_url": {
                          "type": "string",
                          "example": "https://video.gumlet.io/6165247368d80232d28d4379/619231610822a81d955d22f3/master.m3u8"
                        },
                        "recording_playback_url": {
                          "type": "string"
                        },
                        "recording_dash_playback_url": {
                          "type": "string"
                        }
                      }
                    },
                    "thumbnail": {
                      "type": "object",
                      "properties": {
                        "preparing": {
                          "type": "string",
                          "example": "https://stream.gumlet.io/67e4ecea403562dbea654269/68c406b147f9ad0c0d584ce2/thumbnail-preparing.png"
                        },
                        "disconnected": {
                          "type": "string",
                          "example": "https://stream.gumlet.io/67e4ecea403562dbea654269/68c406b147f9ad0c0d584ce2/thumbnail-disconnected.png"
                        },
                        "end": {
                          "type": "string",
                          "example": "https://stream.gumlet.io/67e4ecea403562dbea654269/68c406b147f9ad0c0d584ce2/thumbnail-end.png"
                        }
                      }
                    },
                    "created_at": {
                      "type": "integer",
                      "example": 1636970849188,
                      "default": 0
                    },
                    "updated_at": {
                      "type": "integer",
                      "example": 1636970849188,
                      "default": 0
                    },
                    "vod_asset_id": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "examples": {
                  "Result": {
                    "value": {
                      "error": {
                        "code": "live_asset_not_found",
                        "message": "Live Video Asset not found."
                      }
                    }
                  }
                },
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "code": {
                          "type": "string",
                          "example": "live_asset_not_found"
                        },
                        "message": {
                          "type": "string",
                          "example": "Live Video Asset not found."
                        }
                      },
                      "required": [
                        "code",
                        "message"
                      ]
                    }
                  },
                  "required": [
                    "error"
                  ]
                }
              }
            }
          },
          "401": {
            "description": "401",
            "content": {
              "application/json": {
                "examples": {
                  "Result": {
                    "value": {
                      "error": {
                        "code": "live_asset_not_found",
                        "message": "Could not find any live video asset with specified asset_id."
                      }
                    }
                  }
                },
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "code": {
                          "type": "string",
                          "example": "live_asset_not_found"
                        },
                        "message": {
                          "type": "string",
                          "example": "Could not find any live video asset with specified asset_id."
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          }
        },
        "deprecated": false,
        "tags": [
          "Live Stream Assets"
        ],
        "x-stoplight": {
          "id": "29sodii3xa4fn"
        },
        "x-codeSamples": [
          {
            "label": "TypeScript",
            "lang": "TypeScript",
            "source": "import Gumlet from '@gumlet/nodejs-sdk';\n\nconst client = new Gumlet({\n  apiKey: process.env['API_KEY'], // defaults to the API_KEY env var\n});\n\nconst liveStreamAsset = await client.liveStreamAssets.retrieveStatus('liveAssetId');\n\nconsole.log(liveStreamAsset);"
          },
          {
            "label": "Python",
            "lang": "Python",
            "source": "import os\n\nfrom gumlet import Gumlet\n\nclient = Gumlet(\n    api_key=os.environ.get(\"API_KEY\"),\n)\n\nlive_stream_asset = client.live_stream_assets.retrieve_status(\n    live_asset_id=\"liveAssetId\",\n)\n\nprint(live_stream_asset)"
          }
        ]
      },
      "delete": {
        "summary": "Delete Live Asset",
        "description": "This endpoint removes a live asset given its unique live asset id. The live asset will be removed from storage as well, associated URLs will be inaccessible.",
        "operationId": "delete-live-asset",
        "parameters": [
          {
            "name": "live_asset_id",
            "in": "path",
            "description": "Live asset id of the live asset which needs to be deleted.",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "responses": {
          "204": {
            "description": "204",
            "content": {
              "application/json": {
                "examples": {
                  "Result": {
                    "value": {}
                  }
                },
                "schema": {
                  "type": "object",
                  "properties": {}
                }
              }
            }
          },
          "400": {
            "description": "Bad Request — invalid live asset",
            "content": {
              "application/json": {
                "examples": {
                  "Result": {
                    "value": {
                      "error": {
                        "code": "live_asset_not_found",
                        "message": "Live Video Asset not found."
                      }
                    }
                  }
                },
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "code": {
                          "type": "string",
                          "example": "live_asset_not_found"
                        },
                        "message": {
                          "type": "string",
                          "example": "Live Video Asset not found."
                        }
                      },
                      "required": [
                        "code",
                        "message"
                      ]
                    }
                  },
                  "required": [
                    "error"
                  ]
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized — live stream cannot be deleted in preparing state",
            "content": {
              "application/json": {
                "examples": {
                  "Result": {
                    "value": {
                      "error": {
                        "code": "livestream_can_not_be_deleted",
                        "message": "The live stream cannot be deleted while in the preparing state."
                      }
                    }
                  }
                },
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "code": {
                          "type": "string",
                          "example": "livestream_can_not_be_deleted"
                        },
                        "message": {
                          "type": "string",
                          "example": "The live stream cannot be deleted while in the preparing state."
                        }
                      },
                      "required": [
                        "code",
                        "message"
                      ]
                    }
                  },
                  "required": [
                    "error"
                  ]
                }
              }
            }
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          }
        },
        "deprecated": false,
        "tags": [
          "Live Stream Assets"
        ],
        "x-stoplight": {
          "id": "ual1t8bmdt647"
        },
        "x-codeSamples": [
          {
            "label": "TypeScript",
            "lang": "TypeScript",
            "source": "import Gumlet from '@gumlet/nodejs-sdk';\n\nconst client = new Gumlet({\n  apiKey: process.env['API_KEY'], // defaults to the API_KEY env var\n});\n\nconst liveStreamAsset = await client.liveStreamAssets.delete('liveAssetId');\n\nconsole.log(liveStreamAsset);"
          },
          {
            "label": "Python",
            "lang": "Python",
            "source": "import os\n\nfrom gumlet import Gumlet\n\nclient = Gumlet(\n    api_key=os.environ.get(\"API_KEY\"),\n)\n\nlive_stream_asset = client.live_stream_assets.delete(\n    live_asset_id=\"liveAssetId\",\n)\n\nprint(live_stream_asset)"
          }
        ]
      }
    },
    "/video/live/assets/{live_asset_id}/complete": {
      "post": {
        "summary": "Complete Live Stream",
        "description": "This endpoint allows marking live assets complete. Once the live asset is marked complete, it can no longer be used to ingest the live stream on Gumlet.",
        "operationId": "complete-live-stream",
        "parameters": [
          {
            "name": "live_asset_id",
            "in": "path",
            "description": "Live asset id of the live stream which needs to be completed.",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "200",
            "content": {
              "application/json": {
                "examples": {
                  "Result": {
                    "value": {}
                  }
                },
                "schema": {
                  "type": "object",
                  "properties": {}
                }
              }
            }
          },
          "400": {
            "description": "Bad Request — invalid live asset",
            "content": {
              "application/json": {
                "examples": {
                  "Result": {
                    "value": {
                      "error": {
                        "code": "live_asset_not_found",
                        "message": "Live Video Asset not found."
                      }
                    }
                  }
                },
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "code": {
                          "type": "string",
                          "example": "live_asset_not_found"
                        },
                        "message": {
                          "type": "string",
                          "example": "Live Video Asset not found."
                        }
                      },
                      "required": [
                        "code",
                        "message"
                      ]
                    }
                  },
                  "required": [
                    "error"
                  ]
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized — live stream cannot be completed in preparing state",
            "content": {
              "application/json": {
                "examples": {
                  "Result": {
                    "value": {
                      "error": {
                        "code": "livestream_can_not_be_completed",
                        "message": "The live stream cannot be completed while in the preparing state."
                      }
                    }
                  }
                },
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "code": {
                          "type": "string",
                          "example": "livestream_can_not_be_completed"
                        },
                        "message": {
                          "type": "string",
                          "example": "The live stream cannot be completed while in the preparing state."
                        }
                      },
                      "required": [
                        "code",
                        "message"
                      ]
                    }
                  },
                  "required": [
                    "error"
                  ]
                }
              }
            }
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          }
        },
        "deprecated": false,
        "tags": [
          "Live Stream Assets"
        ],
        "x-stoplight": {
          "id": "pe5lhtkmzix7d"
        },
        "x-codeSamples": [
          {
            "label": "TypeScript",
            "lang": "TypeScript",
            "source": "import Gumlet from '@gumlet/nodejs-sdk';\n\nconst client = new Gumlet({\n  apiKey: process.env['API_KEY'], // defaults to the API_KEY env var\n});\n\nconst liveStreamAsset = await client.liveStreamAssets.complete('liveAssetId');\n\nconsole.log(liveStreamAsset);"
          },
          {
            "label": "Python",
            "lang": "Python",
            "source": "import os\n\nfrom gumlet import Gumlet\n\nclient = Gumlet(\n    api_key=os.environ.get(\"API_KEY\"),\n)\n\nlive_stream_asset = client.live_stream_assets.complete(\n    live_asset_id=\"liveAssetId\",\n)\n\nprint(live_stream_asset)"
          }
        ]
      }
    },
    "/video/live/assets/list/{live_source_id}": {
      "get": {
        "summary": "Filter Live Assets",
        "description": "This endpoint lists live assets on the basis of `status` for the given `live_source_id`.",
        "operationId": "filter-live-assets",
        "parameters": [
          {
            "name": "live_source_id",
            "in": "path",
            "description": "Gumlet live source/collection id.",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "status",
            "in": "query",
            "description": "To filter live assets on the basis of their current status. Can be specified as a single status value string or comma-separated status values. The status value can be one of `created`, `active`, `complete`, `disconnected`, `errored`, and `deleted`.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "offset",
            "in": "query",
            "description": "Offset value for a paginated list of assets.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "size",
            "in": "query",
            "description": "Page size for the paginated list.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "200",
            "content": {
              "application/json": {
                "examples": {
                  "Result": {
                    "value": {
                      "all_live_assets": [
                        {
                          "status": "complete",
                          "stream_key": "68b671c1373a93b5103e1f9b",
                          "live_asset_id": "68b671c1373a93b5103e1f9a",
                          "live_video_source_id": "68678418fc386bd77fd5c689",
                          "input": {
                            "resolution": [
                              "360p",
                              "480p",
                              "720p",
                              "1080p"
                            ],
                            "title": "gumlet-stream"
                          },
                          "stream_url": "rtmp://44.241.193.188:1935/app/68b671c1373a93b5103e1f9b",
                          "output": {
                            "playback_url": "https://stream.gumlet.io/68678418fc386bd77fd5c689/68b671c1373a93b5103e1f9a/main.m3u8",
                            "recording_playback_url": "https://video.gumlet.io/68678419fc386bd77fd5c69c/68b671c1373a93b5103e1f9c/main.m3u8",
                            "recording_dash_playback_url": "https://video.gumlet.io/68678419fc386bd77fd5c69c/68b671c1373a93b5103e1f9c/main.mpd"
                          },
                          "vod_asset_id": "68b671c1373a93b5103e1f9c",
                          "start_at": 1756787280000,
                          "created_at": 1756787138405,
                          "updated_at": 1756787392403
                        },
                        {
                          "status": "deleted",
                          "stream_key": "686784192f7f889f3d149bdb",
                          "live_asset_id": "686784192f7f889f3d149bda",
                          "live_video_source_id": "68678418fc386bd77fd5c689",
                          "input": {
                            "resolution": [
                              "240p",
                              "360p",
                              "480p",
                              "720p",
                              "1080p"
                            ],
                            "title": "gumlet-live-stream"
                          },
                          "stream_url": "rtmp://44.250.15.141:1935/app/686784192f7f889f3d149bdb",
                          "created_at": 1751614490873,
                          "updated_at": 1751700918544,
                          "deleted_at": 1751700918543
                        }
                      ],
                      "total_live_asset_count": 2,
                      "current_offset": 2
                    }
                  }
                },
                "schema": {
                  "type": "object",
                  "properties": {
                    "all_live_assets": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "status": {
                            "type": "string",
                            "example": "created"
                          },
                          "stream_key": {
                            "type": "string",
                            "example": "619231610822a81d955d22f4"
                          },
                          "live_asset_id": {
                            "type": "string",
                            "example": "619231610822a81d955d22f3"
                          },
                          "live_video_source_id": {
                            "type": "string",
                            "example": "6165247368d80232d28d4379"
                          },
                          "input": {
                            "type": "object",
                            "properties": {
                              "resolution": {
                                "type": "array",
                                "items": {
                                  "type": "string",
                                  "example": "720p"
                                }
                              },
                              "title": {
                                "type": "string"
                              }
                            }
                          },
                          "stream_url": {
                            "type": "string",
                            "example": "rtmp://livestream-ingest.gumlet.io:1935/app/619231610822a81d955d22f4"
                          },
                          "output": {
                            "type": "object",
                            "properties": {
                              "playback_url": {
                                "type": "string",
                                "example": "https://video.gumlet.io/6165247368d80232d28d4379/619231610822a81d955d22f3/master.m3u8"
                              },
                              "recording_playback_url": {
                                "type": "string"
                              },
                              "recording_dash_playback_url": {
                                "type": "string"
                              }
                            }
                          },
                          "thumbnail": {
                            "type": "object",
                            "properties": {
                              "preparing": {
                                "type": "string",
                                "example": "https://stream.gumlet.io/68678418fc386bd77fd5c689/68b671c1373a93b5103e1f9a/thumbnail-preparing.png"
                              },
                              "disconnected": {
                                "type": "string",
                                "example": "https://stream.gumlet.io/68678418fc386bd77fd5c689/68b671c1373a93b5103e1f9a/thumbnail-disconnected.png"
                              },
                              "end": {
                                "type": "string",
                                "example": "https://stream.gumlet.io/68678418fc386bd77fd5c689/68b671c1373a93b5103e1f9a/thumbnail-end.png"
                              }
                            }
                          },
                          "created_at": {
                            "type": "integer",
                            "example": 1636970849188,
                            "default": 0
                          },
                          "updated_at": {
                            "type": "integer",
                            "example": 1636970849188,
                            "default": 0
                          },
                          "deleted_at": {
                            "type": "integer"
                          }
                        }
                      }
                    },
                    "total_live_asset_count": {
                      "type": "integer",
                      "example": 5,
                      "default": 0
                    },
                    "current_offset": {
                      "type": "integer",
                      "example": 5,
                      "default": 0
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "examples": {
                  "Result": {
                    "value": {
                      "error": {
                        "code": "source_not_found",
                        "message": "Could not find any video source with the specified source_id."
                      }
                    }
                  }
                },
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "code": {
                          "type": "string",
                          "example": "source_not_found"
                        },
                        "message": {
                          "type": "string",
                          "example": "Could not find any video source with the specified source_id."
                        }
                      },
                      "required": [
                        "code",
                        "message"
                      ]
                    }
                  },
                  "required": [
                    "error"
                  ]
                }
              }
            }
          },
          "401": {
            "description": "401",
            "content": {
              "application/json": {
                "examples": {
                  "Result": {
                    "value": {
                      "error": {
                        "code": "live_source_not_found",
                        "message": "Could not find any live video source with specified source ID."
                      }
                    }
                  }
                },
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "code": {
                          "type": "string",
                          "example": "live_source_not_found"
                        },
                        "message": {
                          "type": "string",
                          "example": "Could not find any live video source with specified source ID."
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          }
        },
        "deprecated": false,
        "tags": [
          "Live Stream Assets"
        ],
        "x-stoplight": {
          "id": "v569z8svqfd5g"
        },
        "x-codeSamples": [
          {
            "label": "TypeScript",
            "lang": "TypeScript",
            "source": "import Gumlet from '@gumlet/nodejs-sdk';\n\nconst client = new Gumlet({\n  apiKey: process.env['API_KEY'], // defaults to the API_KEY env var\n});\n\nconst liveStreamAsset = await client.liveStreamAssets.filter('liveSourceId');\n\nconsole.log(liveStreamAsset);"
          },
          {
            "label": "Python",
            "lang": "Python",
            "source": "import os\n\nfrom gumlet import Gumlet\n\nclient = Gumlet(\n    api_key=os.environ.get(\"API_KEY\"),\n)\n\nlive_stream_asset = client.live_stream_assets.filter(\n    live_source_id=\"liveSourceId\",\n)\n\nprint(live_stream_asset)"
          }
        ]
      }
    },
    "/video/asset/recover": {
      "post": {
        "summary": "Recover Deleted Asset",
        "description": "Recovers a deleted asset from the recycle bin.",
        "operationId": "recover",
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "examples": {
                  "New Example": {
                    "summary": "New Example",
                    "value": ""
                  },
                  "New Example 1": {
                    "summary": "New Example 1",
                    "value": {
                      "success": true
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request — invalid or missing asset ID",
            "content": {
              "application/json": {
                "examples": {
                  "Result": {
                    "value": {
                      "error": {
                        "code": "asset_id_not_valid",
                        "message": "The asset ID is not valid."
                      }
                    }
                  }
                },
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "code": {
                          "type": "string",
                          "example": "asset_id_not_valid"
                        },
                        "message": {
                          "type": "string",
                          "example": "The asset ID is not valid."
                        }
                      },
                      "required": [
                        "code",
                        "message"
                      ]
                    }
                  },
                  "required": [
                    "error"
                  ]
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "description": "Not Found — asset missing or deleted more than 30 days ago",
            "content": {
              "application/json": {
                "examples": {
                  "Result": {
                    "value": {
                      "error": {
                        "code": "asset_created_before_last_30_days",
                        "message": "It's been more than 30 days since the asset was deleted. Please contact support for further assistance."
                      }
                    }
                  }
                },
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "code": {
                          "type": "string",
                          "example": "asset_created_before_last_30_days"
                        },
                        "message": {
                          "type": "string",
                          "example": "It's been more than 30 days since the asset was deleted. Please contact support for further assistance."
                        }
                      },
                      "required": [
                        "code",
                        "message"
                      ]
                    }
                  },
                  "required": [
                    "error"
                  ]
                }
              }
            }
          }
        },
        "parameters": [],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "properties": {
                  "asset_id": {
                    "type": "string",
                    "description": "Gumlet Video Asset Id which needs to be recovered."
                  }
                },
                "type": "object",
                "required": [
                  "asset_id"
                ]
              }
            }
          }
        },
        "x-internal": false,
        "tags": [
          "Recycle Bin"
        ],
        "x-stoplight": {
          "id": "kgpjwyo6i822v"
        },
        "x-codeSamples": [
          {
            "label": "TypeScript",
            "lang": "TypeScript",
            "source": "import Gumlet from '@gumlet/nodejs-sdk';\n\nconst client = new Gumlet({\n  apiKey: process.env['API_KEY'], // defaults to the API_KEY env var\n});\n\nawait client.recycleBin.recover({\n  asset_id: '',\n});"
          },
          {
            "label": "Python",
            "lang": "Python",
            "source": "import os\n\nfrom gumlet import Gumlet\n\nclient = Gumlet(\n    api_key=os.environ.get(\"API_KEY\"),\n)\n\nclient.recycle_bin.recover(\n    asset_id=\"\",\n)"
          }
        ]
      }
    },
    "/video/live/assets/{live_asset_id}/start": {
      "post": {
        "description": "Start a live stream.",
        "operationId": "start-live",
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "examples": {
                  "New Example": {
                    "summary": "New Example",
                    "value": {
                      "status": "preparing",
                      "stream_key": "684aaf3179ee5275ba12c684",
                      "live_asset_id": "684caf2179ee5277ba13c683",
                      "live_video_source_id": "654c7d41f5f3302c85dd7bc3",
                      "input": {
                        "resolution": [
                          "360p",
                          "480p"
                        ],
                        "title": "demo"
                      },
                      "stream_url": "rtmp://14.23.65.56:1935/app/684aaf3179ee5275ba12c684",
                      "output": {
                        "playback_url": "https://stream.gumlet.io/654c7d41f5f3302c85dd7bc3/684caf2179ee5277ba13c683/main.m3u8",
                        "recording_playback_url": "https://video.gumlet.io/654c7d41f5f3302c85dd7bc3/684aaf3179ee5255ba13c685/main.m3u8",
                        "recording_dash_playback_url": "https://video.gumlet.io/654c7d41f5f3302c85dd7bc3/684aaf3179ee5255ba13c685/main.mpd"
                      },
                      "thumbnail": {
                        "preparing": "https://stream.gumlet.io/654c7d41f5f3302c85dd7bc3/684caf2179ee5277ba13c683/thumbnail-preparing.png"
                      },
                      "vod_asset_id": "684aaf3179ee5255ba13c685",
                      "created_at": 1749724978564,
                      "updated_at": 1749725090495
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "examples": {
                  "Result": {
                    "value": {
                      "error": {
                        "code": "unable_to_start_live_asset",
                        "message": "Could not start live asset."
                      }
                    }
                  }
                },
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "code": {
                          "type": "string",
                          "example": "unable_to_start_live_asset"
                        },
                        "message": {
                          "type": "string",
                          "example": "Could not start live asset."
                        }
                      },
                      "required": [
                        "code",
                        "message"
                      ]
                    }
                  },
                  "required": [
                    "error"
                  ]
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          }
        },
        "parameters": [
          {
            "in": "path",
            "name": "live_asset_id",
            "description": "List asset id for which the stream needs to start.",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "tags": [
          "Live Stream Assets"
        ],
        "x-stoplight": {
          "id": "1bk7v7srb4xnu"
        },
        "x-codeSamples": [
          {
            "label": "TypeScript",
            "lang": "TypeScript",
            "source": "import Gumlet from '@gumlet/nodejs-sdk';\n\nconst client = new Gumlet({\n  apiKey: process.env['API_KEY'], // defaults to the API_KEY env var\n});\n\nawait client.liveStreamAssets.start('liveAssetId');"
          },
          {
            "label": "Python",
            "lang": "Python",
            "source": "import os\n\nfrom gumlet import Gumlet\n\nclient = Gumlet(\n    api_key=os.environ.get(\"API_KEY\"),\n)\n\nclient.live_stream_assets.start(\n    live_asset_id=\"liveAssetId\",\n)"
          }
        ]
      }
    },
    "/video/live/assets/thumbnail/upload": {
      "post": {
        "summary": "Upload Live Thumbnails",
        "description": "Generate presigned upload URLs for live stream thumbnails. Supported thumbnail states are `preparing`, `disconnected`, and `end`.",
        "operationId": "thumbnail-upload-live",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "live_asset_id",
                  "statuses"
                ],
                "properties": {
                  "live_asset_id": {
                    "type": "string",
                    "description": "Gumlet live video asset id."
                  },
                  "statuses": {
                    "description": "Thumbnail states to upload. You can send an array or a comma-separated string.",
                    "oneOf": [
                      {
                        "type": "array",
                        "items": {
                          "type": "string",
                          "enum": [
                            "preparing",
                            "disconnected",
                            "end"
                          ]
                        }
                      },
                      {
                        "type": "string",
                        "example": "preparing,disconnected"
                      }
                    ]
                  }
                }
              },
              "examples": {
                "Request Example": {
                  "value": {
                    "live_asset_id": "68c406b147f9ad0c0d584ce2",
                    "statuses": [
                      "preparing",
                      "disconnected"
                    ]
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "200",
            "content": {
              "application/json": {
                "examples": {
                  "Result": {
                    "value": {
                      "message": "Upload URLs issued.",
                      "presigned_upload_urls": {
                        "preparing": "https://gumlet-live-user-uploads.s3.amazonaws.com/live/67e4ecea403562dbea654269/68c406b147f9ad0c0d584ce2/thumbnail-preparing.png?signature=...",
                        "disconnected": "https://gumlet-live-user-uploads.s3.amazonaws.com/live/67e4ecea403562dbea654269/68c406b147f9ad0c0d584ce2/thumbnail-disconnected.png?signature=..."
                      }
                    }
                  }
                },
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string",
                      "example": "Upload URLs issued."
                    },
                    "presigned_upload_urls": {
                      "type": "object",
                      "properties": {
                        "preparing": {
                          "type": "string"
                        },
                        "disconnected": {
                          "type": "string"
                        },
                        "end": {
                          "type": "string"
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "examples": {
                  "Result": {
                    "value": {
                      "error": {
                        "code": "invalid_parameter",
                        "message": "Provide at least one valid status in \"statuses\". Allowed: preparing, disconnected, end."
                      }
                    }
                  }
                },
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "code": {
                          "type": "string",
                          "example": "invalid_parameter"
                        },
                        "message": {
                          "type": "string",
                          "example": "Provide at least one valid status in \"statuses\". Allowed: preparing, disconnected, end."
                        }
                      },
                      "required": [
                        "code",
                        "message"
                      ]
                    }
                  },
                  "required": [
                    "error"
                  ]
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "description": "403",
            "content": {
              "application/json": {
                "examples": {
                  "Result": {
                    "value": {
                      "error": {
                        "code": "live_asset_not_found",
                        "message": "Live Video Asset not found."
                      }
                    }
                  }
                },
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "code": {
                          "type": "string",
                          "example": "live_asset_not_found"
                        },
                        "message": {
                          "type": "string",
                          "example": "Live Video Asset not found."
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "examples": {
                  "Result": {
                    "value": {
                      "error": {
                        "code": "not_found",
                        "message": "Live Video Asset not found."
                      }
                    }
                  }
                },
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "code": {
                          "type": "string",
                          "example": "not_found"
                        },
                        "message": {
                          "type": "string",
                          "example": "Live Video Asset not found."
                        }
                      },
                      "required": [
                        "code",
                        "message"
                      ]
                    }
                  },
                  "required": [
                    "error"
                  ]
                }
              }
            }
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        },
        "deprecated": false,
        "tags": [
          "Live Stream Assets"
        ],
        "x-stoplight": {
          "id": "63zbin0vn1ydw"
        },
        "x-codeSamples": [
          {
            "label": "TypeScript",
            "lang": "TypeScript",
            "source": "import Gumlet from '@gumlet/nodejs-sdk';\n\nconst client = new Gumlet({\n  apiKey: process.env['API_KEY'], // defaults to the API_KEY env var\n});\n\nconst liveStreamAsset = await client.liveStreamAssets.upload({\n  live_asset_id: '68c406b147f9ad0c0d584ce2',\n  statuses: ['preparing', 'disconnected'],\n});\n\nconsole.log(liveStreamAsset);"
          },
          {
            "label": "Python",
            "lang": "Python",
            "source": "import os\n\nfrom gumlet import Gumlet\n\nclient = Gumlet(\n    api_key=os.environ.get(\"API_KEY\"),\n)\n\nlive_stream_asset = client.live_stream_assets.upload(\n    live_asset_id=\"68c406b147f9ad0c0d584ce2\",\n    statuses=\"preparing\",\n)\n\nprint(live_stream_asset)"
          }
        ]
      }
    },
    "/video/workspaces": {
      "get": {
        "summary": "List Workspaces",
        "description": "This endpoint list video workspace which are assigned to the user or token.",
        "operationId": "list-workspaces",
        "responses": {
          "200": {
            "description": "200",
            "content": {
              "application/json": {
                "examples": {
                  "Result": {
                    "value": {
                      "all_sources": [
                        {
                          "id": "646df1c9173a4a2fcac180b4",
                          "name": "collection_name",
                          "type": "aws",
                          "created_at": "2023-05-24T11:15:21.624Z",
                          "updated_at": "2024-01-24T11:57:48.744Z",
                          "video_protection": {
                            "signed_url": true,
                            "signed_url_secret": "47a3e2fbb1318f033b882c632bc103a8"
                          },
                          "player_config": {
                            "preload": false,
                            "autoplay": false,
                            "disable_seek": false,
                            "disable_player_controls": false,
                            "powered_by_gumlet_overlay": false,
                            "allow_drm_protected_videos": false,
                            "loop": false,
                            "player_color": "#6658ea",
                            "include_seo": true,
                            "subtitle_enabled": false,
                            "pixel_tags": {},
                            "logo_width": 100,
                            "logo_height": 100,
                            "dynamic_watermark": false,
                            "watermark_font_size": 20,
                            "watermark_font_color": "#ff0000",
                            "watermark_bg_color": "transparent",
                            "watermark_interval": 1000
                          },
                          "default_profile_id": "646df1c9173a4a2fcac180b7",
                          "insight_property_id": "646df0aa173a4a2fcac18009",
                          "aws": {
                            "bucket_name": "asd",
                            "bucket_region": "ap-south-1",
                            "access_key": "Code@123",
                            "secret": "****************"
                          },
                          "embed_details": {
                            "pixel_tags": {},
                            "preload": false,
                            "autoplay": false,
                            "logo_width": 100,
                            "logo_height": 100,
                            "player_color": "#6658ea",
                            "is_seo": true,
                            "dynamic_watermark": false,
                            "disable_seek": false,
                            "disable_player_controls": false,
                            "allow_drm_protected_videos": false,
                            "powered_by_gumlet_overlay": false,
                            "loop": false,
                            "subtitle_enabled": false,
                            "watermark_bg_color": "transparent",
                            "watermark_font_color": "#ff0000",
                            "watermark_font_size": 20,
                            "watermark_interval": 1000
                          },
                          "folders": [
                            "folder",
                            "folder 2",
                            "folder 27",
                            "folder 4"
                          ],
                          "channel_settings": {
                            "title": "my channel",
                            "active": false,
                            "description": "desc",
                            "privacy_type": "private",
                            "custom_logo": true,
                            "logo_url": "https://dev-video.gumlet.io/646df1c9172a4a2fcac180b4/channel/logo.png",
                            "cname": [
                              "okj.com",
                              "sd.com",
                              "safd.com"
                            ],
                            "temp_cname": [
                              "okj.com",
                              "safd.com",
                              "sd.com"
                            ]
                          }
                        },
                        {
                          "id": "65b016f4e99b77f116c0e381",
                          "name": "private uploads",
                          "type": "direct-upload",
                          "created_at": "2024-01-23T19:43:48.267Z",
                          "updated_at": "2024-01-23T19:43:48.272Z",
                          "video_protection": {},
                          "player_config": {
                            "preload": true,
                            "autoplay": false,
                            "disable_seek": false,
                            "disable_player_controls": false,
                            "powered_by_gumlet_overlay": true,
                            "allow_drm_protected_videos": true,
                            "loop": false,
                            "player_color": "#6658ea",
                            "include_seo": true,
                            "subtitle_enabled": false,
                            "pixel_tags": {},
                            "logo_width": 100,
                            "logo_height": 100,
                            "dynamic_watermark": false,
                            "watermark_font_size": 20,
                            "watermark_font_color": "#ff0000",
                            "watermark_bg_color": "transparent",
                            "watermark_interval": 1000
                          },
                          "default_profile_id": "646df1c9173a4a2fcac180b7",
                          "insight_property_id": "65b016f4e99b77f116c0e37f",
                          "embed_details": {
                            "pixel_tags": {},
                            "powered_by_gumlet_overlay": true,
                            "allow_drm_protected_videos": true,
                            "preload": true,
                            "autoplay": false,
                            "logo_width": 100,
                            "logo_height": 100,
                            "player_color": "#6658ea",
                            "is_seo": true,
                            "dynamic_watermark": false,
                            "watermark_font_size": 20,
                            "watermark_font_color": "#ff0000",
                            "watermark_bg_color": "transparent",
                            "watermark_interval": 1000,
                            "disable_seek": false,
                            "disable_player_controls": false,
                            "loop": false,
                            "subtitle_enabled": false
                          },
                          "folders": [],
                          "channel_settings": {
                            "active": false,
                            "privacy_type": "private"
                          }
                        }
                      ]
                    }
                  }
                },
                "schema": {
                  "type": "object",
                  "properties": {
                    "all_sources": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "id": {
                            "type": "string",
                            "examples": [
                              "646df1c9173a4a2fcac180b4"
                            ]
                          },
                          "name": {
                            "type": "string",
                            "examples": [
                              "collection_name"
                            ]
                          },
                          "type": {
                            "type": "string",
                            "examples": [
                              "aws"
                            ]
                          },
                          "created_at": {
                            "type": "string",
                            "examples": [
                              "2023-05-24T11:15:21.624Z"
                            ]
                          },
                          "updated_at": {
                            "type": "string",
                            "examples": [
                              "2024-01-24T11:57:48.744Z"
                            ]
                          },
                          "video_protection": {
                            "type": "object",
                            "properties": {
                              "signed_url": {
                                "type": "boolean",
                                "default": true,
                                "examples": [
                                  true
                                ]
                              },
                              "signed_url_secret": {
                                "type": "string",
                                "examples": [
                                  "47a3e2fbb1318f033b882c632bc103a8"
                                ]
                              }
                            },
                            "x-apidog-orders": [
                              "signed_url",
                              "signed_url_secret"
                            ]
                          },
                          "player_config": {
                            "type": "object",
                            "properties": {
                              "preload": {
                                "type": "boolean",
                                "default": true,
                                "examples": [
                                  false
                                ]
                              },
                              "autoplay": {
                                "type": "boolean",
                                "default": true,
                                "examples": [
                                  false
                                ]
                              },
                              "disable_seek": {
                                "type": "boolean",
                                "default": true,
                                "examples": [
                                  false
                                ]
                              },
                              "disable_player_controls": {
                                "type": "boolean",
                                "default": true,
                                "examples": [
                                  false
                                ]
                              },
                              "powered_by_gumlet_overlay": {
                                "type": "boolean",
                                "default": true,
                                "examples": [
                                  false
                                ]
                              },
                              "allow_drm_protected_videos": {
                                "type": "boolean",
                                "default": true,
                                "examples": [
                                  false
                                ]
                              },
                              "loop": {
                                "type": "boolean",
                                "default": true,
                                "examples": [
                                  false
                                ]
                              },
                              "player_color": {
                                "type": "string",
                                "examples": [
                                  "#6658ea"
                                ]
                              },
                              "include_seo": {
                                "type": "boolean",
                                "default": true,
                                "examples": [
                                  true
                                ]
                              },
                              "subtitle_enabled": {
                                "type": "boolean",
                                "default": true,
                                "examples": [
                                  false
                                ]
                              },
                              "pixel_tags": {
                                "type": "object",
                                "properties": {},
                                "x-apidog-orders": []
                              },
                              "logo_width": {
                                "type": "integer",
                                "default": 0,
                                "examples": [
                                  100
                                ]
                              },
                              "logo_height": {
                                "type": "integer",
                                "default": 0,
                                "examples": [
                                  100
                                ]
                              },
                              "dynamic_watermark": {
                                "type": "boolean",
                                "default": true,
                                "examples": [
                                  false
                                ]
                              },
                              "watermark_font_size": {
                                "type": "integer",
                                "default": 0,
                                "examples": [
                                  20
                                ]
                              },
                              "watermark_font_color": {
                                "type": "string",
                                "examples": [
                                  "#ff0000"
                                ]
                              },
                              "watermark_bg_color": {
                                "type": "string",
                                "examples": [
                                  "transparent"
                                ]
                              },
                              "watermark_interval": {
                                "type": "integer",
                                "default": 0,
                                "examples": [
                                  1000
                                ]
                              }
                            },
                            "x-apidog-orders": [
                              "preload",
                              "autoplay",
                              "disable_seek",
                              "disable_player_controls",
                              "powered_by_gumlet_overlay",
                              "allow_drm_protected_videos",
                              "loop",
                              "player_color",
                              "include_seo",
                              "subtitle_enabled",
                              "pixel_tags",
                              "logo_width",
                              "logo_height",
                              "dynamic_watermark",
                              "watermark_font_size",
                              "watermark_font_color",
                              "watermark_bg_color",
                              "watermark_interval"
                            ]
                          },
                          "default_profile_id": {
                            "type": "string",
                            "examples": [
                              "646df1c9173a4a2fcac180b7"
                            ]
                          },
                          "insight_property_id": {
                            "type": "string",
                            "examples": [
                              "646df0aa173a4a2fcac18009"
                            ]
                          },
                          "aws": {
                            "type": "object",
                            "properties": {
                              "bucket_name": {
                                "type": "string",
                                "examples": [
                                  "asd"
                                ]
                              },
                              "bucket_region": {
                                "type": "string",
                                "examples": [
                                  "ap-south-1"
                                ]
                              },
                              "access_key": {
                                "type": "string",
                                "examples": [
                                  "Code@123"
                                ]
                              },
                              "secret": {
                                "type": "string",
                                "examples": [
                                  "****************"
                                ]
                              }
                            },
                            "x-apidog-orders": [
                              "bucket_name",
                              "bucket_region",
                              "access_key",
                              "secret"
                            ]
                          },
                          "embed_details": {
                            "type": "object",
                            "properties": {
                              "pixel_tags": {
                                "type": "object",
                                "properties": {},
                                "x-apidog-orders": []
                              },
                              "preload": {
                                "type": "boolean",
                                "default": true,
                                "examples": [
                                  false
                                ]
                              },
                              "autoplay": {
                                "type": "boolean",
                                "default": true,
                                "examples": [
                                  false
                                ]
                              },
                              "logo_width": {
                                "type": "integer",
                                "default": 0,
                                "examples": [
                                  100
                                ]
                              },
                              "logo_height": {
                                "type": "integer",
                                "default": 0,
                                "examples": [
                                  100
                                ]
                              },
                              "player_color": {
                                "type": "string",
                                "examples": [
                                  "#6658ea"
                                ]
                              },
                              "is_seo": {
                                "type": "boolean",
                                "default": true,
                                "examples": [
                                  true
                                ]
                              },
                              "dynamic_watermark": {
                                "type": "boolean",
                                "default": true,
                                "examples": [
                                  false
                                ]
                              },
                              "disable_seek": {
                                "type": "boolean",
                                "default": true,
                                "examples": [
                                  false
                                ]
                              },
                              "disable_player_controls": {
                                "type": "boolean",
                                "default": true,
                                "examples": [
                                  false
                                ]
                              },
                              "allow_drm_protected_videos": {
                                "type": "boolean",
                                "default": true,
                                "examples": [
                                  false
                                ]
                              },
                              "powered_by_gumlet_overlay": {
                                "type": "boolean",
                                "default": true,
                                "examples": [
                                  false
                                ]
                              },
                              "loop": {
                                "type": "boolean",
                                "default": true,
                                "examples": [
                                  false
                                ]
                              },
                              "subtitle_enabled": {
                                "type": "boolean",
                                "default": true,
                                "examples": [
                                  false
                                ]
                              },
                              "watermark_bg_color": {
                                "type": "string",
                                "examples": [
                                  "transparent"
                                ]
                              },
                              "watermark_font_color": {
                                "type": "string",
                                "examples": [
                                  "#ff0000"
                                ]
                              },
                              "watermark_font_size": {
                                "type": "integer",
                                "default": 0,
                                "examples": [
                                  20
                                ]
                              },
                              "watermark_interval": {
                                "type": "integer",
                                "default": 0,
                                "examples": [
                                  1000
                                ]
                              }
                            },
                            "x-apidog-orders": [
                              "pixel_tags",
                              "preload",
                              "autoplay",
                              "logo_width",
                              "logo_height",
                              "player_color",
                              "is_seo",
                              "dynamic_watermark",
                              "disable_seek",
                              "disable_player_controls",
                              "allow_drm_protected_videos",
                              "powered_by_gumlet_overlay",
                              "loop",
                              "subtitle_enabled",
                              "watermark_bg_color",
                              "watermark_font_color",
                              "watermark_font_size",
                              "watermark_interval"
                            ]
                          },
                          "folders": {
                            "type": "array",
                            "items": {
                              "type": "string",
                              "examples": [
                                "folder"
                              ]
                            }
                          },
                          "channel_settings": {
                            "type": "object",
                            "properties": {
                              "title": {
                                "type": "string",
                                "examples": [
                                  "my channel"
                                ]
                              },
                              "active": {
                                "type": "boolean",
                                "default": true,
                                "examples": [
                                  false
                                ]
                              },
                              "description": {
                                "type": "string",
                                "examples": [
                                  "desc"
                                ]
                              },
                              "privacy_type": {
                                "type": "string",
                                "examples": [
                                  "private"
                                ]
                              },
                              "custom_logo": {
                                "type": "boolean",
                                "default": true,
                                "examples": [
                                  true
                                ]
                              },
                              "logo_url": {
                                "type": "string",
                                "examples": [
                                  "https://dev-video.gumlet.io/646df1c9172a4a2fcac180b4/channel/logo.png"
                                ]
                              },
                              "cname": {
                                "type": "array",
                                "items": {
                                  "type": "string",
                                  "examples": [
                                    "okj.com"
                                  ]
                                }
                              },
                              "temp_cname": {
                                "type": "array",
                                "items": {
                                  "type": "string",
                                  "examples": [
                                    "okj.com"
                                  ]
                                }
                              }
                            },
                            "x-apidog-orders": [
                              "title",
                              "active",
                              "description",
                              "privacy_type",
                              "custom_logo",
                              "logo_url",
                              "cname",
                              "temp_cname"
                            ]
                          },
                          "on_streaming_halt": {
                            "type": "boolean",
                            "description": "Whether the workspace is disabled for streaming. `true` means it's disabled."
                          }
                        },
                        "x-apidog-orders": [
                          "id",
                          "name",
                          "type",
                          "created_at",
                          "updated_at",
                          "video_protection",
                          "player_config",
                          "default_profile_id",
                          "insight_property_id",
                          "aws",
                          "embed_details",
                          "folders",
                          "channel_settings",
                          "on_streaming_halt"
                        ]
                      }
                    }
                  },
                  "x-apidog-orders": [
                    "all_sources"
                  ]
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          }
        },
        "deprecated": false,
        "tags": [
          "Video Workspaces"
        ],
        "parameters": [
          {
            "name": "offset",
            "in": "query",
            "required": false,
            "description": "Number of workspaces to skip. For example if you need to list 11 to 20th workspaces, pass offset as 10 and size as 10.",
            "schema": {
              "type": "string",
              "default": "0"
            }
          },
          {
            "name": "size",
            "in": "query",
            "required": false,
            "description": "Number of workspace to return in single response.",
            "schema": {
              "type": "string",
              "default": "10"
            }
          }
        ],
        "x-codeSamples": [
          {
            "label": "TypeScript",
            "lang": "TypeScript",
            "source": "import Gumlet from '@gumlet/nodejs-sdk';\n\nconst client = new Gumlet({\n  apiKey: process.env['API_KEY'], // defaults to the API_KEY env var\n});\n\nconst videoWorkspace = await client.videoWorkspaces.list({\n  offset: '0',\n  size: '10',\n});\n\nconsole.log(videoWorkspace);"
          },
          {
            "label": "Python",
            "lang": "Python",
            "source": "import os\n\nfrom gumlet import Gumlet\n\nclient = Gumlet(\n    api_key=os.environ.get(\"API_KEY\"),\n)\n\nvideo_workspace = client.video_workspaces.list(\n    offset=\"0\",\n    size=\"10\",\n)\n\nprint(video_workspace)"
          }
        ]
      },
      "post": {
        "summary": "Create Workspace",
        "description": "Video workspaces are top-level entities in Gumlet. You can use them to organize videos for different teams/departments or use cases.",
        "operationId": "create-workspace",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "name",
                  "type"
                ],
                "properties": {
                  "name": {
                    "type": "string",
                    "description": "Specify a text string or identifier for the workspace."
                  },
                  "type": {
                    "type": "string",
                    "description": "Video workspaces are top-level entities in Gumlet. You can use them to organize videos for different teams/departments or use cases.",
                    "default": "direct-upload",
                    "enum": [
                      "proxy",
                      "direct-upload",
                      "webfolder",
                      "aws",
                      "gcs",
                      "dostorage",
                      "wasabi",
                      "cloudinary",
                      "azure",
                      "linode",
                      "backblaze",
                      "cloudflare",
                      "zoom"
                    ]
                  },
                  "default_profile_id": {
                    "type": "string",
                    "description": "Gumlet provides the functionality of creating multiple video assets using the same set of parameters."
                  },
                  "insight_property_id": {
                    "type": "string",
                    "description": "The five to ten character unique identifier of the Gumlet Insight Property available on the dashboard."
                  },
                  "video_protection": {
                    "type": "object",
                    "description": "Gumlet provides multiple options for securing your video playback.",
                    "properties": {
                      "signed_url": {
                        "type": "boolean",
                        "default": false
                      },
                      "signed_url_secret": {
                        "type": "string"
                      },
                      "blacklisted_countries": {
                        "type": "array",
                        "description": "Example: [\"IN\",\"USA\"]",
                        "items": {
                          "type": "string"
                        }
                      },
                      "whitelisted_referrers": {
                        "type": "string"
                      }
                    }
                  },
                  "aws": {
                    "type": "object",
                    "description": "This is a required field if workspace type is aws.",
                    "required": [
                      "bucket_name",
                      "bucket_region",
                      "access_key",
                      "secret"
                    ],
                    "properties": {
                      "bucket_name": {
                        "type": "string"
                      },
                      "bucket_region": {
                        "type": "string"
                      },
                      "access_key": {
                        "type": "string"
                      },
                      "secret": {
                        "type": "string"
                      },
                      "base_path": {
                        "type": "string"
                      },
                      "endpoint": {
                        "type": "string"
                      }
                    }
                  },
                  "proxy": {
                    "type": "object",
                    "description": "This is a required field if workspace type is proxy.",
                    "required": [
                      "whitelisted_domains"
                    ],
                    "properties": {
                      "whitelisted_domains": {
                        "type": "string"
                      }
                    }
                  },
                  "gcs": {
                    "type": "object",
                    "description": "This is a required field if workspace type is gcs.",
                    "required": [
                      "bucket_name",
                      "service_account_key"
                    ],
                    "properties": {
                      "bucket_name": {
                        "type": "string"
                      },
                      "service_account_key": {
                        "type": "string"
                      }
                    }
                  },
                  "dostorage": {
                    "type": "object",
                    "description": "This is a required field if workspace type is dostorage.",
                    "required": [
                      "bucket_name",
                      "bucket_region",
                      "access_key",
                      "secret"
                    ],
                    "properties": {
                      "bucket_name": {
                        "type": "string"
                      },
                      "bucket_region": {
                        "type": "string"
                      },
                      "access_key": {
                        "type": "string"
                      },
                      "secret": {
                        "type": "string"
                      },
                      "base_path": {
                        "type": "string"
                      }
                    }
                  },
                  "wasabi": {
                    "type": "object",
                    "description": "This is a required field if workspace type is wasabi.",
                    "required": [
                      "bucket_name",
                      "bucket_region",
                      "access_key",
                      "secret"
                    ],
                    "properties": {
                      "bucket_name": {
                        "type": "string"
                      },
                      "bucket_region": {
                        "type": "string"
                      },
                      "access_key": {
                        "type": "string"
                      },
                      "secret": {
                        "type": "string"
                      },
                      "base_path": {
                        "type": "string"
                      }
                    }
                  },
                  "cloudinary": {
                    "type": "object",
                    "description": "This is a required field if workspace type is cloudinary.",
                    "required": [
                      "host_name",
                      "cloud_name"
                    ],
                    "properties": {
                      "host_name": {
                        "type": "string"
                      },
                      "cloud_name": {
                        "type": "string"
                      }
                    }
                  },
                  "azure": {
                    "type": "object",
                    "description": "This is a required field if workspace type is azure.",
                    "required": [
                      "azure_account_name",
                      "azure_container_name",
                      "azure_shared_token",
                      "azure_path"
                    ],
                    "properties": {
                      "azure_account_name": {
                        "type": "string"
                      },
                      "azure_container_name": {
                        "type": "string"
                      },
                      "azure_shared_token": {
                        "type": "string"
                      },
                      "azure_path": {
                        "type": "string"
                      }
                    }
                  },
                  "linode": {
                    "type": "object",
                    "description": "This is a required field if workspace type is linode.",
                    "required": [
                      "bucket_name",
                      "bucket_region",
                      "access_key",
                      "secret"
                    ],
                    "properties": {
                      "bucket_name": {
                        "type": "string"
                      },
                      "bucket_region": {
                        "type": "string"
                      },
                      "access_key": {
                        "type": "string"
                      },
                      "secret": {
                        "type": "string"
                      }
                    }
                  },
                  "backblaze": {
                    "type": "object",
                    "description": "This is a required field if workspace type is backblaze.",
                    "required": [
                      "bucket_name",
                      "access_key",
                      "secret"
                    ],
                    "properties": {
                      "bucket_name": {
                        "type": "string"
                      },
                      "bucket_region": {
                        "type": "string",
                        "description": "bucket_region or endpoint"
                      },
                      "endpoint": {
                        "type": "string",
                        "description": "bucket_region or endpoint"
                      },
                      "access_key": {
                        "type": "string"
                      },
                      "secret": {
                        "type": "string"
                      },
                      "base_path": {
                        "type": "string"
                      }
                    }
                  },
                  "cloudflare": {
                    "type": "object",
                    "description": "This is a required field if workspace type is cloudflare.",
                    "required": [
                      "bucket_name",
                      "access_key",
                      "account_id",
                      "secret"
                    ],
                    "properties": {
                      "bucket_name": {
                        "type": "string"
                      },
                      "access_key": {
                        "type": "string"
                      },
                      "account_id": {
                        "type": "string"
                      },
                      "secret": {
                        "type": "string"
                      },
                      "base_path": {
                        "type": "string"
                      }
                    }
                  },
                  "zoom": {
                    "type": "object",
                    "description": "This is a required field if workspace type is zoom.",
                    "required": [
                      "secret"
                    ],
                    "properties": {
                      "secret": {
                        "type": "string"
                      }
                    }
                  }
                }
              },
              "examples": {
                "Request Example": {
                  "value": {
                    "name": "zoom-workspace",
                    "type": "zoom",
                    "zoom": {
                      "secret": "yourSecret"
                    }
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "200",
            "content": {
              "application/json": {
                "examples": {
                  "Result": {
                    "value": {
                      "id": "65b01610e99b77f116c0e32b",
                      "name": "zoom-workspace",
                      "type": "zoom",
                      "created_at": "2024-01-23T19:40:00.447Z",
                      "updated_at": "2024-01-23T19:40:00.447Z",
                      "video_protection": {},
                      "player_config": {
                        "preload": true,
                        "autoplay": false,
                        "disable_seek": false,
                        "disable_player_controls": false,
                        "powered_by_gumlet_overlay": true,
                        "allow_drm_protected_videos": true,
                        "loop": false,
                        "player_color": "#6658ea",
                        "include_seo": true,
                        "subtitle_enabled": false,
                        "pixel_tags": {},
                        "logo_width": 100,
                        "logo_height": 100,
                        "dynamic_watermark": false,
                        "watermark_font_size": 20,
                        "watermark_font_color": "#ff0000",
                        "watermark_bg_color": "transparent",
                        "watermark_interval": 1000
                      },
                      "default_profile_id": "646df1c9173a4a2fcac180b7",
                      "insight_property_id": "65b01610e99b77f116c0e329",
                      "zoom": {
                        "secret": "yourSecret"
                      },
                      "embed_details": {
                        "powered_by_gumlet_overlay": true,
                        "allow_drm_protected_videos": true,
                        "preload": true,
                        "autoplay": false,
                        "logo_width": 100,
                        "logo_height": 100,
                        "player_color": "#6658ea",
                        "is_seo": true,
                        "dynamic_watermark": false,
                        "watermark_font_size": 20,
                        "watermark_font_color": "#ff0000",
                        "watermark_bg_color": "transparent",
                        "watermark_interval": 1000,
                        "disable_seek": false,
                        "disable_player_controls": false,
                        "loop": false,
                        "subtitle_enabled": false
                      },
                      "folders": [],
                      "channel_settings": {
                        "active": false,
                        "privacy_type": "private"
                      }
                    }
                  }
                },
                "schema": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string",
                      "example": "65b01610e99b77f116c0e32b"
                    },
                    "name": {
                      "type": "string",
                      "example": "zoom-workspace"
                    },
                    "type": {
                      "type": "string",
                      "example": "zoom"
                    },
                    "created_at": {
                      "type": "string",
                      "example": "2024-01-23T19:40:00.447Z"
                    },
                    "updated_at": {
                      "type": "string",
                      "example": "2024-01-23T19:40:00.447Z"
                    },
                    "video_protection": {
                      "type": "object",
                      "properties": {}
                    },
                    "player_config": {
                      "type": "object",
                      "properties": {
                        "preload": {
                          "type": "boolean",
                          "example": true,
                          "default": true
                        },
                        "autoplay": {
                          "type": "boolean",
                          "example": false,
                          "default": true
                        },
                        "disable_seek": {
                          "type": "boolean",
                          "example": false,
                          "default": true
                        },
                        "disable_player_controls": {
                          "type": "boolean",
                          "example": false,
                          "default": true
                        },
                        "powered_by_gumlet_overlay": {
                          "type": "boolean",
                          "example": true,
                          "default": true
                        },
                        "allow_drm_protected_videos": {
                          "type": "boolean",
                          "example": true,
                          "default": true
                        },
                        "loop": {
                          "type": "boolean",
                          "example": false,
                          "default": true
                        },
                        "player_color": {
                          "type": "string",
                          "example": "#6658ea"
                        },
                        "include_seo": {
                          "type": "boolean",
                          "example": true,
                          "default": true
                        },
                        "subtitle_enabled": {
                          "type": "boolean",
                          "example": false,
                          "default": true
                        },
                        "pixel_tags": {
                          "type": "object",
                          "properties": {}
                        },
                        "logo_width": {
                          "type": "integer",
                          "example": 100,
                          "default": 0
                        },
                        "logo_height": {
                          "type": "integer",
                          "example": 100,
                          "default": 0
                        },
                        "dynamic_watermark": {
                          "type": "boolean",
                          "example": false,
                          "default": true
                        },
                        "watermark_font_size": {
                          "type": "integer",
                          "example": 20,
                          "default": 0
                        },
                        "watermark_font_color": {
                          "type": "string",
                          "example": "#ff0000"
                        },
                        "watermark_bg_color": {
                          "type": "string",
                          "example": "transparent"
                        },
                        "watermark_interval": {
                          "type": "integer",
                          "example": 1000,
                          "default": 0
                        }
                      }
                    },
                    "default_profile_id": {
                      "type": "string",
                      "example": "646df1c9173a4a2fcac180b7"
                    },
                    "insight_property_id": {
                      "type": "string",
                      "example": "65b01610e99b77f116c0e329"
                    },
                    "zoom": {
                      "type": "object",
                      "properties": {
                        "secret": {
                          "type": "string",
                          "example": "yourSecret"
                        }
                      }
                    },
                    "embed_details": {
                      "type": "object",
                      "properties": {
                        "powered_by_gumlet_overlay": {
                          "type": "boolean",
                          "example": true,
                          "default": true
                        },
                        "allow_drm_protected_videos": {
                          "type": "boolean",
                          "example": true,
                          "default": true
                        },
                        "preload": {
                          "type": "boolean",
                          "example": true,
                          "default": true
                        },
                        "autoplay": {
                          "type": "boolean",
                          "example": false,
                          "default": true
                        },
                        "logo_width": {
                          "type": "integer",
                          "example": 100,
                          "default": 0
                        },
                        "logo_height": {
                          "type": "integer",
                          "example": 100,
                          "default": 0
                        },
                        "player_color": {
                          "type": "string",
                          "example": "#6658ea"
                        },
                        "is_seo": {
                          "type": "boolean",
                          "example": true,
                          "default": true
                        },
                        "dynamic_watermark": {
                          "type": "boolean",
                          "example": false,
                          "default": true
                        },
                        "watermark_font_size": {
                          "type": "integer",
                          "example": 20,
                          "default": 0
                        },
                        "watermark_font_color": {
                          "type": "string",
                          "example": "#ff0000"
                        },
                        "watermark_bg_color": {
                          "type": "string",
                          "example": "transparent"
                        },
                        "watermark_interval": {
                          "type": "integer",
                          "example": 1000,
                          "default": 0
                        },
                        "disable_seek": {
                          "type": "boolean",
                          "example": false,
                          "default": true
                        },
                        "disable_player_controls": {
                          "type": "boolean",
                          "example": false,
                          "default": true
                        },
                        "loop": {
                          "type": "boolean",
                          "example": false,
                          "default": true
                        },
                        "subtitle_enabled": {
                          "type": "boolean",
                          "example": false,
                          "default": true
                        }
                      }
                    },
                    "folders": {
                      "type": "array",
                      "items": {
                        "x-stoplight": {
                          "id": "mju7qgwlj4vva"
                        },
                        "type": "string"
                      }
                    },
                    "channel_settings": {
                      "type": "object",
                      "properties": {
                        "active": {
                          "type": "boolean",
                          "example": false,
                          "default": true
                        },
                        "privacy_type": {
                          "type": "string",
                          "example": "private"
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "examples": {
                  "Result": {
                    "value": {
                      "error": {
                        "code": "parameter_missing",
                        "message": "One or more required values are missing."
                      }
                    }
                  }
                },
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "code": {
                          "type": "string",
                          "example": "parameter_missing"
                        },
                        "message": {
                          "type": "string",
                          "example": "One or more required values are missing."
                        }
                      },
                      "required": [
                        "code",
                        "message"
                      ]
                    }
                  },
                  "required": [
                    "error"
                  ]
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "description": "Forbidden — feature not available on plan",
            "content": {
              "application/json": {
                "examples": {
                  "Result": {
                    "value": {
                      "error": {
                        "code": "unauthorised_feature_access",
                        "message": "Your plan doesn't have this feature, please upgrade your current plan to access this feature."
                      }
                    }
                  }
                },
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "code": {
                          "type": "string",
                          "example": "unauthorised_feature_access"
                        },
                        "message": {
                          "type": "string",
                          "example": "Your plan doesn't have this feature, please upgrade your current plan to access this feature."
                        }
                      },
                      "required": [
                        "code",
                        "message"
                      ]
                    }
                  },
                  "required": [
                    "error"
                  ]
                }
              }
            }
          },
          "422": {
            "$ref": "#/components/responses/ValidationError"
          }
        },
        "deprecated": false,
        "tags": [
          "Video Workspaces"
        ],
        "x-codeSamples": [
          {
            "label": "TypeScript",
            "lang": "TypeScript",
            "source": "import Gumlet from '@gumlet/nodejs-sdk';\n\nconst client = new Gumlet({\n  apiKey: process.env['API_KEY'], // defaults to the API_KEY env var\n});\n\nconst videoWorkspace = await client.videoWorkspaces.create({\n  name: 'zoom-workspace',\n  type: 'zoom',\n  zoom: { secret: 'yourSecret' },\n});\n\nconsole.log(videoWorkspace);"
          },
          {
            "label": "Python",
            "lang": "Python",
            "source": "import os\n\nfrom gumlet import Gumlet\n\nclient = Gumlet(\n    api_key=os.environ.get(\"API_KEY\"),\n)\n\nvideo_workspace = client.video_workspaces.create(\n    name=\"zoom-workspace\",\n    type=\"direct-upload\",\n    zoom={\"secret\": \"yourSecret\"},\n)\n\nprint(video_workspace)"
          }
        ]
      }
    },
    "/video/workspaces/{workspace_id}": {
      "post": {
        "summary": "Update Workspace",
        "description": "This endpoint allows users to update video workspace that has previously been created.",
        "operationId": "update-workspace",
        "parameters": [
          {
            "name": "workspace_id",
            "description": "Gumlet workspace ID. You can get it on Gumlet dashboard or retrieve it using list workspace API.",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "name": {
                    "type": "string",
                    "description": "video workspace name"
                  },
                  "default_profile_id": {
                    "type": "string",
                    "description": "Gumlet provides the functionality of creating multiple video assets using the same set of parameters."
                  },
                  "temp_cname": {
                    "type": "array",
                    "description": "cname for channel",
                    "items": {
                      "type": "string"
                    }
                  },
                  "insight_property_id": {
                    "type": "string",
                    "description": "The five to ten character unique identifier of the Gumlet Insight Property available on the dashboard."
                  },
                  "player_config": {
                    "type": "object",
                    "description": "Configure player settings for this playlist, it overrides the setting set on workspace.",
                    "properties": {
                      "preload": {
                        "type": "boolean"
                      },
                      "autoplay": {
                        "type": "boolean"
                      },
                      "disable_seek": {
                        "type": "boolean"
                      },
                      "disable_player_controls": {
                        "type": "boolean"
                      },
                      "powered_by_gumlet_overlay": {
                        "type": "boolean"
                      },
                      "allow_drm_protected_videos": {
                        "type": "boolean"
                      },
                      "loop": {
                        "type": "boolean"
                      },
                      "player_color": {
                        "type": "string"
                      },
                      "include_seo": {
                        "type": "boolean"
                      },
                      "subtitle_enabled": {
                        "type": "boolean"
                      },
                      "pixel_tags": {
                        "type": "object",
                        "properties": {},
                        "x-apidog-orders": []
                      },
                      "logo_width": {
                        "type": "integer",
                        "format": "int32"
                      },
                      "logo_height": {
                        "type": "integer",
                        "format": "int32"
                      },
                      "dynamic_watermark": {
                        "type": "boolean"
                      },
                      "watermark_font_size": {
                        "type": "integer",
                        "format": "int32"
                      },
                      "watermark_font_color": {
                        "type": "string"
                      },
                      "watermark_bg_color": {
                        "type": "string"
                      },
                      "watermark_interval": {
                        "type": "integer",
                        "format": "int32"
                      },
                      "cast": {
                        "type": "boolean"
                      },
                      "show_video_title": {
                        "type": "boolean"
                      }
                    },
                    "x-apidog-orders": [
                      "preload",
                      "autoplay",
                      "disable_seek",
                      "disable_player_controls",
                      "powered_by_gumlet_overlay",
                      "allow_drm_protected_videos",
                      "loop",
                      "player_color",
                      "include_seo",
                      "subtitle_enabled",
                      "pixel_tags",
                      "logo_width",
                      "logo_height",
                      "dynamic_watermark",
                      "watermark_font_size",
                      "watermark_font_color",
                      "watermark_bg_color",
                      "watermark_interval",
                      "cast",
                      "show_video_title"
                    ]
                  },
                  "video_protection": {
                    "type": "object",
                    "description": "Gumlet provides multiple options for securing your video playback.",
                    "properties": {
                      "signed_url": {
                        "type": "boolean",
                        "default": false
                      },
                      "signed_url_secret": {
                        "type": "string"
                      },
                      "blacklisted_countries": {
                        "type": "array",
                        "description": "Example: [\"IN\",\"USA\"]",
                        "items": {
                          "type": "string"
                        }
                      },
                      "whitelisted_referrers": {
                        "type": "array",
                        "items": {
                          "type": "string"
                        }
                      }
                    },
                    "x-apidog-orders": [
                      "signed_url",
                      "signed_url_secret",
                      "blacklisted_countries",
                      "whitelisted_referrers"
                    ]
                  },
                  "channel_settings": {
                    "type": "object",
                    "description": "Configurations to set various channel settings.",
                    "properties": {
                      "active": {
                        "type": "boolean",
                        "default": false
                      },
                      "description": {
                        "type": "string"
                      },
                      "title": {
                        "type": "string"
                      },
                      "privacy_type": {
                        "type": "string",
                        "enum": [
                          "\"public\"",
                          "\"private\"",
                          "\"password-protected\""
                        ]
                      },
                      "featured_video": {
                        "type": "string",
                        "description": "Video asset id, the asset should be in the same workspace as channel"
                      },
                      "password": {
                        "type": "string",
                        "description": "under channel_settings privacy_type must be \"password-protected\". Password length should be greater than 5 and lesser than 100 characters."
                      }
                    },
                    "x-apidog-orders": [
                      "active",
                      "description",
                      "title",
                      "privacy_type",
                      "featured_video",
                      "password"
                    ]
                  },
                  "type": {
                    "type": "string",
                    "description": "Video workspaces are top-level entities in Gumlet. You can use them to organize videos for different teams/departments or use cases.",
                    "enum": [
                      "proxy",
                      "direct-upload",
                      "webfolder",
                      "aws",
                      "gcs",
                      "dostorage",
                      "wasabi",
                      "cloudinary",
                      "azure",
                      "linode",
                      "backblaze",
                      "cloudflare",
                      "zoom"
                    ]
                  },
                  "webfolder": {
                    "type": "object",
                    "description": "This is a required field if workspace type is webfolder.",
                    "properties": {
                      "base_url": {
                        "type": "string"
                      }
                    },
                    "x-apidog-orders": [
                      "base_url"
                    ]
                  },
                  "aws": {
                    "type": "object",
                    "description": "This is a required field if workspace type is aws.",
                    "required": [
                      "bucket_name",
                      "bucket_region",
                      "access_key",
                      "secret"
                    ],
                    "properties": {
                      "bucket_name": {
                        "type": "string"
                      },
                      "bucket_region": {
                        "type": "string"
                      },
                      "access_key": {
                        "type": "string"
                      },
                      "secret": {
                        "type": "string"
                      },
                      "base_path": {
                        "type": "string"
                      },
                      "endpoint": {
                        "type": "string"
                      }
                    },
                    "x-apidog-orders": [
                      "bucket_name",
                      "bucket_region",
                      "access_key",
                      "secret",
                      "base_path",
                      "endpoint"
                    ]
                  },
                  "proxy": {
                    "type": "object",
                    "description": "This is a required field if workspace type is proxy.",
                    "required": [
                      "whitelisted_domains"
                    ],
                    "properties": {
                      "whitelisted_domains": {
                        "type": "string"
                      }
                    },
                    "x-apidog-orders": [
                      "whitelisted_domains"
                    ]
                  },
                  "gcs": {
                    "type": "object",
                    "description": "This is a required field if workspace type is gcs.",
                    "required": [
                      "bucket_name",
                      "service_account_key"
                    ],
                    "properties": {
                      "bucket_name": {
                        "type": "string"
                      },
                      "service_account_key": {
                        "type": "string"
                      }
                    },
                    "x-apidog-orders": [
                      "bucket_name",
                      "service_account_key"
                    ]
                  },
                  "dostorage": {
                    "type": "object",
                    "description": "This is a required field if workspace type is dostorage.",
                    "required": [
                      "bucket_name",
                      "bucket_region",
                      "access_key",
                      "secret"
                    ],
                    "properties": {
                      "bucket_name": {
                        "type": "string"
                      },
                      "bucket_region": {
                        "type": "string"
                      },
                      "access_key": {
                        "type": "string"
                      },
                      "secret": {
                        "type": "string"
                      },
                      "base_path": {
                        "type": "string"
                      }
                    },
                    "x-apidog-orders": [
                      "bucket_name",
                      "bucket_region",
                      "access_key",
                      "secret",
                      "base_path"
                    ]
                  },
                  "wasabi": {
                    "type": "object",
                    "description": "This is a required field if workspace type is wasabi.",
                    "required": [
                      "bucket_name",
                      "bucket_region",
                      "access_key",
                      "secret"
                    ],
                    "properties": {
                      "bucket_name": {
                        "type": "string"
                      },
                      "bucket_region": {
                        "type": "string"
                      },
                      "access_key": {
                        "type": "string"
                      },
                      "secret": {
                        "type": "string"
                      },
                      "base_path": {
                        "type": "string"
                      }
                    },
                    "x-apidog-orders": [
                      "bucket_name",
                      "bucket_region",
                      "access_key",
                      "secret",
                      "base_path"
                    ]
                  },
                  "linode": {
                    "type": "object",
                    "description": "This is a required field if workspace type is linode.",
                    "required": [
                      "bucket_name",
                      "bucket_region",
                      "access_key",
                      "secret"
                    ],
                    "properties": {
                      "bucket_name": {
                        "type": "string"
                      },
                      "bucket_region": {
                        "type": "string"
                      },
                      "access_key": {
                        "type": "string"
                      },
                      "secret": {
                        "type": "string"
                      }
                    },
                    "x-apidog-orders": [
                      "bucket_name",
                      "bucket_region",
                      "access_key",
                      "secret"
                    ]
                  },
                  "backblaze": {
                    "type": "object",
                    "description": "This is a required field if workspace type is backblaze.",
                    "required": [
                      "bucket_name",
                      "access_key",
                      "secret"
                    ],
                    "properties": {
                      "bucket_name": {
                        "type": "string"
                      },
                      "bucket_region": {
                        "type": "string",
                        "description": "bucket_region or endpoint"
                      },
                      "endpoint": {
                        "type": "string",
                        "description": "bucket_region or endpoint"
                      },
                      "access_key": {
                        "type": "string"
                      },
                      "secret": {
                        "type": "string"
                      },
                      "base_path": {
                        "type": "string"
                      }
                    },
                    "x-apidog-orders": [
                      "bucket_name",
                      "bucket_region",
                      "endpoint",
                      "access_key",
                      "secret",
                      "base_path"
                    ]
                  },
                  "cloudflare": {
                    "type": "object",
                    "description": "This is a required field if workspace type is cloudflare.",
                    "required": [
                      "bucket_name",
                      "access_key",
                      "account_id",
                      "secret"
                    ],
                    "properties": {
                      "bucket_name": {
                        "type": "string"
                      },
                      "access_key": {
                        "type": "string"
                      },
                      "account_id": {
                        "type": "string"
                      },
                      "secret": {
                        "type": "string"
                      },
                      "base_path": {
                        "type": "string"
                      }
                    },
                    "x-apidog-orders": [
                      "bucket_name",
                      "access_key",
                      "account_id",
                      "secret",
                      "base_path"
                    ]
                  },
                  "cloudinary": {
                    "type": "object",
                    "description": "This is a required field if workspace type is cloudinary.",
                    "required": [
                      "host_name",
                      "cloud_name"
                    ],
                    "properties": {
                      "host_name": {
                        "type": "string"
                      },
                      "cloud_name": {
                        "type": "string"
                      }
                    },
                    "x-apidog-orders": [
                      "host_name",
                      "cloud_name"
                    ]
                  },
                  "azure": {
                    "type": "object",
                    "description": "This is a required field if workspace type is azure.",
                    "required": [
                      "azure_account_name",
                      "azure_container_name",
                      "azure_shared_token",
                      "azure_path"
                    ],
                    "properties": {
                      "azure_account_name": {
                        "type": "string"
                      },
                      "azure_container_name": {
                        "type": "string"
                      },
                      "azure_shared_token": {
                        "type": "string"
                      },
                      "azure_path": {
                        "type": "string"
                      }
                    },
                    "x-apidog-orders": [
                      "azure_account_name",
                      "azure_container_name",
                      "azure_shared_token",
                      "azure_path"
                    ]
                  },
                  "zoom": {
                    "type": "object",
                    "description": "This is a required field if workspace type is zoom.",
                    "required": [
                      "secret"
                    ],
                    "properties": {
                      "secret": {
                        "type": "string"
                      }
                    },
                    "x-apidog-orders": [
                      "secret"
                    ]
                  }
                },
                "x-apidog-orders": [
                  "name",
                  "default_profile_id",
                  "temp_cname",
                  "insight_property_id",
                  "player_config",
                  "video_protection",
                  "channel_settings",
                  "type",
                  "webfolder",
                  "aws",
                  "proxy",
                  "gcs",
                  "dostorage",
                  "wasabi",
                  "linode",
                  "backblaze",
                  "cloudflare",
                  "cloudinary",
                  "azure",
                  "zoom"
                ]
              },
              "examples": {
                "Request Example": {
                  "value": {
                    "default_profile_id": "646df1c9173a4a2fcac180b7",
                    "name": "awsrename",
                    "type": "aws",
                    "aws": {
                      "bucket_name": "my-bucket-test",
                      "bucket_region": "ap-southeast-1",
                      "access_key": "BQUA6QFXVWHAAB6IO2X1",
                      "secret": "aws_secret"
                    }
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "200",
            "content": {
              "application/json": {
                "examples": {
                  "Result": {
                    "value": {
                      "id": "646df1c9173a4a2fcac180b4",
                      "name": "aws-source",
                      "type": "aws",
                      "created_at": "2023-05-24T11:15:21.624Z",
                      "updated_at": "2024-01-24T11:24:16.003Z",
                      "video_protection": {
                        "signed_url": true,
                        "signed_url_secret": "87a2e2fbb2318f902b882c532bc703a8"
                      },
                      "player_config": {
                        "preload": false,
                        "autoplay": false,
                        "disable_seek": false,
                        "disable_player_controls": false,
                        "powered_by_gumlet_overlay": false,
                        "allow_drm_protected_videos": false,
                        "loop": false,
                        "player_color": "#6658ea",
                        "include_seo": true,
                        "subtitle_enabled": false,
                        "pixel_tags": {},
                        "logo_width": 100,
                        "logo_height": 100,
                        "dynamic_watermark": false,
                        "watermark_font_size": 20,
                        "watermark_font_color": "#ff0000",
                        "watermark_bg_color": "transparent",
                        "watermark_interval": 1000
                      },
                      "default_profile_id": "646df1c9173a4a2fcac180b7",
                      "insight_property_id": "646df0aa173a4a2fcac18009",
                      "aws": {
                        "bucket_name": "my-bucket-test",
                        "bucket_region": "ap-southeast-1",
                        "access_key": "BQUA6QFXVWHAAB6IO2X1",
                        "secret": "****************"
                      },
                      "embed_details": {
                        "preload": false,
                        "autoplay": false,
                        "logo_width": 100,
                        "logo_height": 100,
                        "player_color": "#6658ea",
                        "is_seo": true,
                        "dynamic_watermark": false,
                        "watermark_font_size": 20,
                        "watermark_font_color": "#ff0000",
                        "watermark_bg_color": "transparent",
                        "watermark_interval": 1000,
                        "disable_seek": false,
                        "disable_player_controls": false,
                        "powered_by_gumlet_overlay": false,
                        "allow_drm_protected_videos": false,
                        "pixel_tags": {},
                        "loop": false,
                        "subtitle_enabled": false
                      },
                      "folders": [
                        "folder",
                        "folder 2",
                        "folder 27",
                        "folder 4"
                      ],
                      "channel_settings": {
                        "title": "myTitle",
                        "active": false,
                        "description": "desc",
                        "privacy_type": "private",
                        "custom_logo": true,
                        "logo_url": "https://dev-video.gumlet.io/626d21c3473a4a2faac180b4/channel/logo.png",
                        "cname": [
                          "okj.com",
                          "sd.com",
                          "safd.com"
                        ],
                        "temp_cname": [
                          "okj.com",
                          "safd.com",
                          "sd.com"
                        ]
                      },
                      "insights_enabled": true
                    }
                  }
                },
                "schema": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string",
                      "examples": [
                        "646df1c9173a4a2fcac180b4"
                      ]
                    },
                    "name": {
                      "type": "string",
                      "examples": [
                        "aws-source"
                      ]
                    },
                    "type": {
                      "type": "string",
                      "examples": [
                        "aws"
                      ]
                    },
                    "created_at": {
                      "type": "string",
                      "examples": [
                        "2023-05-24T11:15:21.624Z"
                      ]
                    },
                    "updated_at": {
                      "type": "string",
                      "examples": [
                        "2024-01-24T11:24:16.003Z"
                      ]
                    },
                    "video_protection": {
                      "type": "object",
                      "properties": {
                        "signed_url": {
                          "type": "boolean",
                          "default": true,
                          "examples": [
                            true
                          ]
                        },
                        "signed_url_secret": {
                          "type": "string",
                          "examples": [
                            "87a2e2fbb2318f902b882c532bc703a8"
                          ]
                        }
                      },
                      "x-apidog-orders": [
                        "signed_url",
                        "signed_url_secret"
                      ]
                    },
                    "player_config": {
                      "type": "object",
                      "properties": {
                        "preload": {
                          "type": "boolean",
                          "default": true,
                          "examples": [
                            false
                          ]
                        },
                        "autoplay": {
                          "type": "boolean",
                          "default": true,
                          "examples": [
                            false
                          ]
                        },
                        "disable_seek": {
                          "type": "boolean",
                          "default": true,
                          "examples": [
                            false
                          ]
                        },
                        "disable_player_controls": {
                          "type": "boolean",
                          "default": true,
                          "examples": [
                            false
                          ]
                        },
                        "powered_by_gumlet_overlay": {
                          "type": "boolean",
                          "default": true,
                          "examples": [
                            false
                          ]
                        },
                        "allow_drm_protected_videos": {
                          "type": "boolean",
                          "default": true,
                          "examples": [
                            false
                          ]
                        },
                        "loop": {
                          "type": "boolean",
                          "default": true,
                          "examples": [
                            false
                          ]
                        },
                        "player_color": {
                          "type": "string",
                          "examples": [
                            "#6658ea"
                          ]
                        },
                        "include_seo": {
                          "type": "boolean",
                          "default": true,
                          "examples": [
                            true
                          ]
                        },
                        "subtitle_enabled": {
                          "type": "boolean",
                          "default": true,
                          "examples": [
                            false
                          ]
                        },
                        "pixel_tags": {
                          "type": "object",
                          "properties": {},
                          "x-apidog-orders": []
                        },
                        "logo_width": {
                          "type": "integer",
                          "default": 0,
                          "examples": [
                            100
                          ]
                        },
                        "logo_height": {
                          "type": "integer",
                          "default": 0,
                          "examples": [
                            100
                          ]
                        },
                        "dynamic_watermark": {
                          "type": "boolean",
                          "default": true,
                          "examples": [
                            false
                          ]
                        },
                        "watermark_font_size": {
                          "type": "integer",
                          "default": 0,
                          "examples": [
                            20
                          ]
                        },
                        "watermark_font_color": {
                          "type": "string",
                          "examples": [
                            "#ff0000"
                          ]
                        },
                        "watermark_bg_color": {
                          "type": "string",
                          "examples": [
                            "transparent"
                          ]
                        },
                        "watermark_interval": {
                          "type": "integer",
                          "default": 0,
                          "examples": [
                            1000
                          ]
                        }
                      },
                      "x-apidog-orders": [
                        "preload",
                        "autoplay",
                        "disable_seek",
                        "disable_player_controls",
                        "powered_by_gumlet_overlay",
                        "allow_drm_protected_videos",
                        "loop",
                        "player_color",
                        "include_seo",
                        "subtitle_enabled",
                        "pixel_tags",
                        "logo_width",
                        "logo_height",
                        "dynamic_watermark",
                        "watermark_font_size",
                        "watermark_font_color",
                        "watermark_bg_color",
                        "watermark_interval"
                      ]
                    },
                    "default_profile_id": {
                      "type": "string",
                      "examples": [
                        "646df1c9173a4a2fcac180b7"
                      ]
                    },
                    "insight_property_id": {
                      "type": "string",
                      "examples": [
                        "646df0aa173a4a2fcac18009"
                      ]
                    },
                    "aws": {
                      "type": "object",
                      "properties": {
                        "bucket_name": {
                          "type": "string",
                          "examples": [
                            "my-bucket-test"
                          ]
                        },
                        "bucket_region": {
                          "type": "string",
                          "examples": [
                            "ap-southeast-1"
                          ]
                        },
                        "access_key": {
                          "type": "string",
                          "examples": [
                            "BQUA6QFXVWHAAB6IO2X1"
                          ]
                        },
                        "secret": {
                          "type": "string",
                          "examples": [
                            "****************"
                          ]
                        }
                      },
                      "x-apidog-orders": [
                        "bucket_name",
                        "bucket_region",
                        "access_key",
                        "secret"
                      ]
                    },
                    "embed_details": {
                      "type": "object",
                      "properties": {
                        "preload": {
                          "type": "boolean",
                          "default": true,
                          "examples": [
                            false
                          ]
                        },
                        "autoplay": {
                          "type": "boolean",
                          "default": true,
                          "examples": [
                            false
                          ]
                        },
                        "logo_width": {
                          "type": "integer",
                          "default": 0,
                          "examples": [
                            100
                          ]
                        },
                        "logo_height": {
                          "type": "integer",
                          "default": 0,
                          "examples": [
                            100
                          ]
                        },
                        "player_color": {
                          "type": "string",
                          "examples": [
                            "#6658ea"
                          ]
                        },
                        "is_seo": {
                          "type": "boolean",
                          "default": true,
                          "examples": [
                            true
                          ]
                        },
                        "dynamic_watermark": {
                          "type": "boolean",
                          "default": true,
                          "examples": [
                            false
                          ]
                        },
                        "watermark_font_size": {
                          "type": "integer",
                          "default": 0,
                          "examples": [
                            20
                          ]
                        },
                        "watermark_font_color": {
                          "type": "string",
                          "examples": [
                            "#ff0000"
                          ]
                        },
                        "watermark_bg_color": {
                          "type": "string",
                          "examples": [
                            "transparent"
                          ]
                        },
                        "watermark_interval": {
                          "type": "integer",
                          "default": 0,
                          "examples": [
                            1000
                          ]
                        },
                        "disable_seek": {
                          "type": "boolean",
                          "default": true,
                          "examples": [
                            false
                          ]
                        },
                        "disable_player_controls": {
                          "type": "boolean",
                          "default": true,
                          "examples": [
                            false
                          ]
                        },
                        "powered_by_gumlet_overlay": {
                          "type": "boolean",
                          "default": true,
                          "examples": [
                            false
                          ]
                        },
                        "allow_drm_protected_videos": {
                          "type": "boolean",
                          "default": true,
                          "examples": [
                            false
                          ]
                        },
                        "pixel_tags": {
                          "type": "object",
                          "properties": {},
                          "x-apidog-orders": []
                        },
                        "loop": {
                          "type": "boolean",
                          "default": true,
                          "examples": [
                            false
                          ]
                        },
                        "subtitle_enabled": {
                          "type": "boolean",
                          "default": true,
                          "examples": [
                            false
                          ]
                        }
                      },
                      "x-apidog-orders": [
                        "preload",
                        "autoplay",
                        "logo_width",
                        "logo_height",
                        "player_color",
                        "is_seo",
                        "dynamic_watermark",
                        "watermark_font_size",
                        "watermark_font_color",
                        "watermark_bg_color",
                        "watermark_interval",
                        "disable_seek",
                        "disable_player_controls",
                        "powered_by_gumlet_overlay",
                        "allow_drm_protected_videos",
                        "pixel_tags",
                        "loop",
                        "subtitle_enabled"
                      ]
                    },
                    "folders": {
                      "type": "array",
                      "items": {
                        "type": "string",
                        "examples": [
                          "folder"
                        ]
                      }
                    },
                    "channel_settings": {
                      "type": "object",
                      "properties": {
                        "title": {
                          "type": "string",
                          "examples": [
                            "myTitle"
                          ]
                        },
                        "active": {
                          "type": "boolean",
                          "default": true,
                          "examples": [
                            false
                          ]
                        },
                        "description": {
                          "type": "string",
                          "examples": [
                            "desc"
                          ]
                        },
                        "privacy_type": {
                          "type": "string",
                          "examples": [
                            "private"
                          ]
                        },
                        "custom_logo": {
                          "type": "boolean",
                          "default": true,
                          "examples": [
                            true
                          ]
                        },
                        "logo_url": {
                          "type": "string",
                          "examples": [
                            "https://dev-video.gumlet.io/626d21c3473a4a2faac180b4/channel/logo.png"
                          ]
                        },
                        "cname": {
                          "type": "array",
                          "items": {
                            "type": "string",
                            "examples": [
                              "okj.com"
                            ]
                          }
                        },
                        "temp_cname": {
                          "type": "array",
                          "items": {
                            "type": "string",
                            "examples": [
                              "okj.com"
                            ]
                          }
                        }
                      },
                      "x-apidog-orders": [
                        "title",
                        "active",
                        "description",
                        "privacy_type",
                        "custom_logo",
                        "logo_url",
                        "cname",
                        "temp_cname"
                      ]
                    },
                    "insights_enabled": {
                      "type": "boolean",
                      "description": "Whether Gumlet video analytics is enabled for this workspace."
                    }
                  },
                  "x-apidog-orders": [
                    "id",
                    "name",
                    "type",
                    "created_at",
                    "updated_at",
                    "video_protection",
                    "player_config",
                    "default_profile_id",
                    "insight_property_id",
                    "aws",
                    "embed_details",
                    "folders",
                    "channel_settings",
                    "insights_enabled"
                  ],
                  "required": [
                    "insights_enabled",
                    "id",
                    "name",
                    "type",
                    "created_at",
                    "updated_at",
                    "player_config",
                    "folders",
                    "channel_settings"
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "examples": {
                  "Result": {
                    "value": {
                      "error": {
                        "code": "collection_not_found",
                        "message": "Could not find any video workspace with specified workspace_id."
                      }
                    }
                  }
                },
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "code": {
                          "type": "string",
                          "example": "collection_not_found"
                        },
                        "message": {
                          "type": "string",
                          "example": "Could not find any video workspace with specified workspace_id."
                        }
                      },
                      "required": [
                        "code",
                        "message"
                      ]
                    }
                  },
                  "required": [
                    "error"
                  ]
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          }
        },
        "deprecated": false,
        "tags": [
          "Video Workspaces"
        ],
        "x-codeSamples": [
          {
            "label": "TypeScript",
            "lang": "TypeScript",
            "source": "import Gumlet from '@gumlet/nodejs-sdk';\n\nconst client = new Gumlet({\n  apiKey: process.env['API_KEY'], // defaults to the API_KEY env var\n});\n\nconst videoWorkspace = await client.videoWorkspaces.update('workspaceId', {\n  default_profile_id: '646df1c9173a4a2fcac180b7',\n  name: 'awsrename',\n  type: 'aws',\n  aws: {\n    bucket_name: 'my-bucket-test',\n    bucket_region: 'ap-southeast-1',\n    access_key: 'BQUA6QFXVWHAAB6IO2X1',\n    secret: 'aws_secret',\n  },\n});\n\nconsole.log(videoWorkspace);"
          },
          {
            "label": "Python",
            "lang": "Python",
            "source": "import os\n\nfrom gumlet import Gumlet\n\nclient = Gumlet(\n    api_key=os.environ.get(\"API_KEY\"),\n)\n\nvideo_workspace = client.video_workspaces.update(\n    workspace_id=\"workspaceId\",\n    name=\"awsrename\",\n    default_profile_id=\"646df1c9173a4a2fcac180b7\",\n    type=\"aws\",\n    aws={\n        \"bucket_name\": \"my-bucket-test\",\n        \"bucket_region\": \"ap-southeast-1\",\n        \"access_key\": \"BQUA6QFXVWHAAB6IO2X1\",\n        \"secret\": \"aws_secret\",\n    },\n)\n\nprint(video_workspace)"
          }
        ]
      },
      "get": {
        "summary": "Get Workspace",
        "description": "This endpoint get all the data of video workspace that has previously been created.",
        "operationId": "get-workspace",
        "parameters": [
          {
            "name": "workspace_id",
            "description": "Gumlet workspace ID. You can get it on Gumlet dashboard or retrieve it using list workspace API.",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "200",
            "content": {
              "application/json": {
                "examples": {},
                "schema": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string",
                      "description": "Workspace ID"
                    },
                    "name": {
                      "type": "string",
                      "description": "Workspace Name"
                    },
                    "type": {
                      "type": "string",
                      "description": "Workspace Type"
                    },
                    "created_at": {
                      "type": "string",
                      "description": "ISO 8601 formatted creation timestamp of this workspace."
                    },
                    "updated_at": {
                      "type": "string",
                      "description": "ISO 8601 formatted update timestamp of this workspace."
                    },
                    "default_profile_id": {
                      "type": "string",
                      "description": "Profile ID for the default profile of this workspace"
                    },
                    "default_profile_updated_at": {
                      "type": "string",
                      "description": "ISO 8601 formatted profile update timestamp"
                    },
                    "insights_enabled": {
                      "type": "boolean",
                      "description": "Whether Gumlet video analytics is enabled for video embeds in this workspace."
                    },
                    "video_protection": {
                      "type": "object",
                      "properties": {
                        "signed_url_secret": {
                          "type": "string",
                          "description": "Secret that is to be used to sign URLs"
                        },
                        "blacklisted_countries": {
                          "type": "array",
                          "items": {
                            "type": "string"
                          },
                          "description": "Blacklist of 2 letter country codes."
                        },
                        "whitelisted_referrers": {
                          "type": "array",
                          "items": {
                            "type": "string"
                          },
                          "description": "List of whitelisted domains which allow playback for the videos."
                        },
                        "whitelisted_countries": {
                          "type": "string",
                          "description": "List of whitelisted of 2 letter country codes."
                        },
                        "signed_url": {
                          "type": "boolean",
                          "description": "Boolean value indicating whether signed URL is enabled."
                        }
                      },
                      "x-apidog-orders": [
                        "signed_url_secret",
                        "signed_url",
                        "whitelisted_referrers",
                        "whitelisted_countries",
                        "blacklisted_countries"
                      ]
                    },
                    "player_config": {
                      "type": "object",
                      "properties": {
                        "autoplay": {
                          "type": "boolean",
                          "description": "Video autoplay enable flag. True means autoplay is enabled."
                        },
                        "disable_seek": {
                          "type": "boolean",
                          "description": "Seek bar enable / disable"
                        },
                        "disable_player_controls": {
                          "type": "boolean",
                          "description": "Disable / enable all player controls"
                        },
                        "powered_by_gumlet_overlay": {
                          "type": "boolean",
                          "description": "Whether Gumlet logo shows on player."
                        },
                        "loop": {
                          "type": "boolean",
                          "description": "Whether video should loop once it ends. `true` value means video will loop"
                        },
                        "player_color": {
                          "type": "string",
                          "description": "Hex color string of video player color"
                        },
                        "enable_download_button": {
                          "type": "boolean",
                          "description": "Enable / disable download button on player."
                        },
                        "caption_enabled": {
                          "type": "boolean",
                          "description": "Enable / disable video captions on player."
                        },
                        "logo_width": {
                          "type": "number",
                          "description": "Logo display width in pixels."
                        },
                        "logo_height": {
                          "type": "number",
                          "description": "Logo display height in pixels."
                        },
                        "dynamic_watermark": {
                          "type": "boolean",
                          "description": "Flag if dynamic watermark is enabled."
                        },
                        "watermark_font_size": {
                          "type": "number",
                          "description": "Dynamic watermark font size in pixels."
                        },
                        "watermark_font_color": {
                          "type": "string",
                          "description": "Hex color code of dynamic watermark text."
                        },
                        "watermark_bg_color": {
                          "type": "string",
                          "description": "Hex color code of background for dynamic watermark text."
                        },
                        "watermark_interval": {
                          "type": "integer",
                          "description": "Interval in milliseconds between dynamic watermark flashing."
                        },
                        "watermark_visiblity_duration": {
                          "type": "integer",
                          "description": "Duration for which the dynamic watermark will be visible on screen."
                        },
                        "show_video_title": {
                          "type": "boolean",
                          "description": "Enable / disable video title on player."
                        },
                        "cast": {
                          "type": "boolean",
                          "description": "Enable / disable cast button on player."
                        },
                        "resume_where_left": {
                          "type": "boolean",
                          "description": "Enable / disable playback from last viewed position. `true` means the playback will resume from last position."
                        },
                        "cc_color": {
                          "type": "string",
                          "description": "Closed captions / subtitle color."
                        },
                        "cc_bg_color": {
                          "type": "string",
                          "description": "Closed captions / subtitle background color."
                        },
                        "cc_font_size": {
                          "type": "string",
                          "description": "Font size of closed captions.",
                          "enum": [
                            "small",
                            "medium",
                            "large"
                          ],
                          "x-apidog-enum": [
                            {
                              "value": "small",
                              "name": "",
                              "description": ""
                            },
                            {
                              "value": "medium",
                              "name": "",
                              "description": ""
                            },
                            {
                              "value": "large",
                              "name": "",
                              "description": ""
                            }
                          ]
                        }
                      },
                      "x-apidog-orders": [
                        "autoplay",
                        "disable_seek",
                        "loop",
                        "powered_by_gumlet_overlay",
                        "disable_player_controls",
                        "logo_width",
                        "logo_height",
                        "caption_enabled",
                        "enable_download_button",
                        "player_color",
                        "dynamic_watermark",
                        "watermark_font_size",
                        "watermark_font_color",
                        "watermark_bg_color",
                        "watermark_interval",
                        "watermark_visiblity_duration",
                        "show_video_title",
                        "cast",
                        "resume_where_left",
                        "cc_color",
                        "cc_bg_color",
                        "cc_font_size"
                      ],
                      "description": "Video player configuration",
                      "required": [
                        "autoplay",
                        "disable_seek",
                        "disable_player_controls",
                        "powered_by_gumlet_overlay",
                        "loop",
                        "player_color",
                        "enable_download_button",
                        "caption_enabled",
                        "dynamic_watermark",
                        "show_video_title",
                        "cast",
                        "resume_where_left"
                      ]
                    },
                    "folders": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      },
                      "description": "List of folder names in this workspace."
                    },
                    "channel_settings": {
                      "type": "object",
                      "properties": {
                        "title": {
                          "type": "string",
                          "description": "Channel title."
                        },
                        "active": {
                          "type": "boolean",
                          "description": "Whether the channel is active."
                        },
                        "privacy_type": {
                          "type": "string",
                          "description": "Privacy type of videos in this workspace",
                          "enum": [
                            "private",
                            "public",
                            "password",
                            "dashboardOnly"
                          ],
                          "x-apidog-enum": [
                            {
                              "value": "private",
                              "name": "",
                              "description": "Videos are unlisted. Links can be shared but can't be indexed on search engines. This is the default."
                            },
                            {
                              "value": "public",
                              "name": "",
                              "description": "Videos can be accessed by anyone and can also be indexed by search engines."
                            },
                            {
                              "value": "password",
                              "name": "",
                              "description": "Videos are password protected."
                            },
                            {
                              "value": "dashboardOnly",
                              "name": "",
                              "description": "Videos can't be accessed by anyone except the person who has access granted on Gumlet dashboard."
                            }
                          ]
                        },
                        "channel_access_control": {
                          "type": "string",
                          "description": "Whether channel can be accessed publicly or it's invite only channel.",
                          "enum": [
                            "private",
                            "public"
                          ],
                          "x-apidog-enum": [
                            {
                              "value": "private",
                              "name": "",
                              "description": ""
                            },
                            {
                              "value": "public",
                              "name": "",
                              "description": ""
                            }
                          ]
                        },
                        "dynamic_watermark_type": {
                          "type": "string",
                          "description": "What to show in dynamic watermark."
                        },
                        "disable_invite_email": {
                          "type": "boolean",
                          "description": "Enable / disable channel invite email."
                        },
                        "password": {
                          "type": "string",
                          "description": "Password for the channel."
                        },
                        "color_scheme": {
                          "type": "string",
                          "description": "Color scheme for the channel UI."
                        },
                        "description": {
                          "type": "string",
                          "description": "Channel description."
                        },
                        "theme_preference": {
                          "type": "string",
                          "description": "Dark / light theme preference for the channel."
                        },
                        "cname": {
                          "type": "array",
                          "items": {
                            "type": "string"
                          },
                          "description": "Custom domains assigned to this channel."
                        },
                        "hero_url": {
                          "type": "string",
                          "description": "Hero banner URL"
                        },
                        "hero_updated_at": {
                          "type": "string",
                          "description": "ISO 8601 hero banner update timestamp."
                        },
                        "icon_url": {
                          "type": "string",
                          "description": "Channel icon URL"
                        },
                        "icon_updated_at": {
                          "type": "string",
                          "description": "ISO 8601 channel icon update timestamp."
                        },
                        "temp_cname": {
                          "type": "array",
                          "items": {
                            "type": "string"
                          },
                          "description": "Array of custom domains which are not yet verified."
                        },
                        "logo_url": {
                          "type": "string",
                          "description": "Logo URL"
                        },
                        "logo_updated_at": {
                          "type": "string",
                          "description": "ISO 8601 logo update timestamp."
                        },
                        "visible_playlists": {
                          "type": "array",
                          "items": {
                            "type": "object",
                            "properties": {
                              "_id": {
                                "type": "string",
                                "description": "Playlist ID"
                              },
                              "title": {
                                "type": "string",
                                "description": "Playlist Title"
                              }
                            },
                            "x-apidog-orders": [
                              "_id",
                              "title"
                            ],
                            "required": [
                              "_id",
                              "title"
                            ]
                          }
                        }
                      },
                      "x-apidog-orders": [
                        "title",
                        "description",
                        "active",
                        "privacy_type",
                        "channel_access_control",
                        "disable_invite_email",
                        "dynamic_watermark_type",
                        "password",
                        "color_scheme",
                        "theme_preference",
                        "cname",
                        "hero_url",
                        "hero_updated_at",
                        "icon_url",
                        "icon_updated_at",
                        "logo_url",
                        "logo_updated_at",
                        "visible_playlists",
                        "temp_cname"
                      ],
                      "required": [
                        "title",
                        "active",
                        "privacy_type",
                        "channel_access_control",
                        "dynamic_watermark_type",
                        "disable_invite_email",
                        "logo_updated_at"
                      ]
                    },
                    "distinct_tags": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      },
                      "description": "List of distinct tags in entire workspace."
                    },
                    "on_streaming_halt": {
                      "type": "boolean",
                      "description": "`true` means the workspace is disabled for streaming. No videos will stream from this workspace."
                    },
                    "storage_event_listener": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "event_id": {
                            "type": "string",
                            "description": "Storage event id"
                          },
                          "profile_id": {
                            "type": "string",
                            "description": "Profile ID associated with storage event"
                          },
                          "profile_name": {
                            "type": "string",
                            "description": "Profile Name"
                          },
                          "is_varified": {
                            "type": "boolean",
                            "description": "If this webhook listener is verified."
                          },
                          "callback_url": {
                            "type": "string",
                            "description": "Callback URL"
                          },
                          "status": {
                            "type": "string",
                            "description": "Status"
                          }
                        },
                        "x-apidog-orders": [
                          "event_id",
                          "profile_id",
                          "profile_name",
                          "is_varified",
                          "callback_url",
                          "status"
                        ],
                        "required": [
                          "profile_id",
                          "event_id",
                          "is_varified"
                        ]
                      }
                    }
                  },
                  "x-apidog-orders": [
                    "id",
                    "name",
                    "type",
                    "created_at",
                    "updated_at",
                    "default_profile_id",
                    "default_profile_updated_at",
                    "insights_enabled",
                    "video_protection",
                    "player_config",
                    "folders",
                    "channel_settings",
                    "distinct_tags",
                    "on_streaming_halt",
                    "storage_event_listener"
                  ],
                  "required": [
                    "id",
                    "name",
                    "type",
                    "created_at",
                    "updated_at",
                    "insights_enabled",
                    "player_config",
                    "folders",
                    "channel_settings"
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "examples": {
                  "Result": {
                    "value": {
                      "error": {
                        "code": "collection_not_found",
                        "message": "Could not find any video workspace with specified workspace_id."
                      }
                    }
                  }
                },
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "code": {
                          "type": "string",
                          "example": "collection_not_found"
                        },
                        "message": {
                          "type": "string",
                          "example": "Could not find any video workspace with specified workspace_id."
                        }
                      },
                      "required": [
                        "code",
                        "message"
                      ]
                    }
                  },
                  "required": [
                    "error"
                  ]
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "examples": {
                  "Result": {
                    "value": {
                      "error": {
                        "code": "collection_not_found",
                        "message": "Could not find any video workspace with specified workspace_id."
                      }
                    }
                  }
                },
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "code": {
                          "type": "string",
                          "example": "collection_not_found"
                        },
                        "message": {
                          "type": "string",
                          "example": "Could not find any video workspace with specified workspace_id."
                        }
                      },
                      "required": [
                        "code",
                        "message"
                      ]
                    }
                  },
                  "required": [
                    "error"
                  ]
                }
              }
            }
          }
        },
        "deprecated": false,
        "tags": [
          "Video Workspaces"
        ],
        "x-codeSamples": [
          {
            "label": "TypeScript",
            "lang": "TypeScript",
            "source": "import Gumlet from '@gumlet/nodejs-sdk';\n\nconst client = new Gumlet({\n  apiKey: process.env['API_KEY'], // defaults to the API_KEY env var\n});\n\nconst videoWorkspace = await client.videoWorkspaces.retrieve('workspaceId');\n\nconsole.log(videoWorkspace);"
          },
          {
            "label": "Python",
            "lang": "Python",
            "source": "import os\n\nfrom gumlet import Gumlet\n\nclient = Gumlet(\n    api_key=os.environ.get(\"API_KEY\"),\n)\n\nvideo_workspace = client.video_workspaces.retrieve(\n    workspace_id=\"workspaceId\",\n)\n\nprint(video_workspace)"
          }
        ]
      },
      "delete": {
        "summary": "Delete Workspace",
        "description": "This endpoint removes a video workspace given its unique asset id. All the asset in workspace will be removed from storage as well, associated URLs will be inaccessible.",
        "operationId": "delete-workspace",
        "parameters": [
          {
            "name": "workspace_id",
            "description": "Gumlet workspace ID. You can get it on Gumlet dashboard or retrieve it using list workspace API.",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "200",
            "content": {
              "application/json": {
                "examples": {
                  "Result": {
                    "value": {}
                  }
                },
                "schema": {
                  "type": "object",
                  "properties": {}
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "examples": {
                  "Result": {
                    "value": {
                      "error": {
                        "code": "collection_not_found",
                        "message": "Could not find any video workspace with specified workspace_id."
                      }
                    }
                  }
                },
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "code": {
                          "type": "string",
                          "example": "collection_not_found"
                        },
                        "message": {
                          "type": "string",
                          "example": "Could not find any video workspace with specified workspace_id."
                        }
                      },
                      "required": [
                        "code",
                        "message"
                      ]
                    }
                  },
                  "required": [
                    "error"
                  ]
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "examples": {
                  "Result": {
                    "value": {
                      "error": {
                        "code": "collection_not_found",
                        "message": "Could not find any video workspace with specified workspace_id."
                      }
                    }
                  }
                },
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "code": {
                          "type": "string",
                          "example": "collection_not_found"
                        },
                        "message": {
                          "type": "string",
                          "example": "Could not find any video workspace with specified workspace_id."
                        }
                      },
                      "required": [
                        "code",
                        "message"
                      ]
                    }
                  },
                  "required": [
                    "error"
                  ]
                }
              }
            }
          }
        },
        "deprecated": false,
        "tags": [
          "Video Workspaces"
        ],
        "x-codeSamples": [
          {
            "label": "TypeScript",
            "lang": "TypeScript",
            "source": "import Gumlet from '@gumlet/nodejs-sdk';\n\nconst client = new Gumlet({\n  apiKey: process.env['API_KEY'], // defaults to the API_KEY env var\n});\n\nconst videoWorkspace = await client.videoWorkspaces.delete('workspaceId');\n\nconsole.log(videoWorkspace);"
          },
          {
            "label": "Python",
            "lang": "Python",
            "source": "import os\n\nfrom gumlet import Gumlet\n\nclient = Gumlet(\n    api_key=os.environ.get(\"API_KEY\"),\n)\n\nvideo_workspace = client.video_workspaces.delete(\n    workspace_id=\"workspaceId\",\n)\n\nprint(video_workspace)"
          }
        ]
      }
    },
    "/video/workspaces/{workspace_id}/folders": {
      "post": {
        "summary": "Create Folder",
        "description": "Create a folder inside a video workspace. Optionally provide `parent_id` to create a nested folder.",
        "operationId": "create-folder",
        "parameters": [
          {
            "name": "workspace_id",
            "in": "path",
            "description": "Video workspace id.",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "name"
                ],
                "properties": {
                  "name": {
                    "type": "string",
                    "description": "Folder name."
                  },
                  "parent_id": {
                    "type": [
                      "string",
                      "null"
                    ],
                    "description": "Parent folder id. Send `null` or omit it to create a root-level folder."
                  }
                }
              },
              "examples": {
                "Request Example": {
                  "value": {
                    "name": "Course Assets",
                    "parent_id": null
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "200",
            "content": {
              "application/json": {
                "examples": {
                  "Result": {
                    "value": {
                      "id": "67e4f01d403562dbea6542d4",
                      "name": "Course Assets",
                      "video_source_id": "67e4ece9403562dbea65425f",
                      "parent_id": null,
                      "path": [],
                      "path_names": [],
                      "depth": 0,
                      "subdirectory_count": 0,
                      "asset_count": 0,
                      "created_at": "2026-03-18T10:00:00.000Z",
                      "updated_at": "2026-03-18T10:00:00.000Z"
                    }
                  }
                },
                "schema": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string",
                      "example": "67e4f01d403562dbea6542d4"
                    },
                    "name": {
                      "type": "string",
                      "example": "Course Assets"
                    },
                    "video_source_id": {
                      "type": "string",
                      "example": "67e4ece9403562dbea65425f"
                    },
                    "parent_id": {
                      "type": [
                        "string",
                        "null"
                      ],
                      "example": null
                    },
                    "path": {
                      "type": "array",
                      "items": {
                        "type": "string",
                        "example": "67e4f01d403562dbea6542d4"
                      }
                    },
                    "path_names": {
                      "type": "array",
                      "items": {
                        "type": "string",
                        "example": "Course Assets"
                      }
                    },
                    "depth": {
                      "type": "integer",
                      "example": 0,
                      "default": 0
                    },
                    "subdirectory_count": {
                      "type": "integer",
                      "example": 2,
                      "default": 0
                    },
                    "asset_count": {
                      "type": "integer",
                      "example": 12,
                      "default": 0
                    },
                    "created_at": {
                      "type": "string",
                      "example": "2026-03-18T10:00:00.000Z"
                    },
                    "updated_at": {
                      "type": "string",
                      "example": "2026-03-18T10:15:00.000Z"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "examples": {
                  "Result": {
                    "value": {
                      "error": {
                        "code": "folder_name_required",
                        "message": "Folder name is required."
                      }
                    }
                  }
                },
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "code": {
                          "type": "string",
                          "example": "folder_name_required"
                        },
                        "message": {
                          "type": "string",
                          "example": "Folder name is required."
                        }
                      },
                      "required": [
                        "code",
                        "message"
                      ]
                    }
                  },
                  "required": [
                    "error"
                  ]
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "422": {
            "$ref": "#/components/responses/ValidationError"
          }
        },
        "deprecated": false,
        "tags": [
          "Folders"
        ],
        "x-stoplight": {
          "id": "s0ytspywrm8jb"
        },
        "x-codeSamples": [
          {
            "label": "TypeScript",
            "lang": "TypeScript",
            "source": "import Gumlet from '@gumlet/nodejs-sdk';\n\nconst client = new Gumlet({\n  apiKey: process.env['API_KEY'], // defaults to the API_KEY env var\n});\n\nconst folder = await client.folders.create('workspaceId', { name: 'Course Assets', parent_id: null });\n\nconsole.log(folder);"
          },
          {
            "label": "Python",
            "lang": "Python",
            "source": "import os\n\nfrom gumlet import Gumlet\n\nclient = Gumlet(\n    api_key=os.environ.get(\"API_KEY\"),\n)\n\nfolder = client.folders.create(\n    workspace_id=\"workspaceId\",\n    name=\"Course Assets\",\n    parent_id=\"\",\n)\n\nprint(folder)"
          }
        ]
      },
      "get": {
        "summary": "List Folders",
        "description": "List folders for a video workspace. Use `parent_id` to list only folders inside a specific parent folder.",
        "operationId": "list-folders",
        "parameters": [
          {
            "name": "workspace_id",
            "in": "path",
            "description": "Video workspace id.",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "parent_id",
            "in": "query",
            "description": "Parent folder id. Send `null` to list root folders.",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "200",
            "content": {
              "application/json": {
                "examples": {
                  "Result": {
                    "value": [
                      {
                        "id": "67e4f01d403562dbea6542d4",
                        "name": "Course Assets",
                        "video_source_id": "67e4ece9403562dbea65425f",
                        "parent_id": null,
                        "path": [],
                        "path_names": [],
                        "depth": 0,
                        "subdirectory_count": 2,
                        "asset_count": 12,
                        "created_at": "2026-03-18T10:00:00.000Z",
                        "updated_at": "2026-03-18T10:15:00.000Z"
                      }
                    ]
                  }
                },
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "id": {
                        "type": "string",
                        "example": "67e4f01d403562dbea6542d4"
                      },
                      "name": {
                        "type": "string",
                        "example": "Course Assets"
                      },
                      "video_source_id": {
                        "type": "string",
                        "example": "67e4ece9403562dbea65425f"
                      },
                      "parent_id": {
                        "type": [
                          "string",
                          "null"
                        ],
                        "example": null
                      },
                      "path": {
                        "type": "array",
                        "items": {
                          "type": "string",
                          "example": "67e4f01d403562dbea6542d4"
                        }
                      },
                      "path_names": {
                        "type": "array",
                        "items": {
                          "type": "string",
                          "example": "Course Assets"
                        }
                      },
                      "depth": {
                        "type": "integer",
                        "example": 0,
                        "default": 0
                      },
                      "subdirectory_count": {
                        "type": "integer",
                        "example": 2,
                        "default": 0
                      },
                      "asset_count": {
                        "type": "integer",
                        "example": 12,
                        "default": 0
                      },
                      "created_at": {
                        "type": "string",
                        "example": "2026-03-18T10:00:00.000Z"
                      },
                      "updated_at": {
                        "type": "string",
                        "example": "2026-03-18T10:15:00.000Z"
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "examples": {
                  "Result": {
                    "value": {
                      "error": {
                        "code": "invalid_parent_id",
                        "message": "Parent folder ID is invalid."
                      }
                    }
                  }
                },
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "code": {
                          "type": "string",
                          "example": "invalid_parent_id"
                        },
                        "message": {
                          "type": "string",
                          "example": "Parent folder ID is invalid."
                        }
                      },
                      "required": [
                        "code",
                        "message"
                      ]
                    }
                  },
                  "required": [
                    "error"
                  ]
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          }
        },
        "deprecated": false,
        "tags": [
          "Folders"
        ],
        "x-stoplight": {
          "id": "6p3tyspj1nvn7"
        },
        "x-codeSamples": [
          {
            "label": "TypeScript",
            "lang": "TypeScript",
            "source": "import Gumlet from '@gumlet/nodejs-sdk';\n\nconst client = new Gumlet({\n  apiKey: process.env['API_KEY'], // defaults to the API_KEY env var\n});\n\nconst folder = await client.folders.list('workspaceId');\n\nconsole.log(folder);"
          },
          {
            "label": "Python",
            "lang": "Python",
            "source": "import os\n\nfrom gumlet import Gumlet\n\nclient = Gumlet(\n    api_key=os.environ.get(\"API_KEY\"),\n)\n\nfolder = client.folders.list(\n    workspace_id=\"workspaceId\",\n)\n\nprint(folder)"
          }
        ]
      }
    },
    "/video/workspaces/{workspace_id}/folders/{folder_id}": {
      "get": {
        "summary": "Get Folder",
        "description": "Get a single folder by id.",
        "operationId": "get-folder",
        "parameters": [
          {
            "name": "workspace_id",
            "in": "path",
            "description": "Video workspace id.",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "folder_id",
            "in": "path",
            "description": "Folder id.",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "200",
            "content": {
              "application/json": {
                "examples": {
                  "Result": {
                    "value": {
                      "id": "67e4f01d403562dbea6542d4",
                      "name": "Course Assets",
                      "video_source_id": "67e4ece9403562dbea65425f",
                      "parent_id": null,
                      "path": [],
                      "path_names": [],
                      "depth": 0,
                      "subdirectory_count": 2,
                      "asset_count": 12,
                      "created_at": "2026-03-18T10:00:00.000Z",
                      "updated_at": "2026-03-18T10:15:00.000Z"
                    }
                  }
                },
                "schema": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string",
                      "example": "67e4f01d403562dbea6542d4"
                    },
                    "name": {
                      "type": "string",
                      "example": "Course Assets"
                    },
                    "video_source_id": {
                      "type": "string",
                      "example": "67e4ece9403562dbea65425f"
                    },
                    "parent_id": {
                      "type": [
                        "string",
                        "null"
                      ],
                      "example": null
                    },
                    "path": {
                      "type": "array",
                      "items": {
                        "type": "string",
                        "example": "67e4f01d403562dbea6542d4"
                      }
                    },
                    "path_names": {
                      "type": "array",
                      "items": {
                        "type": "string",
                        "example": "Course Assets"
                      }
                    },
                    "depth": {
                      "type": "integer",
                      "example": 0,
                      "default": 0
                    },
                    "subdirectory_count": {
                      "type": "integer",
                      "example": 2,
                      "default": 0
                    },
                    "asset_count": {
                      "type": "integer",
                      "example": 12,
                      "default": 0
                    },
                    "created_at": {
                      "type": "string",
                      "example": "2026-03-18T10:00:00.000Z"
                    },
                    "updated_at": {
                      "type": "string",
                      "example": "2026-03-18T10:15:00.000Z"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "examples": {
                  "Result": {
                    "value": {
                      "error": {
                        "code": "invalid_folder_id",
                        "message": "Folder ID is invalid."
                      }
                    }
                  }
                },
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "code": {
                          "type": "string",
                          "example": "invalid_folder_id"
                        },
                        "message": {
                          "type": "string",
                          "example": "Folder ID is invalid."
                        }
                      },
                      "required": [
                        "code",
                        "message"
                      ]
                    }
                  },
                  "required": [
                    "error"
                  ]
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "examples": {
                  "Result": {
                    "value": {
                      "error": {
                        "code": "folder_not_found",
                        "message": "Folder not found."
                      }
                    }
                  }
                },
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "code": {
                          "type": "string",
                          "example": "folder_not_found"
                        },
                        "message": {
                          "type": "string",
                          "example": "Folder not found."
                        }
                      },
                      "required": [
                        "code",
                        "message"
                      ]
                    }
                  },
                  "required": [
                    "error"
                  ]
                }
              }
            }
          }
        },
        "deprecated": false,
        "tags": [
          "Folders"
        ],
        "x-stoplight": {
          "id": "dzyho9ukcz99n"
        },
        "x-codeSamples": [
          {
            "label": "TypeScript",
            "lang": "TypeScript",
            "source": "import Gumlet from '@gumlet/nodejs-sdk';\n\nconst client = new Gumlet({\n  apiKey: process.env['API_KEY'], // defaults to the API_KEY env var\n});\n\nconst folder = await client.folders.retrieve('folderId', {\n  workspace_id: 'workspaceId',\n});\n\nconsole.log(folder);"
          },
          {
            "label": "Python",
            "lang": "Python",
            "source": "import os\n\nfrom gumlet import Gumlet\n\nclient = Gumlet(\n    api_key=os.environ.get(\"API_KEY\"),\n)\n\nfolder = client.folders.retrieve(\n    workspace_id=\"workspaceId\",\n    folder_id=\"folderId\",\n)\n\nprint(folder)"
          }
        ]
      },
      "post": {
        "summary": "Update Folder",
        "description": "Rename a folder, move it to another parent folder, or move assets into the folder by sending `asset_ids`.",
        "operationId": "update-folder",
        "parameters": [
          {
            "name": "workspace_id",
            "in": "path",
            "description": "Video workspace id.",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "folder_id",
            "in": "path",
            "description": "Folder id.",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "properties": {
                  "name": {
                    "type": "string",
                    "description": "New folder name."
                  },
                  "parent_id": {
                    "type": [
                      "string",
                      "null"
                    ],
                    "description": "New parent folder id. Send `null` to move the folder to the root level."
                  },
                  "asset_ids": {
                    "type": "array",
                    "description": "Asset ids to move into this folder.",
                    "items": {
                      "type": "string"
                    }
                  }
                },
                "anyOf": [
                  {
                    "required": [
                      "name"
                    ],
                    "properties": {
                      "name": {
                        "type": "string",
                        "x-stoplight": {
                          "id": "8yul7zan5b9ep"
                        },
                        "description": "New folder name."
                      }
                    }
                  },
                  {
                    "x-stoplight": {
                      "id": "nr3ph8exc9gxm"
                    },
                    "required": [
                      "asset_ids"
                    ],
                    "properties": {
                      "asset_ids": {
                        "type": "array",
                        "x-stoplight": {
                          "id": "2hi4gzgr1hjay"
                        },
                        "items": {
                          "x-stoplight": {
                            "id": "n7gg6x276zt4o"
                          },
                          "type": "string"
                        }
                      },
                      "parent_id": {
                        "type": "string",
                        "x-stoplight": {
                          "id": "gfyfxz9wbv934"
                        },
                        "description": "Parent folder id in which we need to move assets."
                      }
                    }
                  }
                ],
                "type": "object"
              },
              "examples": {
                "Rename Example": {
                  "value": {
                    "name": "Course Assets Updated"
                  }
                },
                "Move Assets Example": {
                  "value": {
                    "asset_ids": [
                      "67e4f2b4403562dbea654301",
                      "67e4f2bb403562dbea654302"
                    ]
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "200",
            "content": {
              "application/json": {
                "examples": {
                  "Folder Updated": {
                    "value": {
                      "id": "6975a8a1c2fb61ce19eabcd7",
                      "name": "Folder 1234",
                      "video_source_id": "5f553b6cec202a5b44e3dd69",
                      "parent_id": null,
                      "path": [],
                      "path_names": [],
                      "depth": 0,
                      "subdirectory_count": 0,
                      "asset_count": 0,
                      "created_at": "2026-01-25T05:22:41.527Z",
                      "updated_at": "2026-08-18T18:18:58.193Z"
                    }
                  },
                  "Assets Moved": {
                    "value": {
                      "message": "Assets moved successfully",
                      "movedCount": 2
                    }
                  }
                },
                "schema": {
                  "anyOf": [
                    {
                      "properties": {
                        "id": {
                          "type": "string",
                          "example": "67e4f01d403562dbea6542d4"
                        },
                        "name": {
                          "type": "string",
                          "example": "Course Assets"
                        },
                        "video_source_id": {
                          "type": "string",
                          "example": "67e4ece9403562dbea65425f"
                        },
                        "parent_id": {
                          "type": [
                            "string",
                            "null"
                          ],
                          "example": null
                        },
                        "path": {
                          "type": "array",
                          "items": {
                            "type": "string",
                            "example": "67e4f01d403562dbea6542d4"
                          }
                        },
                        "path_names": {
                          "type": "array",
                          "items": {
                            "type": "string",
                            "example": "Course Assets"
                          }
                        },
                        "depth": {
                          "type": "integer",
                          "example": 0,
                          "default": 0
                        },
                        "subdirectory_count": {
                          "type": "integer",
                          "example": 2,
                          "default": 0
                        },
                        "asset_count": {
                          "type": "integer",
                          "example": 12,
                          "default": 0
                        },
                        "created_at": {
                          "type": "string",
                          "example": "2026-03-18T10:00:00.000Z",
                          "description": "ISO Timestamp"
                        },
                        "updated_at": {
                          "type": "string",
                          "example": "2026-03-18T10:15:00.000Z",
                          "description": "ISO Timestamp"
                        }
                      }
                    },
                    {
                      "properties": {
                        "message": {
                          "type": "string",
                          "example": "Assets moved successfully"
                        },
                        "movedCount": {
                          "type": "integer",
                          "example": 3,
                          "default": 0
                        }
                      }
                    }
                  ],
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "examples": {
                  "Result": {
                    "value": {
                      "error": {
                        "code": "folder_name_exists",
                        "message": "A folder with this name already exists in this location."
                      }
                    }
                  }
                },
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "code": {
                          "type": "string",
                          "example": "folder_name_exists"
                        },
                        "message": {
                          "type": "string",
                          "example": "A folder with this name already exists in this location."
                        }
                      },
                      "required": [
                        "code",
                        "message"
                      ]
                    }
                  },
                  "required": [
                    "error"
                  ]
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "examples": {
                  "Result": {
                    "value": {
                      "error": {
                        "code": "folder_not_found",
                        "message": "Folder not found."
                      }
                    }
                  }
                },
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "code": {
                          "type": "string",
                          "example": "folder_not_found"
                        },
                        "message": {
                          "type": "string",
                          "example": "Folder not found."
                        }
                      },
                      "required": [
                        "code",
                        "message"
                      ]
                    }
                  },
                  "required": [
                    "error"
                  ]
                }
              }
            }
          }
        },
        "deprecated": false,
        "tags": [
          "Folders"
        ],
        "x-stoplight": {
          "id": "gniqycuuu62xd"
        },
        "x-codeSamples": [
          {
            "label": "TypeScript",
            "lang": "TypeScript",
            "source": "import Gumlet from '@gumlet/nodejs-sdk';\n\nconst client = new Gumlet({\n  apiKey: process.env['API_KEY'], // defaults to the API_KEY env var\n});\n\nconst folder = await client.folders.update('folderId', {\n  workspace_id: 'workspaceId',\n  body: { name: 'Course Assets Updated' },\n});\n\nconsole.log(folder);"
          },
          {
            "label": "Python",
            "lang": "Python",
            "source": "import os\n\nfrom gumlet import Gumlet\n\nclient = Gumlet(\n    api_key=os.environ.get(\"API_KEY\"),\n)\n\nfolder = client.folders.update(\n    workspace_id=\"workspaceId\",\n    folder_id=\"folderId\",\n    name=\"Course Assets Updated\",\n)\n\nprint(folder)"
          }
        ]
      },
      "delete": {
        "summary": "Delete Folder",
        "description": "Delete a folder. Descendant folders and assets inside them are deleted by the backend workflow.",
        "operationId": "delete-folder",
        "parameters": [
          {
            "name": "workspace_id",
            "in": "path",
            "description": "Video workspace id.",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "folder_id",
            "in": "path",
            "description": "Folder id.",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "200",
            "content": {
              "application/json": {
                "examples": {
                  "Result": {
                    "value": {
                      "message": "Folder deleted successfully"
                    }
                  }
                },
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string",
                      "example": "Folder deleted successfully"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "examples": {
                  "Result": {
                    "value": {
                      "error": {
                        "code": "invalid_folder_id",
                        "message": "Folder ID is invalid."
                      }
                    }
                  }
                },
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "code": {
                          "type": "string",
                          "example": "invalid_folder_id"
                        },
                        "message": {
                          "type": "string",
                          "example": "Folder ID is invalid."
                        }
                      },
                      "required": [
                        "code",
                        "message"
                      ]
                    }
                  },
                  "required": [
                    "error"
                  ]
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "examples": {
                  "Result": {
                    "value": {
                      "error": {
                        "code": "folder_not_found",
                        "message": "Folder not found."
                      }
                    }
                  }
                },
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "code": {
                          "type": "string",
                          "example": "folder_not_found"
                        },
                        "message": {
                          "type": "string",
                          "example": "Folder not found."
                        }
                      },
                      "required": [
                        "code",
                        "message"
                      ]
                    }
                  },
                  "required": [
                    "error"
                  ]
                }
              }
            }
          }
        },
        "deprecated": false,
        "tags": [
          "Folders"
        ],
        "x-stoplight": {
          "id": "7kqaxix8196fo"
        },
        "x-codeSamples": [
          {
            "label": "TypeScript",
            "lang": "TypeScript",
            "source": "import Gumlet from '@gumlet/nodejs-sdk';\n\nconst client = new Gumlet({\n  apiKey: process.env['API_KEY'], // defaults to the API_KEY env var\n});\n\nconst folder = await client.folders.delete('folderId', {\n  workspace_id: 'workspaceId',\n});\n\nconsole.log(folder);"
          },
          {
            "label": "Python",
            "lang": "Python",
            "source": "import os\n\nfrom gumlet import Gumlet\n\nclient = Gumlet(\n    api_key=os.environ.get(\"API_KEY\"),\n)\n\nfolder = client.folders.delete(\n    workspace_id=\"workspaceId\",\n    folder_id=\"folderId\",\n)\n\nprint(folder)"
          }
        ]
      }
    },
    "/video/workspaces/{workspace_id}/remove-assets-from-folder": {
      "post": {
        "summary": "Remove Assets From Folder",
        "description": "Remove one or more assets from their current folder assignment inside the workspace.",
        "operationId": "remove-assets-folder",
        "parameters": [
          {
            "name": "workspace_id",
            "in": "path",
            "description": "Video workspace id.",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "asset_ids"
                ],
                "properties": {
                  "asset_ids": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  }
                }
              },
              "examples": {
                "Request Example": {
                  "value": {
                    "asset_ids": [
                      "67e4f2b4403562dbea654301",
                      "67e4f2bb403562dbea654302"
                    ]
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "200",
            "content": {
              "application/json": {
                "examples": {
                  "Result": {
                    "value": {
                      "message": "Assets removed from folder successfully",
                      "removedCount": 2
                    }
                  }
                },
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string",
                      "example": "Assets removed from folder successfully"
                    },
                    "removedCount": {
                      "type": "integer",
                      "example": 3,
                      "default": 0
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "examples": {
                  "Result": {
                    "value": {
                      "error": {
                        "code": "assets_not_found",
                        "message": "Some assets were not found or do not belong to this workspace."
                      }
                    }
                  }
                },
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "code": {
                          "type": "string",
                          "example": "assets_not_found"
                        },
                        "message": {
                          "type": "string",
                          "example": "Some assets were not found or do not belong to this workspace."
                        }
                      },
                      "required": [
                        "code",
                        "message"
                      ]
                    }
                  },
                  "required": [
                    "error"
                  ]
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          }
        },
        "deprecated": false,
        "tags": [
          "Folders"
        ],
        "x-stoplight": {
          "id": "xmpwyetrzbdrr"
        },
        "x-codeSamples": [
          {
            "label": "TypeScript",
            "lang": "TypeScript",
            "source": "import Gumlet from '@gumlet/nodejs-sdk';\n\nconst client = new Gumlet({\n  apiKey: process.env['API_KEY'], // defaults to the API_KEY env var\n});\n\nconst folder = await client.folders.deleteAssets('workspaceId', {\n  asset_ids: ['67e4f2b4403562dbea654301', '67e4f2bb403562dbea654302'],\n});\n\nconsole.log(folder);"
          },
          {
            "label": "Python",
            "lang": "Python",
            "source": "import os\n\nfrom gumlet import Gumlet\n\nclient = Gumlet(\n    api_key=os.environ.get(\"API_KEY\"),\n)\n\nfolder = client.folders.delete_assets(\n    workspace_id=\"workspaceId\",\n    asset_ids=[\"67e4f2b4403562dbea654301\", \"67e4f2bb403562dbea654302\"],\n)\n\nprint(folder)"
          }
        ]
      }
    },
    "/video/workspaces/{workspace_id}/list": {
      "get": {
        "summary": "List Assets",
        "description": "List folders and assets for a workspace in a single response. Use `parent_id` to browse a specific folder, or filters like `title`, `status`, and `playlist_id` to search assets.",
        "operationId": "list-assets",
        "parameters": [
          {
            "name": "workspace_id",
            "in": "path",
            "description": "Video workspace id.",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "type",
            "in": "query",
            "description": "Return `folders`, `videos`, or `all`. Default is `all`.",
            "schema": {
              "type": "string",
              "enum": [
                "folders",
                "videos",
                "all"
              ],
              "default": "all"
            },
            "required": false
          },
          {
            "name": "parent_id",
            "in": "query",
            "description": "Parent folder id. Send `null` to browse the root level.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "title",
            "in": "query",
            "description": "Search folders or assets by title or description.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "status",
            "in": "query",
            "description": "Comma-separated asset status values.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "tag",
            "in": "query",
            "description": "Comma-separated asset tags.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "playlist_id",
            "in": "query",
            "description": "Filter assets to a playlist.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "start_date",
            "in": "query",
            "description": "Asset created_at lower bound.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "end_date",
            "in": "query",
            "description": "Asset created_at upper bound.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "min_duration",
            "in": "query",
            "description": "Minimum asset duration in seconds.",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "max_duration",
            "in": "query",
            "description": "Maximum asset duration in seconds.",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "sortBy",
            "in": "query",
            "description": "Sort assets by a supported field.",
            "schema": {
              "type": "string",
              "enum": [
                "title",
                "duration",
                "uploaded_at",
                "created_at"
              ]
            }
          },
          {
            "name": "orderBy",
            "in": "query",
            "description": "Asset sort order.",
            "schema": {
              "type": "string",
              "enum": [
                "asc",
                "desc"
              ]
            }
          },
          {
            "name": "searchIndex",
            "in": "query",
            "description": "Search index used for asset title search.",
            "schema": {
              "type": "string",
              "enum": [
                "search_index_for_asset_list",
                "cms-search",
                "cms-search-v2"
              ]
            }
          },
          {
            "name": "offset",
            "in": "query",
            "description": "Offset for paginated results.",
            "schema": {
              "type": "integer",
              "default": 0
            }
          },
          {
            "name": "size",
            "in": "query",
            "description": "Page size. Maximum 100.",
            "schema": {
              "type": "integer",
              "default": 20,
              "maximum": 100
            }
          },
          {
            "in": "query",
            "name": "signed_token",
            "schema": {
              "type": "string",
              "default": "false",
              "enum": [
                "true",
                "false"
              ],
              "x-apidog-enum": [
                {
                  "value": "true",
                  "name": "",
                  "description": ""
                },
                {
                  "value": "false",
                  "name": "",
                  "description": ""
                }
              ]
            },
            "description": "Whether URLs should be pre-signed in the API response. Possible values: `true` and `false`. Default is `false`."
          }
        ],
        "responses": {
          "200": {
            "description": "200",
            "content": {
              "application/json": {
                "examples": {
                  "Result": {
                    "value": {
                      "folders": [
                        {
                          "id": "67e4f01d403562dbea6542d4",
                          "name": "Course Assets",
                          "video_source_id": "67e4ece9403562dbea65425f",
                          "parent_id": null,
                          "path": [],
                          "path_names": [],
                          "depth": 0,
                          "subdirectory_count": 2,
                          "asset_count": 12,
                          "created_at": "2026-03-18T10:00:00.000Z",
                          "updated_at": "2026-03-18T10:15:00.000Z"
                        }
                      ],
                      "all_assets": [
                        {
                          "asset_id": "67e4f2b4403562dbea654301",
                          "status": "ready",
                          "title": "Lesson 1",
                          "folder": "Course Assets"
                        }
                      ],
                      "folder_count": 1,
                      "asset_count": 1,
                      "total_count": 2,
                      "current_offset": 2
                    }
                  }
                },
                "schema": {
                  "type": "object",
                  "properties": {
                    "folders": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "id": {
                            "type": "string",
                            "examples": [
                              "67e4f01d403562dbea6542d4"
                            ]
                          },
                          "name": {
                            "type": "string",
                            "examples": [
                              "Course Assets"
                            ]
                          },
                          "video_source_id": {
                            "type": "string",
                            "examples": [
                              "67e4ece9403562dbea65425f"
                            ]
                          },
                          "parent_id": {
                            "type": [
                              "string",
                              "null"
                            ],
                            "examples": [
                              null
                            ]
                          },
                          "path": {
                            "type": "array",
                            "items": {
                              "type": "string",
                              "examples": [
                                "67e4f01d403562dbea6542d4"
                              ]
                            }
                          },
                          "path_names": {
                            "type": "array",
                            "items": {
                              "type": "string",
                              "examples": [
                                "Course Assets"
                              ]
                            }
                          },
                          "depth": {
                            "type": "integer",
                            "default": 0,
                            "examples": [
                              0
                            ]
                          },
                          "subdirectory_count": {
                            "type": "integer",
                            "default": 0,
                            "examples": [
                              2
                            ]
                          },
                          "asset_count": {
                            "type": "integer",
                            "default": 0,
                            "examples": [
                              12
                            ]
                          },
                          "created_at": {
                            "type": "string",
                            "examples": [
                              "2026-03-18T10:00:00.000Z"
                            ]
                          },
                          "updated_at": {
                            "type": "string",
                            "examples": [
                              "2026-03-18T10:15:00.000Z"
                            ]
                          }
                        },
                        "x-apidog-orders": [
                          "id",
                          "name",
                          "video_source_id",
                          "parent_id",
                          "path",
                          "path_names",
                          "depth",
                          "subdirectory_count",
                          "asset_count",
                          "created_at",
                          "updated_at"
                        ]
                      }
                    },
                    "all_assets": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "asset_id": {
                            "type": "string",
                            "examples": [
                              "6192269e0822a81d955d1a4b"
                            ]
                          },
                          "progress": {
                            "type": "integer",
                            "default": 0,
                            "examples": [
                              0
                            ]
                          },
                          "created_at": {
                            "type": "integer",
                            "default": 0,
                            "examples": [
                              1636968094594
                            ]
                          },
                          "status": {
                            "type": "string",
                            "examples": [
                              "optimizing"
                            ]
                          },
                          "tag": {
                            "type": "string",
                            "examples": [
                              ""
                            ]
                          },
                          "source_id": {
                            "type": "string",
                            "examples": [
                              "5f462c1561cf8a766464ffc4"
                            ]
                          },
                          "input": {
                            "type": "object",
                            "properties": {
                              "transformations": {
                                "type": "object",
                                "properties": {
                                  "resolution": {
                                    "type": "string",
                                    "examples": [
                                      "240p,360p"
                                    ]
                                  },
                                  "format": {
                                    "type": "string",
                                    "examples": [
                                      "hls"
                                    ]
                                  },
                                  "audio_codec": {
                                    "type": "array",
                                    "items": {
                                      "type": "string",
                                      "examples": [
                                        "aac"
                                      ]
                                    }
                                  },
                                  "video_codec": {
                                    "type": "array",
                                    "items": {
                                      "type": "string",
                                      "examples": [
                                        "libx264"
                                      ]
                                    }
                                  },
                                  "thumbnail": {
                                    "type": "array",
                                    "items": {
                                      "type": "string",
                                      "examples": [
                                        "auto"
                                      ]
                                    }
                                  },
                                  "thumbnail_format": {
                                    "type": "string",
                                    "examples": [
                                      "png"
                                    ]
                                  },
                                  "mp4_access": {
                                    "type": "boolean",
                                    "default": true,
                                    "examples": [
                                      false
                                    ]
                                  },
                                  "audio_only": {
                                    "type": "boolean",
                                    "default": true,
                                    "examples": [
                                      false
                                    ]
                                  },
                                  "keep_original": {
                                    "type": "boolean",
                                    "default": true,
                                    "examples": [
                                      true
                                    ]
                                  },
                                  "per_title_encoding": {
                                    "type": "boolean",
                                    "default": true,
                                    "examples": [
                                      true
                                    ]
                                  },
                                  "process_low_resolution_input": {
                                    "type": "boolean",
                                    "default": true,
                                    "examples": [
                                      false
                                    ]
                                  }
                                },
                                "x-apidog-orders": [
                                  "resolution",
                                  "format",
                                  "audio_codec",
                                  "video_codec",
                                  "thumbnail",
                                  "thumbnail_format",
                                  "mp4_access",
                                  "audio_only",
                                  "keep_original",
                                  "per_title_encoding",
                                  "process_low_resolution_input"
                                ]
                              },
                              "source_url": {
                                "type": "string",
                                "examples": [
                                  "https://gumlet.sgp1.digitaloceanspaces.com/video/BigBuckBunny.mp4"
                                ]
                              },
                              "size": {
                                "type": "integer",
                                "default": 0,
                                "examples": [
                                  158008374
                                ]
                              },
                              "duration": {
                                "type": "number",
                                "default": 0,
                                "examples": [
                                  596.473333
                                ]
                              },
                              "aspect_ratio": {
                                "type": "string",
                                "examples": [
                                  "16:9"
                                ]
                              },
                              "fps": {
                                "type": "integer",
                                "default": 0,
                                "examples": [
                                  24
                                ]
                              },
                              "width": {
                                "type": "integer",
                                "default": 0,
                                "examples": [
                                  1280
                                ]
                              },
                              "height": {
                                "type": "integer",
                                "default": 0,
                                "examples": [
                                  720
                                ]
                              },
                              "additional_tracks": {
                                "type": "array",
                                "items": {
                                  "type": "object",
                                  "properties": {
                                    "url": {
                                      "type": "string",
                                      "examples": [
                                        "https://gumlet.sgp1.digitaloceanspaces.com/video/BigBuckBunny.aac"
                                      ]
                                    },
                                    "type": {
                                      "type": "string",
                                      "examples": [
                                        "audio"
                                      ]
                                    },
                                    "language_code": {
                                      "type": "string",
                                      "examples": [
                                        "en"
                                      ]
                                    },
                                    "name": {
                                      "type": "string",
                                      "examples": [
                                        "English"
                                      ]
                                    }
                                  },
                                  "x-apidog-orders": [
                                    "url",
                                    "type",
                                    "language_code",
                                    "name"
                                  ]
                                }
                              },
                              "title": {
                                "type": "string",
                                "description": "Title of the asset."
                              }
                            },
                            "x-apidog-orders": [
                              "transformations",
                              "source_url",
                              "title",
                              "size",
                              "duration",
                              "aspect_ratio",
                              "fps",
                              "width",
                              "height",
                              "additional_tracks"
                            ]
                          },
                          "output": {
                            "type": "object",
                            "properties": {
                              "format": {
                                "type": "string",
                                "examples": [
                                  "hls"
                                ]
                              },
                              "status_url": {
                                "type": "string",
                                "examples": [
                                  "https://api.gumlet.com/v1/video/assets/6192269e0822a81d955d1a4b"
                                ]
                              },
                              "playback_url": {
                                "type": "string",
                                "examples": [
                                  "https://video.gumlet.io/5f462c1561cf8a766464ffc4/6192269e0822a81d955d1a4b/1.m3u8"
                                ]
                              },
                              "thumbnail_url": {
                                "type": "array",
                                "items": {
                                  "type": "string",
                                  "examples": [
                                    "https://video.gumlet.io/5f462c1561cf8a766464ffc4/6192269e0822a81d955d1a4b/thumbnail-1-0.png"
                                  ]
                                }
                              }
                            },
                            "x-apidog-orders": [
                              "format",
                              "status_url",
                              "playback_url",
                              "thumbnail_url"
                            ]
                          }
                        },
                        "x-apidog-orders": [
                          "asset_id",
                          "progress",
                          "created_at",
                          "status",
                          "tag",
                          "source_id",
                          "input",
                          "output"
                        ]
                      }
                    },
                    "folder_count": {
                      "type": "integer",
                      "default": 0,
                      "examples": [
                        1
                      ]
                    },
                    "asset_count": {
                      "type": "integer",
                      "default": 0,
                      "examples": [
                        1
                      ]
                    },
                    "total_count": {
                      "type": "integer",
                      "default": 0,
                      "examples": [
                        2
                      ]
                    },
                    "current_offset": {
                      "type": "integer",
                      "default": 0,
                      "examples": [
                        2
                      ]
                    }
                  },
                  "x-apidog-orders": [
                    "folders",
                    "all_assets",
                    "folder_count",
                    "asset_count",
                    "total_count",
                    "current_offset"
                  ],
                  "required": [
                    "all_assets"
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "examples": {
                  "Result": {
                    "value": {
                      "error": {
                        "code": "page_size_more_than_max",
                        "message": "Value for the page size (size) parameter is more than permissible value (100)"
                      }
                    }
                  }
                },
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "code": {
                          "type": "string",
                          "example": "page_size_more_than_max"
                        },
                        "message": {
                          "type": "string",
                          "example": "Value for the page size (size) parameter is more than permissible value (100)"
                        }
                      },
                      "required": [
                        "code",
                        "message"
                      ]
                    }
                  },
                  "required": [
                    "error"
                  ]
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          }
        },
        "deprecated": false,
        "tags": [
          "Video Assets"
        ],
        "x-stoplight": {
          "id": "y3fzbxm6axi0a"
        },
        "x-codeSamples": [
          {
            "label": "TypeScript",
            "lang": "TypeScript",
            "source": "import Gumlet from '@gumlet/nodejs-sdk';\n\nconst client = new Gumlet({\n  apiKey: process.env['API_KEY'], // defaults to the API_KEY env var\n});\n\nconst videoAsset = await client.videoAssets.list('workspaceId', {\n  type: 'all',\n  offset: 0,\n  size: 20,\n  signed_token: 'false',\n});\n\nconsole.log(videoAsset);"
          },
          {
            "label": "Python",
            "lang": "Python",
            "source": "import os\n\nfrom gumlet import Gumlet\n\nclient = Gumlet(\n    api_key=os.environ.get(\"API_KEY\"),\n)\n\nvideo_asset = client.video_assets.list(\n    workspace_id=\"workspaceId\",\n    type=\"all\",\n    offset=0,\n    size=20,\n    signed_token=\"false\",\n)\n\nprint(video_asset)"
          }
        ]
      }
    },
    "/channel/{video_workspace_id}/viewers/invite": {
      "post": {
        "summary": "Invite Channel Viewers",
        "description": "Invite one or more viewers to a members-only channel.",
        "operationId": "invite-channel-viewers",
        "parameters": [
          {
            "in": "path",
            "name": "video_workspace_id",
            "description": "Gumlet workspace ID. You can get it on Gumlet dashboard or retrieve it using list workspace API.",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "users"
                ],
                "properties": {
                  "users": {
                    "type": "array",
                    "description": "List of viewers to invite. A maximum of 200 viewers can be invited in one request.",
                    "minItems": 1,
                    "maxItems": 200,
                    "items": {
                      "type": "object",
                      "required": [
                        "email",
                        "name"
                      ],
                      "properties": {
                        "email": {
                          "type": "string",
                          "format": "email",
                          "description": "Viewer email address."
                        },
                        "name": {
                          "type": "string",
                          "minLength": 1,
                          "maxLength": 100,
                          "description": "Viewer display name."
                        }
                      }
                    }
                  }
                }
              },
              "examples": {
                "Request Example": {
                  "value": {
                    "users": [
                      {
                        "email": "test@gumlet.com",
                        "name": "Test User-0"
                      },
                      {
                        "email": "test+1@gumlet.com",
                        "name": "Test User-1"
                      },
                      {
                        "email": "test+2@gumlet.com",
                        "name": "Test User-2"
                      }
                    ]
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "200",
            "content": {
              "application/json": {
                "examples": {
                  "Result": {
                    "value": {
                      "success": true
                    }
                  }
                },
                "schema": {
                  "type": "object",
                  "properties": {
                    "success": {
                      "type": "boolean",
                      "example": true
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "examples": {
                  "Result": {
                    "value": {
                      "error": {
                        "code": "invalid_email_format",
                        "message": "One of the emails provided is in invalid format, Please provide a valid email address."
                      }
                    }
                  }
                },
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "code": {
                          "type": "string",
                          "example": "invalid_email_format"
                        },
                        "message": {
                          "type": "string",
                          "example": "One of the emails provided is in invalid format, Please provide a valid email address."
                        }
                      },
                      "required": [
                        "code",
                        "message"
                      ]
                    }
                  },
                  "required": [
                    "error"
                  ]
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          }
        },
        "tags": [
          "Channel Viewers"
        ],
        "x-stoplight": {
          "id": "pynbolf5gd84k"
        },
        "x-codeSamples": [
          {
            "label": "TypeScript",
            "lang": "TypeScript",
            "source": "import Gumlet from '@gumlet/nodejs-sdk';\n\nconst client = new Gumlet({\n  apiKey: process.env['API_KEY'], // defaults to the API_KEY env var\n});\n\nconst channelViewer = await client.channelViewers.invite('videoWorkspaceId', {\n  users: [\n    { email: 'test@gumlet.com', name: 'Test User-0' },\n    { email: 'test+1@gumlet.com', name: 'Test User-1' },\n    { email: 'test+2@gumlet.com', name: 'Test User-2' },\n  ],\n});\n\nconsole.log(channelViewer);"
          },
          {
            "label": "Python",
            "lang": "Python",
            "source": "import os\n\nfrom gumlet import Gumlet\n\nclient = Gumlet(\n    api_key=os.environ.get(\"API_KEY\"),\n)\n\nchannel_viewer = client.channel_viewers.invite(\n    video_workspace_id=\"videoWorkspaceId\",\n    users=[\n        {\"email\": \"test@gumlet.com\", \"name\": \"Test User-0\"},\n        {\"email\": \"test+1@gumlet.com\", \"name\": \"Test User-1\"},\n        {\"email\": \"test+2@gumlet.com\", \"name\": \"Test User-2\"},\n    ],\n)\n\nprint(channel_viewer)"
          }
        ]
      }
    },
    "/channel/{video_workspace_id}/viewers/remove": {
      "post": {
        "summary": "Remove Channel Viewers",
        "description": "Remove one or more viewers from a channel by email address.",
        "operationId": "remove-channel-viewers",
        "parameters": [
          {
            "in": "path",
            "name": "video_workspace_id",
            "description": "Gumlet workspace ID. You can get it on Gumlet dashboard or retrieve it using list workspace API.",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "emails"
                ],
                "properties": {
                  "emails": {
                    "type": "array",
                    "description": "Email addresses of viewers to remove. A maximum of 200 viewers can be removed in one request.",
                    "maxItems": 200,
                    "items": {
                      "type": "string",
                      "format": "email"
                    }
                  }
                }
              },
              "examples": {
                "Request Example": {
                  "value": {
                    "emails": [
                      "test@gumlet.com",
                      "test+2@gumlet.com"
                    ]
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "200",
            "content": {
              "application/json": {
                "examples": {
                  "Result": {
                    "value": {
                      "success": true
                    }
                  }
                },
                "schema": {
                  "type": "object",
                  "properties": {
                    "success": {
                      "type": "boolean",
                      "example": true
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "examples": {
                  "Result": {
                    "value": {
                      "error": {
                        "code": "invalid_channel_id",
                        "message": "Channel id is not a vaild id."
                      }
                    }
                  }
                },
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "code": {
                          "type": "string",
                          "example": "invalid_channel_id"
                        },
                        "message": {
                          "type": "string",
                          "example": "Channel id is not a vaild id."
                        }
                      },
                      "required": [
                        "code",
                        "message"
                      ]
                    }
                  },
                  "required": [
                    "error"
                  ]
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          }
        },
        "tags": [
          "Channel Viewers"
        ],
        "x-stoplight": {
          "id": "ow2emng08e9gs"
        },
        "x-codeSamples": [
          {
            "label": "TypeScript",
            "lang": "TypeScript",
            "source": "import Gumlet from '@gumlet/nodejs-sdk';\n\nconst client = new Gumlet({\n  apiKey: process.env['API_KEY'], // defaults to the API_KEY env var\n});\n\nconst channelViewer = await client.channelViewers.delete('videoWorkspaceId', {\n  emails: ['test@gumlet.com', 'test+2@gumlet.com'],\n});\n\nconsole.log(channelViewer);"
          },
          {
            "label": "Python",
            "lang": "Python",
            "source": "import os\n\nfrom gumlet import Gumlet\n\nclient = Gumlet(\n    api_key=os.environ.get(\"API_KEY\"),\n)\n\nchannel_viewer = client.channel_viewers.delete(\n    video_workspace_id=\"videoWorkspaceId\",\n    emails=[\"test@gumlet.com\", \"test+2@gumlet.com\"],\n)\n\nprint(channel_viewer)"
          }
        ]
      }
    },
    "/channel/{video_workspace_id}/viewers/invite/csv": {
      "post": {
        "summary": "Invite Channel Viewers via CSV",
        "description": "Invite viewers to a channel by uploading a CSV file.",
        "operationId": "invite-channel-viewers-csv",
        "parameters": [
          {
            "in": "path",
            "name": "video_workspace_id",
            "description": "Gumlet workspace ID. You can get it on Gumlet dashboard or retrieve it using list workspace API.",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "multipart/form-data": {
              "schema": {
                "type": "object",
                "required": [
                  "viewers_csv"
                ],
                "properties": {
                  "viewers_csv": {
                    "type": "string",
                    "format": "binary",
                    "description": "CSV file containing viewer rows. Required columns: email, name. Maximum 500 viewers."
                  }
                }
              },
              "examples": {
                "CSV Upload": {
                  "value": {
                    "viewers_csv": "viewers.csv"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "200",
            "content": {
              "application/json": {
                "examples": {
                  "Result": {
                    "value": {
                      "success": true
                    }
                  }
                },
                "schema": {
                  "type": "object",
                  "properties": {
                    "success": {
                      "type": "boolean",
                      "example": true
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "examples": {
                  "Result": {
                    "value": {
                      "error": {
                        "code": "csv_file_missing",
                        "message": "CSV File is a required parameters"
                      }
                    }
                  }
                },
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "code": {
                          "type": "string",
                          "example": "csv_file_missing"
                        },
                        "message": {
                          "type": "string",
                          "example": "CSV File is a required parameters"
                        }
                      },
                      "required": [
                        "code",
                        "message"
                      ]
                    }
                  },
                  "required": [
                    "error"
                  ]
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "413": {
            "description": "Payload Too Large",
            "content": {
              "application/json": {
                "examples": {
                  "Result": {
                    "value": {
                      "error": {
                        "code": "file_too_large",
                        "message": "Uploaded file exceeds the maximum allowed size"
                      }
                    }
                  }
                },
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "code": {
                          "type": "string",
                          "example": "file_too_large"
                        },
                        "message": {
                          "type": "string",
                          "example": "Uploaded file exceeds the maximum allowed size"
                        }
                      },
                      "required": [
                        "code",
                        "message"
                      ]
                    }
                  },
                  "required": [
                    "error"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Channel Viewers"
        ],
        "x-stoplight": {
          "id": "k8pujzz5z3wov"
        },
        "x-codeSamples": [
          {
            "label": "TypeScript",
            "lang": "TypeScript",
            "source": "import Gumlet from '@gumlet/nodejs-sdk';\n\nconst client = new Gumlet({\n  apiKey: process.env['API_KEY'], // defaults to the API_KEY env var\n});\n\nconst channelViewer = await client.channelViewers.inviteCsv('videoWorkspaceId', {\n  viewers_csv: 'viewers.csv',\n});\n\nconsole.log(channelViewer);"
          },
          {
            "label": "Python",
            "lang": "Python",
            "source": "import os\n\nfrom gumlet import Gumlet\n\nclient = Gumlet(\n    api_key=os.environ.get(\"API_KEY\"),\n)\n\nchannel_viewer = client.channel_viewers.invite_csv(\n    video_workspace_id=\"videoWorkspaceId\",\n    viewers_csv=b\"viewers.csv\",\n)\n\nprint(channel_viewer)"
          }
        ]
      }
    },
    "/video/assets/list/{workspace_id}": {
      "get": {
        "summary": "List Assets",
        "description": "[Deprecated] This endpoint list assets in video workspace. You can also pass `status` and `tag` to filter assets.",
        "operationId": "list-assets-deprecated",
        "parameters": [
          {
            "name": "status",
            "in": "query",
            "description": "To filter assets on the basis of their current status. Can be specified as a single status value string or comma-separated status values. The status value can be one of `queued`, `processing`, `ready`, `errored`, and `deleted`.",
            "schema": {
              "type": "string",
              "enum": [
                "queued",
                "processing",
                "ready",
                "errored",
                "deleted"
              ]
            }
          },
          {
            "name": "tag",
            "in": "query",
            "description": "Input tag on the basis of which assets need to be filtered. To filter on multiple tags use comma-separated string.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "title",
            "in": "query",
            "description": "Title on the basis of which assets need to be filtered.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "folder",
            "in": "query",
            "description": "Folder name on the basis of which assets need to be filtered.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "offset",
            "in": "query",
            "description": "Offset value for a paginated list of assets.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "size",
            "in": "query",
            "description": "Page size for the paginated list. **Default: `10`** **Max Size: `100`**",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "playlist_id",
            "in": "query",
            "description": "filter assets from a playlist.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "sortBy",
            "in": "query",
            "description": "assets will be sorted based on the provided field.",
            "schema": {
              "type": "string",
              "enum": [
                "title",
                "duration",
                "uploaded_at",
                "created_at"
              ],
              "default": "created_at"
            }
          },
          {
            "name": "orderBy",
            "in": "query",
            "description": "assets will be sorted in the specified order based on provided sortBy field or by default createAt field.",
            "schema": {
              "type": "string",
              "enum": [
                "asc",
                "desc"
              ],
              "default": "desc"
            }
          },
          {
            "in": "path",
            "name": "workspace_id",
            "description": "Gumlet workspace ID. You can get it on Gumlet dashboard or retrieve it using list workspace API.",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "in": "query",
            "name": "type",
            "schema": {
              "type": "string"
            },
            "description": "Search for folders, videos, or both. For videos, use `videos`. For folders, use `folders`. If you do not send this parameter, it will search for both."
          }
        ],
        "responses": {
          "200": {
            "description": "200",
            "content": {
              "application/json": {
                "examples": {
                  "Result": {
                    "value": {
                      "all_assets": [
                        {
                          "asset_id": "6192269e0822a81d955d1a4b",
                          "progress": 0,
                          "created_at": 1636968094594,
                          "status": "optimizing",
                          "tag": "",
                          "source_id": "5f462c1561cf8a766464ffc4",
                          "input": {
                            "transformations": {
                              "resolution": "240p,360p",
                              "format": "hls",
                              "audio_codec": [
                                "aac"
                              ],
                              "video_codec": [
                                "libx264"
                              ],
                              "thumbnail": [
                                "auto"
                              ],
                              "thumbnail_format": "png",
                              "mp4_access": false,
                              "audio_only": false,
                              "keep_original": true,
                              "per_title_encoding": true,
                              "process_low_resolution_input": false
                            },
                            "source_url": "https://gumlet.sgp1.digitaloceanspaces.com/video/BigBuckBunny.mp4",
                            "size": 158008374,
                            "duration": 596.473333,
                            "aspect_ratio": "16:9",
                            "fps": 24,
                            "width": 1280,
                            "height": 720,
                            "additional_tracks": [
                              {
                                "url": "https://gumlet.sgp1.digitaloceanspaces.com/video/BigBuckBunny.aac",
                                "type": "audio",
                                "language_code": "en",
                                "name": "English"
                              }
                            ]
                          },
                          "output": {
                            "format": "hls",
                            "status_url": "https://api.gumlet.com/v1/video/assets/6192269e0822a81d955d1a4b",
                            "playback_url": "https://video.gumlet.io/5f462c1561cf8a766464ffc4/6192269e0822a81d955d1a4b/1.m3u8",
                            "thumbnail_url": [
                              "https://video.gumlet.io/5f462c1561cf8a766464ffc4/6192269e0822a81d955d1a4b/thumbnail-1-0.png"
                            ]
                          }
                        }
                      ],
                      "total_asset_count": 2159,
                      "current_offset": 1,
                      "distinct_tags": [
                        "",
                        "Gumlet",
                        "aasas",
                        "asasaasas",
                        "asasas",
                        "asasasasa",
                        "asasass",
                        "asasdfdfdd",
                        "asqs",
                        "dsddsd",
                        "dualcodectest-2",
                        "dualcodectrst",
                        "fallbacktest",
                        "filtertest",
                        "hlstest",
                        "josh",
                        "josh-2",
                        "lilo",
                        "newCode",
                        "newDashboard",
                        "newTest",
                        "newtest",
                        "rewew",
                        "sdsdsdsd",
                        "tag-1",
                        "test",
                        "testDASH",
                        "testVideoPad",
                        "test_bug",
                        "test_dash",
                        "testdualCodecsPatch",
                        "testgpusyash",
                        "testmp4",
                        "version_1",
                        "version_2",
                        "version_3",
                        "version_4",
                        "version_5",
                        "webhook"
                      ]
                    }
                  }
                },
                "schema": {
                  "type": "object",
                  "properties": {
                    "all_assets": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "asset_id": {
                            "type": "string",
                            "example": "6192269e0822a81d955d1a4b"
                          },
                          "progress": {
                            "type": "integer",
                            "example": 0,
                            "default": 0
                          },
                          "created_at": {
                            "type": "integer",
                            "example": 1636968094594,
                            "default": 0
                          },
                          "status": {
                            "type": "string",
                            "example": "optimizing"
                          },
                          "tag": {
                            "type": "string",
                            "example": ""
                          },
                          "source_id": {
                            "type": "string",
                            "example": "5f462c1561cf8a766464ffc4"
                          },
                          "input": {
                            "type": "object",
                            "properties": {
                              "transformations": {
                                "type": "object",
                                "properties": {
                                  "resolution": {
                                    "type": "string",
                                    "example": "240p,360p"
                                  },
                                  "format": {
                                    "type": "string",
                                    "example": "hls"
                                  },
                                  "audio_codec": {
                                    "type": "array",
                                    "items": {
                                      "type": "string",
                                      "example": "aac"
                                    }
                                  },
                                  "video_codec": {
                                    "type": "array",
                                    "items": {
                                      "type": "string",
                                      "example": "libx264"
                                    }
                                  },
                                  "thumbnail": {
                                    "type": "array",
                                    "items": {
                                      "type": "string",
                                      "example": "auto"
                                    }
                                  },
                                  "thumbnail_format": {
                                    "type": "string",
                                    "example": "png"
                                  },
                                  "mp4_access": {
                                    "type": "boolean",
                                    "example": false,
                                    "default": true
                                  },
                                  "audio_only": {
                                    "type": "boolean",
                                    "example": false,
                                    "default": true
                                  },
                                  "keep_original": {
                                    "type": "boolean",
                                    "example": true,
                                    "default": true
                                  },
                                  "per_title_encoding": {
                                    "type": "boolean",
                                    "example": true,
                                    "default": true
                                  },
                                  "process_low_resolution_input": {
                                    "type": "boolean",
                                    "example": false,
                                    "default": true
                                  }
                                }
                              },
                              "source_url": {
                                "type": "string",
                                "example": "https://gumlet.sgp1.digitaloceanspaces.com/video/BigBuckBunny.mp4"
                              },
                              "size": {
                                "type": "integer",
                                "example": 158008374,
                                "default": 0
                              },
                              "duration": {
                                "type": "number",
                                "example": 596.473333,
                                "default": 0
                              },
                              "aspect_ratio": {
                                "type": "string",
                                "example": "16:9"
                              },
                              "fps": {
                                "type": "integer",
                                "example": 24,
                                "default": 0
                              },
                              "width": {
                                "type": "integer",
                                "example": 1280,
                                "default": 0
                              },
                              "height": {
                                "type": "integer",
                                "example": 720,
                                "default": 0
                              },
                              "additional_tracks": {
                                "type": "array",
                                "items": {
                                  "type": "object",
                                  "properties": {
                                    "url": {
                                      "type": "string",
                                      "example": "https://gumlet.sgp1.digitaloceanspaces.com/video/BigBuckBunny.aac"
                                    },
                                    "type": {
                                      "type": "string",
                                      "example": "audio"
                                    },
                                    "language_code": {
                                      "type": "string",
                                      "example": "en"
                                    },
                                    "name": {
                                      "type": "string",
                                      "example": "English"
                                    }
                                  }
                                }
                              }
                            }
                          },
                          "output": {
                            "type": "object",
                            "properties": {
                              "format": {
                                "type": "string",
                                "example": "hls"
                              },
                              "status_url": {
                                "type": "string",
                                "example": "https://api.gumlet.com/v1/video/assets/6192269e0822a81d955d1a4b"
                              },
                              "playback_url": {
                                "type": "string",
                                "example": "https://video.gumlet.io/5f462c1561cf8a766464ffc4/6192269e0822a81d955d1a4b/1.m3u8"
                              },
                              "thumbnail_url": {
                                "type": "array",
                                "items": {
                                  "type": "string",
                                  "example": "https://video.gumlet.io/5f462c1561cf8a766464ffc4/6192269e0822a81d955d1a4b/thumbnail-1-0.png"
                                }
                              }
                            }
                          }
                        }
                      }
                    },
                    "total_asset_count": {
                      "type": "integer",
                      "example": 2159,
                      "default": 0
                    },
                    "current_offset": {
                      "type": "integer",
                      "example": 1,
                      "default": 0
                    },
                    "distinct_tags": {
                      "type": "array",
                      "items": {
                        "type": "string",
                        "example": ""
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "examples": {
                  "Result": {
                    "value": {
                      "error": {
                        "code": "collection_not_found",
                        "message": "Could not find any video workspace with specified workspace_id."
                      }
                    }
                  }
                },
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "code": {
                          "type": "string",
                          "example": "collection_not_found"
                        },
                        "message": {
                          "type": "string",
                          "example": "Could not find any video workspace with specified workspace_id."
                        }
                      },
                      "required": [
                        "code",
                        "message"
                      ]
                    }
                  },
                  "required": [
                    "error"
                  ]
                }
              }
            }
          },
          "401": {
            "description": "401",
            "content": {
              "application/json": {
                "examples": {
                  "Result": {
                    "value": {
                      "error": {
                        "code": "source_not_found",
                        "message": "Could not find any video source with specified source ID."
                      }
                    }
                  }
                },
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "code": {
                          "type": "string",
                          "example": "source_not_found"
                        },
                        "message": {
                          "type": "string",
                          "example": "Could not find any video source with specified source ID."
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          }
        },
        "deprecated": true,
        "tags": [
          "Video Assets"
        ],
        "x-stoplight": {
          "id": "9wrzusic0lzrv"
        },
        "x-codeSamples": [
          {
            "label": "TypeScript",
            "lang": "TypeScript",
            "source": "import Gumlet from '@gumlet/nodejs-sdk';\n\nconst client = new Gumlet({\n  apiKey: process.env['API_KEY'], // defaults to the API_KEY env var\n});\n\nconst videoAsset = await client.videoAssets.listDeprecated('workspaceId', {\n  sortBy: 'created_at',\n  orderBy: 'desc',\n});\n\nconsole.log(videoAsset);"
          },
          {
            "label": "Python",
            "lang": "Python",
            "source": "import os\n\nfrom gumlet import Gumlet\n\nclient = Gumlet(\n    api_key=os.environ.get(\"API_KEY\"),\n)\n\nvideo_asset = client.video_assets.list_deprecated(\n    workspace_id=\"workspaceId\",\n    sort_by=\"created_at\",\n    order_by=\"desc\",\n)\n\nprint(video_asset)"
          }
        ]
      }
    },
    "/video/live/assets/{live_asset_id}/history": {
      "get": {
        "summary": "Get Live Asset Status History",
        "description": "This endpoint retrieves the history of a live video asset that has previously been created.",
        "operationId": "asset-status-history",
        "parameters": [
          {
            "name": "live_asset_id",
            "in": "path",
            "description": "A live asset id for the previously created asset.",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "200",
            "content": {
              "application/json": {
                "examples": {
                  "Result": {
                    "value": {
                      "status": "created",
                      "stream_key": "619231610822a81d955d22f4",
                      "live_asset_id": "619231610822a81d955d22f3",
                      "live_video_source_id": "6165247368d80232d28d4379",
                      "input": {
                        "resolution": [
                          "720p"
                        ]
                      },
                      "stream_url": "rtmp://livestream-ingest.gumlet.io:1935/app/619231610822a81d955d22f4",
                      "output": {
                        "playback_url": "https://video.gumlet.io/6165247368d80232d28d4379/619231610822a81d955d22f3/master.m3u8"
                      },
                      "created_at": 1636970849188,
                      "updated_at": 1636970849188
                    }
                  }
                },
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "created"
                    },
                    "stream_key": {
                      "type": "string",
                      "example": "619231610822a81d955d22f4"
                    },
                    "live_asset_id": {
                      "type": "string",
                      "example": "619231610822a81d955d22f3"
                    },
                    "live_video_source_id": {
                      "type": "string",
                      "example": "6165247368d80232d28d4379"
                    },
                    "input": {
                      "type": "object",
                      "properties": {
                        "resolution": {
                          "type": "array",
                          "items": {
                            "type": "string",
                            "example": "720p"
                          }
                        }
                      }
                    },
                    "stream_url": {
                      "type": "string",
                      "example": "rtmp://livestream-ingest.gumlet.io:1935/app/619231610822a81d955d22f4"
                    },
                    "output": {
                      "type": "object",
                      "properties": {
                        "playback_url": {
                          "type": "string",
                          "example": "https://video.gumlet.io/6165247368d80232d28d4379/619231610822a81d955d22f3/master.m3u8"
                        }
                      }
                    },
                    "created_at": {
                      "type": "integer",
                      "example": 1636970849188,
                      "default": 0
                    },
                    "updated_at": {
                      "type": "integer",
                      "example": 1636970849188,
                      "default": 0
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "examples": {
                  "Result": {
                    "value": {
                      "error": {
                        "code": "asset_history_not_found",
                        "message": "Could not find status history for the specified live asset."
                      }
                    }
                  }
                },
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "code": {
                          "type": "string",
                          "example": "asset_history_not_found"
                        },
                        "message": {
                          "type": "string",
                          "example": "Could not find status history for the specified live asset."
                        }
                      },
                      "required": [
                        "code",
                        "message"
                      ]
                    }
                  },
                  "required": [
                    "error"
                  ]
                }
              }
            }
          },
          "401": {
            "description": "401",
            "content": {
              "application/json": {
                "examples": {
                  "Result": {
                    "value": {
                      "error": {
                        "code": "live_asset_not_found",
                        "message": "Could not find any live video asset with specified asset_id."
                      }
                    }
                  }
                },
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "code": {
                          "type": "string",
                          "example": "live_asset_not_found"
                        },
                        "message": {
                          "type": "string",
                          "example": "Could not find any live video asset with specified asset_id."
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          }
        },
        "deprecated": false,
        "tags": [
          "Live Stream Assets"
        ],
        "x-stoplight": {
          "id": "x23u8u11y6gic"
        },
        "x-codeSamples": [
          {
            "label": "TypeScript",
            "lang": "TypeScript",
            "source": "import Gumlet from '@gumlet/nodejs-sdk';\n\nconst client = new Gumlet({\n  apiKey: process.env['API_KEY'], // defaults to the API_KEY env var\n});\n\nconst liveStreamAsset = await client.liveStreamAssets.statusHistory('liveAssetId');\n\nconsole.log(liveStreamAsset);"
          },
          {
            "label": "Python",
            "lang": "Python",
            "source": "import os\n\nfrom gumlet import Gumlet\n\nclient = Gumlet(\n    api_key=os.environ.get(\"API_KEY\"),\n)\n\nlive_stream_asset = client.live_stream_assets.status_history(\n    live_asset_id=\"liveAssetId\",\n)\n\nprint(live_stream_asset)"
          }
        ]
      }
    },
    "/insights/viewer-analytics": {
      "post": {
        "summary": "Viewer Analytics",
        "description": "This endpoint retrieves viewer analytics data. This endpoint is use for deep insights on the analytics data.",
        "operationId": "analytics-chart-data",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "metrics",
                  "workspace_id",
                  "date_range"
                ],
                "properties": {
                  "metrics": {
                    "type": "array",
                    "description": "Get data for one or more `metrics` in the same request. Please add any of these metrics. `views`, `unique_views`, `impressions`. `completion_percent_by_views`, `playing_time`, `concurrent_users`, `widget_form_submitted`, `cta_clicks`",
                    "items": {
                      "type": "string"
                    }
                  },
                  "workspace_id": {
                    "type": "string",
                    "description": "The five to ten character unique identifier of the Gumlet workspace ID available on the Video Workspaces."
                  },
                  "date_range": {
                    "type": "object",
                    "description": "The timeframe to get the data for. \nCurrently, we only support a maximum of *60 days* between `start_at` and `end_at`.",
                    "required": [
                      "start_at",
                      "end_at"
                    ],
                    "properties": {
                      "start_at": {
                        "type": "string",
                        "description": "Use <b>yyyy-MM-dd</b> format",
                        "format": "date"
                      },
                      "end_at": {
                        "type": "string",
                        "description": "Use <b>yyyy-MM-dd</b> format",
                        "format": "date"
                      }
                    }
                  },
                  "filters": {
                    "type": "array",
                    "description": "Build *segments* of users using multiple filters on the data, `value` should be an *exact match*",
                    "items": {
                      "properties": {
                        "name": {
                          "type": "string",
                          "description": "Name of the breakdown to filter data on.",
                          "enum": [
                            "meta_browser",
                            "meta_operating_system",
                            "meta_operating_system_version",
                            "meta_device_category",
                            "meta_device_manufacturer",
                            "meta_device_name",
                            "meta_device_display_width",
                            "meta_device_display_height",
                            "meta_country",
                            "meta_city",
                            "meta_region",
                            "player_software",
                            "player_software_version",
                            "player_language_code",
                            "player_name",
                            "meta_page_url",
                            "meta_asn",
                            "custom_user_id",
                            "custom_user_email",
                            "custom_video_id",
                            "custom_video_title",
                            "video_source_url",
                            "custom_video_variant_name",
                            "custom_video_language",
                            "custom_video_variant",
                            "custom_data_1",
                            "custom_data_2",
                            "custom_data_3",
                            "custom_data_4",
                            "custom_data_5"
                          ]
                        },
                        "value": {
                          "type": "string",
                          "description": "Value to be matched for the given filter name. Currently we support exact matches."
                        },
                        "operator": {
                          "type": "string",
                          "description": "Operator to be used while filtering the data",
                          "default": "equals",
                          "enum": [
                            "equals",
                            "does not equal",
                            "contains",
                            "does not contain",
                            "is set",
                            "is not set"
                          ]
                        }
                      },
                      "required": [
                        "name",
                        "value"
                      ],
                      "type": "object"
                    }
                  },
                  "group_by": {
                    "type": "string",
                    "description": "Data can be grouped by `daily`, `weekly` or `monthly`.",
                    "default": "daily",
                    "enum": [
                      "daily",
                      "weekly",
                      "monthly"
                    ]
                  },
                  "chart_dimension": {
                    "type": "object",
                    "properties": {
                      "group_by": {
                        "type": "array",
                        "items": {
                          "properties": {
                            "name": {
                              "type": "string",
                              "enum": [
                                "custom_video_title",
                                "custom_video_id",
                                "custom_workspace_id",
                                "video_source_url",
                                "video_source_format",
                                "player_software_version",
                                "player_software",
                                "meta_page_url",
                                "audio_language",
                                "subtitle_language",
                                "video_width_pixels",
                                "video_height_pixels",
                                "meta_country",
                                "meta_city",
                                "meta_device_category",
                                "meta_device_manufacturer",
                                "meta_browser",
                                "meta_browser_version",
                                "meta_browser_language",
                                "meta_operating_system",
                                "meta_operating_system_version",
                                "meta_device_name",
                                "meta_asn"
                              ]
                            }
                          },
                          "type": "object"
                        }
                      }
                    },
                    "description": "Group metrics by the selected dimension. You can select up to 3 dimensions for nested category results; results follow the selection order."
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "200",
            "content": {
              "application/json": {
                "examples": {
                  "Result": {
                    "value": {
                      "views": [
                        {
                          "x": 1647475200000,
                          "y": null,
                          "unit": "views"
                        },
                        {
                          "x": 1647561600000,
                          "y": null,
                          "unit": "views"
                        },
                        {
                          "x": 1647648000000,
                          "y": 6,
                          "unit": "views"
                        },
                        {
                          "x": 1647734400000,
                          "y": 24,
                          "unit": "views"
                        },
                        {
                          "x": 1647820800000,
                          "y": 33,
                          "unit": "views"
                        },
                        {
                          "x": 1647907200000,
                          "y": 16,
                          "unit": "views"
                        }
                      ],
                      "unique_views": [
                        {
                          "x": 1647475200000,
                          "y": null,
                          "unit": "users"
                        },
                        {
                          "x": 1647561600000,
                          "y": null,
                          "unit": "users"
                        },
                        {
                          "x": 1647648000000,
                          "y": 1,
                          "unit": "users"
                        },
                        {
                          "x": 1647734400000,
                          "y": 1,
                          "unit": "users"
                        },
                        {
                          "x": 1647820800000,
                          "y": 1,
                          "unit": "users"
                        },
                        {
                          "x": 1647907200000,
                          "y": 1,
                          "unit": "users"
                        }
                      ]
                    }
                  }
                },
                "schema": {
                  "type": "object",
                  "properties": {
                    "views": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "x": {
                            "type": "integer",
                            "example": 1647475200000,
                            "default": 0
                          },
                          "y": {},
                          "unit": {
                            "type": "string",
                            "example": "views"
                          }
                        }
                      }
                    },
                    "unique_views": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "x": {
                            "type": "integer",
                            "example": 1647475200000,
                            "default": 0
                          },
                          "y": {},
                          "unit": {
                            "type": "string",
                            "example": "users"
                          }
                        }
                      }
                    },
                    "analytics_data": {
                      "type": "object",
                      "properties": {
                        "views": {
                          "type": "array",
                          "items": {
                            "properties": {
                              "x": {
                                "type": "string",
                                "description": "Date in epoch format"
                              },
                              "y": {
                                "type": "string",
                                "description": "Value"
                              },
                              "unit": {
                                "type": "string"
                              }
                            },
                            "type": "object"
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "examples": {
                  "Result": {
                    "value": {
                      "error": {
                        "code": "parameter_missing",
                        "message": "One or more required values are missing."
                      }
                    }
                  }
                },
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "code": {
                          "type": "string",
                          "example": "parameter_missing"
                        },
                        "message": {
                          "type": "string",
                          "example": "One or more required values are missing."
                        }
                      },
                      "required": [
                        "code",
                        "message"
                      ]
                    }
                  },
                  "required": [
                    "error"
                  ]
                }
              }
            }
          },
          "401": {
            "description": "401",
            "content": {
              "application/json": {
                "examples": {
                  "Result": {
                    "value": {
                      "error": {
                        "code": "invalid_property_id",
                        "message": "You don't have access to that property, please select a property id"
                      }
                    }
                  }
                },
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "code": {
                          "type": "string",
                          "example": "invalid_property_id"
                        },
                        "message": {
                          "type": "string",
                          "example": "You don't have access to that property, please select a property id"
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "examples": {
                  "Result": {
                    "value": {
                      "error": {
                        "code": "property_not_found",
                        "message": "Could not find any video insight property with the specified property_id."
                      }
                    }
                  }
                },
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "code": {
                          "type": "string",
                          "example": "property_not_found"
                        },
                        "message": {
                          "type": "string",
                          "example": "Could not find any video insight property with the specified property_id."
                        }
                      },
                      "required": [
                        "code",
                        "message"
                      ]
                    }
                  },
                  "required": [
                    "error"
                  ]
                }
              }
            }
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        },
        "deprecated": false,
        "tags": [
          "Video Analytics"
        ],
        "servers": [
          {
            "url": "https://api.gumlet.com/v1"
          }
        ],
        "x-stoplight": {
          "id": "04zbqux39i8iv"
        },
        "x-codeSamples": [
          {
            "label": "TypeScript",
            "lang": "TypeScript",
            "source": "import Gumlet from '@gumlet/nodejs-sdk';\n\nconst client = new Gumlet({\n  apiKey: process.env['API_KEY'], // defaults to the API_KEY env var\n});\n\nconst videoAnalytic = await client.videoAnalytics.chartData({\n  metrics: [''],\n  workspace_id: '',\n  date_range: {\n    start_at: '2024-01-01',\n    end_at: '2024-01-01',\n  },\n  group_by: 'daily',\n});\n\nconsole.log(videoAnalytic);"
          },
          {
            "label": "Python",
            "lang": "Python",
            "source": "import os\n\nfrom gumlet import Gumlet\n\nclient = Gumlet(\n    api_key=os.environ.get(\"API_KEY\"),\n)\n\nvideo_analytic = client.video_analytics.chart_data(\n    metrics=[\"\"],\n    workspace_id=\"\",\n    date_range={\"start_at\": \"2024-01-01\", \"end_at\": \"2024-01-01\"},\n    group_by=\"daily\",\n)\n\nprint(video_analytic)"
          }
        ]
      }
    },
    "/insights/breakdown-data": {
      "post": {
        "summary": "Breakdown Data",
        "description": "This endpoint retrieves breakdown data of the given metrics by given breakdown field",
        "operationId": "analytics-breakdown-data",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "date_range",
                  "breakdowns",
                  "workspace_id"
                ],
                "properties": {
                  "date_range": {
                    "type": "object",
                    "description": "The timeframe to get the data for. \nCurrently, we only support a maximum of *60 days* between `start_at` and `end_at`.",
                    "required": [
                      "start_at",
                      "end_at"
                    ],
                    "properties": {
                      "start_at": {
                        "type": "string",
                        "description": "Use <b>yyyy-MM-dd</b> format",
                        "format": "date"
                      },
                      "end_at": {
                        "type": "string",
                        "description": "Use <b>yyyy-MM-dd</b> format",
                        "format": "date"
                      }
                    }
                  },
                  "filters": {
                    "type": "array",
                    "description": "Build *segments* of users using multiple filters on the data, `value` should be an *exact match*",
                    "items": {
                      "properties": {
                        "name": {
                          "type": "string",
                          "description": "Name of the breakdown to filter data on.",
                          "enum": [
                            "meta_browser",
                            "meta_operating_system",
                            "meta_operating_system_version",
                            "meta_device_category",
                            "meta_device_manufacturer",
                            "meta_device_name",
                            "meta_device_display_width",
                            "meta_device_display_height",
                            "meta_country",
                            "meta_city",
                            "meta_region",
                            "player_software",
                            "player_software_version",
                            "player_language_code",
                            "player_name",
                            "meta_page_url",
                            "meta_asn",
                            "custom_user_id",
                            "custom_user_email",
                            "custom_video_id",
                            "custom_video_title",
                            "video_source_url",
                            "custom_video_variant_name",
                            "custom_video_language",
                            "custom_video_variant",
                            "custom_data_1",
                            "custom_data_2",
                            "custom_data_3",
                            "custom_data_4",
                            "custom_data_5"
                          ]
                        },
                        "value": {
                          "type": "string",
                          "description": "Value to be matched for the given filter name. Currently we support exact matches."
                        },
                        "operator": {
                          "type": "string",
                          "description": "Operator to be used while filtering the data",
                          "default": "equals",
                          "enum": [
                            "equals",
                            "does not equal",
                            "contains",
                            "does not contain",
                            "is set",
                            "is not set"
                          ]
                        }
                      },
                      "required": [
                        "name",
                        "value"
                      ],
                      "type": "object"
                    }
                  },
                  "breakdowns": {
                    "type": "array",
                    "description": "Breakdown fields and metrics to retrieve data for. Supports 1 to 3 breakdowns per request.",
                    "minItems": 1,
                    "maxItems": 3,
                    "items": {
                      "type": "object",
                      "required": [
                        "name",
                        "metric"
                      ],
                      "properties": {
                        "name": {
                          "type": "string",
                          "description": "Name of the field to break down the data by.",
                          "enum": [
                            "meta_browser",
                            "meta_operating_system",
                            "meta_operating_system_version",
                            "meta_device_category",
                            "meta_device_manufacturer",
                            "meta_device_name",
                            "meta_device_display_width",
                            "meta_device_display_height",
                            "meta_country",
                            "meta_city",
                            "meta_region",
                            "player_software",
                            "player_software_version",
                            "player_language_code",
                            "player_name",
                            "meta_page_url",
                            "meta_asn",
                            "custom_user_id",
                            "custom_user_email",
                            "custom_video_id",
                            "custom_video_title",
                            "video_source_url",
                            "custom_video_variant_name",
                            "custom_video_language",
                            "custom_video_variant",
                            "custom_data_1",
                            "custom_data_2",
                            "custom_data_3",
                            "custom_data_4",
                            "custom_data_5"
                          ]
                        },
                        "metric": {
                          "type": "string",
                          "description": "The metric to retrieve breakdown data for.",
                          "enum": [
                            "views",
                            "unique_views",
                            "impressions",
                            "completion_percent_by_views",
                            "playing_time",
                            "concurrent_users",
                            "widget_form_submitted",
                            "cta_clicks"
                          ]
                        },
                        "page": {
                          "type": "integer",
                          "description": "Page number for paginated results.",
                          "default": 1
                        },
                        "page_size": {
                          "type": "integer",
                          "description": "Number of results per page.",
                          "default": 100
                        }
                      }
                    }
                  },
                  "workspace_id": {
                    "type": "string",
                    "description": "The five to ten character unique identifier of the Gumlet workspace ID available on the Video Workspaces."
                  }
                }
              },
              "examples": {
                "Result": {
                  "value": {
                    "date_range": {
                      "start_at": "2026-07-20",
                      "end_at": "2026-08-20"
                    },
                    "filters": [],
                    "breakdowns": [
                      {
                        "name": "custom_video_id",
                        "metric": "views",
                        "page": 1,
                        "page_size": 10
                      },
                      {
                        "name": "custom_video_title",
                        "metric": "completion_percent_by_views",
                        "page": 1,
                        "page_size": 10
                      }
                    ],
                    "workspace_id": "6694c405e63913eecf3cf5fb"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "200",
            "content": {
              "application/json": {
                "examples": {
                  "Result": {
                    "value": {
                      "views": {
                        "data": [
                          {
                            "key": "6710e83eb340677d98c71df7",
                            "value": 253,
                            "unit": "views"
                          },
                          {
                            "key": "6710e83eb340677d98c71dd8",
                            "value": 120,
                            "unit": "views"
                          }
                        ],
                        "has_next_page": true,
                        "current_page": 1
                      }
                    }
                  }
                },
                "schema": {
                  "type": "object",
                  "properties": {
                    "views": {
                      "type": "object",
                      "properties": {
                        "data": {
                          "type": "array",
                          "items": {
                            "type": "object",
                            "properties": {
                              "key": {
                                "type": "string",
                                "description": "Breakdown field value"
                              },
                              "value": {
                                "type": "number",
                                "description": "Metric value for the breakdown key"
                              },
                              "unit": {
                                "type": "string",
                                "example": "views"
                              }
                            }
                          }
                        },
                        "has_next_page": {
                          "type": "boolean",
                          "description": "Whether there is another page of results"
                        },
                        "current_page": {
                          "type": "integer",
                          "description": "Current page number"
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "examples": {
                  "Result": {
                    "value": {
                      "error": {
                        "code": "parameter_missing",
                        "message": "One or more required values are missing."
                      }
                    }
                  }
                },
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "code": {
                          "type": "string",
                          "example": "parameter_missing"
                        },
                        "message": {
                          "type": "string",
                          "example": "One or more required values are missing."
                        }
                      },
                      "required": [
                        "code",
                        "message"
                      ]
                    }
                  },
                  "required": [
                    "error"
                  ]
                }
              }
            }
          },
          "401": {
            "description": "401",
            "content": {
              "application/json": {
                "examples": {
                  "Result": {
                    "value": {
                      "error": {
                        "code": "invalid_property_id",
                        "message": "You don't have access to that property, please select a property id"
                      }
                    }
                  }
                },
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "code": {
                          "type": "string",
                          "example": "invalid_property_id"
                        },
                        "message": {
                          "type": "string",
                          "example": "You don't have access to that property, please select a property id"
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "examples": {
                  "Result": {
                    "value": {
                      "error": {
                        "code": "property_not_found",
                        "message": "Could not find any video insight property with the specified property_id."
                      }
                    }
                  }
                },
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "code": {
                          "type": "string",
                          "example": "property_not_found"
                        },
                        "message": {
                          "type": "string",
                          "example": "Could not find any video insight property with the specified property_id."
                        }
                      },
                      "required": [
                        "code",
                        "message"
                      ]
                    }
                  },
                  "required": [
                    "error"
                  ]
                }
              }
            }
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        },
        "deprecated": false,
        "tags": [
          "Video Analytics"
        ],
        "servers": [
          {
            "url": "https://api.gumlet.com/v1"
          }
        ],
        "x-codeSamples": [
          {
            "label": "TypeScript",
            "lang": "TypeScript",
            "source": "import Gumlet from '@gumlet/nodejs-sdk';\n\nconst client = new Gumlet({\n  apiKey: process.env['API_KEY'], // defaults to the API_KEY env var\n});\n\nconst videoAnalytic = await client.videoAnalytics.breakdownData({\n  date_range: { start_at: '2026-07-20', end_at: '2026-08-20' },\n  filters: [],\n  breakdowns: [\n    { name: 'custom_video_id', metric: 'views', page: 1, page_size: 10 },\n    { name: 'custom_video_title', metric: 'completion_percent_by_views', page: 1, page_size: 10 },\n  ],\n  workspace_id: '6694c405e63913eecf3cf5fb',\n});\n\nconsole.log(videoAnalytic);"
          },
          {
            "label": "Python",
            "lang": "Python",
            "source": "import os\n\nfrom gumlet import Gumlet\n\nclient = Gumlet(\n    api_key=os.environ.get(\"API_KEY\"),\n)\n\nvideo_analytic = client.video_analytics.breakdown_data(\n    date_range={\"start_at\": \"2026-07-20\", \"end_at\": \"2026-08-20\"},\n    filters=[],\n    breakdowns=[\n        {\"name\": \"custom_video_id\", \"metric\": \"views\", \"page\": 1, \"page_size\": 10},\n        {\"name\": \"custom_video_title\", \"metric\": \"completion_percent_by_views\", \"page\": 1, \"page_size\": 10},\n    ],\n    workspace_id=\"6694c405e63913eecf3cf5fb\",\n)\n\nprint(video_analytic)"
          }
        ]
      }
    },
    "/insights/aggregated-data": {
      "post": {
        "summary": "Aggregated Data",
        "description": "This endpoint retrieves aggregated data of the given metrics.",
        "operationId": "analytics-aggregated-data",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "aggregate",
                  "workspace_id",
                  "timeframe"
                ],
                "properties": {
                  "aggregate": {
                    "type": "array",
                    "description": "Aggregate multiple metrics at the same time",
                    "items": {
                      "properties": {
                        "metric": {
                          "type": "string",
                          "description": "The metric to be aggregated for this request.",
                          "enum": [
                            "views",
                            "unique_views",
                            "completion_percent_by_views",
                            "playing_time",
                            "concurrent_users",
                            "impressions",
                            "widget_form_submitted",
                            "cta_clicks"
                          ]
                        },
                        "function": {
                          "type": "string",
                          "description": "Aggregation function which is to be used.",
                          "enum": [
                            "sum",
                            "average"
                          ]
                        }
                      },
                      "required": [
                        "metric",
                        "function"
                      ],
                      "type": "object"
                    }
                  },
                  "workspace_id": {
                    "type": "string",
                    "description": "The unique identifier of the Gumlet workspace ID available on the Video Workspaces."
                  },
                  "timeframe": {
                    "type": "object",
                    "description": "The timeframe to get the data for. Currently we only support maximum difference between `start_at` and `end_at` to be *60 days*",
                    "properties": {
                      "start_at": {
                        "type": "string",
                        "description": "Use <b>yyyy-MM-dd</b> format",
                        "format": "date"
                      },
                      "end_at": {
                        "type": "string",
                        "description": "Use <b>yyyy-MM-dd</b> format",
                        "format": "date"
                      }
                    }
                  },
                  "filters": {
                    "type": "array",
                    "description": "Get aggregations for metrics with multiple filters, `value` should be an exact match",
                    "items": {
                      "properties": {
                        "name": {
                          "type": "string",
                          "description": "Name of the breakdown to filter data on.",
                          "enum": [
                            "meta_browser",
                            "meta_operating_system",
                            "meta_operating_system_version",
                            "meta_device_category",
                            "meta_device_manufacturer",
                            "meta_device_name",
                            "meta_device_display_width",
                            "meta_device_display_height",
                            "meta_country",
                            "meta_city",
                            "meta_region",
                            "player_software",
                            "player_software_version",
                            "player_height_pixels",
                            "player_width_pixels",
                            "player_language_code",
                            "meta_page_url",
                            "meta_asn",
                            "custom_user_id",
                            "user_name",
                            "user_email",
                            "custom_video_id",
                            "custom_video_title",
                            "video_source_url",
                            "video_source_hostname",
                            "video_source_format",
                            "custom_video_language",
                            "custom_video_variant",
                            "custom_data_1",
                            "custom_data_2",
                            "custom_data_3",
                            "custom_data_4",
                            "custom_data_5"
                          ]
                        },
                        "value": {
                          "type": "string",
                          "description": "Value to be matched for the given filter name. Currently we support exact matches."
                        },
                        "operator": {
                          "type": "string",
                          "description": "Operator to be used while filtering the data",
                          "default": "equals",
                          "enum": [
                            "equals",
                            "does not equal",
                            "contains",
                            "does not contain",
                            "is set",
                            "is not set"
                          ]
                        }
                      },
                      "required": [
                        "name",
                        "value"
                      ],
                      "type": "object"
                    }
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "200",
            "content": {
              "application/json": {
                "examples": {
                  "Result": {
                    "value": {
                      "views": {
                        "sum": {
                          "value": 79,
                          "unit": "views"
                        }
                      }
                    }
                  }
                },
                "schema": {
                  "type": "object",
                  "properties": {
                    "views": {
                      "type": "object",
                      "properties": {
                        "sum": {
                          "type": "object",
                          "properties": {
                            "value": {
                              "type": "integer",
                              "example": 79,
                              "default": 0
                            },
                            "unit": {
                              "type": "string",
                              "example": "views"
                            }
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "examples": {
                  "Result": {
                    "value": {
                      "error": {
                        "code": "parameter_missing",
                        "message": "One or more required values are missing."
                      }
                    }
                  }
                },
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "code": {
                          "type": "string",
                          "example": "parameter_missing"
                        },
                        "message": {
                          "type": "string",
                          "example": "One or more required values are missing."
                        }
                      },
                      "required": [
                        "code",
                        "message"
                      ]
                    }
                  },
                  "required": [
                    "error"
                  ]
                }
              }
            }
          },
          "401": {
            "description": "401",
            "content": {
              "application/json": {
                "examples": {
                  "Result": {
                    "value": {
                      "error": {
                        "code": "invalid_property_id",
                        "message": "You don't have access to that property, please select a property id"
                      }
                    }
                  }
                },
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "code": {
                          "type": "string",
                          "example": "invalid_property_id"
                        },
                        "message": {
                          "type": "string",
                          "example": "You don't have access to that property, please select a property id"
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "examples": {
                  "Result": {
                    "value": {
                      "error": {
                        "code": "property_not_found",
                        "message": "Could not find any video insight property with the specified property_id."
                      }
                    }
                  }
                },
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "code": {
                          "type": "string",
                          "example": "property_not_found"
                        },
                        "message": {
                          "type": "string",
                          "example": "Could not find any video insight property with the specified property_id."
                        }
                      },
                      "required": [
                        "code",
                        "message"
                      ]
                    }
                  },
                  "required": [
                    "error"
                  ]
                }
              }
            }
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        },
        "deprecated": false,
        "tags": [
          "Video Analytics"
        ],
        "servers": [
          {
            "url": "https://api.gumlet.com/v1"
          }
        ],
        "x-stoplight": {
          "id": "phzqm3nji6lx6"
        },
        "x-codeSamples": [
          {
            "label": "TypeScript",
            "lang": "TypeScript",
            "source": "import Gumlet from '@gumlet/nodejs-sdk';\n\nconst client = new Gumlet({\n  apiKey: process.env['API_KEY'], // defaults to the API_KEY env var\n});\n\nconst videoAnalytic = await client.videoAnalytics.aggregatedData({\n  aggregate: [\n    {\n      metric: 'views',\n      function: 'sum',\n    },\n  ],\n  workspace_id: '',\n  timeframe: {},\n});\n\nconsole.log(videoAnalytic);"
          },
          {
            "label": "Python",
            "lang": "Python",
            "source": "import os\n\nfrom gumlet import Gumlet\n\nclient = Gumlet(\n    api_key=os.environ.get(\"API_KEY\"),\n)\n\nvideo_analytic = client.video_analytics.aggregated_data(\n    aggregate=[{\"metric\": \"views\", \"function\": \"sum\"}],\n    workspace_id=\"\",\n    timeframe={},\n)\n\nprint(video_analytic)"
          }
        ]
      }
    },
    "/image/purge/{source_id}": {
      "post": {
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string"
                    }
                  },
                  "x-apidog-orders": [
                    "status"
                  ],
                  "required": [
                    "status"
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "examples": {
                  "Result": {
                    "value": {
                      "error": {
                        "code": "source_not_found",
                        "message": "Could not find any image source with the specified source_id."
                      }
                    }
                  }
                },
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "code": {
                          "type": "string",
                          "example": "source_not_found"
                        },
                        "message": {
                          "type": "string",
                          "example": "Could not find any image source with the specified source_id."
                        }
                      },
                      "required": [
                        "code",
                        "message"
                      ]
                    }
                  },
                  "required": [
                    "error"
                  ]
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          }
        },
        "summary": "Purge Image Cache",
        "operationId": "image-purge",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "paths": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    },
                    "description": "An array of path of images to purge. It should be provided without any query parameters."
                  }
                },
                "x-apidog-orders": [
                  "paths"
                ],
                "required": [
                  "paths"
                ]
              },
              "examples": {
                "Example 1": {
                  "value": {
                    "paths": [
                      "image.jpeg",
                      "image2.png"
                    ]
                  }
                }
              }
            }
          }
        },
        "description": "You can purge the cache for any image path by using this cache purge API.",
        "tags": [
          "Image Sources"
        ],
        "parameters": [
          {
            "name": "source_id",
            "in": "path",
            "description": "Image Source ID",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "x-codeSamples": [
          {
            "label": "TypeScript",
            "lang": "TypeScript",
            "source": "import Gumlet from '@gumlet/nodejs-sdk';\n\nconst client = new Gumlet({\n  apiKey: process.env['API_KEY'], // defaults to the API_KEY env var\n});\n\nconst imageSource = await client.imageSources.purge('sourceId', { paths: ['image.jpeg', 'image2.png'] });\n\nconsole.log(imageSource);"
          },
          {
            "label": "Python",
            "lang": "Python",
            "source": "import os\n\nfrom gumlet import Gumlet\n\nclient = Gumlet(\n    api_key=os.environ.get(\"API_KEY\"),\n)\n\nimage_source = client.image_sources.purge(\n    source_id=\"sourceId\",\n    paths=[\"image.jpeg\", \"image2.png\"],\n)\n\nprint(image_source)"
          }
        ]
      }
    },
    "/org/data": {
      "get": {
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string",
                      "description": "Organization ID"
                    },
                    "org_email": {
                      "type": "string",
                      "description": "Primary email of the organization"
                    },
                    "unpaid": {
                      "type": "boolean",
                      "description": "Flag if account is blocked due to unpaid dues. False means account is not blocked."
                    },
                    "created_at": {
                      "type": "number",
                      "description": "Org creation time. Epoch timestamp in milliseconds."
                    },
                    "plan": {
                      "type": "string",
                      "description": "Subscription plan name"
                    },
                    "plan_cycle": {
                      "type": "string",
                      "enum": [
                        "monthly",
                        "yearly"
                      ],
                      "x-apidog-enum": [
                        {
                          "value": "monthly",
                          "name": "",
                          "description": ""
                        },
                        {
                          "value": "yearly",
                          "name": "",
                          "description": ""
                        }
                      ],
                      "description": "Billing cycle. `monthly` or `yearly`."
                    },
                    "plan_data": {
                      "type": "object",
                      "properties": {
                        "image": {
                          "type": "object",
                          "properties": {
                            "plan": {
                              "type": "string",
                              "description": "Image plan name"
                            },
                            "cycle": {
                              "type": "string",
                              "description": "Billing cycle. `monthly` or `yearly`.",
                              "enum": [
                                "monthly",
                                "yearly"
                              ],
                              "x-apidog-enum": [
                                {
                                  "value": "monthly",
                                  "name": "",
                                  "description": ""
                                },
                                {
                                  "value": "yearly",
                                  "name": "",
                                  "description": ""
                                }
                              ]
                            },
                            "trialing": {
                              "type": "boolean",
                              "description": "If the plan is under trial or not."
                            },
                            "display_name": {
                              "type": "string"
                            }
                          },
                          "x-apidog-orders": [
                            "plan",
                            "cycle",
                            "trialing",
                            "display_name"
                          ],
                          "required": [
                            "plan",
                            "cycle",
                            "trialing",
                            "display_name"
                          ]
                        },
                        "video": {
                          "type": "object",
                          "properties": {
                            "plan": {
                              "type": "string",
                              "description": "Video plan name"
                            },
                            "cycle": {
                              "type": "string",
                              "description": "Billing cycle. `monthly` or `yearly`.",
                              "enum": [
                                "monthly",
                                "yearly"
                              ],
                              "x-apidog-enum": [
                                {
                                  "value": "monthly",
                                  "name": "",
                                  "description": ""
                                },
                                {
                                  "value": "yearly",
                                  "name": "",
                                  "description": ""
                                }
                              ]
                            },
                            "trialing": {
                              "type": "boolean",
                              "description": "If the plan is under trial or not."
                            },
                            "display_name": {
                              "type": "string"
                            }
                          },
                          "x-apidog-orders": [
                            "plan",
                            "cycle",
                            "trialing",
                            "display_name"
                          ],
                          "required": [
                            "plan",
                            "cycle",
                            "trialing",
                            "display_name"
                          ]
                        }
                      },
                      "x-apidog-orders": [
                        "image",
                        "video"
                      ],
                      "required": [
                        "image",
                        "video"
                      ]
                    },
                    "stripe_account_loc": {
                      "type": "string",
                      "enum": [
                        "ind",
                        "sgp"
                      ],
                      "x-apidog-enum": [
                        {
                          "value": "ind",
                          "name": "",
                          "description": ""
                        },
                        {
                          "value": "sgp",
                          "name": "",
                          "description": ""
                        }
                      ]
                    },
                    "sso_enabled": {
                      "type": "boolean",
                      "description": "Flag if SSO is enabled for org."
                    },
                    "got_free_trial": {
                      "type": "boolean"
                    },
                    "metadata": {
                      "type": "object",
                      "properties": {
                        "firstImageSourceCreated": {
                          "type": "boolean"
                        },
                        "firstVideoUploaded": {
                          "type": "boolean"
                        },
                        "nsfw_blocked": {
                          "type": "boolean",
                          "description": "Flag is org is blocked for NSFW uploads."
                        }
                      },
                      "x-apidog-orders": [
                        "firstImageSourceCreated",
                        "firstVideoUploaded",
                        "nsfw_blocked"
                      ],
                      "required": [
                        "firstImageSourceCreated",
                        "firstVideoUploaded",
                        "nsfw_blocked"
                      ]
                    }
                  },
                  "x-apidog-orders": [
                    "id",
                    "org_email",
                    "unpaid",
                    "created_at",
                    "plan_cycle",
                    "plan",
                    "plan_data",
                    "stripe_account_loc",
                    "sso_enabled",
                    "got_free_trial",
                    "metadata"
                  ],
                  "required": [
                    "id",
                    "org_email",
                    "unpaid",
                    "created_at",
                    "plan",
                    "plan_cycle",
                    "plan_data",
                    "stripe_account_loc"
                  ]
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          }
        },
        "summary": "Get Organization Details",
        "tags": [
          "Organization Data"
        ],
        "operationId": "fetch-org",
        "description": "You can get organization data using this API.",
        "x-codeSamples": [
          {
            "label": "TypeScript",
            "lang": "TypeScript",
            "source": "import Gumlet from '@gumlet/nodejs-sdk';\n\nconst client = new Gumlet({\n  apiKey: process.env['API_KEY'], // defaults to the API_KEY env var\n});\n\nconst organizationData = await client.organizationData.fetchOrg();\n\nconsole.log(organizationData);"
          },
          {
            "label": "Python",
            "lang": "Python",
            "source": "import os\n\nfrom gumlet import Gumlet\n\nclient = Gumlet(\n    api_key=os.environ.get(\"API_KEY\"),\n)\n\norganization_data = client.organization_data.fetch_org()\n\nprint(organization_data)"
          }
        ]
      }
    },
    "/user/data": {
      "get": {
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string",
                      "description": "User ID"
                    },
                    "email": {
                      "type": "string",
                      "format": "email",
                      "description": "User Email"
                    },
                    "name": {
                      "type": "string",
                      "description": "Full name of user"
                    },
                    "creation_date": {
                      "type": "integer",
                      "description": "User creation date. Milliseconds since epoch."
                    },
                    "last_login_date": {
                      "type": "integer",
                      "description": "Last login date. Milliseconds since epoch."
                    },
                    "last_login_ip": {
                      "type": "string",
                      "description": "IP address of last login."
                    },
                    "roles": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      },
                      "description": "Roles assigned to the user."
                    },
                    "timezone": {
                      "type": "string",
                      "description": "Timezone selected by user."
                    },
                    "metadata": {
                      "type": "object",
                      "properties": {
                        "theme": {
                          "type": "string",
                          "description": "Dashboard theme."
                        }
                      },
                      "x-apidog-orders": [
                        "theme"
                      ],
                      "required": [
                        "theme"
                      ]
                    }
                  },
                  "x-apidog-orders": [
                    "id",
                    "email",
                    "name",
                    "creation_date",
                    "last_login_date",
                    "last_login_ip",
                    "roles",
                    "timezone",
                    "metadata"
                  ],
                  "required": [
                    "id",
                    "email",
                    "name",
                    "creation_date",
                    "last_login_date",
                    "last_login_ip",
                    "roles",
                    "timezone",
                    "metadata"
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Bad Request — org API key not allowed",
            "content": {
              "application/json": {
                "examples": {
                  "Result": {
                    "value": {
                      "error": {
                        "code": "user_token_required",
                        "message": "You must access this route by only using a user token or gumlet website."
                      }
                    }
                  }
                },
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "code": {
                          "type": "string",
                          "example": "user_token_required"
                        },
                        "message": {
                          "type": "string",
                          "example": "You must access this route by only using a user token or gumlet website."
                        }
                      },
                      "required": [
                        "code",
                        "message"
                      ]
                    }
                  },
                  "required": [
                    "error"
                  ]
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          }
        },
        "summary": "Get User",
        "tags": [
          "User Data"
        ],
        "operationId": "fetch-user",
        "description": "This endpoint gives information about the user account.",
        "x-codeSamples": [
          {
            "label": "TypeScript",
            "lang": "TypeScript",
            "source": "import Gumlet from '@gumlet/nodejs-sdk';\n\nconst client = new Gumlet({\n  apiKey: process.env['API_KEY'], // defaults to the API_KEY env var\n});\n\nconst userData = await client.userData.fetch();\n\nconsole.log(userData);"
          },
          {
            "label": "Python",
            "lang": "Python",
            "source": "import os\n\nfrom gumlet import Gumlet\n\nclient = Gumlet(\n    api_key=os.environ.get(\"API_KEY\"),\n)\n\nuser_data = client.user_data.fetch()\n\nprint(user_data)"
          }
        ]
      }
    },
    "/user/audit-log": {
      "post": {
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "pagination": {
                      "type": "object",
                      "properties": {
                        "page": {
                          "type": "integer",
                          "description": "Current page."
                        },
                        "page_size": {
                          "type": "integer",
                          "description": "Items returned in current page"
                        },
                        "total_pages": {
                          "type": "integer",
                          "description": "Total available pages."
                        },
                        "total": {
                          "type": "integer",
                          "description": "Total available audit log items."
                        }
                      },
                      "x-apidog-orders": [
                        "page",
                        "page_size",
                        "total_pages",
                        "total"
                      ],
                      "required": [
                        "page",
                        "page_size",
                        "total_pages",
                        "total"
                      ],
                      "description": "Details about pagination of the audit logs."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "activity": {
                            "type": "string",
                            "description": "User friendly name of the activity"
                          },
                          "ip": {
                            "type": "string",
                            "description": "IP address from where the activity happened."
                          },
                          "action_user": {
                            "type": "string",
                            "description": "Email id of the user who performed the activity."
                          },
                          "status_code": {
                            "type": "integer",
                            "description": "API status code for the event"
                          },
                          "response_time": {
                            "type": "number",
                            "description": "Total response time in milliseconds for the event."
                          },
                          "timestamp": {
                            "type": "number",
                            "description": "Milliseconds since epoch marking the exact timestamp for the activity."
                          },
                          "source": {
                            "type": "object",
                            "properties": {
                              "id": {
                                "type": "string",
                                "description": "ID of the resource."
                              },
                              "type": {
                                "type": "string",
                                "description": "What kind of ID is there? For example, if the activity happened on a video workspace, the type would be `workspace`"
                              }
                            },
                            "x-apidog-orders": [
                              "id",
                              "type"
                            ],
                            "description": "Details about affected resource",
                            "required": [
                              "id",
                              "type"
                            ]
                          }
                        },
                        "x-apidog-orders": [
                          "activity",
                          "ip",
                          "action_user",
                          "status_code",
                          "response_time",
                          "timestamp",
                          "source"
                        ],
                        "required": [
                          "activity",
                          "ip",
                          "action_user",
                          "status_code",
                          "response_time",
                          "timestamp",
                          "source"
                        ]
                      }
                    }
                  },
                  "x-apidog-orders": [
                    "pagination",
                    "data"
                  ],
                  "required": [
                    "pagination",
                    "data"
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "examples": {
                  "Result": {
                    "value": {
                      "error": {
                        "code": "user_not_found",
                        "message": "User not found."
                      }
                    }
                  }
                },
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "code": {
                          "type": "string",
                          "example": "user_not_found"
                        },
                        "message": {
                          "type": "string",
                          "example": "User not found."
                        }
                      },
                      "required": [
                        "code",
                        "message"
                      ]
                    }
                  },
                  "required": [
                    "error"
                  ]
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "422": {
            "$ref": "#/components/responses/ValidationError"
          }
        },
        "summary": "Fetch Audit Logs",
        "tags": [
          "Audit Logs"
        ],
        "operationId": "fetch-audit-logs",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "date_range": {
                    "type": "object",
                    "properties": {
                      "start_at": {
                        "type": "string",
                        "description": "Starting date for audit logs. It's a string in YYYY-MM-DD format."
                      },
                      "end_at": {
                        "type": "string",
                        "description": "Ending date for audit logs. It's a string in YYYY-MM-DD format."
                      }
                    },
                    "x-apidog-orders": [
                      "start_at",
                      "end_at"
                    ],
                    "required": [
                      "start_at",
                      "end_at"
                    ]
                  },
                  "page_number": {
                    "type": "integer",
                    "description": "Page number of results.",
                    "minimum": 1,
                    "multipleOf": 1,
                    "default": 1
                  },
                  "page_size": {
                    "type": "integer",
                    "default": 100,
                    "minimum": 10,
                    "maximum": 500
                  },
                  "user_email": {
                    "type": "array",
                    "items": {
                      "type": "string",
                      "format": "email"
                    },
                    "description": "Array of user emails to filter the activity logs."
                  },
                  "activity_type": {
                    "type": "array",
                    "items": {
                      "type": "string",
                      "enum": [
                        "workspace_created",
                        "video_uploaded",
                        "video_details_updated",
                        "video_deleted",
                        "thumbnail_updated",
                        "subtitles_updated",
                        "audio_updated",
                        "processing_settings_updated",
                        "player_settings_updated",
                        "workspace_updated",
                        "team_member_invited",
                        "team_member_removed",
                        "import_started",
                        "playlist_created",
                        "playlist_updated",
                        "playlist_asset_changed",
                        "security_settings_updated",
                        "channel_updated",
                        "video_alert_changed",
                        "video_report_changed",
                        "live_stream_created",
                        "live_stream_started",
                        "live_stream_thumbnail_updated",
                        "live_stream_completed",
                        "live_stream_collection_created",
                        "live_stream_collection_updated",
                        "live_stream_deleted",
                        "image_source_created",
                        "image_source_updated",
                        "image_report_changed",
                        "image_alert_changed",
                        "user_profile_updated",
                        "api_key_changed",
                        "webhook_created",
                        "webhook_updated",
                        "webhook_deleted",
                        "drm_credentials_changed",
                        "plan_changed",
                        "billing_details_updated",
                        "playlist_deleted",
                        "payment_method_added",
                        "billing_alert_changed"
                      ],
                      "x-apidog-enum": [
                        {
                          "value": "workspace_created",
                          "name": "",
                          "description": ""
                        },
                        {
                          "value": "video_uploaded",
                          "name": "",
                          "description": ""
                        }
                      ]
                    },
                    "description": "Array of activity types to filter the audit logs"
                  }
                },
                "x-apidog-orders": [
                  "date_range",
                  "page_number",
                  "page_size",
                  "user_email",
                  "activity_type"
                ],
                "required": [
                  "date_range"
                ]
              },
              "examples": {
                "Example 1": {
                  "value": {
                    "date_range": {
                      "start_at": "2026-08-25",
                      "end_at": "2026-08-29"
                    }
                  }
                }
              }
            }
          }
        },
        "description": "Get audit logs for the user activity in your organisation. Please note that this endpoint can only be accessed by `owner` and `admin` role users.",
        "x-codeSamples": [
          {
            "label": "TypeScript",
            "lang": "TypeScript",
            "source": "import Gumlet from '@gumlet/nodejs-sdk';\n\nconst client = new Gumlet({\n  apiKey: process.env['API_KEY'], // defaults to the API_KEY env var\n});\n\nconst auditLog = await client.auditLogs.fetch({\n  date_range: { start_at: '2026-08-25', end_at: '2026-08-29' },\n});\n\nconsole.log(auditLog);"
          },
          {
            "label": "Python",
            "lang": "Python",
            "source": "import os\n\nfrom gumlet import Gumlet\n\nclient = Gumlet(\n    api_key=os.environ.get(\"API_KEY\"),\n)\n\naudit_log = client.audit_logs.fetch(\n    date_range={\"start_at\": \"2026-08-25\", \"end_at\": \"2026-08-29\"},\n    page_number=1,\n    page_size=100,\n)\n\nprint(audit_log)"
          }
        ]
      }
    },
    "/video/asset/recoverable/list": {
      "get": {
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "total_asset_count": {
                      "type": "integer",
                      "description": "Number of total assets in recycle bin."
                    },
                    "current_offset": {
                      "type": "integer",
                      "description": "Number of total assets in current offset."
                    },
                    "all_assets": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "asset_id": {
                            "type": "string",
                            "description": "Asset ID of the deleted asset."
                          },
                          "workspace_id": {
                            "type": "string",
                            "description": "Workspace ID for the asset."
                          },
                          "title": {
                            "type": "string",
                            "description": "Title of the asset."
                          },
                          "description": {
                            "type": [
                              "string",
                              "null"
                            ],
                            "description": "Description of the video."
                          },
                          "tags": {
                            "type": "array",
                            "items": {
                              "type": "string"
                            },
                            "description": "Tags associated with the asset."
                          },
                          "duration": {
                            "type": "number",
                            "description": "Duration of the asset in seconds."
                          },
                          "deleted_at": {
                            "type": "number",
                            "description": "Deleted timestamp of asset in milliseconds since epoch."
                          },
                          "deleted_by": {
                            "type": "string",
                            "description": "User ID of the user who deleted the asset."
                          }
                        },
                        "x-apidog-orders": [
                          "asset_id",
                          "workspace_id",
                          "title",
                          "description",
                          "tags",
                          "duration",
                          "deleted_at",
                          "deleted_by"
                        ],
                        "required": [
                          "asset_id",
                          "workspace_id",
                          "title",
                          "description",
                          "tags",
                          "duration",
                          "deleted_at",
                          "deleted_by"
                        ]
                      }
                    }
                  },
                  "x-apidog-orders": [
                    "total_asset_count",
                    "current_offset",
                    "all_assets"
                  ],
                  "required": [
                    "total_asset_count",
                    "current_offset",
                    "all_assets"
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "examples": {
                  "Result": {
                    "value": {
                      "error": {
                        "code": "page_size_more_than_max",
                        "message": "Value for the page size (size) parameter is more than permissible value (100)"
                      }
                    }
                  }
                },
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "code": {
                          "type": "string",
                          "example": "page_size_more_than_max"
                        },
                        "message": {
                          "type": "string",
                          "example": "Value for the page size (size) parameter is more than permissible value (100)"
                        }
                      },
                      "required": [
                        "code",
                        "message"
                      ]
                    }
                  },
                  "required": [
                    "error"
                  ]
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          }
        },
        "summary": "List Recycle Bin",
        "tags": [
          "Recycle Bin"
        ],
        "operationId": "list-recycle-bin",
        "description": "List all assets in a recycle bin for a given workspace. The deleted assets are available for 30 days. After that, assets are permanently deleted.",
        "parameters": [
          {
            "in": "query",
            "name": "offset",
            "schema": {
              "type": "integer",
              "minimum": 0
            },
            "description": "Number of items to skip from start of page response."
          },
          {
            "in": "query",
            "name": "size",
            "schema": {
              "type": "integer",
              "default": 20,
              "minimum": 10
            },
            "description": "Number of items to return for a single page."
          },
          {
            "in": "query",
            "name": "workspace_id",
            "schema": {
              "type": "string"
            },
            "description": "ID of workspace for which you want to list the recycle bin items.",
            "required": true
          }
        ],
        "x-codeSamples": [
          {
            "label": "TypeScript",
            "lang": "TypeScript",
            "source": "import Gumlet from '@gumlet/nodejs-sdk';\n\nconst client = new Gumlet({\n  apiKey: process.env['API_KEY'], // defaults to the API_KEY env var\n});\n\nconst recycleBin = await client.recycleBin.list({\n  size: 20,\n  workspace_id: 'workspaceId',\n});\n\nconsole.log(recycleBin);"
          },
          {
            "label": "Python",
            "lang": "Python",
            "source": "import os\n\nfrom gumlet import Gumlet\n\nclient = Gumlet(\n    api_key=os.environ.get(\"API_KEY\"),\n)\n\nrecycle_bin = client.recycle_bin.list(\n    size=20,\n    workspace_id=\"workspace_id\",\n)\n\nprint(recycle_bin)"
          }
        ]
      }
    },
    "/video/assets/bulk/delete": {
      "delete": {
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "success": {
                      "type": "boolean",
                      "description": "Boolean parameter indicating if the delete was successful."
                    }
                  },
                  "x-apidog-orders": [
                    "success"
                  ],
                  "required": [
                    "success"
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "examples": {
                  "Result": {
                    "value": {
                      "error": {
                        "code": "assets_id_not_valid",
                        "message": "One or more asset IDs in asset_list are not valid."
                      }
                    }
                  }
                },
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "code": {
                          "type": "string",
                          "example": "assets_id_not_valid"
                        },
                        "message": {
                          "type": "string",
                          "example": "One or more asset IDs in asset_list are not valid."
                        }
                      },
                      "required": [
                        "code",
                        "message"
                      ]
                    }
                  },
                  "required": [
                    "error"
                  ]
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        },
        "summary": "Bulk Delete",
        "tags": [
          "Video Assets"
        ],
        "operationId": "assets-delete-many",
        "description": "Delete multiple VOD assets at once.",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "asset_list": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    },
                    "description": "LIst of asset ids to delete"
                  },
                  "source_id": {
                    "type": "string",
                    "description": "Workspace ID from which assets needs to be deleted."
                  }
                },
                "x-apidog-orders": [
                  "asset_list",
                  "source_id"
                ],
                "required": [
                  "asset_list",
                  "source_id"
                ]
              },
              "examples": {
                "Example 1": {
                  "value": {
                    "source_id": "60bd2ba353ff754d28179ee6",
                    "asset_list": [
                      "64249a8858fd3a208b987702",
                      "64784bae843b155b829bbf84"
                    ]
                  }
                }
              }
            }
          }
        },
        "x-scalar-method-name": "delete_many",
        "x-codeSamples": [
          {
            "label": "TypeScript",
            "lang": "TypeScript",
            "source": "import Gumlet from '@gumlet/nodejs-sdk';\n\nconst client = new Gumlet({\n  apiKey: process.env['API_KEY'], // defaults to the API_KEY env var\n});\n\nconst videoAsset = await client.videoAssets.deleteMany({\n  source_id: '60bd2ba353ff754d28179ee6',\n  asset_list: ['64249a8858fd3a208b987702', '64784bae843b155b829bbf84'],\n});\n\nconsole.log(videoAsset);"
          },
          {
            "label": "Python",
            "lang": "Python",
            "source": "import os\n\nfrom gumlet import Gumlet\n\nclient = Gumlet(\n    api_key=os.environ.get(\"API_KEY\"),\n)\n\nvideo_asset = client.video_assets.delete_many(\n    asset_list=[\"64249a8858fd3a208b987702\", \"64784bae843b155b829bbf84\"],\n    source_id=\"60bd2ba353ff754d28179ee6\",\n)\n\nprint(video_asset)"
          }
        ]
      }
    },
    "/video/assets/bulk/tag": {
      "post": {
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "success": {
                      "type": "boolean",
                      "description": "Boolean flag indicating if operation was successful."
                    }
                  },
                  "x-apidog-orders": [
                    "success"
                  ],
                  "required": [
                    "success"
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "examples": {
                  "Result": {
                    "value": {
                      "error": {
                        "code": "assets_id_not_valid",
                        "message": "One or more asset IDs in asset_list are not valid."
                      }
                    }
                  }
                },
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "code": {
                          "type": "string",
                          "example": "assets_id_not_valid"
                        },
                        "message": {
                          "type": "string",
                          "example": "One or more asset IDs in asset_list are not valid."
                        }
                      },
                      "required": [
                        "code",
                        "message"
                      ]
                    }
                  },
                  "required": [
                    "error"
                  ]
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        },
        "summary": "Bulk Tag",
        "tags": [
          "Video Assets"
        ],
        "operationId": "assets-tag-many",
        "description": "Add / remove tags from multiple assets at once.",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "asset_list": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    },
                    "description": "List of asset ids to update the tags for."
                  },
                  "source_id": {
                    "type": "string",
                    "description": "Workspace ID in which the videos needs the operation"
                  },
                  "add_tags": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    },
                    "description": "List of tags to add to given assets."
                  },
                  "remove_tags": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    },
                    "description": "List of tags to remove from given assets. Pass empty array if nothing is to be removed."
                  }
                },
                "x-apidog-orders": [
                  "asset_list",
                  "source_id",
                  "add_tags",
                  "remove_tags"
                ],
                "required": [
                  "asset_list",
                  "source_id",
                  "add_tags",
                  "remove_tags"
                ]
              },
              "examples": {
                "Example 1": {
                  "value": {
                    "source_id": "60bd2ba353ff754d28179ee6",
                    "add_tags": [
                      "tag-1"
                    ],
                    "remove_tags": [
                      "playlist-1"
                    ],
                    "asset_list": [
                      "6221db301c8b821b0519fba0",
                      "61e8f2726ec832ab2ac4fa6e"
                    ]
                  }
                }
              }
            }
          }
        },
        "x-codeSamples": [
          {
            "label": "TypeScript",
            "lang": "TypeScript",
            "source": "import Gumlet from '@gumlet/nodejs-sdk';\n\nconst client = new Gumlet({\n  apiKey: process.env['API_KEY'], // defaults to the API_KEY env var\n});\n\nconst videoAsset = await client.videoAssets.tagMany({\n  source_id: '60bd2ba353ff754d28179ee6',\n  add_tags: ['tag-1'],\n  remove_tags: ['playlist-1'],\n  asset_list: ['6221db301c8b821b0519fba0', '61e8f2726ec832ab2ac4fa6e'],\n});\n\nconsole.log(videoAsset);"
          },
          {
            "label": "Python",
            "lang": "Python",
            "source": "import os\n\nfrom gumlet import Gumlet\n\nclient = Gumlet(\n    api_key=os.environ.get(\"API_KEY\"),\n)\n\nvideo_asset = client.video_assets.tag_many(\n    asset_list=[\"6221db301c8b821b0519fba0\", \"61e8f2726ec832ab2ac4fa6e\"],\n    source_id=\"60bd2ba353ff754d28179ee6\",\n    add_tags=[\"tag-1\"],\n    remove_tags=[\"playlist-1\"],\n)\n\nprint(video_asset)"
          }
        ]
      }
    },
    "/video/assets/{asset_id}/analytics": {
      "post": {
        "parameters": [
          {
            "in": "path",
            "name": "asset_id",
            "description": "Gumlet asset ID",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "heatmap": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "bucket": {
                            "type": "string",
                            "description": "Buckets of seconds of video. E.g. '0-10', '10-20' etc."
                          },
                          "count": {
                            "type": "integer",
                            "description": "Percent of viewers who viewed that portion of video"
                          }
                        },
                        "x-apidog-orders": [
                          "bucket",
                          "count"
                        ],
                        "required": [
                          "bucket",
                          "count"
                        ]
                      },
                      "description": "Heatmap data"
                    },
                    "views": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "date": {
                            "type": "integer",
                            "description": "Milliseconds since epoch timestamp for the data point",
                            "format": "uint64"
                          },
                          "value": {
                            "type": "integer",
                            "description": "Count of views for the given timestamp",
                            "format": "uint64"
                          }
                        },
                        "x-apidog-orders": [
                          "date",
                          "value"
                        ],
                        "required": [
                          "date",
                          "value"
                        ]
                      },
                      "description": "Views data"
                    },
                    "playing_time": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "date": {
                            "type": "integer",
                            "format": "uint64",
                            "description": "Milliseconds since epoch timestamp for the data point"
                          },
                          "value": {
                            "type": "integer",
                            "format": "uint64",
                            "description": "Milliseconds of watch time for the timestamp above. A value of 10000 means 10 seconds of watch time."
                          }
                        },
                        "x-apidog-orders": [
                          "date",
                          "value"
                        ],
                        "required": [
                          "date",
                          "value"
                        ]
                      }
                    },
                    "01M2QP6KS1HM1JE912S8K9DJ2N": {
                      "x-tmp-pending-properties": true
                    },
                    "impressions": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "date": {
                            "type": "integer",
                            "format": "uint64",
                            "description": "Milliseconds since epoch timestamp for the data point"
                          },
                          "value": {
                            "type": "integer",
                            "format": "uint64",
                            "description": "Number of impressions"
                          }
                        },
                        "x-apidog-orders": [
                          "date",
                          "value"
                        ],
                        "required": [
                          "date",
                          "value"
                        ]
                      }
                    },
                    "top_countries": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "key": {
                            "type": "string",
                            "description": "Name of the country"
                          },
                          "views": {
                            "type": "string",
                            "description": "Number of views from a given country"
                          },
                          "impressions": {
                            "type": "string",
                            "description": "Number of impressions from a given country"
                          }
                        },
                        "x-apidog-orders": [
                          "key",
                          "views",
                          "impressions"
                        ],
                        "required": [
                          "key",
                          "views",
                          "impressions"
                        ]
                      },
                      "description": "Data for top countries"
                    },
                    "top_pages": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {},
                        "x-apidog-orders": []
                      },
                      "description": "Data for top pages"
                    },
                    "top_cities": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "key": {
                            "type": "string",
                            "description": "Name of the city"
                          },
                          "views": {
                            "type": "string",
                            "description": "Number of views from a given city"
                          },
                          "impressions": {
                            "type": "string",
                            "description": "Number of impressions from a given city"
                          }
                        },
                        "x-apidog-orders": [
                          "key",
                          "views",
                          "impressions"
                        ],
                        "required": [
                          "key",
                          "views",
                          "impressions"
                        ]
                      },
                      "description": "Data for top cities"
                    },
                    "top_browsers": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "key": {
                            "type": "string",
                            "description": "Name of the browser"
                          },
                          "views": {
                            "type": "string",
                            "description": "Number of views from a given browser"
                          },
                          "impressions": {
                            "type": "string",
                            "description": "Number of impressions from a given browser"
                          }
                        },
                        "x-apidog-orders": [
                          "key",
                          "views",
                          "impressions"
                        ],
                        "required": [
                          "key",
                          "views",
                          "impressions"
                        ]
                      },
                      "description": "Data for top browsers"
                    },
                    "top_device_types": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "key": {
                            "type": "string",
                            "description": "Name of the platform"
                          },
                          "views": {
                            "type": "string",
                            "description": "Number of views from a given platform"
                          },
                          "impressions": {
                            "type": "string",
                            "description": "Number of impressions from a given platform"
                          }
                        },
                        "x-apidog-orders": [
                          "key",
                          "views",
                          "impressions"
                        ],
                        "required": [
                          "key",
                          "views",
                          "impressions"
                        ]
                      },
                      "description": "Data for top device types"
                    },
                    "widget_data": {
                      "type": "object",
                      "properties": {
                        "hasMore": {
                          "type": "boolean",
                          "description": "If there are more items apart from the response given."
                        },
                        "widgetData": {
                          "type": "array",
                          "items": {
                            "type": "object",
                            "properties": {
                              "asset_id": {
                                "type": "string",
                                "description": "Asset ID"
                              },
                              "page_url": {
                                "type": "string",
                                "description": "Page URL where lead was captured"
                              },
                              "playback_time_instant_milli": {
                                "type": "string",
                                "description": "Video time in milliseconds when the lead was captured"
                              },
                              "workspace_id": {
                                "type": "string",
                                "description": "Workspace ID"
                              },
                              "timestamp": {
                                "type": "string",
                                "description": "Lead capture time in seconds since epoch"
                              },
                              "email": {
                                "type": "string",
                                "description": "Email id submitted"
                              },
                              "name": {
                                "type": "string",
                                "description": "Name submitted"
                              }
                            },
                            "x-apidog-orders": [
                              "workspace_id",
                              "asset_id",
                              "page_url",
                              "playback_time_instant_milli",
                              "timestamp",
                              "email",
                              "name"
                            ],
                            "required": [
                              "workspace_id",
                              "asset_id",
                              "page_url",
                              "playback_time_instant_milli",
                              "timestamp",
                              "email",
                              "name"
                            ]
                          },
                          "description": "Data about the lead form submission"
                        }
                      },
                      "x-apidog-orders": [
                        "hasMore",
                        "widgetData"
                      ],
                      "required": [
                        "hasMore",
                        "widgetData"
                      ]
                    }
                  },
                  "x-apidog-orders": [
                    "heatmap",
                    "views",
                    "playing_time",
                    "impressions",
                    "top_countries",
                    "top_pages",
                    "top_cities",
                    "top_browsers",
                    "top_device_types",
                    "widget_data",
                    "01M2QP6KS1HM1JE912S8K9DJ2N"
                  ],
                  "required": [
                    "playing_time"
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "examples": {
                  "Result": {
                    "value": {
                      "error": {
                        "code": "asset_id_not_valid",
                        "message": "The asset ID is not valid."
                      }
                    }
                  }
                },
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "code": {
                          "type": "string",
                          "example": "asset_id_not_valid"
                        },
                        "message": {
                          "type": "string",
                          "example": "The asset ID is not valid."
                        }
                      },
                      "required": [
                        "code",
                        "message"
                      ]
                    }
                  },
                  "required": [
                    "error"
                  ]
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        },
        "summary": "Asset Analytics",
        "tags": [
          "Video Assets"
        ],
        "operationId": "asset-analytics",
        "description": "Get video analytics for a single asset.",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "group_by": {
                    "type": "string",
                    "enum": [
                      "daily",
                      "monthly",
                      "weekly"
                    ],
                    "x-apidog-enum": [
                      {
                        "value": "daily",
                        "name": "",
                        "description": ""
                      },
                      {
                        "value": "monthly",
                        "name": "",
                        "description": ""
                      },
                      {
                        "value": "weekly",
                        "name": "",
                        "description": ""
                      }
                    ],
                    "description": "Group the data by this period."
                  },
                  "date_range": {
                    "type": "object",
                    "properties": {
                      "start_at": {
                        "type": "string",
                        "description": "ISO 8601 start timestamp",
                        "format": "date"
                      },
                      "end_at": {
                        "type": "string",
                        "description": "ISO 8601 end timestamp",
                        "format": "date"
                      }
                    },
                    "x-apidog-orders": [
                      "start_at",
                      "end_at"
                    ],
                    "required": [
                      "start_at",
                      "end_at"
                    ]
                  },
                  "metrics": {
                    "type": "array",
                    "items": {
                      "type": "string",
                      "enum": [
                        "impressions",
                        "views",
                        "playing_time",
                        "top_countries",
                        "top_pages",
                        "top_cities",
                        "top_device_types",
                        "top_browsers",
                        "heatmap",
                        "widget_data"
                      ],
                      "x-apidog-enum": [
                        {
                          "value": "impressions",
                          "name": "",
                          "description": ""
                        },
                        {
                          "value": "views",
                          "name": "",
                          "description": ""
                        },
                        {
                          "value": "playing_time",
                          "name": "",
                          "description": ""
                        },
                        {
                          "value": "top_countries",
                          "name": "",
                          "description": ""
                        },
                        {
                          "value": "top_pages",
                          "name": "",
                          "description": ""
                        },
                        {
                          "value": "top_cities",
                          "name": "",
                          "description": ""
                        },
                        {
                          "value": "top_device_types",
                          "name": "",
                          "description": ""
                        },
                        {
                          "value": "top_browsers",
                          "name": "",
                          "description": ""
                        },
                        {
                          "value": "heatmap",
                          "name": "",
                          "description": ""
                        },
                        {
                          "value": "widget_data",
                          "name": "",
                          "description": ""
                        }
                      ]
                    },
                    "description": "List of metrics to return in response."
                  },
                  "page_number": {
                    "type": "integer",
                    "description": "Page number to fetch. Starting at 1"
                  },
                  "page_size": {
                    "type": "integer",
                    "description": "Number of items to return per page"
                  }
                },
                "x-apidog-orders": [
                  "group_by",
                  "date_range",
                  "metrics",
                  "page_number",
                  "page_size"
                ],
                "required": [
                  "group_by",
                  "date_range",
                  "metrics"
                ]
              }
            }
          }
        },
        "x-codeSamples": [
          {
            "label": "TypeScript",
            "lang": "TypeScript",
            "source": "import Gumlet from '@gumlet/nodejs-sdk';\n\nconst client = new Gumlet({\n  apiKey: process.env['API_KEY'], // defaults to the API_KEY env var\n});\n\nconst videoAsset = await client.videoAssets.analytics('assetId', {\n  group_by: 'daily',\n  date_range: {\n    start_at: '2024-01-01',\n    end_at: '2024-01-01',\n  },\n  metrics: ['impressions'],\n});\n\nconsole.log(videoAsset);"
          },
          {
            "label": "Python",
            "lang": "Python",
            "source": "import os\n\nfrom gumlet import Gumlet\n\nclient = Gumlet(\n    api_key=os.environ.get(\"API_KEY\"),\n)\n\nvideo_asset = client.video_assets.analytics(\n    asset_id=\"assetId\",\n    group_by=\"daily\",\n    date_range={\"start_at\": \"2024-01-01\", \"end_at\": \"2024-01-01\"},\n    metrics=[\"impressions\"],\n)\n\nprint(video_asset)"
          }
        ]
      }
    },
    "/channel/{workspace_id}/viewers": {
      "get": {
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "subscriptions": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "id": {
                            "type": "string",
                            "description": "Subscriber ID"
                          },
                          "email": {
                            "type": "string",
                            "description": "Email ID of the subscriber",
                            "format": "email"
                          },
                          "name": {
                            "type": "string",
                            "description": "Name of the subscriber"
                          },
                          "status": {
                            "type": "string",
                            "description": "Current status of the subscriber"
                          },
                          "channel_title": {
                            "type": "string",
                            "description": "Title of channel"
                          },
                          "invited_at": {
                            "type": "string",
                            "description": "ISO 8601 timestamp of the invitation time"
                          },
                          "invited_by": {
                            "type": "string",
                            "description": "User ID of the user who invited this subscriber"
                          },
                          "invitation_link": {
                            "type": "string",
                            "description": "URL of the invitation from where the person can accept the invite."
                          }
                        },
                        "x-apidog-orders": [
                          "id",
                          "email",
                          "name",
                          "status",
                          "channel_title",
                          "invited_at",
                          "invited_by",
                          "invitation_link"
                        ],
                        "required": [
                          "id",
                          "email",
                          "name",
                          "status",
                          "channel_title"
                        ]
                      },
                      "description": "Details about subscribers"
                    },
                    "total_count": {
                      "type": "integer",
                      "description": "Number of total subscribers"
                    }
                  },
                  "x-apidog-orders": [
                    "subscriptions",
                    "total_count"
                  ],
                  "required": [
                    "subscriptions",
                    "total_count"
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "examples": {
                  "Result": {
                    "value": {
                      "error": {
                        "code": "channel_not_found",
                        "message": "Could not find any channel with specified id."
                      }
                    }
                  }
                },
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "code": {
                          "type": "string",
                          "example": "channel_not_found"
                        },
                        "message": {
                          "type": "string",
                          "example": "Could not find any channel with specified id."
                        }
                      },
                      "required": [
                        "code",
                        "message"
                      ]
                    }
                  },
                  "required": [
                    "error"
                  ]
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          }
        },
        "summary": "List Subscribers",
        "tags": [
          "Channel Viewers"
        ],
        "operationId": "list-channel-subscribers",
        "description": "List all channel subscribers.",
        "parameters": [
          {
            "in": "path",
            "name": "workspace_id",
            "description": "Gumlet workspace ID. You can get it on Gumlet dashboard or retrieve it using list workspace API.",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "in": "query",
            "name": "page_number",
            "schema": {
              "type": "integer",
              "default": 1,
              "minimum": 1,
              "multipleOf": 1
            },
            "description": "Page number to retrieve. Starts at 1."
          },
          {
            "in": "query",
            "name": "page_size",
            "schema": {
              "type": "integer",
              "default": 10,
              "multipleOf": 1,
              "minimum": 1
            },
            "description": "Number of items to return per page",
            "required": false
          }
        ],
        "x-codeSamples": [
          {
            "label": "TypeScript",
            "lang": "TypeScript",
            "source": "import Gumlet from '@gumlet/nodejs-sdk';\n\nconst client = new Gumlet({\n  apiKey: process.env['API_KEY'], // defaults to the API_KEY env var\n});\n\nconst channelViewer = await client.channelViewers.listSubscribers('workspaceId', {\n  page_number: 1,\n  page_size: 10,\n});\n\nconsole.log(channelViewer);"
          },
          {
            "label": "Python",
            "lang": "Python",
            "source": "import os\n\nfrom gumlet import Gumlet\n\nclient = Gumlet(\n    api_key=os.environ.get(\"API_KEY\"),\n)\n\nchannel_viewer = client.channel_viewers.list_subscribers(\n    workspace_id=\"workspaceId\",\n    page_number=1,\n    page_size=10,\n)\n\nprint(channel_viewer)"
          }
        ]
      }
    },
    "/org/webhook/{webhook_id}/history": {
      "get": {
        "parameters": [
          {
            "in": "path",
            "name": "webhook_id",
            "description": "Webhook ID. You can get it using list webhook endpoint.",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "id": {
                        "type": "string",
                        "description": "Webhook event ID"
                      },
                      "status": {
                        "type": "string",
                        "description": "Status of webhook event"
                      },
                      "retry_count": {
                        "type": "integer",
                        "description": "Number of retries it needed to deliver webhook."
                      },
                      "event": {
                        "type": "string",
                        "description": "Name of the webhook event"
                      },
                      "asset_id": {
                        "type": "string",
                        "description": "Asset ID for which the event was fired"
                      },
                      "created_at": {
                        "type": "string",
                        "description": "Event timestamp in ISO 8601 format"
                      }
                    },
                    "x-apidog-orders": [
                      "id",
                      "status",
                      "retry_count",
                      "event",
                      "asset_id",
                      "created_at"
                    ],
                    "required": [
                      "id",
                      "status",
                      "retry_count",
                      "event",
                      "asset_id",
                      "created_at"
                    ]
                  }
                },
                "examples": {
                  "Example 1": {
                    "value": [
                      {
                        "id": "6aabc4d9b44b963242be835e",
                        "status": "success",
                        "retry_count": 1,
                        "event": "video.status.stream_ready",
                        "asset_id": "6aabc4144b9588fb8c4bd235",
                        "created_at": "2026-09-17T10:45:50.470Z"
                      }
                    ]
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "examples": {
                  "Result": {
                    "value": {
                      "error": {
                        "code": "webhook_id_not_valid",
                        "message": "The webhook is not valid."
                      }
                    }
                  }
                },
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "code": {
                          "type": "string",
                          "example": "webhook_id_not_valid"
                        },
                        "message": {
                          "type": "string",
                          "example": "The webhook is not valid."
                        }
                      },
                      "required": [
                        "code",
                        "message"
                      ]
                    }
                  },
                  "required": [
                    "error"
                  ]
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "examples": {
                  "Result": {
                    "value": {
                      "error": {
                        "code": "webhook_not_found",
                        "message": "Could not find any webhook with the specified webhook_id."
                      }
                    }
                  }
                },
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "code": {
                          "type": "string",
                          "example": "webhook_not_found"
                        },
                        "message": {
                          "type": "string",
                          "example": "Could not find any webhook with the specified webhook_id."
                        }
                      },
                      "required": [
                        "code",
                        "message"
                      ]
                    }
                  },
                  "required": [
                    "error"
                  ]
                }
              }
            }
          }
        },
        "summary": "Get History",
        "tags": [
          "Webhooks"
        ],
        "operationId": "webhook-history",
        "description": "Get logs history for a given webhook.",
        "x-codeSamples": [
          {
            "label": "TypeScript",
            "lang": "TypeScript",
            "source": "import Gumlet from '@gumlet/nodejs-sdk';\n\nconst client = new Gumlet({\n  apiKey: process.env['API_KEY'], // defaults to the API_KEY env var\n});\n\nconst webhook = await client.webhooksResource.history('webhookId');\n\nconsole.log(webhook);"
          },
          {
            "label": "Python",
            "lang": "Python",
            "source": "import os\n\nfrom gumlet import Gumlet\n\nclient = Gumlet(\n    api_key=os.environ.get(\"API_KEY\"),\n)\n\nwebhook = client.webhooks.history(\n    webhook_id=\"webhookId\",\n)\n\nprint(webhook)"
          }
        ]
      }
    },
    "/mixed/billing/invoice/history": {
      "get": {
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "unpaid_invoices": {
                      "type": "boolean",
                      "description": "Flag which shows if this account has any unpaid invoices."
                    },
                    "stripe_invoices": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "id": {
                            "type": "string",
                            "description": "Invoice ID as per stripe. This is not invoice number."
                          },
                          "status": {
                            "type": "string",
                            "description": "Current status of the invoice",
                            "enum": [
                              "draft",
                              "open",
                              "paid",
                              "uncollectible",
                              "void"
                            ],
                            "x-apidog-enum": [
                              {
                                "value": "draft",
                                "name": "",
                                "description": ""
                              },
                              {
                                "value": "open",
                                "name": "",
                                "description": ""
                              },
                              {
                                "value": "paid",
                                "name": "",
                                "description": ""
                              },
                              {
                                "value": "uncollectible",
                                "name": "",
                                "description": ""
                              },
                              {
                                "value": "void",
                                "name": "",
                                "description": ""
                              }
                            ]
                          },
                          "created": {
                            "type": "integer",
                            "description": "Created timestamp of invoice in seconds since epoch"
                          },
                          "amount_due": {
                            "type": "integer",
                            "description": "Amount due for invoice in the lowest denomination of the given currency. For example if the invoice is in USD, the amount shown here is in cents. Therefore, a value like 10000 means the invoice is $100."
                          },
                          "hosted_invoice_url": {
                            "type": "string",
                            "description": "URL of the invoice page where you can pay the invoice"
                          },
                          "invoice_pdf": {
                            "type": "string",
                            "description": "URL of the page from where you can download the invoice PDF"
                          }
                        },
                        "x-apidog-orders": [
                          "id",
                          "status",
                          "created",
                          "amount_due",
                          "hosted_invoice_url",
                          "invoice_pdf"
                        ],
                        "required": [
                          "id",
                          "status",
                          "created",
                          "amount_due",
                          "hosted_invoice_url",
                          "invoice_pdf"
                        ]
                      },
                      "description": "List of invoices"
                    }
                  },
                  "x-apidog-orders": [
                    "unpaid_invoices",
                    "stripe_invoices"
                  ],
                  "required": [
                    "unpaid_invoices",
                    "stripe_invoices"
                  ]
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          }
        },
        "summary": "List Invoices",
        "tags": [
          "Billing"
        ],
        "operationId": "list-invoices",
        "description": "Liost all invoices that are generated so far.",
        "x-codeSamples": [
          {
            "label": "TypeScript",
            "lang": "TypeScript",
            "source": "import Gumlet from '@gumlet/nodejs-sdk';\n\nconst client = new Gumlet({\n  apiKey: process.env['API_KEY'], // defaults to the API_KEY env var\n});\n\nconst billing = await client.billing.listInvoices();\n\nconsole.log(billing);"
          },
          {
            "label": "Python",
            "lang": "Python",
            "source": "import os\n\nfrom gumlet import Gumlet\n\nclient = Gumlet(\n    api_key=os.environ.get(\"API_KEY\"),\n)\n\nbilling = client.billing.list_invoices()\n\nprint(billing)"
          }
        ]
      }
    },
    "/mixed/billing/details": {
      "get": {
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "company_name": {
                      "type": "string",
                      "description": "Company name"
                    },
                    "gst_number": {
                      "type": "string",
                      "description": "GST / VAT number"
                    },
                    "address_line": {
                      "type": "string",
                      "description": "Address line 1"
                    },
                    "city": {
                      "type": "string",
                      "description": "City"
                    },
                    "state_code": {
                      "type": "string",
                      "description": "ISO code of the state"
                    },
                    "postal": {
                      "type": "string",
                      "description": "Postal code"
                    },
                    "country_code": {
                      "type": "string",
                      "description": "ISO code of country. For example, it's \"US\" for USA."
                    }
                  },
                  "x-apidog-orders": [
                    "company_name",
                    "gst_number",
                    "address_line",
                    "city",
                    "state_code",
                    "postal",
                    "country_code"
                  ],
                  "required": [
                    "company_name",
                    "gst_number",
                    "address_line",
                    "city",
                    "state_code",
                    "postal",
                    "country_code"
                  ]
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          }
        },
        "summary": "Get Billing Details",
        "tags": [
          "Billing"
        ],
        "operationId": "fetch-billing-details",
        "description": "Get billing details for this organization.",
        "x-codeSamples": [
          {
            "label": "TypeScript",
            "lang": "TypeScript",
            "source": "import Gumlet from '@gumlet/nodejs-sdk';\n\nconst client = new Gumlet({\n  apiKey: process.env['API_KEY'], // defaults to the API_KEY env var\n});\n\nconst billing = await client.billing.fetchDetails();\n\nconsole.log(billing);"
          },
          {
            "label": "Python",
            "lang": "Python",
            "source": "import os\n\nfrom gumlet import Gumlet\n\nclient = Gumlet(\n    api_key=os.environ.get(\"API_KEY\"),\n)\n\nbilling = client.billing.fetch_details()\n\nprint(billing)"
          }
        ]
      },
      "post": {
        "summary": "Update Billing Details",
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "address_line": {
                      "type": "string",
                      "description": "Address line 1"
                    },
                    "city": {
                      "type": "string",
                      "description": "Name of the city"
                    },
                    "company_name": {
                      "type": "string",
                      "description": "Company name"
                    },
                    "country_code": {
                      "type": "string",
                      "description": "ISO country code"
                    },
                    "gst_number": {
                      "type": "string",
                      "description": "GST / VAT details of the company"
                    },
                    "postal": {
                      "type": "string",
                      "description": "Postal code of the company"
                    },
                    "state_code": {
                      "type": "string",
                      "description": "ISO code of the state / region"
                    }
                  },
                  "x-apidog-orders": [
                    "company_name",
                    "address_line",
                    "city",
                    "country_code",
                    "gst_number",
                    "postal",
                    "state_code"
                  ],
                  "required": [
                    "company_name",
                    "address_line",
                    "city",
                    "country_code",
                    "gst_number",
                    "postal",
                    "state_code"
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "examples": {
                  "Result": {
                    "value": {
                      "error": {
                        "code": "invalid_parameter",
                        "message": "Invalid parameter value."
                      }
                    }
                  }
                },
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "code": {
                          "type": "string",
                          "example": "invalid_parameter"
                        },
                        "message": {
                          "type": "string",
                          "example": "Invalid parameter value."
                        }
                      },
                      "required": [
                        "code",
                        "message"
                      ]
                    }
                  },
                  "required": [
                    "error"
                  ]
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        },
        "operationId": "update-billing-details",
        "description": "Update billing details",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "address_line": {
                    "type": "string",
                    "description": "Address line 1"
                  },
                  "city": {
                    "type": "string",
                    "description": "Name of the city"
                  },
                  "company_name": {
                    "type": "string",
                    "description": "Company name"
                  },
                  "country_code": {
                    "type": "string",
                    "description": "ISO country code"
                  },
                  "gst_number": {
                    "type": "string",
                    "description": "GST / VAT details of the company"
                  },
                  "postal": {
                    "type": "string",
                    "description": "Postal code of the company"
                  },
                  "state_code": {
                    "type": "string",
                    "description": "ISO code of the state / region"
                  }
                },
                "x-apidog-orders": [
                  "address_line",
                  "city",
                  "company_name",
                  "country_code",
                  "gst_number",
                  "postal",
                  "state_code"
                ],
                "required": [
                  "address_line",
                  "city",
                  "company_name",
                  "country_code",
                  "gst_number",
                  "postal",
                  "state_code"
                ]
              }
            }
          }
        },
        "tags": [
          "Billing"
        ],
        "x-codeSamples": [
          {
            "label": "TypeScript",
            "lang": "TypeScript",
            "source": "import Gumlet from '@gumlet/nodejs-sdk';\n\nconst client = new Gumlet({\n  apiKey: process.env['API_KEY'], // defaults to the API_KEY env var\n});\n\nconst billing = await client.billing.updateDetails({\n  address_line: '',\n  city: '',\n  company_name: '',\n  country_code: '',\n  gst_number: '',\n  postal: '',\n  state_code: '',\n});\n\nconsole.log(billing);"
          },
          {
            "label": "Python",
            "lang": "Python",
            "source": "import os\n\nfrom gumlet import Gumlet\n\nclient = Gumlet(\n    api_key=os.environ.get(\"API_KEY\"),\n)\n\nbilling = client.billing.update_details(\n    address_line=\"\",\n    city=\"\",\n    company_name=\"\",\n    country_code=\"\",\n    gst_number=\"\",\n    postal=\"\",\n    state_code=\"\",\n)\n\nprint(billing)"
          }
        ]
      }
    },
    "/mixed/billing/invoice/upcoming": {
      "get": {
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "invoice_start_date": {
                      "type": "string",
                      "description": "Invoice start date in DD MMM YYYY format"
                    },
                    "invoice_last_date": {
                      "type": "string",
                      "description": "Invoice end date in DD MMM YYYY format"
                    },
                    "next_invoice_date": {
                      "type": "string",
                      "description": "Next invoice date in DD MMM format"
                    },
                    "trial_end_date": {
                      "type": [
                        "string",
                        "null"
                      ],
                      "description": "Trial end date"
                    },
                    "current_month_usage": {
                      "type": "string",
                      "description": "Current month total amount in given currency."
                    },
                    "upcoming_invoice": {
                      "type": "object",
                      "properties": {
                        "subtotal": {
                          "type": "string",
                          "description": "Upcoming invoice amount without tax"
                        },
                        "lines": {
                          "type": "object",
                          "properties": {
                            "data": {
                              "type": "array",
                              "items": {
                                "type": "object",
                                "properties": {
                                  "description": {
                                    "type": "string",
                                    "description": "Description about invoice line item"
                                  },
                                  "quantity": {
                                    "type": "string",
                                    "description": "User friendly quantity of the line item"
                                  },
                                  "unit_price": {
                                    "type": "number",
                                    "description": "Price per unit for the given item in given currency."
                                  },
                                  "amount": {
                                    "type": "string",
                                    "description": "Total amount of the line item"
                                  }
                                },
                                "x-apidog-orders": [
                                  "description",
                                  "quantity",
                                  "unit_price",
                                  "amount"
                                ],
                                "required": [
                                  "description",
                                  "quantity",
                                  "unit_price",
                                  "amount"
                                ]
                              }
                            }
                          },
                          "x-apidog-orders": [
                            "data"
                          ],
                          "required": [
                            "data"
                          ],
                          "description": "Invoice line items"
                        }
                      },
                      "x-apidog-orders": [
                        "subtotal",
                        "lines"
                      ],
                      "description": "Upcoming invoice details",
                      "required": [
                        "subtotal",
                        "lines"
                      ]
                    }
                  },
                  "x-apidog-orders": [
                    "invoice_start_date",
                    "invoice_last_date",
                    "next_invoice_date",
                    "trial_end_date",
                    "current_month_usage",
                    "upcoming_invoice"
                  ],
                  "required": [
                    "invoice_start_date",
                    "invoice_last_date",
                    "next_invoice_date",
                    "current_month_usage",
                    "upcoming_invoice"
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Bad Request — no active subscription",
            "content": {
              "application/json": {
                "examples": {
                  "Result": {
                    "value": {
                      "error": {
                        "code": "no_active_subscription",
                        "message": "No active subscription found for this user."
                      }
                    }
                  }
                },
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "code": {
                          "type": "string",
                          "example": "no_active_subscription"
                        },
                        "message": {
                          "type": "string",
                          "example": "No active subscription found for this user."
                        }
                      },
                      "required": [
                        "code",
                        "message"
                      ]
                    }
                  },
                  "required": [
                    "error"
                  ]
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        },
        "summary": "Upcoming Invoice",
        "tags": [
          "Billing"
        ],
        "operationId": "fetch-upcoming-invoice",
        "description": "Get details about upcoming invoice.",
        "x-codeSamples": [
          {
            "label": "TypeScript",
            "lang": "TypeScript",
            "source": "import Gumlet from '@gumlet/nodejs-sdk';\n\nconst client = new Gumlet({\n  apiKey: process.env['API_KEY'], // defaults to the API_KEY env var\n});\n\nconst billing = await client.billing.fetchUpcomingInvoice();\n\nconsole.log(billing);"
          },
          {
            "label": "Python",
            "lang": "Python",
            "source": "import os\n\nfrom gumlet import Gumlet\n\nclient = Gumlet(\n    api_key=os.environ.get(\"API_KEY\"),\n)\n\nbilling = client.billing.fetch_upcoming_invoice()\n\nprint(billing)"
          }
        ]
      }
    },
    "/video/sources/live": {
      "get": {
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "all_live_sources": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "name": {
                            "type": "string",
                            "description": "Live stream workspace name"
                          },
                          "created_at": {
                            "type": "string",
                            "description": "Creation time in ISO 8601 timestamp",
                            "format": "date-time"
                          },
                          "updated_at": {
                            "type": "string",
                            "format": "date-time",
                            "description": "Update time in ISO 8601 timestamp"
                          },
                          "video_workspace_id": {
                            "type": "string",
                            "description": "Video workspace ID that is attached to this collection. Once the live stream completes, the video gets stored in this workspace for long-term storage."
                          },
                          "id": {
                            "type": "string",
                            "description": "Workspace ID"
                          }
                        },
                        "x-apidog-orders": [
                          "id",
                          "name",
                          "created_at",
                          "updated_at",
                          "video_workspace_id"
                        ],
                        "required": [
                          "id",
                          "name",
                          "created_at",
                          "updated_at",
                          "video_workspace_id"
                        ]
                      },
                      "description": "List of all live stream collections"
                    }
                  },
                  "x-apidog-orders": [
                    "all_live_sources"
                  ],
                  "required": [
                    "all_live_sources"
                  ]
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          }
        },
        "summary": "List Workspaces",
        "tags": [
          "Live Stream Workspaces"
        ],
        "operationId": "list-live-workspaces",
        "description": "List all live stream workspaces.",
        "x-codeSamples": [
          {
            "label": "TypeScript",
            "lang": "TypeScript",
            "source": "import Gumlet from '@gumlet/nodejs-sdk';\n\nconst client = new Gumlet({\n  apiKey: process.env['API_KEY'], // defaults to the API_KEY env var\n});\n\nconst liveStreamWorkspace = await client.liveStreamWorkspaces.list();\n\nconsole.log(liveStreamWorkspace);"
          },
          {
            "label": "Python",
            "lang": "Python",
            "source": "import os\n\nfrom gumlet import Gumlet\n\nclient = Gumlet(\n    api_key=os.environ.get(\"API_KEY\"),\n)\n\nlive_stream_workspace = client.live_stream_workspaces.list()\n\nprint(live_stream_workspace)"
          }
        ]
      },
      "post": {
        "summary": "Create Workspace",
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string",
                      "description": "LIve stream workspace ID"
                    },
                    "video_workspace_id": {
                      "type": "string",
                      "description": "Video workspace ID attached to this collection."
                    },
                    "created_at": {
                      "type": "string",
                      "description": "Creation timestamp in ISO 8601 format",
                      "format": "date-time"
                    },
                    "name": {
                      "type": "string",
                      "description": "Name of the live stream workspace"
                    },
                    "updated_at": {
                      "type": "string",
                      "format": "date-time",
                      "description": "Update timestamp in ISO 8601 format"
                    }
                  },
                  "x-apidog-orders": [
                    "id",
                    "video_workspace_id",
                    "created_at",
                    "name",
                    "updated_at"
                  ],
                  "required": [
                    "id",
                    "created_at",
                    "name",
                    "updated_at"
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "examples": {
                  "Result": {
                    "value": {
                      "error": {
                        "code": "parameter_missing",
                        "message": "One or more required values are missing.",
                        "param": "name"
                      }
                    }
                  }
                },
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "code": {
                          "type": "string",
                          "example": "parameter_missing"
                        },
                        "message": {
                          "type": "string",
                          "example": "One or more required values are missing."
                        },
                        "param": {
                          "type": "string",
                          "example": "name"
                        }
                      },
                      "required": [
                        "code",
                        "message"
                      ]
                    }
                  },
                  "required": [
                    "error"
                  ]
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "description": "Forbidden — live source limit reached on free/starter plan",
            "content": {
              "application/json": {
                "examples": {
                  "Result": {
                    "value": {
                      "error": "You have reached the maximum number of live video sources allowed on your plan."
                    }
                  }
                },
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "string",
                      "example": "You have reached the maximum number of live video sources allowed on your plan."
                    }
                  },
                  "required": [
                    "error"
                  ]
                }
              }
            }
          },
          "422": {
            "$ref": "#/components/responses/ValidationError"
          }
        },
        "operationId": "live-workspace-create",
        "tags": [
          "Live Stream Workspaces"
        ],
        "description": "Create live stream workspace.",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "name": {
                    "type": "string",
                    "description": "Collection name"
                  }
                },
                "x-apidog-orders": [
                  "name"
                ],
                "required": [
                  "name"
                ]
              }
            }
          }
        },
        "x-codeSamples": [
          {
            "label": "TypeScript",
            "lang": "TypeScript",
            "source": "import Gumlet from '@gumlet/nodejs-sdk';\n\nconst client = new Gumlet({\n  apiKey: process.env['API_KEY'], // defaults to the API_KEY env var\n});\n\nconst liveStreamWorkspace = await client.liveStreamWorkspaces.create({\n  name: '',\n});\n\nconsole.log(liveStreamWorkspace);"
          },
          {
            "label": "Python",
            "lang": "Python",
            "source": "import os\n\nfrom gumlet import Gumlet\n\nclient = Gumlet(\n    api_key=os.environ.get(\"API_KEY\"),\n)\n\nlive_stream_workspace = client.live_stream_workspaces.create(\n    name=\"\",\n)\n\nprint(live_stream_workspace)"
          }
        ]
      }
    },
    "/video/sources/live/{live_workspace_id}": {
      "post": {
        "parameters": [
          {
            "in": "path",
            "name": "live_workspace_id",
            "description": "Live stream workspace ID.",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Get updated collection details.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string",
                      "description": "LIve stream workspace ID"
                    },
                    "video_workspace_id": {
                      "type": "string",
                      "description": "Video workspace ID attached to this collection."
                    },
                    "created_at": {
                      "type": "string",
                      "description": "Creation timestamp in ISO 8601 format",
                      "format": "date-time"
                    },
                    "name": {
                      "type": "string",
                      "description": "Name of the live stream workspace"
                    },
                    "updated_at": {
                      "type": "string",
                      "format": "date-time",
                      "description": "Update timestamp in ISO 8601 format"
                    }
                  },
                  "x-apidog-orders": [
                    "id",
                    "video_workspace_id",
                    "name",
                    "created_at",
                    "updated_at"
                  ],
                  "required": [
                    "id",
                    "created_at",
                    "name",
                    "updated_at"
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "examples": {
                  "Result": {
                    "value": {
                      "error": {
                        "code": "source_not_found",
                        "message": "Could not find any video source with the specified source_id."
                      }
                    }
                  }
                },
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "code": {
                          "type": "string",
                          "example": "source_not_found"
                        },
                        "message": {
                          "type": "string",
                          "example": "Could not find any video source with the specified source_id."
                        }
                      },
                      "required": [
                        "code",
                        "message"
                      ]
                    }
                  },
                  "required": [
                    "error"
                  ]
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          }
        },
        "summary": "Update Workspace",
        "tags": [
          "Live Stream Workspaces"
        ],
        "operationId": "live-workspace-update",
        "description": "Update live stream workspace.",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "name": {
                    "type": "string",
                    "description": "Live stream collection name"
                  },
                  "video_source_id": {
                    "type": "string",
                    "description": "Video on demand workspace ID"
                  }
                },
                "x-apidog-orders": [
                  "name",
                  "video_source_id"
                ]
              },
              "examples": {
                "Example 1": {
                  "value": {
                    "name": "live-stream-collections",
                    "video_source_id": "67bea1d66ca0059a95bf7de9"
                  }
                }
              }
            }
          }
        },
        "x-codeSamples": [
          {
            "label": "TypeScript",
            "lang": "TypeScript",
            "source": "import Gumlet from '@gumlet/nodejs-sdk';\n\nconst client = new Gumlet({\n  apiKey: process.env['API_KEY'], // defaults to the API_KEY env var\n});\n\nconst liveStreamWorkspace = await client.liveStreamWorkspaces.update('liveWorkspaceId', {\n  name: 'live-stream-collections',\n  video_source_id: '67bea1d66ca0059a95bf7de9',\n});\n\nconsole.log(liveStreamWorkspace);"
          },
          {
            "label": "Python",
            "lang": "Python",
            "source": "import os\n\nfrom gumlet import Gumlet\n\nclient = Gumlet(\n    api_key=os.environ.get(\"API_KEY\"),\n)\n\nlive_stream_workspace = client.live_stream_workspaces.update(\n    live_workspace_id=\"liveWorkspaceId\",\n    name=\"live-stream-collections\",\n    video_source_id=\"67bea1d66ca0059a95bf7de9\",\n)\n\nprint(live_stream_workspace)"
          }
        ]
      },
      "delete": {
        "parameters": [
          {
            "in": "path",
            "name": "live_workspace_id",
            "description": "Live stream workspace ID.",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "summary": "Delete Workspace",
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {}
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "examples": {
                  "Result": {
                    "value": {
                      "error": {
                        "code": "source_not_found",
                        "message": "Could not find any video source with the specified source_id."
                      }
                    }
                  }
                },
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "code": {
                          "type": "string",
                          "example": "source_not_found"
                        },
                        "message": {
                          "type": "string",
                          "example": "Could not find any video source with the specified source_id."
                        }
                      },
                      "required": [
                        "code",
                        "message"
                      ]
                    }
                  },
                  "required": [
                    "error"
                  ]
                }
              }
            }
          }
        },
        "operationId": "live-workspace-delete",
        "tags": [
          "Live Stream Workspaces"
        ],
        "description": "Delete the live stream workspace.",
        "x-codeSamples": [
          {
            "label": "TypeScript",
            "lang": "TypeScript",
            "source": "import Gumlet from '@gumlet/nodejs-sdk';\n\nconst client = new Gumlet({\n  apiKey: process.env['API_KEY'], // defaults to the API_KEY env var\n});\n\nconst liveStreamWorkspace = await client.liveStreamWorkspaces.delete('liveWorkspaceId');\n\nconsole.log(liveStreamWorkspace);"
          },
          {
            "label": "Python",
            "lang": "Python",
            "source": "import os\n\nfrom gumlet import Gumlet\n\nclient = Gumlet(\n    api_key=os.environ.get(\"API_KEY\"),\n)\n\nlive_stream_workspace = client.live_stream_workspaces.delete(\n    live_workspace_id=\"liveWorkspaceId\",\n)\n\nprint(live_stream_workspace)"
          }
        ]
      }
    },
    "/video/live/analytics": {
      "post": {
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "bandwidth_consumption": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "units": {
                            "type": "integer",
                            "description": "Bandwidth consumption data in bytes",
                            "format": "uint64"
                          },
                          "timestamp": {
                            "type": "integer",
                            "format": "int64",
                            "description": "Milliseconds since epoch timestamp for the data point"
                          }
                        },
                        "x-apidog-orders": [
                          "units",
                          "timestamp"
                        ],
                        "required": [
                          "units",
                          "timestamp"
                        ]
                      },
                      "description": "Data about bandwidth consumption"
                    },
                    "asset_duration": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "units": {
                            "type": "integer",
                            "format": "int64",
                            "description": "Input asset seconds"
                          },
                          "timestamp": {
                            "type": "integer",
                            "description": "Milliseconds since epoch timestamp for the data point",
                            "format": "int64"
                          }
                        },
                        "x-apidog-orders": [
                          "units",
                          "timestamp"
                        ],
                        "required": [
                          "units",
                          "timestamp"
                        ]
                      },
                      "description": "Data about input seconds processed"
                    },
                    "storage_unit": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "units": {
                            "type": "integer",
                            "format": "uint64",
                            "description": "Storage unit in either bytes or seconds. You can get the information from `storage_data_unit` field."
                          },
                          "timestamp": {
                            "type": "integer",
                            "description": "Milliseconds since epoch timestamp for the data point",
                            "format": "int64"
                          }
                        },
                        "x-apidog-orders": [
                          "units",
                          "timestamp"
                        ],
                        "required": [
                          "units",
                          "timestamp"
                        ]
                      },
                      "description": "Bytes or seconds of storage used"
                    },
                    "storage_data_unit": {
                      "type": "string",
                      "enum": [
                        "min",
                        "gb"
                      ],
                      "x-apidog-enum": [
                        {
                          "value": "min",
                          "name": "",
                          "description": ""
                        },
                        {
                          "value": "gb",
                          "name": "",
                          "description": ""
                        }
                      ],
                      "description": "Storage data unit information"
                    }
                  },
                  "x-apidog-orders": [
                    "bandwidth_consumption",
                    "asset_duration",
                    "storage_unit",
                    "storage_data_unit"
                  ],
                  "required": [
                    "storage_data_unit"
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "examples": {
                  "Result": {
                    "value": {
                      "error": {
                        "code": "invalid_parameter_value",
                        "message": "The parameter value is invalid."
                      }
                    }
                  }
                },
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "code": {
                          "type": "string",
                          "example": "invalid_parameter_value"
                        },
                        "message": {
                          "type": "string",
                          "example": "The parameter value is invalid."
                        }
                      },
                      "required": [
                        "code",
                        "message"
                      ]
                    }
                  },
                  "required": [
                    "error"
                  ]
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "examples": {
                  "Result": {
                    "value": {
                      "error": {
                        "code": "source_not_found",
                        "message": "Could not find any video source with the specified source_id."
                      }
                    }
                  }
                },
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "code": {
                          "type": "string",
                          "example": "source_not_found"
                        },
                        "message": {
                          "type": "string",
                          "example": "Could not find any video source with the specified source_id."
                        }
                      },
                      "required": [
                        "code",
                        "message"
                      ]
                    }
                  },
                  "required": [
                    "error"
                  ]
                }
              }
            }
          }
        },
        "summary": "Usage Analytics",
        "tags": [
          "Live Stream Analytics"
        ],
        "operationId": "live-usage-analytics",
        "description": "Get usage analytics for your live streams.",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "date_range": {
                    "type": "object",
                    "properties": {
                      "start_at": {
                        "type": "string",
                        "description": "Start date in ISO 8601 date format (YYYY-MM-DD)",
                        "format": "date"
                      },
                      "end_at": {
                        "type": "string",
                        "format": "date",
                        "description": "End date in ISO 8601 date format (YYYY-MM-DD)"
                      }
                    },
                    "x-apidog-orders": [
                      "start_at",
                      "end_at"
                    ],
                    "required": [
                      "start_at",
                      "end_at"
                    ]
                  },
                  "group_by": {
                    "type": "string",
                    "enum": [
                      "daily",
                      "weekly",
                      "monthly"
                    ],
                    "x-apidog-enum": [
                      {
                        "value": "daily",
                        "name": "",
                        "description": ""
                      },
                      {
                        "value": "weekly",
                        "name": "",
                        "description": ""
                      },
                      {
                        "value": "monthly",
                        "name": "",
                        "description": ""
                      }
                    ],
                    "description": "Group the data either weekly, daily or monthly"
                  },
                  "metrics": {
                    "type": "array",
                    "items": {
                      "type": "string",
                      "enum": [
                        "bandwidth_consumption",
                        "asset_duration",
                        "storage_unit"
                      ],
                      "x-apidog-enum": [
                        {
                          "value": "bandwidth_consumption",
                          "name": "",
                          "description": ""
                        },
                        {
                          "value": "asset_duration",
                          "name": "",
                          "description": ""
                        },
                        {
                          "value": "storage_unit",
                          "name": "",
                          "description": ""
                        }
                      ]
                    },
                    "description": "List of metrics required in response"
                  }
                },
                "x-apidog-orders": [
                  "date_range",
                  "group_by",
                  "metrics"
                ],
                "required": [
                  "date_range",
                  "group_by",
                  "metrics"
                ]
              }
            }
          }
        },
        "x-codeSamples": [
          {
            "label": "TypeScript",
            "lang": "TypeScript",
            "source": "import Gumlet from '@gumlet/nodejs-sdk';\n\nconst client = new Gumlet({\n  apiKey: process.env['API_KEY'], // defaults to the API_KEY env var\n});\n\nconst liveStreamAnalytic = await client.liveStreamAnalytics.usage({\n  date_range: {\n    start_at: '2024-01-01',\n    end_at: '2024-01-01',\n  },\n  group_by: 'daily',\n  metrics: ['bandwidth_consumption'],\n});\n\nconsole.log(liveStreamAnalytic);"
          },
          {
            "label": "Python",
            "lang": "Python",
            "source": "import os\n\nfrom gumlet import Gumlet\n\nclient = Gumlet(\n    api_key=os.environ.get(\"API_KEY\"),\n)\n\nlive_stream_analytic = client.live_stream_analytics.usage(\n    date_range={\"start_at\": \"2024-01-01\", \"end_at\": \"2024-01-01\"},\n    group_by=\"daily\",\n    metrics=[\"bandwidth_consumption\"],\n)\n\nprint(live_stream_analytic)"
          }
        ]
      }
    },
    "/entities/global-search": {
      "get": {
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "all_folders": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "id": {
                            "type": "string",
                            "description": "Folder ID"
                          },
                          "created_at": {
                            "type": "integer",
                            "format": "int64",
                            "description": "Created at timestamp in milliseconds since epoch"
                          },
                          "updated_at": {
                            "type": "integer",
                            "format": "int64",
                            "description": "Updated at timestamp in milliseconds since epoch"
                          },
                          "workspace_id": {
                            "type": "string",
                            "description": "Workspace ID in which the folder resides"
                          },
                          "highlight": {
                            "type": "array",
                            "items": {
                              "type": "object",
                              "properties": {
                                "score": {
                                  "type": "number",
                                  "description": "Search ranking score"
                                },
                                "path": {
                                  "type": "string",
                                  "description": "Which field to highlight"
                                },
                                "texts": {
                                  "type": "array",
                                  "items": {
                                    "type": "object",
                                    "properties": {
                                      "value": {
                                        "type": "string",
                                        "description": "The word to highlight or not"
                                      },
                                      "type": {
                                        "type": "string",
                                        "enum": [
                                          "hit",
                                          "text"
                                        ],
                                        "x-apidog-enum": [
                                          {
                                            "value": "hit",
                                            "name": "",
                                            "description": ""
                                          },
                                          {
                                            "value": "text",
                                            "name": "",
                                            "description": ""
                                          }
                                        ],
                                        "description": "Whether this word needs highlight"
                                      }
                                    },
                                    "x-apidog-orders": [
                                      "value",
                                      "type"
                                    ],
                                    "required": [
                                      "value",
                                      "type"
                                    ]
                                  }
                                }
                              },
                              "x-apidog-orders": [
                                "score",
                                "path",
                                "texts"
                              ],
                              "required": [
                                "score",
                                "path",
                                "texts"
                              ]
                            }
                          }
                        },
                        "x-apidog-orders": [
                          "id",
                          "created_at",
                          "updated_at",
                          "workspace_id",
                          "highlight"
                        ],
                        "required": [
                          "id",
                          "created_at",
                          "updated_at",
                          "workspace_id",
                          "highlight"
                        ]
                      },
                      "description": "Result array of all folders"
                    },
                    "all_assets": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "id": {
                            "type": "string",
                            "description": "Asset ID"
                          },
                          "title": {
                            "type": "string",
                            "description": "Asset Title"
                          },
                          "tags": {
                            "type": "array",
                            "items": {
                              "type": "string"
                            },
                            "description": "List of tags applied to this asset"
                          },
                          "workspace_id": {
                            "type": "string",
                            "description": "Workspace ID on in which this asset resides"
                          },
                          "created_at": {
                            "type": "integer",
                            "description": "Created at timestamp in milliseconds since epoch",
                            "format": "int64"
                          },
                          "updated_at": {
                            "type": "integer",
                            "description": "Updated at timestamp in milliseconds since epoch",
                            "format": "int64"
                          },
                          "highlight": {
                            "type": "array",
                            "items": {
                              "type": "object",
                              "properties": {
                                "score": {
                                  "type": "number",
                                  "description": "Search ranking score"
                                },
                                "path": {
                                  "type": "string",
                                  "description": "Which field to highlight"
                                },
                                "texts": {
                                  "type": "array",
                                  "items": {
                                    "type": "object",
                                    "properties": {
                                      "value": {
                                        "type": "string",
                                        "description": "The word to highlight or not"
                                      },
                                      "type": {
                                        "type": "string",
                                        "enum": [
                                          "hit",
                                          "text"
                                        ],
                                        "x-apidog-enum": [
                                          {
                                            "value": "hit",
                                            "name": "",
                                            "description": ""
                                          },
                                          {
                                            "value": "text",
                                            "name": "",
                                            "description": ""
                                          }
                                        ],
                                        "description": "Whether this word needs highlight"
                                      }
                                    },
                                    "x-apidog-orders": [
                                      "value",
                                      "type"
                                    ],
                                    "required": [
                                      "value",
                                      "type"
                                    ]
                                  }
                                }
                              },
                              "x-apidog-orders": [
                                "score",
                                "path",
                                "texts"
                              ],
                              "required": [
                                "score",
                                "path",
                                "texts"
                              ]
                            }
                          }
                        },
                        "x-apidog-orders": [
                          "id",
                          "title",
                          "tags",
                          "workspace_id",
                          "created_at",
                          "updated_at",
                          "highlight"
                        ],
                        "required": [
                          "id",
                          "title",
                          "tags",
                          "workspace_id",
                          "created_at",
                          "updated_at",
                          "highlight"
                        ]
                      },
                      "description": "Result array of all assets"
                    },
                    "all_playlists": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "id": {
                            "type": "string",
                            "description": "Playlist ID"
                          },
                          "title": {
                            "type": "string",
                            "description": "Playlist title"
                          },
                          "description": {
                            "type": "string",
                            "description": "Playlist description"
                          },
                          "created_at": {
                            "type": "integer",
                            "description": "Created at timestamp in milliseconds since epoch",
                            "format": "int64"
                          },
                          "updated_at": {
                            "type": "integer",
                            "description": "Updated at timestamp in milliseconds since epoch",
                            "format": "int64"
                          },
                          "workspace_id": {
                            "type": "string",
                            "description": "Workspace ID on in which this playlist resides"
                          },
                          "highlight": {
                            "type": "array",
                            "items": {
                              "type": "object",
                              "properties": {
                                "score": {
                                  "type": "number",
                                  "description": "Search ranking score"
                                },
                                "path": {
                                  "type": "string",
                                  "description": "Which field to highlight"
                                },
                                "texts": {
                                  "type": "array",
                                  "items": {
                                    "type": "object",
                                    "properties": {
                                      "value": {
                                        "type": "string",
                                        "description": "The word to highlight or not"
                                      },
                                      "type": {
                                        "type": "string",
                                        "enum": [
                                          "hit",
                                          "text"
                                        ],
                                        "x-apidog-enum": [
                                          {
                                            "value": "hit",
                                            "name": "",
                                            "description": ""
                                          },
                                          {
                                            "value": "text",
                                            "name": "",
                                            "description": ""
                                          }
                                        ],
                                        "description": "Whether this word needs highlight"
                                      }
                                    },
                                    "x-apidog-orders": [
                                      "value",
                                      "type"
                                    ],
                                    "required": [
                                      "value",
                                      "type"
                                    ]
                                  }
                                }
                              },
                              "x-apidog-orders": [
                                "score",
                                "path",
                                "texts"
                              ],
                              "required": [
                                "score",
                                "path",
                                "texts"
                              ]
                            }
                          }
                        },
                        "x-apidog-orders": [
                          "id",
                          "title",
                          "description",
                          "created_at",
                          "updated_at",
                          "workspace_id",
                          "highlight"
                        ],
                        "required": [
                          "id",
                          "title",
                          "description",
                          "created_at",
                          "updated_at",
                          "workspace_id",
                          "highlight"
                        ]
                      },
                      "description": "Result array of all playlists"
                    },
                    "all_channels": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "title": {
                            "type": "string",
                            "description": "Channel title"
                          },
                          "description": {
                            "type": "string",
                            "description": "Channel description"
                          },
                          "created_at": {
                            "type": "integer",
                            "description": "Created at timestamp in milliseconds since epoch",
                            "format": "int64"
                          },
                          "updated_at": {
                            "type": "integer",
                            "description": "Updated at timestamp in milliseconds since epoch",
                            "format": "int64"
                          },
                          "workspace_id": {
                            "type": "string",
                            "description": "Workspace ID on in which this channel resides"
                          },
                          "highlight": {
                            "type": "array",
                            "items": {
                              "type": "object",
                              "properties": {
                                "score": {
                                  "type": "number",
                                  "description": "Search ranking score"
                                },
                                "path": {
                                  "type": "string",
                                  "description": "Which field to highlight"
                                },
                                "texts": {
                                  "type": "array",
                                  "items": {
                                    "type": "object",
                                    "properties": {
                                      "value": {
                                        "type": "string",
                                        "description": "The word to highlight or not"
                                      },
                                      "type": {
                                        "type": "string",
                                        "enum": [
                                          "hit",
                                          "text"
                                        ],
                                        "x-apidog-enum": [
                                          {
                                            "value": "hit",
                                            "name": "",
                                            "description": ""
                                          },
                                          {
                                            "value": "text",
                                            "name": "",
                                            "description": ""
                                          }
                                        ],
                                        "description": "Whether this word needs highlight"
                                      }
                                    },
                                    "x-apidog-orders": [
                                      "value",
                                      "type"
                                    ],
                                    "required": [
                                      "value",
                                      "type"
                                    ]
                                  }
                                }
                              },
                              "x-apidog-orders": [
                                "score",
                                "path",
                                "texts"
                              ],
                              "required": [
                                "score",
                                "path",
                                "texts"
                              ]
                            }
                          }
                        },
                        "x-apidog-orders": [
                          "title",
                          "description",
                          "created_at",
                          "updated_at",
                          "workspace_id",
                          "highlight"
                        ],
                        "required": [
                          "title",
                          "description",
                          "created_at",
                          "updated_at",
                          "workspace_id",
                          "highlight"
                        ]
                      },
                      "description": "Result array of all channels"
                    }
                  },
                  "x-apidog-orders": [
                    "all_folders",
                    "all_assets",
                    "all_playlists",
                    "all_channels"
                  ],
                  "required": [
                    "all_folders",
                    "all_assets",
                    "all_playlists",
                    "all_channels"
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "examples": {
                  "Result": {
                    "value": {
                      "error": {
                        "code": "parameter_missing",
                        "message": "One or more required values are missing."
                      }
                    }
                  }
                },
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "code": {
                          "type": "string",
                          "example": "parameter_missing"
                        },
                        "message": {
                          "type": "string",
                          "example": "One or more required values are missing."
                        }
                      },
                      "required": [
                        "code",
                        "message"
                      ]
                    }
                  },
                  "required": [
                    "error"
                  ]
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          }
        },
        "summary": "Global Search",
        "tags": [
          "Global Search"
        ],
        "operationId": "global-search",
        "description": "Search all video assets / playlists / folders etc across workspaces.",
        "parameters": [
          {
            "in": "query",
            "name": "search_query",
            "schema": {
              "type": "string"
            },
            "required": true,
            "description": "Search query term"
          },
          {
            "in": "query",
            "name": "collection_id",
            "schema": {
              "type": "string"
            },
            "description": "Workspace ID if you want to limit search to a specific workspace"
          },
          {
            "in": "query",
            "name": "size",
            "schema": {
              "type": "integer",
              "default": 20
            },
            "description": "Number of results to return"
          },
          {
            "in": "query",
            "name": "assets_offset",
            "schema": {
              "type": "integer",
              "default": 0
            },
            "description": "Offset for assets"
          },
          {
            "in": "query",
            "name": "folders_offset",
            "schema": {
              "type": "integer",
              "default": 0
            },
            "description": "Offset for folders"
          },
          {
            "in": "query",
            "name": "playlists_offset",
            "schema": {
              "type": "integer",
              "default": 0
            },
            "description": "Offset for playlists"
          },
          {
            "in": "query",
            "name": "channels_offset",
            "schema": {
              "type": "integer",
              "default": 0
            },
            "description": "Offset for channels"
          }
        ],
        "x-codeSamples": [
          {
            "label": "TypeScript",
            "lang": "TypeScript",
            "source": "import Gumlet from '@gumlet/nodejs-sdk';\n\nconst client = new Gumlet({\n  apiKey: process.env['API_KEY'], // defaults to the API_KEY env var\n});\n\nconst globalSearch = await client.globalSearch.search({\n  search_query: 'searchQuery',\n  size: 20,\n  assets_offset: 0,\n  folders_offset: 0,\n  playlists_offset: 0,\n  channels_offset: 0,\n});\n\nconsole.log(globalSearch);"
          },
          {
            "label": "Python",
            "lang": "Python",
            "source": "import os\n\nfrom gumlet import Gumlet\n\nclient = Gumlet(\n    api_key=os.environ.get(\"API_KEY\"),\n)\n\nglobal_search = client.global_search.search(\n    search_query=\"search_query\",\n    size=20,\n    assets_offset=0,\n    folders_offset=0,\n    playlists_offset=0,\n    channels_offset=0,\n)\n\nprint(global_search)"
          }
        ]
      }
    },
    "/video/assets/{asset_id}/multipartupload/abort": {
      "post": {
        "parameters": [
          {
            "name": "asset_id",
            "in": "path",
            "description": "An asset id for the asset.",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {}
                }
              }
            }
          }
        },
        "summary": "Abort Upload",
        "tags": [
          "Multipart Upload"
        ],
        "operationId": "multipart-upload-abort",
        "description": "This call aborts multi-part upload and deletes the already uploaded parts from the storage.",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {}
              }
            }
          }
        },
        "x-codeSamples": [
          {
            "label": "TypeScript",
            "lang": "TypeScript",
            "source": "import Gumlet from '@gumlet/nodejs-sdk';\n\nconst client = new Gumlet({\n  apiKey: process.env['API_KEY'], // defaults to the API_KEY env var\n});\n\nconst multipartUpload = await client.multipartUpload.abort('assetId');\n\nconsole.log(multipartUpload);"
          },
          {
            "label": "Python",
            "lang": "Python",
            "source": "import os\n\nfrom gumlet import Gumlet\n\nclient = Gumlet(\n    api_key=os.environ.get(\"API_KEY\"),\n)\n\nmultipart_upload = client.multipart_upload.abort(\n    asset_id=\"assetId\",\n)\n\nprint(multipart_upload)"
          }
        ]
      }
    },
    "/video/assets/{asset_id}/multipartupload/list": {
      "post": {
        "parameters": [
          {
            "name": "asset_id",
            "in": "path",
            "description": "An asset id for the asset.",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "parts": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "PartNumber": {
                            "type": "integer",
                            "description": "Part number"
                          },
                          "Size": {
                            "type": "integer",
                            "format": "uint64",
                            "description": "Size of the uploaded part"
                          },
                          "ETag": {
                            "type": "string",
                            "description": "ETag of the uploaded part"
                          }
                        },
                        "x-apidog-orders": [
                          "PartNumber",
                          "Size",
                          "ETag"
                        ],
                        "required": [
                          "PartNumber"
                        ]
                      }
                    }
                  },
                  "x-apidog-orders": [
                    "parts"
                  ],
                  "required": [
                    "parts"
                  ]
                }
              }
            }
          }
        },
        "summary": "List Uploads",
        "tags": [
          "Multipart Upload"
        ],
        "operationId": "multipart-upload-list",
        "description": "Lists all parts uploaded so far.",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {}
              }
            }
          }
        },
        "x-codeSamples": [
          {
            "label": "TypeScript",
            "lang": "TypeScript",
            "source": "import Gumlet from '@gumlet/nodejs-sdk';\n\nconst client = new Gumlet({\n  apiKey: process.env['API_KEY'], // defaults to the API_KEY env var\n});\n\nconst multipartUpload = await client.multipartUpload.list('assetId');\n\nconsole.log(multipartUpload);"
          },
          {
            "label": "Python",
            "lang": "Python",
            "source": "import os\n\nfrom gumlet import Gumlet\n\nclient = Gumlet(\n    api_key=os.environ.get(\"API_KEY\"),\n)\n\nmultipart_upload = client.multipart_upload.list(\n    asset_id=\"assetId\",\n)\n\nprint(multipart_upload)"
          }
        ]
      }
    }
  },
  "tags": [
    {
      "name": "Audio Upload",
      "description": "Add additional audio tracks to an existing asset."
    },
    {
      "name": "Audit Logs",
      "description": "Get detailed user activity logs for the entire organisation."
    },
    {
      "name": "Billing",
      "description": "Get / change all details about billing and invoices."
    },
    {
      "name": "Channel Viewers",
      "description": "Invite and remove viewers on a private video channel."
    },
    {
      "name": "Folders",
      "description": "Organize video assets into folders within a workspace."
    },
    {
      "name": "Global Search",
      "description": "Search all video assets / playlists / folders etc across workspaces."
    },
    {
      "name": "Image Sources",
      "description": "Manage image sources, view image analytics, and purge the image cache."
    },
    {
      "name": "Image Usage Analytics",
      "description": "Query aggregated and chart-ready image usage analytics data."
    },
    {
      "name": "Live Stream Analytics",
      "description": "Get usage analytics for live streams."
    },
    {
      "name": "Live Stream Assets",
      "description": "Create, control, and monitor live stream assets."
    },
    {
      "name": "Live Stream Workspaces",
      "description": "Create and manage live stream workspaces."
    },
    {
      "name": "Multipart Upload",
      "description": "Upload large video files in parts and complete the multipart upload."
    },
    {
      "name": "Organization Data",
      "description": "Endpoints to get organization details."
    },
    {
      "name": "Recycle Bin",
      "description": "Endpoints to list deleted assets and restore them."
    },
    {
      "name": "Subtitle Upload",
      "description": "Add subtitles to an existing asset."
    },
    {
      "name": "User Data",
      "description": "Endpoints to get user details."
    },
    {
      "name": "Video Analytics",
      "description": "Query aggregated and chart-ready video analytics data."
    },
    {
      "name": "Video Assets",
      "description": "Upload, manage, and retrieve video assets, including thumbnails, subtitles, audio tracks, and chapters."
    },
    {
      "name": "Video Playlists",
      "description": "Create and manage playlists, and control which assets belong to them."
    },
    {
      "name": "Video Profiles",
      "description": "Create and manage encoding/output profiles for video assets."
    },
    {
      "name": "Video Usage Analytics",
      "description": "Query video analytics and streaming duration usage data."
    },
    {
      "name": "Video Workspaces",
      "description": "Create and manage video workspaces."
    },
    {
      "name": "Webhooks",
      "description": "Configure webhooks for account and asset events."
    }
  ],
  "x-tagGroups": [
    {
      "name": "Video on Demand",
      "tags": [
        "Video Assets",
        "Global Search",
        "Multipart Upload",
        "Audio Upload",
        "Subtitle Upload",
        "Recycle Bin",
        "Video Workspaces",
        "Folders",
        "Video Playlists",
        "Channel Viewers",
        "Video Usage Analytics",
        "Video Profiles",
        "Webhooks"
      ]
    },
    {
      "name": "Live Streams",
      "tags": [
        "Live Stream Workspaces",
        "Live Stream Assets",
        "Live Stream Analytics"
      ]
    },
    {
      "name": "Image APIs",
      "tags": [
        "Image Sources",
        "Image Usage Analytics"
      ]
    },
    {
      "name": "Video Analytics",
      "tags": [
        "Video Analytics"
      ]
    },
    {
      "name": "Webhooks",
      "tags": [
        "Webhooks"
      ]
    },
    {
      "name": "Account Endpoints",
      "tags": [
        "User Data",
        "Billing",
        "Organization Data",
        "Audit Logs"
      ]
    }
  ],
  "security": [
    {
      "API_KEY": []
    }
  ],
  "x-ext-urls": {}
}