{
  "openapi": "3.0.0",
  "info": {
    "title": "VOD API Reference",
    "description": "> ⚠️ This document is a machine-translated draft and is currently undergoing review. Some content may be inaccurate or differ from the original Korean version. For the most precise information, please refer to the Korean documentation. \n - **API Access Token**: Kollus VOD Console > <a href=\"https://c-kr.kollus.com/service-account/api-service\" target=\"_blank\">Service Account > [API]</a> \n - **Identification Key Information**: <a href=\"https://docs.kollus.com/en/dev-guide/vod/quickstart/key\" target=\"_blank\">Authentication and Key Information</a>\n - **Official Documentation**: <a href=\"https://docs.kollus.com/en/\" target=\"_blank\">Kollus Docs</a>",
    "contact": {
      "name": "Contact",
      "email": "tech_support@catenoid.net"
    },
    "license": {
      "name": "Terms of Service",
      "url": "https://www.catenoid.net/en/other/policy.php"
    },
    "version": "3.0"
  },
  "servers": [
    {
      "url": "https://c-api-kr.kollus.com/api"
    }
  ],
  "tags": [
    {
      "name": "공통",
      "x-displayName": "Common"
    },
    {
      "name": "카테고리 관리",
      "x-displayName": "Category Management"
    },
    {
      "name": "채널 관리",
      "x-displayName": "Channel Management"
    },
    {
      "name": "미디어 콘텐츠 키 관리",
      "x-displayName": "Media Content Key Management"
    },
    {
      "name": "미디어 인증 관리",
      "x-displayName": "Media Authentication Management"
    },
    {
      "name": "콘텐츠 관리",
      "x-displayName": "Content Management"
    },
    {
      "name": "트랜스코딩 관리",
      "x-displayName": "Transcoding Management"
    },
    {
      "name": "AI 서비스",
      "x-displayName": "AI Services"
    },
    {
      "name": "자막 관리",
      "x-displayName": "Subtitle Management"
    },
    {
      "name": "북마크 관리",
      "x-displayName": "Bookmark Management"
    },
    {
      "name": "인코딩 프로파일 관리",
      "x-displayName": "Encoding Profile Management"
    },
    {
      "name": "중복 재생 차단 관리",
      "x-displayName": "Duplicate Playback Prevention Management"
    },
    {
      "name": "플레이어 관리",
      "x-displayName": "Player Management"
    },
    {
      "name": "통계",
      "x-displayName": "Statistics",
      "description": "- **Reference Timezone**: All data is based on **UTC**. \n- **Query Range**: Data within the last 1 year is targeted, and the maximum search period per request is 3 months. \n- **Update Timing**: Data is not reflected in real time and may be delayed by up to **36 hours**."
    }
  ],
  "paths": {
    "/countries": {
      "get": {
        "tags": [
          "공통"
        ],
        "summary": "Retrieve country list",
        "description": "Retrieves the full list of countries and country codes supported by the system.",
        "operationId": "getCountries",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/ApiCommonCountry"
                      }
                    }
                  },
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Bad request"
          },
          "401": {
            "description": "Unauthenticated"
          },
          "404": {
            "description": "Not found"
          }
        },
        "security": [
          {
            "kollus_api_access_token": []
          }
        ]
      }
    },
    "/languages": {
      "get": {
        "tags": [
          "공통"
        ],
        "summary": "Retrieve language list",
        "description": "Retrieves the full list of languages available in the system. You can separately filter for subtitle-supported languages only.",
        "operationId": "getLanguages",
        "parameters": [
          {
            "name": "use_subtitle",
            "in": "query",
            "description": "Filter for subtitle-supported languages\n- `false`: Retrieve full language list\n- `true`: Retrieve subtitle-supported language list",
            "schema": {
              "type": "string",
              "default": "false",
              "enum": [
                "false",
                "true"
              ]
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/ApiCommonLanguage"
                      }
                    }
                  },
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Bad request"
          },
          "401": {
            "description": "Unauthenticated"
          },
          "404": {
            "description": "Not found"
          }
        },
        "security": [
          {
            "kollus_api_access_token": []
          }
        ]
      }
    },
    "/timezones": {
      "get": {
        "tags": [
          "공통"
        ],
        "summary": "Retrieve timezone list",
        "description": "Retrieves the list of standard timezones that can be applied to content management and service settings.",
        "operationId": "getTimezones",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "type": "array",
                      "items": {}
                    }
                  },
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Bad request"
          },
          "401": {
            "description": "Unauthenticated"
          },
          "404": {
            "description": "Not found"
          }
        },
        "security": [
          {
            "kollus_api_access_token": []
          }
        ]
      }
    },
    "/categories": {
      "get": {
        "tags": [
          "카테고리 관리"
        ],
        "summary": "Retrieve category list",
        "description": "Retrieves the full list of categories. If `parent_category_key` is specified, returns the list of all subcategories under the specified parent category.",
        "operationId": "getCategories",
        "parameters": [
          {
            "name": "order",
            "in": "query",
            "description": "Data sort criteria",
            "schema": {
              "type": "string",
              "default": "name_asc",
              "enum": [
                "created_at_asc",
                "created_at_desc",
                "position_asc",
                "position_desc",
                "name_asc",
                "name_desc"
              ]
            }
          },
          {
            "name": "parent_category_key",
            "in": "query",
            "description": "Parent category key",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "page",
            "in": "query",
            "description": "Page number to retrieve",
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "per_page",
            "in": "query",
            "description": "Number of data entries per page",
            "schema": {
              "type": "integer",
              "maximum": 100,
              "minimum": 1
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/ApiVodCategory"
                      }
                    },
                    "pagination": {
                      "properties": {
                        "current_page": {
                          "description": "Current page number",
                          "type": "integer"
                        },
                        "per_page": {
                          "description": "Number of data entries per page",
                          "type": "integer"
                        },
                        "total": {
                          "description": "Total number of data items",
                          "type": "integer"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Bad request"
          },
          "401": {
            "description": "Unauthenticated"
          },
          "404": {
            "description": "Not found"
          }
        },
        "security": [
          {
            "kollus_api_access_token": []
          }
        ]
      },
      "post": {
        "tags": [
          "카테고리 관리"
        ],
        "summary": "Create new category",
        "description": "Creates a new category. If `parent_category_key` is specified, the created category will be registered as a subcategory of the specified parent category.",
        "operationId": "createCategory",
        "requestBody": {
          "required": true,
          "content": {
            "application/x-www-form-urlencoded": {
              "schema": {
                "required": [
                  "name"
                ],
                "properties": {
                  "name": {
                    "description": "Category name",
                    "type": "string"
                  },
                  "parent_category_key": {
                    "description": "Parent category key",
                    "type": "integer"
                  }
                },
                "type": "object"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/ApiVodCategory"
                    },
                    "status": {
                      "description": "Processing result\n- `ok`: success\n- `fail`: failure",
                      "type": "string"
                    }
                  },
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Bad request"
          },
          "401": {
            "description": "Unauthenticated"
          },
          "404": {
            "description": "Not found"
          },
          "422": {
            "description": "Unprocessable entity"
          }
        },
        "security": [
          {
            "kollus_api_access_token": []
          }
        ]
      }
    },
    "/categories/{category_key}": {
      "get": {
        "tags": [
          "카테고리 관리"
        ],
        "summary": "Retrieve category information",
        "description": "Retrieves detailed information for a specific category and the list of channels connected to that category.",
        "operationId": "getCategory",
        "parameters": [
          {
            "name": "category_key",
            "in": "path",
            "description": "Category key",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/ApiVodCategory"
                    }
                  },
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Bad request"
          },
          "401": {
            "description": "Unauthenticated"
          },
          "404": {
            "description": "Not found"
          }
        },
        "security": [
          {
            "kollus_api_access_token": []
          }
        ]
      },
      "put": {
        "tags": [
          "카테고리 관리"
        ],
        "summary": "Update category name",
        "description": "Changes the name of an existing category.",
        "operationId": "updateCategory",
        "parameters": [
          {
            "name": "category_key",
            "in": "path",
            "description": "Category key",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/x-www-form-urlencoded": {
              "schema": {
                "required": [
                  "name"
                ],
                "properties": {
                  "name": {
                    "description": "Category name to update",
                    "type": "string"
                  }
                },
                "type": "object"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/ApiVodCategory"
                    },
                    "status": {
                      "description": "Processing result\n- `ok`: success\n- `fail`: failure",
                      "type": "string"
                    }
                  },
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Bad request"
          },
          "401": {
            "description": "Unauthenticated"
          },
          "404": {
            "description": "Not found"
          },
          "422": {
            "description": "Unprocessable entity"
          }
        },
        "security": [
          {
            "kollus_api_access_token": []
          }
        ]
      },
      "delete": {
        "tags": [
          "카테고리 관리"
        ],
        "summary": "Delete category",
        "description": "Permanently deletes a specific category from the system. Content files belonging to the deleted category are retained in the system. The position of subcategories is automatically readjusted according to the hierarchy. (Related document: <a href=\"https://docs.kollus.com/en/service-guide/vod/content/category/#delete-category\" target=\"_blank\">Delete Category</a>)",
        "operationId": "deleteCategory",
        "parameters": [
          {
            "name": "category_key",
            "in": "path",
            "description": "Category key",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "type": "array",
                      "items": {},
                      "default": "[]"
                    },
                    "status": {
                      "description": "Processing result\n- `ok`: success\n- `fail`: failure",
                      "type": "string"
                    }
                  },
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Bad request"
          },
          "401": {
            "description": "Unauthenticated"
          },
          "404": {
            "description": "Not found"
          }
        },
        "security": [
          {
            "kollus_api_access_token": []
          }
        ]
      }
    },
    "/categories/{category_key}/channels/{channel_key}/attach": {
      "post": {
        "tags": [
          "카테고리 관리"
        ],
        "summary": "Connect category-channel",
        "description": "Connects a specific category with a specific channel.",
        "operationId": "attachChannelToCategory",
        "parameters": [
          {
            "name": "category_key",
            "in": "path",
            "description": "Category key",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "channel_key",
            "in": "path",
            "description": "Channel key",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "201": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/ApiVodCategory"
                    },
                    "status": {
                      "description": "Processing result\n- `ok`: success\n- `fail`: failure",
                      "type": "string"
                    }
                  },
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Bad request"
          },
          "401": {
            "description": "Unauthenticated"
          },
          "404": {
            "description": "Not found"
          }
        },
        "security": [
          {
            "kollus_api_access_token": []
          }
        ]
      }
    },
    "/categories/{category_key}/channels/{channel_key}/detach": {
      "delete": {
        "tags": [
          "카테고리 관리"
        ],
        "summary": "Disconnect category-channel",
        "description": "Disconnects the connection between a category and a channel.",
        "operationId": "detachChannelFromCategory",
        "parameters": [
          {
            "name": "category_key",
            "in": "path",
            "description": "Category key",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "channel_key",
            "in": "path",
            "description": "Channel key",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "type": "array",
                      "items": {},
                      "default": "[]"
                    },
                    "status": {
                      "description": "Processing result\n- `ok`: success\n- `fail`: failure",
                      "type": "string"
                    }
                  },
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Bad request"
          },
          "401": {
            "description": "Unauthenticated"
          },
          "404": {
            "description": "Not found"
          }
        },
        "security": [
          {
            "kollus_api_access_token": []
          }
        ]
      }
    },
    "/channels": {
      "get": {
        "tags": [
          "채널 관리"
        ],
        "summary": "Retrieve channel list",
        "description": "Retrieves the full list of channels. You can filter by channel type (`kind`) or activation status (`status`).",
        "operationId": "getChannels",
        "parameters": [
          {
            "name": "kind",
            "in": "query",
            "description": "Channel type filter",
            "schema": {
              "type": "string",
              "default": "package"
            }
          },
          {
            "name": "status",
            "in": "query",
            "description": "Channel activation status filter\n- `0`: inactive\n- `1`: active",
            "schema": {
              "type": "integer",
              "enum": [
                0,
                1
              ]
            }
          },
          {
            "name": "order",
            "in": "query",
            "description": "Data sort criteria",
            "schema": {
              "type": "string",
              "default": "position_asc",
              "enum": [
                "created_at_asc",
                "created_at_desc",
                "position_asc",
                "position_desc"
              ]
            }
          },
          {
            "name": "page",
            "in": "query",
            "description": "Page number to retrieve",
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "per_page",
            "in": "query",
            "description": "Number of data entries per page",
            "schema": {
              "type": "integer",
              "maximum": 100,
              "minimum": 1
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/ApiVodChannel"
                      }
                    },
                    "pagination": {
                      "properties": {
                        "current_page": {
                          "description": "Current page number",
                          "type": "integer"
                        },
                        "per_page": {
                          "description": "Number of data entries per page",
                          "type": "integer"
                        },
                        "total": {
                          "description": "Total number of data items",
                          "type": "integer"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Bad request"
          },
          "401": {
            "description": "Unauthenticated"
          },
          "404": {
            "description": "Not found"
          }
        },
        "security": [
          {
            "kollus_api_access_token": []
          }
        ]
      },
      "post": {
        "tags": [
          "채널 관리"
        ],
        "summary": "Create new channel",
        "description": "Creates a new channel. Sharing and security policy settings cannot be changed after creation.",
        "operationId": "createChannel",
        "requestBody": {
          "required": true,
          "content": {
            "application/x-www-form-urlencoded": {
              "schema": {
                "required": [
                  "name"
                ],
                "properties": {
                  "name": {
                    "description": "Channel name",
                    "type": "string",
                    "maximum": 50
                  },
                  "description": {
                    "description": "Channel description",
                    "type": "string"
                  },
                  "is_shared": {
                    "description": "Sharing policy setting\n- `0`: Non-shared channel\n- `1`: Shared channel",
                    "type": "integer",
                    "enum": [
                      0,
                      1
                    ]
                  },
                  "is_encrypted": {
                    "description": "Security policy setting\n- `0`: General channel (all content types can be registered)\n- `1`: Encrypted content-only channel",
                    "type": "integer",
                    "enum": [
                      0,
                      1
                    ]
                  }
                },
                "type": "object"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/ApiVodChannel"
                    },
                    "status": {
                      "description": "Processing result\n- `ok`: success\n- `fail`: failure",
                      "type": "string"
                    }
                  },
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Bad request"
          },
          "401": {
            "description": "Unauthenticated"
          },
          "404": {
            "description": "Not found"
          },
          "422": {
            "description": "Unprocessable entity"
          }
        },
        "security": [
          {
            "kollus_api_access_token": []
          }
        ]
      }
    },
    "/channels/{channel_key}": {
      "get": {
        "tags": [
          "채널 관리"
        ],
        "summary": "Retrieve channel information",
        "description": "Retrieves detailed information of a specific channel.",
        "operationId": "getChannel",
        "parameters": [
          {
            "name": "channel_key",
            "in": "path",
            "description": "Channel key",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/ApiVodChannel"
                    }
                  },
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Bad request"
          },
          "401": {
            "description": "Unauthenticated"
          },
          "404": {
            "description": "Not found"
          }
        },
        "security": [
          {
            "kollus_api_access_token": []
          }
        ]
      },
      "put": {
        "tags": [
          "채널 관리"
        ],
        "summary": "Update channel information",
        "description": "Updates the name, description, and streaming format settings of an existing channel.",
        "operationId": "updateChannel",
        "parameters": [
          {
            "name": "channel_key",
            "in": "path",
            "description": "Channel key",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/x-www-form-urlencoded": {
              "schema": {
                "required": [
                  "name"
                ],
                "properties": {
                  "name": {
                    "description": "Channel name",
                    "type": "string"
                  },
                  "description": {
                    "description": "Channel description",
                    "type": "string"
                  },
                  "use_realtime": {
                    "description": "Whether to use real-time streaming (HLS)\n- `0`: Not used\n- `1`: Used",
                    "type": "integer",
                    "default": 0,
                    "enum": [
                      0,
                      1
                    ]
                  },
                  "use_aes128": {
                    "description": "Whether to use AES-128 encryption\n- `0`: Not used\n- `1`: Used",
                    "type": "integer",
                    "default": 0,
                    "enum": [
                      0,
                      1
                    ]
                  }
                },
                "type": "object"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/ApiVodChannel"
                    },
                    "status": {
                      "description": "Processing result\n- `ok`: success\n- `fail`: failure",
                      "type": "string"
                    }
                  },
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Bad request"
          },
          "401": {
            "description": "Unauthenticated"
          },
          "404": {
            "description": "Not found"
          },
          "422": {
            "description": "Unprocessable entity"
          }
        },
        "security": [
          {
            "kollus_api_access_token": []
          }
        ]
      },
      "delete": {
        "tags": [
          "채널 관리"
        ],
        "summary": "Delete channel",
        "description": "Permanently deletes a specific channel from the system. This action may have technical impact on access to linked content. (Related document: <a href=\"https://docs.kollus.com/en/service-guide/vod/content/channel/#delete-channel\" target=\"_blank\">Channel deletion</a>)",
        "operationId": "deleteChannel",
        "parameters": [
          {
            "name": "channel_key",
            "in": "path",
            "description": "Channel key",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "type": "array",
                      "items": {},
                      "default": "[]"
                    },
                    "status": {
                      "description": "Processing result\n- `ok`: success\n- `fail`: failure",
                      "type": "string"
                    }
                  },
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Bad request"
          },
          "401": {
            "description": "Unauthenticated"
          },
          "404": {
            "description": "Not found"
          }
        },
        "security": [
          {
            "kollus_api_access_token": []
          }
        ]
      }
    },
    "/channels/{channel_key}/media-contents/{upload_file_key}/attach": {
      "post": {
        "tags": [
          "채널 관리"
        ],
        "summary": "Connect channel-content",
        "description": "Connects content to a specific channel.",
        "operationId": "attachMediaContentToChannel",
        "parameters": [
          {
            "name": "channel_key",
            "in": "path",
            "description": "Channel key",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "upload_file_key",
            "in": "path",
            "description": "Upload file key",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "201": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/ApiVodMediaContentKey"
                    },
                    "status": {
                      "description": "Processing result\n- `ok`: success\n- `fail`: failure",
                      "type": "string"
                    }
                  },
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Bad request"
          },
          "401": {
            "description": "Unauthenticated"
          },
          "404": {
            "description": "Not found"
          }
        },
        "security": [
          {
            "kollus_api_access_token": []
          }
        ]
      }
    },
    "/channels/{channel_key}/media-contents/{upload_file_key}/detach": {
      "delete": {
        "tags": [
          "채널 관리"
        ],
        "summary": "Disconnect channel-content",
        "description": "Disconnects the link between a channel and content.",
        "operationId": "detachMediaContentFromChannel",
        "parameters": [
          {
            "name": "channel_key",
            "in": "path",
            "description": "Channel key",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "upload_file_key",
            "in": "path",
            "description": "Upload file key",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "type": "array",
                      "items": {},
                      "default": "[]"
                    },
                    "status": {
                      "description": "Processing result\n- `ok`: success\n- `fail`: failure",
                      "type": "string"
                    }
                  },
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Bad request"
          },
          "401": {
            "description": "Unauthenticated"
          },
          "404": {
            "description": "Not found"
          }
        },
        "security": [
          {
            "kollus_api_access_token": []
          }
        ]
      }
    },
    "/channels/{channel_key}/player-skins/{skin_id}/attach": {
      "post": {
        "tags": [
          "채널 관리",
          "플레이어 관리"
        ],
        "summary": "Connect channel-player skin",
        "description": "Connects a player skin to a specific channel. If the channel already has a skin connected, the system will disconnect the existing skin and replace it with the new one.",
        "operationId": "attachPlayerSkinToChannel",
        "parameters": [
          {
            "name": "channel_key",
            "in": "path",
            "description": "Channel key",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "skin_id",
            "in": "path",
            "description": "Skin ID",
            "required": true,
            "schema": {
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/ApiVodPlayerSkin"
                    },
                    "status": {
                      "description": "Processing result\n- `ok`: success\n- `fail`: failure",
                      "type": "string"
                    }
                  },
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Bad request"
          },
          "401": {
            "description": "Unauthenticated"
          },
          "404": {
            "description": "Not found"
          }
        },
        "security": [
          {
            "kollus_api_access_token": []
          }
        ]
      }
    },
    "/channels/{channel_key}/player-skins": {
      "delete": {
        "tags": [
          "채널 관리",
          "플레이어 관리"
        ],
        "summary": "Disconnect channel-player skin",
        "description": "Disconnects the link between a channel and a player skin.",
        "operationId": "detachPlayerSkinFromChannel",
        "parameters": [
          {
            "name": "channel_key",
            "in": "path",
            "description": "Channel key",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "type": "array",
                      "items": {},
                      "default": "[]"
                    },
                    "status": {
                      "description": "Processing result\n- `ok`: success\n- `fail`: failure",
                      "type": "string"
                    }
                  },
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Bad request"
          },
          "401": {
            "description": "Unauthenticated"
          },
          "404": {
            "description": "Not found"
          }
        },
        "security": [
          {
            "kollus_api_access_token": []
          }
        ]
      }
    },
    "/channels/{channel_key}/callback": {
      "put": {
        "tags": [
          "채널 관리"
        ],
        "summary": "Set callback URL (content add/delete, playback)",
        "description": "Sets an endpoint (URL) for forwarding information to an external server when content add/delete or playback request events occur.",
        "operationId": "updateChannelCallback",
        "parameters": [
          {
            "name": "channel_key",
            "in": "path",
            "description": "Channel key",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/x-www-form-urlencoded": {
              "schema": {
                "required": [
                  "use_pingback"
                ],
                "properties": {
                  "use_pingback": {
                    "description": "Whether to activate the callback feature",
                    "type": "integer",
                    "enum": [
                      0,
                      1
                    ]
                  },
                  "pingback_url": {
                    "description": "Callback URL for adding content to a channel",
                    "type": "string"
                  },
                  "leave_pingback_url": {
                    "description": "Callback URL for removing content from a channel",
                    "type": "string"
                  },
                  "play_callback_url": {
                    "description": "Playback callback URL",
                    "type": "string"
                  }
                },
                "type": "object"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/ApiVodChannel"
                    },
                    "status": {
                      "description": "Processing result\n- `ok`: success\n- `fail`: failure",
                      "type": "string"
                    }
                  },
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Bad request"
          },
          "401": {
            "description": "Unauthenticated"
          },
          "404": {
            "description": "Not found"
          },
          "422": {
            "description": "Unprocessable entity"
          }
        },
        "security": [
          {
            "kollus_api_access_token": []
          }
        ]
      }
    },
    "/channels/{channel_key}/download-callback": {
      "put": {
        "tags": [
          "채널 관리"
        ],
        "summary": "Set Callback URL (Download)",
        "description": "Sets the callback URL for server-to-server integration when a content download attempt occurs in PC and mobile environments.",
        "operationId": "updateChannelDownloadCallback",
        "parameters": [
          {
            "name": "channel_key",
            "in": "path",
            "description": "Channel key",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/x-www-form-urlencoded": {
              "schema": {
                "required": [
                  "use_pc_download",
                  "use_mobile_download"
                ],
                "properties": {
                  "use_pc_download": {
                    "description": "Activate PC download feature\n- `0`: disabled\n- `1`: enabled",
                    "type": "integer",
                    "enum": [
                      0,
                      1
                    ]
                  },
                  "pc_download_callback_url": {
                    "description": "PC download callback URL",
                    "type": "string"
                  },
                  "use_mobile_download": {
                    "description": "Activate mobile download feature\n- `0`: disabled\n- `1`: enabled",
                    "type": "integer",
                    "default": 0,
                    "enum": [
                      0,
                      1
                    ]
                  },
                  "mobile_download_callback_url": {
                    "description": "Mobile download callback URL",
                    "type": "string"
                  }
                },
                "type": "object"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/ApiVodChannel"
                    },
                    "status": {
                      "description": "Processing result\n- `ok`: success\n- `fail`: failure",
                      "type": "string"
                    }
                  },
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Bad request"
          },
          "401": {
            "description": "Unauthenticated"
          },
          "404": {
            "description": "Not found"
          },
          "422": {
            "description": "Unprocessable entity"
          }
        },
        "security": [
          {
            "kollus_api_access_token": []
          }
        ]
      }
    },
    "/channels/{channel_key}/security": {
      "put": {
        "tags": [
          "채널 관리"
        ],
        "summary": "Block External Display Output",
        "description": "Sets whether to block external output (TV-OUT) via HDMI or mirroring when playing content in a channel.",
        "operationId": "updateChannelSecurity",
        "parameters": [
          {
            "name": "channel_key",
            "in": "path",
            "description": "Channel key",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/x-www-form-urlencoded": {
              "schema": {
                "required": [
                  "disable_tvout"
                ],
                "properties": {
                  "disable_tvout": {
                    "description": "External display output block setting\n- `0`: not blocked\n- `1`: blocked",
                    "type": "integer",
                    "enum": [
                      0,
                      1
                    ]
                  }
                },
                "type": "object"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/ApiVodChannel"
                    },
                    "status": {
                      "description": "Processing result\n- `ok`: success\n- `fail`: failure",
                      "type": "string"
                    }
                  },
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Bad request"
          },
          "401": {
            "description": "Unauthenticated"
          },
          "404": {
            "description": "Not found"
          },
          "422": {
            "description": "Unprocessable entity"
          }
        },
        "security": [
          {
            "kollus_api_access_token": []
          }
        ]
      }
    },
    "/channels/{channel_key}/referer": {
      "put": {
        "tags": [
          "채널 관리"
        ],
        "summary": "Referer-Based Access Control",
        "description": "Applies a Referer-based access control policy to allow or block playback from specific domains.",
        "operationId": "updateChannelReferer",
        "parameters": [
          {
            "name": "channel_key",
            "in": "path",
            "description": "Channel key",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/x-www-form-urlencoded": {
              "schema": {
                "required": [
                  "use_referer_check"
                ],
                "properties": {
                  "use_referer_check": {
                    "description": "Referer access control policy setting\n- `1`: allow specific domains\n- `2`: block specific domains",
                    "type": "integer",
                    "enum": [
                      1,
                      2
                    ]
                  },
                  "referer_check_domains[]": {
                    "description": "List of domain addresses to allow playback",
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  },
                  "referer_reject_domains[]": {
                    "description": "List of domain addresses to block playback",
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  },
                  "referer_empty_allow": {
                    "description": "Whether to block requests with no referer information",
                    "type": "boolean"
                  }
                },
                "type": "object"
              },
              "encoding": {
                "referer_check_domains[]": {
                  "style": "deepObject",
                  "explode": true
                },
                "referer_reject_domains[]": {
                  "style": "deepObject",
                  "explode": true
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/ApiVodChannel"
                    },
                    "status": {
                      "description": "Processing result\n- `ok`: success\n- `fail`: failure",
                      "type": "string"
                    }
                  },
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Bad request"
          },
          "401": {
            "description": "Unauthenticated"
          },
          "404": {
            "description": "Not found"
          },
          "422": {
            "description": "Unprocessable entity"
          }
        },
        "security": [
          {
            "kollus_api_access_token": []
          }
        ]
      }
    },
    "/media-content-keys/{media_content_key}": {
      "get": {
        "tags": [
          "미디어 콘텐츠 키 관리"
        ],
        "summary": "Retrieve Media Content Key Information",
        "description": "Retrieves detailed information for a media content key.",
        "operationId": "getMediaContentKey",
        "parameters": [
          {
            "name": "media_content_key",
            "in": "path",
            "description": "Media content key",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/ApiVodMediaContentKey"
                    }
                  },
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Bad request"
          },
          "401": {
            "description": "Unauthenticated"
          },
          "404": {
            "description": "Not found"
          }
        },
        "security": [
          {
            "kollus_api_access_token": []
          }
        ]
      }
    },
    "/media-content-keys/validate": {
      "get": {
        "tags": [
          "미디어 콘텐츠 키 관리"
        ],
        "summary": "Validate Media Content Key",
        "description": "Checks whether a media content key is available for use.",
        "operationId": "validateMediaContentKey",
        "parameters": [
          {
            "name": "media_content_keys[]",
            "in": "query",
            "description": "Media content key array",
            "required": true,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Bad request"
          },
          "401": {
            "description": "Unauthenticated"
          },
          "404": {
            "description": "Not found"
          }
        },
        "security": [
          {
            "kollus_api_access_token": []
          }
        ]
      }
    },
    "/media-contents/{upload_file_key}/media-content-keys/{media_content_key}/assign": {
      "put": {
        "tags": [
          "미디어 콘텐츠 키 관리"
        ],
        "summary": "Assign Media Content Key",
        "description": "Assigns a media content key to uploaded content. For encrypted content, only keys belonging to an encryption-dedicated channel can be assigned. Keys already linked to other content cannot be assigned again.",
        "operationId": "assignMediaContentKeyToMediaContent",
        "parameters": [
          {
            "name": "upload_file_key",
            "in": "path",
            "description": "Upload file key",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "media_content_key",
            "in": "path",
            "description": "Media content key to assign",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "201": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/ApiVodMediaContent"
                    },
                    "status": {
                      "description": "Processing result\n- `ok`: success\n- `fail`: failure",
                      "type": "string"
                    }
                  },
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Bad request"
          },
          "401": {
            "description": "Unauthenticated"
          },
          "404": {
            "description": "Not found"
          },
          "422": {
            "description": "Unprocessable entity"
          }
        },
        "security": [
          {
            "kollus_api_access_token": []
          }
        ]
      }
    },
    "/media/kollus-encrypt": {
      "post": {
        "tags": [
          "미디어 인증 관리"
        ],
        "summary": "Apply Kollus Encryption",
        "description": "Encrypts a plaintext string using Kollus service's internal encryption algorithm for secure communication between the player and the server.",
        "operationId": "encryptMediaData",
        "requestBody": {
          "required": true,
          "content": {
            "application/x-www-form-urlencoded": {
              "schema": {
                "required": [
                  "source_string"
                ],
                "properties": {
                  "source_string": {
                    "description": "Plaintext string",
                    "type": "string"
                  }
                },
                "type": "object"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "properties": {
                        "encoded": {
                          "description": "Encrypted string",
                          "type": "string"
                        }
                      },
                      "type": "object"
                    },
                    "status": {
                      "description": "Processing result\n- `ok`: success\n- `fail`: failure",
                      "type": "string"
                    }
                  },
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Bad request"
          },
          "401": {
            "description": "Unauthenticated"
          },
          "404": {
            "description": "Not found"
          },
          "422": {
            "description": "Unprocessable entity"
          }
        },
        "security": [
          {
            "kollus_api_access_token": []
          }
        ]
      }
    },
    "/media/user-key": {
      "post": {
        "tags": [
          "미디어 인증 관리"
        ],
        "summary": "Create User Key",
        "description": "Creates a user key to be used for user identification and security authentication.",
        "operationId": "createMediaUserKey",
        "requestBody": {
          "required": true,
          "content": {
            "application/x-www-form-urlencoded": {
              "schema": {
                "required": [
                  "client_user_id",
                  "remote_addr",
                  "user_agent"
                ],
                "properties": {
                  "client_user_id": {
                    "description": "Customer user ID",
                    "type": "string"
                  },
                  "remote_addr": {
                    "description": "User's access IP address",
                    "type": "string"
                  },
                  "user_agent": {
                    "description": "User-Agent information of the user's browser or device",
                    "type": "string"
                  },
                  "user_key_timeout": {
                    "description": "Key validity period (unit: seconds)",
                    "type": "integer"
                  }
                },
                "type": "object"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "properties": {
                        "user_key": {
                          "description": "User key",
                          "type": "string"
                        }
                      },
                      "type": "object"
                    },
                    "status": {
                      "description": "Processing result\n- `ok`: success\n- `fail`: failure",
                      "type": "string"
                    }
                  },
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Bad request"
          },
          "401": {
            "description": "Unauthenticated"
          },
          "404": {
            "description": "Not found"
          },
          "422": {
            "description": "Unprocessable entity"
          }
        },
        "security": [
          {
            "kollus_api_access_token": []
          }
        ]
      }
    },
    "/media/user-key/{user_key}": {
      "put": {
        "tags": [
          "미디어 인증 관리"
        ],
        "summary": "Reissue User Key",
        "description": "Invalidates the existing user key and reissues a new key when the validity period has expired or for security reasons.",
        "operationId": "renewMediaUserKey",
        "parameters": [
          {
            "name": "user_key",
            "in": "path",
            "description": "Existing user key",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "properties": {
                        "user_key": {
                          "description": "User key",
                          "type": "string"
                        }
                      },
                      "type": "object"
                    },
                    "status": {
                      "description": "Processing result\n- `ok`: success\n- `fail`: failure",
                      "type": "string"
                    }
                  },
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Bad request"
          },
          "401": {
            "description": "Unauthenticated"
          },
          "404": {
            "description": "Not found"
          },
          "422": {
            "description": "Unprocessable entity"
          }
        },
        "security": [
          {
            "kollus_api_access_token": []
          }
        ]
      },
      "delete": {
        "tags": [
          "미디어 인증 관리"
        ],
        "summary": "Delete User Key",
        "description": "Immediately invalidates the user key and permanently deletes it from the system.",
        "operationId": "deleteMediaUserKey",
        "parameters": [
          {
            "name": "user_key",
            "in": "path",
            "description": "User key",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "type": "array",
                      "items": {},
                      "default": "[]"
                    },
                    "status": {
                      "description": "Processing result\n- `ok`: success\n- `fail`: failure",
                      "type": "string"
                    }
                  },
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Bad request"
          },
          "401": {
            "description": "Unauthenticated"
          },
          "404": {
            "description": "Not found"
          },
          "422": {
            "description": "Unprocessable entity"
          }
        },
        "security": [
          {
            "kollus_api_access_token": []
          }
        ]
      }
    },
    "/media/watermarking-code": {
      "get": {
        "tags": [
          "미디어 인증 관리"
        ],
        "summary": "Retrieve Watermarking Identification Code",
        "description": "Retrieves the watermarking code to be displayed as text on the player screen for illegal leak prevention.",
        "operationId": "getMediaWatermarkingCode",
        "parameters": [
          {
            "name": "client_user_id",
            "in": "query",
            "description": "Customer user ID",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "properties": {
                        "code": {
                          "description": "Watermarking identification code",
                          "type": "string"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Bad request"
          },
          "401": {
            "description": "Unauthenticated"
          },
          "404": {
            "description": "Not found"
          }
        },
        "security": [
          {
            "kollus_api_access_token": []
          }
        ]
      }
    },
    "/media-contents": {
      "get": {
        "tags": [
          "콘텐츠 관리"
        ],
        "summary": "Retrieve All Content List",
        "description": "Retrieves the full content list. You can filter the results using query parameters.",
        "operationId": "getMediaContents",
        "parameters": [
          {
            "name": "order",
            "in": "query",
            "description": "Data sort criteria",
            "schema": {
              "type": "string",
              "default": "created_at|desc",
              "enum": [
                "id|desc",
                "id|asc",
                "title|desc",
                "title|asc",
                "created_at|desc",
                "created_at|asc",
                "updated_at|desc",
                "updated_at|asc"
              ]
            }
          },
          {
            "name": "page",
            "in": "query",
            "description": "Page number to retrieve",
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "per_page",
            "in": "query",
            "description": "Number of data entries per page",
            "schema": {
              "type": "integer",
              "maximum": 100,
              "minimum": 1
            }
          },
          {
            "name": "keyword",
            "in": "query",
            "description": "Search keyword filtering",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "state",
            "in": "query",
            "description": "Transcoding progress status filtering",
            "schema": {
              "type": "string",
              "enum": [
                "completed",
                "transcoding",
                "error",
                ""
              ]
            }
          },
          {
            "name": "encryption",
            "in": "query",
            "description": "Content encryption status filtering",
            "schema": {
              "type": "string",
              "enum": [
                "encrypted",
                "not_encrypted",
                ""
              ]
            }
          },
          {
            "name": "publish",
            "in": "query",
            "description": "Content activation status filtering",
            "schema": {
              "type": "string",
              "enum": [
                "published",
                "not_published",
                ""
              ]
            }
          },
          {
            "name": "content_type",
            "in": "query",
            "description": "Content type filtering",
            "schema": {
              "type": "string",
              "enum": [
                "audio",
                "video",
                ""
              ]
            }
          },
          {
            "name": "exist_original",
            "in": "query",
            "description": "Original file availability status filtering\n- `0`: No original file\n- `1`: Original file saved",
            "schema": {
              "type": "integer",
              "enum": [
                0,
                1
              ]
            }
          },
          {
            "name": "exist_subtitle",
            "in": "query",
            "description": "Subtitle file registration status filtering\n- `0`: Not registered\n- `1`: Registered",
            "schema": {
              "type": "integer",
              "enum": [
                0,
                1
              ]
            }
          },
          {
            "name": "start_date",
            "in": "query",
            "description": "Start date of the retrieval range",
            "schema": {
              "type": "string",
              "example": "2026-01-01"
            }
          },
          {
            "name": "end_date",
            "in": "query",
            "description": "End date of the retrieval range",
            "schema": {
              "type": "string",
              "example": "2026-02-01"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/ApiVodMediaContent"
                      }
                    },
                    "pagination": {
                      "properties": {
                        "current_page": {
                          "description": "Current page number",
                          "type": "integer"
                        },
                        "per_page": {
                          "description": "Number of data entries per page",
                          "type": "integer"
                        },
                        "total": {
                          "description": "Total number of data items",
                          "type": "integer"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Bad request"
          },
          "401": {
            "description": "Unauthenticated"
          },
          "404": {
            "description": "Not found"
          }
        },
        "security": [
          {
            "kollus_api_access_token": []
          }
        ]
      }
    },
    "/channels/{channel_key}/media-contents": {
      "get": {
        "tags": [
          "채널 관리",
          "콘텐츠 관리"
        ],
        "summary": "Retrieve Content List by Channel",
        "description": "Retrieves the list of contents registered in a specific channel. You can filter the results using query parameters.",
        "operationId": "getChannelMediaContents",
        "parameters": [
          {
            "name": "channel_key",
            "in": "path",
            "description": "Channel key",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "order",
            "in": "query",
            "description": "Data sort criteria",
            "schema": {
              "type": "string",
              "default": "created_at|desc",
              "enum": [
                "id|desc",
                "id|asc",
                "title|desc",
                "title|asc",
                "created_at|desc",
                "created_at|asc",
                "updated_at|desc",
                "updated_at|asc"
              ]
            }
          },
          {
            "name": "page",
            "in": "query",
            "description": "Page number to retrieve",
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "per_page",
            "in": "query",
            "description": "Number of data entries per page",
            "schema": {
              "type": "integer",
              "maximum": 100,
              "minimum": 1
            }
          },
          {
            "name": "keyword",
            "in": "query",
            "description": "Search keyword filtering",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "state",
            "in": "query",
            "description": "Transcoding progress status filtering",
            "schema": {
              "type": "string",
              "enum": [
                "completed",
                "transcoding",
                "error",
                ""
              ]
            }
          },
          {
            "name": "encryption",
            "in": "query",
            "description": "Content encryption status filtering",
            "schema": {
              "type": "string",
              "enum": [
                "encrypted",
                "not_encrypted",
                ""
              ]
            }
          },
          {
            "name": "publish",
            "in": "query",
            "description": "Content activation status filtering",
            "schema": {
              "type": "string",
              "enum": [
                "published",
                "not_published",
                ""
              ]
            }
          },
          {
            "name": "content_type",
            "in": "query",
            "description": "Content type filtering",
            "schema": {
              "type": "string",
              "enum": [
                "audio",
                "video",
                ""
              ]
            }
          },
          {
            "name": "exist_original",
            "in": "query",
            "description": "Original file availability status filtering\n- `0`: No original file\n- `1`: Original file saved",
            "schema": {
              "type": "integer",
              "enum": [
                0,
                1
              ]
            }
          },
          {
            "name": "exist_subtitle",
            "in": "query",
            "description": "Subtitle file registration status filtering\n- `0`: Not registered\n- `1`: Registered",
            "schema": {
              "type": "integer",
              "enum": [
                0,
                1
              ]
            }
          },
          {
            "name": "start_date",
            "in": "query",
            "description": "Start date of the retrieval range",
            "schema": {
              "type": "string",
              "example": "2026-01-01"
            }
          },
          {
            "name": "end_date",
            "in": "query",
            "description": "End date of the retrieval range",
            "schema": {
              "type": "string",
              "example": "2026-02-01"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/ApiVodMediaContent"
                      }
                    },
                    "pagination": {
                      "properties": {
                        "current_page": {
                          "description": "Current page number",
                          "type": "integer"
                        },
                        "per_page": {
                          "description": "Number of data entries per page",
                          "type": "integer"
                        },
                        "total": {
                          "description": "Total number of data entries",
                          "type": "integer"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Bad request"
          },
          "401": {
            "description": "Unauthenticated"
          },
          "404": {
            "description": "Not found"
          }
        },
        "security": [
          {
            "kollus_api_access_token": []
          }
        ]
      }
    },
    "/categories/{category_key}/media-contents": {
      "get": {
        "tags": [
          "콘텐츠 관리"
        ],
        "summary": "Retrieve content list by category",
        "description": "Retrieves a list of contents classified under a specific category. You can use query parameters to filter the results.",
        "operationId": "getCategoryMediaContents",
        "parameters": [
          {
            "name": "category_key",
            "in": "path",
            "description": "Category key",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "order",
            "in": "query",
            "description": "Data sort criteria",
            "schema": {
              "type": "string",
              "default": "created_at|desc",
              "enum": [
                "id|desc",
                "id|asc",
                "title|desc",
                "title|asc",
                "created_at|desc",
                "created_at|asc",
                "updated_at|desc",
                "updated_at|asc"
              ]
            }
          },
          {
            "name": "page",
            "in": "query",
            "description": "Page number to retrieve",
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "per_page",
            "in": "query",
            "description": "Number of data entries per page",
            "schema": {
              "type": "integer",
              "maximum": 100,
              "minimum": 1
            }
          },
          {
            "name": "keyword",
            "in": "query",
            "description": "Search keyword filtering",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "state",
            "in": "query",
            "description": "Transcoding progress status filtering",
            "schema": {
              "type": "string",
              "enum": [
                "completed",
                "transcoding",
                "error",
                ""
              ]
            }
          },
          {
            "name": "encryption",
            "in": "query",
            "description": "Content encryption status filtering",
            "schema": {
              "type": "string",
              "enum": [
                "encrypted",
                "not_encrypted",
                ""
              ]
            }
          },
          {
            "name": "publish",
            "in": "query",
            "description": "Content activation status filtering",
            "schema": {
              "type": "string",
              "enum": [
                "published",
                "not_published",
                ""
              ]
            }
          },
          {
            "name": "content_type",
            "in": "query",
            "description": "Content type filtering",
            "schema": {
              "type": "string",
              "enum": [
                "audio",
                "video",
                ""
              ]
            }
          },
          {
            "name": "exist_original",
            "in": "query",
            "description": "Original file availability status filtering\n- `0`: No original file\n- `1`: Original file saved",
            "schema": {
              "type": "integer",
              "enum": [
                0,
                1
              ]
            }
          },
          {
            "name": "exist_subtitle",
            "in": "query",
            "description": "Subtitle file registration status filtering\n- `0`: Not registered\n- `1`: Registered",
            "schema": {
              "type": "integer",
              "enum": [
                0,
                1
              ]
            }
          },
          {
            "name": "start_date",
            "in": "query",
            "description": "Start date of the retrieval range",
            "schema": {
              "type": "string",
              "example": "2026-01-01"
            }
          },
          {
            "name": "end_date",
            "in": "query",
            "description": "End date of the retrieval range",
            "schema": {
              "type": "string",
              "example": "2026-02-01"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/ApiVodMediaContent"
                      }
                    },
                    "pagination": {
                      "properties": {
                        "current_page": {
                          "description": "Current page number",
                          "type": "integer"
                        },
                        "per_page": {
                          "description": "Number of data entries per page",
                          "type": "integer"
                        },
                        "total": {
                          "description": "Total number of data entries",
                          "type": "integer"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Bad request"
          },
          "401": {
            "description": "Unauthenticated"
          },
          "404": {
            "description": "Not found"
          }
        },
        "security": [
          {
            "kollus_api_access_token": []
          }
        ]
      }
    },
    "/upload/create-url": {
      "post": {
        "tags": [
          "콘텐츠 관리"
        ],
        "summary": "Generate Content Upload URL",
        "description": "Generates a one-time endpoint URL for securely uploading a content file.",
        "operationId": "createUploadUrl",
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "schema": {
                "properties": {
                  "expire_time": {
                    "description": "URL validity duration (unit: seconds)",
                    "type": "integer",
                    "default": 600,
                    "maximum": 21600
                  },
                  "title": {
                    "description": "Content title",
                    "type": "string"
                  },
                  "category_key": {
                    "description": "Category key",
                    "type": "string"
                  },
                  "is_encryption_upload": {
                    "description": "Encryption setting (`0`: unencrypted (standard) content, `1`: encrypted content)",
                    "type": "integer",
                    "default": 0,
                    "enum": [
                      0,
                      1
                    ]
                  },
                  "is_audio_upload": {
                    "description": "Audio-only content setting\n- `0`: Includes video\n- `1`: Audio only",
                    "type": "integer",
                    "default": 0,
                    "enum": [
                      0,
                      1
                    ]
                  },
                  "use_ai_script": {
                    "description": "Whether to apply AI speed\n- `0`: Not applied\n- `1`: Applied",
                    "type": "integer",
                    "enum": [
                      0,
                      1
                    ]
                  },
                  "use_ai_subtitle": {
                    "description": "Whether to generate AI subtitle\n- `0`: Not generated\n- `1`: Generated",
                    "type": "integer",
                    "enum": [
                      0,
                      1
                    ]
                  },
                  "use_ai_outline": {
                    "description": "Whether to generate AI summary & chapter\n- `0`: Not generated\n- `1`: Generated",
                    "type": "integer",
                    "enum": [
                      0,
                      1
                    ]
                  },
                  "ai_subtitle_language": {
                    "description": "AI subtitle language setting (primary language used in the video or audio)",
                    "type": "string",
                    "enum": [
                      "ko",
                      "en"
                    ]
                  },
                  "ai_subtitle_status": {
                    "description": "AI subtitle visibility setting\n- `0`: Private\n- `1`: Public",
                    "type": "integer",
                    "enum": [
                      0,
                      1
                    ]
                  },
                  "ai_subtitle_kind": {
                    "description": "AI subtitle type setting\n- `0`: Main subtitle\n- `1`: Sub subtitle",
                    "type": "integer",
                    "enum": [
                      0,
                      1
                    ]
                  }
                },
                "type": "object"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "properties": {
                        "upload_url": {
                          "description": "Content upload URL",
                          "type": "string"
                        },
                        "progress_url": {
                          "description": "Upload progress status retrieval URL",
                          "type": "string"
                        },
                        "upload_file_key": {
                          "description": "Upload file key",
                          "type": "string"
                        },
                        "expired_at": {
                          "description": "URL expiration date and time",
                          "type": "integer"
                        }
                      },
                      "type": "object"
                    },
                    "status": {
                      "description": "Processing result\n- `ok`: success\n- `fail`: failure",
                      "type": "string"
                    }
                  },
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Bad request"
          },
          "401": {
            "description": "Unauthenticated"
          },
          "404": {
            "description": "Not found"
          },
          "422": {
            "description": "Unprocessable entity"
          }
        },
        "security": [
          {
            "kollus_api_access_token": []
          }
        ]
      }
    },
    "/media-contents/{upload_file_key}": {
      "get": {
        "tags": [
          "콘텐츠 관리"
        ],
        "summary": "Retrieve Content Information",
        "description": "Retrieves detailed information of a specific content.",
        "operationId": "getMediaContent",
        "parameters": [
          {
            "name": "upload_file_key",
            "in": "path",
            "description": "Upload file key",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/ApiVodMediaContent"
                    }
                  },
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Bad request"
          },
          "401": {
            "description": "Unauthenticated"
          },
          "404": {
            "description": "Not found"
          }
        },
        "security": [
          {
            "kollus_api_access_token": []
          }
        ]
      },
      "put": {
        "tags": [
          "콘텐츠 관리"
        ],
        "summary": "Update Content Information",
        "description": "Updates the title, VR content projection type, and sound mode settings of an existing content.",
        "operationId": "updateMediaContent",
        "parameters": [
          {
            "name": "upload_file_key",
            "in": "path",
            "description": "Upload file key",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/x-www-form-urlencoded": {
              "schema": {
                "properties": {
                  "title": {
                    "description": "Content title",
                    "type": "string"
                  },
                  "vr": {
                    "description": "VR content settings",
                    "properties": {
                      "projection_type": {
                        "description": "VR projection type\n- `rectangular`: Standard 2D video\n- `equirectangular`: 360-degree spherical video projection type",
                        "type": "string",
                        "default": "rectangular",
                        "enum": [
                          "rectangular",
                          "equirectangular"
                        ]
                      },
                      "stereo_mode": {
                        "description": "Sound mode (`mono`: standard audio without directionality)",
                        "type": "string",
                        "default": "mono",
                        "enum": [
                          "mono"
                        ]
                      }
                    },
                    "type": "object"
                  }
                },
                "type": "object"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/ApiVodMediaContent"
                    },
                    "status": {
                      "description": "Processing result\n- `ok`: success\n- `fail`: failure",
                      "type": "string"
                    }
                  },
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Bad request"
          },
          "401": {
            "description": "Unauthenticated"
          },
          "404": {
            "description": "Not found"
          },
          "422": {
            "description": "Unprocessable entity"
          }
        },
        "security": [
          {
            "kollus_api_access_token": []
          }
        ]
      },
      "delete": {
        "tags": [
          "콘텐츠 관리"
        ],
        "summary": "Delete Content",
        "description": "Permanently deletes a specific content from the system.",
        "operationId": "deleteMediaContent",
        "parameters": [
          {
            "name": "upload_file_key",
            "in": "path",
            "description": "Upload file key",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "type": "array",
                      "items": {},
                      "default": "[]"
                    },
                    "status": {
                      "description": "Processing result\n- `ok`: success\n- `fail`: failure",
                      "type": "string"
                    }
                  },
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Bad request"
          },
          "401": {
            "description": "Unauthenticated"
          },
          "404": {
            "description": "Not found"
          }
        },
        "security": [
          {
            "kollus_api_access_token": []
          }
        ]
      }
    },
    "/media-contents/{upload_file_key}/categories/{category_key}": {
      "put": {
        "tags": [
          "콘텐츠 관리"
        ],
        "summary": "Change Content Category",
        "description": "Changes the category classification of a content to a different category.",
        "operationId": "updateMediaContentCategory",
        "parameters": [
          {
            "name": "upload_file_key",
            "in": "path",
            "description": "Upload file key",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "category_key",
            "in": "path",
            "description": "Category key to change to",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/ApiVodMediaContentCategory"
                    },
                    "status": {
                      "description": "Processing result\n- `ok`: success\n- `fail`: failure",
                      "type": "string"
                    }
                  },
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Bad request"
          },
          "401": {
            "description": "Unauthenticated"
          },
          "404": {
            "description": "Not found"
          },
          "422": {
            "description": "Unprocessable entity"
          }
        },
        "security": [
          {
            "kollus_api_access_token": []
          }
        ]
      }
    },
    "/media-contents/{upload_file_key}/disable": {
      "put": {
        "tags": [
          "콘텐츠 관리"
        ],
        "summary": "Deactivate Content",
        "description": "Deactivates an active content to temporarily block playback in the player.",
        "operationId": "disableMediaContent",
        "parameters": [
          {
            "name": "upload_file_key",
            "in": "path",
            "description": "Upload file key",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/ApiVodMediaContentStatus"
                    },
                    "status": {
                      "description": "Processing result\n- `ok`: success\n- `fail`: failure",
                      "type": "string"
                    }
                  },
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Bad request"
          },
          "401": {
            "description": "Unauthenticated"
          },
          "404": {
            "description": "Not found"
          },
          "422": {
            "description": "Unprocessable entity"
          }
        },
        "security": [
          {
            "kollus_api_access_token": []
          }
        ]
      }
    },
    "/media-contents/{upload_file_key}/enable": {
      "put": {
        "tags": [
          "콘텐츠 관리"
        ],
        "summary": "Activate Content",
        "description": "Activates an inactive content to make it available for playback in the player.",
        "operationId": "enableMediaContent",
        "parameters": [
          {
            "name": "upload_file_key",
            "in": "path",
            "description": "Upload file key",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/ApiVodMediaContentStatus"
                    },
                    "status": {
                      "description": "Processing result\n- `ok`: success\n- `fail`: failure",
                      "type": "string"
                    }
                  },
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Bad request"
          },
          "401": {
            "description": "Unauthenticated"
          },
          "404": {
            "description": "Not found"
          },
          "422": {
            "description": "Unprocessable entity"
          }
        },
        "security": [
          {
            "kollus_api_access_token": []
          }
        ]
      }
    },
    "/media-contents/{upload_file_key}/poster": {
      "post": {
        "tags": [
          "콘텐츠 관리"
        ],
        "summary": "Upload Poster Image",
        "description": "Uploads a poster image file to be displayed on the player screen.",
        "operationId": "createMediaContentPoster",
        "parameters": [
          {
            "name": "upload_file_key",
            "in": "path",
            "description": "Upload file key",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "multipart/form-data": {
              "schema": {
                "required": [
                  "file"
                ],
                "properties": {
                  "file": {
                    "description": "Image file",
                    "type": "string",
                    "format": "binary"
                  }
                },
                "type": "object"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "type": "array",
                      "items": {},
                      "default": "[]"
                    },
                    "status": {
                      "description": "Processing result\n- `ok`: success\n- `fail`: failure",
                      "type": "string"
                    }
                  },
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Bad request"
          },
          "401": {
            "description": "Unauthenticated"
          },
          "404": {
            "description": "Not found"
          },
          "422": {
            "description": "Unprocessable entity"
          }
        },
        "security": [
          {
            "kollus_api_access_token": []
          }
        ]
      }
    },
    "/media-contents/{upload_file_key}/poster/download": {
      "get": {
        "tags": [
          "콘텐츠 관리"
        ],
        "summary": "Download Poster Image",
        "description": "Generates a URL to download the registered poster image file to a local environment.",
        "operationId": "downloadMediaContentPoster",
        "parameters": [
          {
            "name": "upload_file_key",
            "in": "path",
            "description": "Upload file key",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/ApiVodMediaContentDownloadPoster"
                    }
                  },
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Bad request"
          },
          "401": {
            "description": "Unauthenticated"
          },
          "404": {
            "description": "Not found"
          }
        },
        "security": [
          {
            "kollus_api_access_token": []
          }
        ]
      }
    },
    "/media-contents/{upload_file_key}/original-file/download": {
      "get": {
        "tags": [
          "콘텐츠 관리"
        ],
        "summary": "Generate original file download URL",
        "description": "Generates a URL to download the original media file before transcoding. Available only when the original file storage feature is enabled.",
        "operationId": "downloadMediaContentOriginalFile",
        "parameters": [
          {
            "name": "upload_file_key",
            "in": "path",
            "description": "Upload file key",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "properties": {
                        "expires": {
                          "description": "URL expiration date and time",
                          "type": "string"
                        },
                        "download_url": {
                          "description": "Download URL",
                          "type": "string"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Bad request"
          },
          "401": {
            "description": "Unauthenticated"
          },
          "404": {
            "description": "Not found"
          }
        },
        "security": [
          {
            "kollus_api_access_token": []
          }
        ]
      }
    },
    "/media-contents/{upload_file_key}/progress": {
      "get": {
        "tags": [
          "트랜스코딩 관리"
        ],
        "summary": "Retrieve Transcoding Progress",
        "description": "Retrieves the transcoding progress status of uploaded content. Progress status data is updated every 10 seconds.",
        "operationId": "getMediaContentProgress",
        "parameters": [
          {
            "name": "upload_file_key",
            "in": "path",
            "description": "Upload file key",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/ApiVodMediaContentProgress"
                    }
                  },
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Bad request"
          },
          "401": {
            "description": "Unauthenticated"
          },
          "404": {
            "description": "Not found"
          }
        },
        "security": [
          {
            "kollus_api_access_token": []
          }
        ]
      }
    },
    "/media-contents/{upload_file_key}/transcoding-files": {
      "get": {
        "tags": [
          "트랜스코딩 관리"
        ],
        "summary": "Retrieve Transcoding File List",
        "description": "Retrieves a list of all transcoding files generated from a specific content.",
        "operationId": "getMediaContentTranscodingFiles",
        "parameters": [
          {
            "name": "upload_file_key",
            "in": "path",
            "description": "Upload file key",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/ApiVodTranscodingFile"
                      }
                    }
                  },
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Bad request"
          },
          "401": {
            "description": "Unauthenticated"
          },
          "404": {
            "description": "Not found"
          }
        },
        "security": [
          {
            "kollus_api_access_token": []
          }
        ]
      }
    },
    "/media-contents/{upload_file_key}/transcoding-files/{transcoding_file_id}/download": {
      "get": {
        "tags": [
          "트랜스코딩 관리"
        ],
        "summary": "Generate Transcoding File Download URL",
        "description": "Generates a URL to download a specified transcoding file to a local environment by specifying the transcoding file ID.",
        "operationId": "downloadMediaContentTranscodingFile",
        "parameters": [
          {
            "name": "upload_file_key",
            "in": "path",
            "description": "Upload file key",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "transcoding_file_id",
            "in": "path",
            "description": "Transcoding file ID",
            "required": true,
            "schema": {
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "properties": {
                        "expires": {
                          "description": "URL expiration date and time",
                          "type": "string"
                        },
                        "download_url": {
                          "description": "Download URL",
                          "type": "string"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Bad request"
          },
          "401": {
            "description": "Unauthenticated"
          },
          "404": {
            "description": "Not found"
          }
        },
        "security": [
          {
            "kollus_api_access_token": []
          }
        ]
      }
    },
    "/media-contents/{upload_file_key}/media-profiles/{media_profile_key}/transcoding-jobs": {
      "post": {
        "tags": [
          "트랜스코딩 관리"
        ],
        "summary": "Create additional transcoding job",
        "description": "Requests an additional transcoding job by applying a new encoding profile to existing content. However, files that are already being transcoded are excluded.",
        "operationId": "createMediaContentTranscodingJob",
        "parameters": [
          {
            "name": "upload_file_key",
            "in": "path",
            "description": "Upload file key",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "media_profile_key",
            "in": "path",
            "description": "Encoding profile key",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "201": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/ApiVodMediaContentTranscodingJob"
                      }
                    },
                    "status": {
                      "description": "Processing result\n- `ok`: success\n- `fail`: failure",
                      "type": "string"
                    }
                  },
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Bad request"
          },
          "401": {
            "description": "Unauthenticated"
          },
          "404": {
            "description": "Not found"
          },
          "422": {
            "description": "Unprocessable entity"
          }
        },
        "security": [
          {
            "kollus_api_access_token": []
          }
        ]
      }
    },
    "/media-contents/{upload_file_key}/transcoding-files/{transcoding_file_id}/enable": {
      "put": {
        "tags": [
          "트랜스코딩 관리"
        ],
        "summary": "Activate transcoding file (by file ID)",
        "description": "Activates a specific transcoding file so that the video at the specified quality can be played in the player.",
        "operationId": "enableMediaContentTranscodingFile",
        "parameters": [
          {
            "name": "upload_file_key",
            "in": "path",
            "description": "Upload file key",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "transcoding_file_id",
            "in": "path",
            "description": "Transcoding file ID",
            "required": true,
            "schema": {
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/ApiVodTranscodingFile"
                    },
                    "status": {
                      "description": "Processing result\n- `ok`: success\n- `fail`: failure",
                      "type": "string"
                    }
                  },
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Bad request"
          },
          "401": {
            "description": "Unauthenticated"
          },
          "404": {
            "description": "Not found"
          }
        },
        "security": [
          {
            "kollus_api_access_token": []
          }
        ]
      }
    },
    "/media-contents/{upload_file_key}/media-profiles/{profile_key}/enable": {
      "put": {
        "tags": [
          "트랜스코딩 관리"
        ],
        "summary": "Activate transcoding file (by profile key)",
        "description": "Changes the transcoding file created based on a specific encoding profile key to an active state so that the video at the specified quality can be played in the player.",
        "operationId": "enableMediaContentMediaProfile",
        "parameters": [
          {
            "name": "upload_file_key",
            "in": "path",
            "description": "Upload file key",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "profile_key",
            "in": "path",
            "description": "Encoding profile key",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/ApiVodTranscodingFile"
                    },
                    "status": {
                      "description": "Processing result\n- `ok`: success\n- `fail`: failure",
                      "type": "string"
                    }
                  },
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Bad request"
          },
          "401": {
            "description": "Unauthenticated"
          },
          "404": {
            "description": "Not found"
          }
        },
        "security": [
          {
            "kollus_api_access_token": []
          }
        ]
      }
    },
    "/media-contents/{upload_file_key}/transcoding-files/{transcoding_file_id}/disable": {
      "put": {
        "tags": [
          "트랜스코딩 관리"
        ],
        "summary": "Deactivate transcoding file (by file ID)",
        "description": "Changes a specific transcoding file to an inactive state to temporarily restrict playback of the video at the specified quality.",
        "operationId": "disableMediaContentTranscodingFile",
        "parameters": [
          {
            "name": "upload_file_key",
            "in": "path",
            "description": "Upload file key",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "transcoding_file_id",
            "in": "path",
            "description": "Transcoding file ID",
            "required": true,
            "schema": {
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/ApiVodTranscodingFile"
                    },
                    "status": {
                      "description": "Processing result\n- `ok`: success\n- `fail`: failure",
                      "type": "string"
                    }
                  },
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Bad request"
          },
          "401": {
            "description": "Unauthenticated"
          },
          "404": {
            "description": "Not found"
          }
        },
        "security": [
          {
            "kollus_api_access_token": []
          }
        ]
      }
    },
    "/media-contents/{upload_file_key}/media-profiles/{profile_key}/disable": {
      "put": {
        "tags": [
          "트랜스코딩 관리"
        ],
        "summary": "Deactivate transcoding file (by profile key)",
        "description": "Changes the transcoding file created based on a specific encoding profile key to an inactive state to temporarily restrict playback of the video at the specified quality.",
        "operationId": "disableMediaContentMediaProfile",
        "parameters": [
          {
            "name": "upload_file_key",
            "in": "path",
            "description": "Upload file key",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "profile_key",
            "in": "path",
            "description": "Encoding profile key",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/ApiVodTranscodingFile"
                    },
                    "status": {
                      "description": "Processing result\n- `ok`: success\n- `fail`: failure",
                      "type": "string"
                    }
                  },
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Bad request"
          },
          "401": {
            "description": "Unauthenticated"
          },
          "404": {
            "description": "Not found"
          }
        },
        "security": [
          {
            "kollus_api_access_token": []
          }
        ]
      }
    },
    "/media-contents/{upload_file_key}/transcoding-files/{transcoding_file_id}": {
      "delete": {
        "tags": [
          "트랜스코딩 관리"
        ],
        "summary": "Delete transcoding file (by file ID)",
        "description": "Permanently deletes a specific transcoding file from the system.",
        "operationId": "deleteMediaContentTranscodingFile",
        "parameters": [
          {
            "name": "upload_file_key",
            "in": "path",
            "description": "Upload file key",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "transcoding_file_id",
            "in": "path",
            "description": "Transcoding file ID",
            "required": true,
            "schema": {
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "type": "array",
                      "items": {},
                      "default": "[]"
                    },
                    "status": {
                      "description": "Processing result\n- `ok`: success\n- `fail`: failure",
                      "type": "string"
                    }
                  },
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Bad request"
          },
          "401": {
            "description": "Unauthenticated"
          },
          "404": {
            "description": "Not found"
          }
        },
        "security": [
          {
            "kollus_api_access_token": []
          }
        ]
      }
    },
    "/media-contents/{upload_file_key}/media-profiles/{profile_key}": {
      "delete": {
        "tags": [
          "트랜스코딩 관리"
        ],
        "summary": "Delete transcoding file (by profile key)",
        "description": "Permanently deletes the transcoding file created based on a specific encoding profile key from the system.",
        "operationId": "deleteMediaContentMediaProfile",
        "parameters": [
          {
            "name": "upload_file_key",
            "in": "path",
            "description": "Upload file key",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "profile_key",
            "in": "path",
            "description": "Encoding profile key",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "type": "array",
                      "items": {},
                      "default": "[]"
                    },
                    "status": {
                      "description": "Processing result\n- `ok`: success\n- `fail`: failure",
                      "type": "string"
                    }
                  },
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Bad request"
          },
          "401": {
            "description": "Unauthenticated"
          },
          "404": {
            "description": "Not found"
          }
        },
        "security": [
          {
            "kollus_api_access_token": []
          }
        ]
      }
    },
    "/media-contents/{upload_file_key}/ai-subtitles": {
      "post": {
        "tags": [
          "AI 서비스",
          "자막 관리"
        ],
        "summary": "Create AI subtitle",
        "description": "Uses AI-based speech recognition (STT) technology to analyze the audio data of content in real time and automatically converts it into a text-based subtitle file for registration.",
        "operationId": "createMediaContentAiSubtitle",
        "parameters": [
          {
            "name": "upload_file_key",
            "in": "path",
            "description": "Upload file key",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/x-www-form-urlencoded": {
              "schema": {
                "required": [
                  "language_code",
                  "status",
                  "kind"
                ],
                "properties": {
                  "language_code": {
                    "description": "Primary language used in the video or audio",
                    "type": "string",
                    "enum": [
                      "ko",
                      "en"
                    ]
                  },
                  "kind": {
                    "description": "AI subtitle type setting\n- `0`: Main subtitle\n- `1`: Sub subtitle",
                    "type": "integer",
                    "enum": [
                      0,
                      1
                    ]
                  },
                  "status": {
                    "description": "AI subtitle visibility setting\n- `0`: Private\n- `1`: Public",
                    "type": "integer",
                    "enum": [
                      0,
                      1
                    ]
                  }
                },
                "type": "object"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "type": "object"
                    },
                    "status": {
                      "description": "Processing result\n- `ok`: success\n- `fail`: failure",
                      "type": "string"
                    }
                  },
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Bad request"
          },
          "401": {
            "description": "Unauthenticated"
          },
          "404": {
            "description": "Not found"
          },
          "422": {
            "description": "Unprocessable entity"
          }
        },
        "security": [
          {
            "kollus_api_access_token": []
          }
        ]
      }
    },
    "/media-contents/{upload_file_key}/ai-outlines": {
      "get": {
        "tags": [
          "AI 서비스"
        ],
        "summary": "Retrieve AI summary & chapter data",
        "description": "Retrieves AI-generated summary information, chapter divisions, and key keyword data for specific content. Results can be filtered by subtitle language code (`language_code`).",
        "operationId": "getMediaContentAiOutlines",
        "parameters": [
          {
            "name": "upload_file_key",
            "in": "path",
            "description": "Upload file key",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "language_code",
            "in": "query",
            "description": "Subtitle language code",
            "schema": {
              "type": "string",
              "enum": [
                "ko",
                "en"
              ]
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/ApiVodMediaContentOutline"
                      }
                    }
                  },
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Bad request"
          },
          "401": {
            "description": "Unauthenticated"
          },
          "404": {
            "description": "Not found"
          }
        },
        "security": [
          {
            "kollus_api_access_token": []
          }
        ]
      },
      "post": {
        "tags": [
          "AI 서비스"
        ],
        "summary": "Create AI summary & chapter data",
        "description": "Generates AI-based summary information, chapter segmentation, and key keyword data for specific content.",
        "operationId": "createMediaContentAiOutline",
        "parameters": [
          {
            "name": "upload_file_key",
            "in": "path",
            "description": "Upload file key",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/x-www-form-urlencoded": {
              "schema": {
                "required": [
                  "language_code"
                ],
                "properties": {
                  "language_code": {
                    "description": "Primary language used in the video or audio",
                    "type": "string",
                    "enum": [
                      "ko",
                      "en"
                    ]
                  },
                  "ai_subtitle_kind": {
                    "description": "AI subtitle type setting\n- `0`: Main subtitle\n- `1`: Sub subtitle",
                    "type": "integer",
                    "enum": [
                      0,
                      1
                    ]
                  },
                  "ai_subtitle_status": {
                    "description": "AI subtitle visibility setting\n- `0`: Private\n- `1`: Public",
                    "type": "integer",
                    "enum": [
                      0,
                      1
                    ]
                  }
                },
                "type": "object"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "type": "object"
                    },
                    "status": {
                      "description": "Processing result\n- `ok`: success\n- `fail`: failure",
                      "type": "string"
                    }
                  },
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Bad request"
          },
          "401": {
            "description": "Unauthenticated"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not found"
          },
          "409": {
            "description": "Conflict"
          },
          "422": {
            "description": "Unprocessable entity"
          }
        },
        "security": [
          {
            "kollus_api_access_token": []
          }
        ]
      }
    },
    "/media-contents/{upload_file_key}/ai-scripts": {
      "post": {
        "tags": [
          "AI 서비스"
        ],
        "summary": "Convert content to AI speed",
        "description": "Converts specific content to content with AI speed feature applied. All transcoding files are converted. An email or callback notification is sent upon completion of the conversion.",
        "operationId": "createMediaContentAiScript",
        "parameters": [
          {
            "name": "upload_file_key",
            "in": "path",
            "description": "Upload file key",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "type": "object"
                    },
                    "status": {
                      "description": "Processing result\n- `ok`: success\n- `fail`: failure",
                      "type": "string"
                    }
                  },
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Bad request"
          },
          "401": {
            "description": "Unauthenticated"
          },
          "404": {
            "description": "Not found"
          },
          "422": {
            "description": "Unprocessable entity"
          }
        },
        "security": [
          {
            "kollus_api_access_token": []
          }
        ]
      }
    },
    "/media-contents/{upload_file_key}/subtitles": {
      "get": {
        "tags": [
          "자막 관리"
        ],
        "summary": "Retrieve subtitle list",
        "description": "Retrieves the complete subtitle list registered for specific content. You can filter by subtitle name (`name`) or subtitle language code (`language_code`).",
        "operationId": "getMediaContentSubtitles",
        "parameters": [
          {
            "name": "upload_file_key",
            "in": "path",
            "description": "Upload file key",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "name",
            "in": "query",
            "description": "Subtitle name",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "language_code",
            "in": "query",
            "description": "Subtitle language code",
            "schema": {
              "type": "string",
              "enum": [
                "ko",
                "en"
              ]
            }
          },
          {
            "name": "status",
            "in": "query",
            "description": "Subtitle visibility filter\n- `0`: Private\n- `1`: Public",
            "schema": {
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/ApiVodMediaContentSubtitle"
                      }
                    }
                  },
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Bad request"
          },
          "401": {
            "description": "Unauthenticated"
          },
          "404": {
            "description": "Not found"
          }
        },
        "security": [
          {
            "kollus_api_access_token": []
          }
        ]
      },
      "post": {
        "tags": [
          "자막 관리"
        ],
        "summary": "Register subtitle",
        "description": "Creates a subtitle for specific content by directly entering subtitle text content.",
        "operationId": "createMediaContentSubtitle",
        "parameters": [
          {
            "name": "upload_file_key",
            "in": "path",
            "description": "Upload file key",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/x-www-form-urlencoded": {
              "schema": {
                "required": [
                  "body",
                  "type",
                  "kind",
                  "name",
                  "language_code"
                ],
                "properties": {
                  "body": {
                    "description": "Actual subtitle text",
                    "type": "string"
                  },
                  "type": {
                    "description": "Subtitle file format",
                    "type": "string",
                    "enum": [
                      "vtt",
                      "srt"
                    ]
                  },
                  "kind": {
                    "description": "Subtitle type\n- `main`: Main subtitle\n- `sub`: Sub subtitle",
                    "type": "string",
                    "enum": [
                      "main",
                      "sub"
                    ]
                  },
                  "status": {
                    "description": "Subtitle visibility setting\n- `0`: Private\n- `1`: Public",
                    "type": "integer",
                    "default": 1,
                    "enum": [
                      0,
                      1
                    ]
                  },
                  "name": {
                    "description": "Subtitle name to display in the player subtitle list",
                    "type": "string"
                  },
                  "language_code": {
                    "description": "Subtitle language code",
                    "type": "string",
                    "enum": [
                      "ko",
                      "en"
                    ]
                  }
                },
                "type": "object"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/ApiVodMediaContentSubtitle"
                    },
                    "status": {
                      "description": "Processing result\n- `ok`: success\n- `fail`: failure",
                      "type": "string"
                    }
                  },
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Bad request"
          },
          "401": {
            "description": "Unauthenticated"
          },
          "404": {
            "description": "Not found"
          },
          "422": {
            "description": "Unprocessable entity"
          }
        },
        "security": [
          {
            "kollus_api_access_token": []
          }
        ]
      }
    },
    "/media-contents/{upload_file_key}/subtitles/upload": {
      "post": {
        "tags": [
          "자막 관리"
        ],
        "summary": "Upload new subtitle file",
        "description": "Creates subtitle information for specified content by uploading a subtitle file.",
        "operationId": "uploadMediaContentSubtitle",
        "parameters": [
          {
            "name": "upload_file_key",
            "in": "path",
            "description": "Upload file key",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "multipart/form-data": {
              "schema": {
                "required": [
                  "file",
                  "language_code",
                  "kind"
                ],
                "properties": {
                  "file": {
                    "description": "Subtitle file (VTT or SRT)",
                    "type": "string",
                    "format": "binary"
                  },
                  "name": {
                    "description": "Subtitle name to display in the player subtitle list",
                    "type": "string"
                  },
                  "language_code": {
                    "description": "Subtitle language code",
                    "type": "string",
                    "enum": [
                      "ko",
                      "en"
                    ]
                  },
                  "kind": {
                    "description": "Subtitle type\n- `main`: Main subtitle\n- `sub`: Sub subtitle",
                    "type": "string",
                    "enum": [
                      "main",
                      "sub"
                    ]
                  },
                  "status": {
                    "description": "Subtitle visibility setting\n- `0`: Private\n- `1`: Public",
                    "type": "integer",
                    "default": 1,
                    "enum": [
                      0,
                      1
                    ]
                  }
                },
                "type": "object"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/ApiVodMediaContentSubtitle"
                    },
                    "status": {
                      "description": "Processing result\n- `ok`: success\n- `fail`: failure",
                      "type": "string"
                    }
                  },
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Bad request"
          },
          "401": {
            "description": "Unauthenticated"
          },
          "404": {
            "description": "Not found"
          },
          "422": {
            "description": "Unprocessable entity"
          }
        },
        "security": [
          {
            "kollus_api_access_token": []
          }
        ]
      }
    },
    "/media-contents/{upload_file_key}/subtitles/{subtitle_id}/upload": {
      "post": {
        "tags": [
          "자막 관리"
        ],
        "summary": "Update subtitle file",
        "description": "Replaces existing subtitle data with a new subtitle file.",
        "operationId": "updateMediaContentSubtitleFile",
        "parameters": [
          {
            "name": "upload_file_key",
            "in": "path",
            "description": "Upload file key",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "subtitle_id",
            "in": "path",
            "description": "Subtitle ID to update",
            "required": true,
            "schema": {
              "type": "integer"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "multipart/form-data": {
              "schema": {
                "required": [
                  "file",
                  "language_code",
                  "kind"
                ],
                "properties": {
                  "file": {
                    "description": "New subtitle file (VTT or SRT)",
                    "type": "string",
                    "format": "binary"
                  },
                  "name": {
                    "description": "Subtitle name to display in the player subtitle list",
                    "type": "string"
                  },
                  "language_code": {
                    "description": "Subtitle language code",
                    "type": "string",
                    "enum": [
                      "ko",
                      "en"
                    ]
                  },
                  "kind": {
                    "description": "Subtitle type\n- `main`: Main subtitle\n- `sub`: Sub subtitle",
                    "type": "string",
                    "enum": [
                      "main",
                      "sub"
                    ]
                  },
                  "status": {
                    "description": "Subtitle visibility setting\n- `0`: Private\n- `1`: Public\n\nIf no value is entered, the existing setting is retained.",
                    "type": "integer",
                    "enum": [
                      0,
                      1
                    ]
                  }
                },
                "type": "object"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/ApiVodMediaContentSubtitle"
                    },
                    "status": {
                      "description": "Processing result\n- `ok`: success\n- `fail`: failure",
                      "type": "string"
                    }
                  },
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Bad request"
          },
          "401": {
            "description": "Unauthenticated"
          },
          "404": {
            "description": "Not found"
          },
          "422": {
            "description": "Unprocessable entity"
          }
        },
        "security": [
          {
            "kollus_api_access_token": []
          }
        ]
      }
    },
    "/media-contents/{upload_file_key}/subtitles/{subtitle_id}": {
      "get": {
        "tags": [
          "자막 관리"
        ],
        "summary": "Retrieve subtitle information",
        "description": "Retrieves detailed information for a specific subtitle.",
        "operationId": "getMediaContentSubtitle",
        "parameters": [
          {
            "name": "upload_file_key",
            "in": "path",
            "description": "Upload file key",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "subtitle_id",
            "in": "path",
            "description": "Subtitle ID",
            "required": true,
            "schema": {
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/ApiVodMediaContentSubtitle"
                    }
                  },
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Bad request"
          },
          "401": {
            "description": "Unauthenticated"
          },
          "404": {
            "description": "Not found"
          }
        },
        "security": [
          {
            "kollus_api_access_token": []
          }
        ]
      },
      "put": {
        "tags": [
          "자막 관리"
        ],
        "summary": "Update subtitle information",
        "description": "Updates information such as the content or language settings of an existing registered subtitle.",
        "operationId": "updateMediaContentSubtitle",
        "parameters": [
          {
            "name": "upload_file_key",
            "in": "path",
            "description": "Upload file key",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "subtitle_id",
            "in": "path",
            "description": "Subtitle ID to update",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/x-www-form-urlencoded": {
              "schema": {
                "required": [
                  "body",
                  "type",
                  "kind",
                  "name",
                  "language_code"
                ],
                "properties": {
                  "body": {
                    "description": "Actual subtitle text",
                    "type": "string"
                  },
                  "type": {
                    "description": "Subtitle file format",
                    "type": "string",
                    "enum": [
                      "vtt",
                      "srt"
                    ]
                  },
                  "kind": {
                    "description": "Subtitle type\n- `main`: Main subtitle\n- `sub`: Sub subtitle",
                    "type": "string",
                    "enum": [
                      "main",
                      "sub"
                    ]
                  },
                  "status": {
                    "description": "Subtitle visibility setting\n- `0`: Private\n- `1`: Public\n\nIf no value is entered, the existing setting is retained.",
                    "type": "integer",
                    "enum": [
                      0,
                      1
                    ]
                  },
                  "name": {
                    "description": "Subtitle name to display in the player subtitle list",
                    "type": "string"
                  },
                  "language_code": {
                    "description": "Subtitle language code",
                    "type": "string",
                    "enum": [
                      "ko",
                      "en"
                    ]
                  }
                },
                "type": "object"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/ApiVodMediaContentSubtitle"
                    },
                    "status": {
                      "description": "Processing result\n- `ok`: success\n- `fail`: failure",
                      "type": "string"
                    }
                  },
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Bad request"
          },
          "401": {
            "description": "Unauthenticated"
          },
          "404": {
            "description": "Not found"
          },
          "422": {
            "description": "Unprocessable entity"
          }
        },
        "security": [
          {
            "kollus_api_access_token": []
          }
        ]
      },
      "delete": {
        "tags": [
          "자막 관리"
        ],
        "summary": "Delete subtitle",
        "description": "Permanently deletes a specific subtitle from the system.",
        "operationId": "deleteMediaContentSubtitle",
        "parameters": [
          {
            "name": "upload_file_key",
            "in": "path",
            "description": "Upload file key",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "subtitle_id",
            "in": "path",
            "description": "Subtitle ID to delete",
            "required": true,
            "schema": {
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "type": "array",
                      "items": {},
                      "default": "[]"
                    },
                    "status": {
                      "description": "Processing result\n- `ok`: success\n- `fail`: failure",
                      "type": "string"
                    }
                  },
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Bad request"
          },
          "401": {
            "description": "Unauthenticated"
          },
          "404": {
            "description": "Not found"
          },
          "422": {
            "description": "Unprocessable entity"
          }
        },
        "security": [
          {
            "kollus_api_access_token": []
          }
        ]
      }
    },
    "/media-contents/{upload_file_key}/subtitles/{subtitle_id}/move": {
      "put": {
        "tags": [
          "자막 관리"
        ],
        "summary": "Change subtitle display order (specific position)",
        "description": "Changes the display order of the specified subtitle in the player subtitle selection list to the position of the subtitle specified by the `id` parameter.",
        "operationId": "moveMediaContentSubtitle",
        "parameters": [
          {
            "name": "upload_file_key",
            "in": "path",
            "description": "Upload file key",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "subtitle_id",
            "in": "path",
            "description": "Subtitle ID to reorder",
            "required": true,
            "schema": {
              "type": "integer"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/x-www-form-urlencoded": {
              "schema": {
                "required": [
                  "id"
                ],
                "properties": {
                  "id": {
                    "description": "Subtitle ID of the target position",
                    "type": "integer"
                  }
                },
                "type": "object"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/ApiVodMediaContentSubtitle"
                    },
                    "status": {
                      "description": "Processing result\n- `ok`: success\n- `fail`: failure",
                      "type": "string"
                    }
                  },
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Bad request"
          },
          "401": {
            "description": "Unauthenticated"
          },
          "404": {
            "description": "Not found"
          },
          "422": {
            "description": "Unprocessable entity"
          }
        },
        "security": [
          {
            "kollus_api_access_token": []
          }
        ]
      }
    },
    "/media-contents/{upload_file_key}/subtitles/{subtitle_id}/move-first": {
      "put": {
        "tags": [
          "자막 관리"
        ],
        "summary": "Change subtitle display order (to top)",
        "description": "Displays the specified subtitle first in the player subtitle selection list.",
        "operationId": "moveMediaContentSubtitleToFirst",
        "parameters": [
          {
            "name": "upload_file_key",
            "in": "path",
            "description": "Upload file key",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "subtitle_id",
            "in": "path",
            "description": "Subtitle ID to reorder",
            "required": true,
            "schema": {
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/ApiVodMediaContentSubtitle"
                    },
                    "status": {
                      "description": "Processing result\n- `ok`: success\n- `fail`: failure",
                      "type": "string"
                    }
                  },
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Bad request"
          },
          "401": {
            "description": "Unauthenticated"
          },
          "404": {
            "description": "Not found"
          },
          "422": {
            "description": "Unprocessable entity"
          }
        },
        "security": [
          {
            "kollus_api_access_token": []
          }
        ]
      }
    },
    "/media-contents/{upload_file_key}/subtitles/{subtitle_id}/move-last": {
      "put": {
        "tags": [
          "자막 관리"
        ],
        "summary": "Change subtitle display order (to bottom)",
        "description": "Displays the specified subtitle last in the player subtitle selection list.",
        "operationId": "moveMediaContentSubtitleToLast",
        "parameters": [
          {
            "name": "upload_file_key",
            "in": "path",
            "description": "Upload file key",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "subtitle_id",
            "in": "path",
            "description": "Subtitle ID to reorder",
            "required": true,
            "schema": {
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/ApiVodMediaContentSubtitle"
                    },
                    "status": {
                      "description": "Processing result\n- `ok`: success\n- `fail`: failure",
                      "type": "string"
                    }
                  },
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Bad request"
          },
          "401": {
            "description": "Unauthenticated"
          },
          "404": {
            "description": "Not found"
          },
          "422": {
            "description": "Unprocessable entity"
          }
        },
        "security": [
          {
            "kollus_api_access_token": []
          }
        ]
      }
    },
    "/media-content-keys/{media_content_key}/bookmarks": {
      "get": {
        "tags": [
          "북마크 관리"
        ],
        "summary": "Retrieve bookmark list (by media content key)",
        "description": "Retrieves the list of bookmarks added by a specific user to a specific content.",
        "operationId": "getMediaContentKeyBookmarks",
        "parameters": [
          {
            "name": "media_content_key",
            "in": "path",
            "description": "Media content key",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "client_user_id",
            "in": "query",
            "description": "Customer user ID",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/ApiVodBookmark"
                      }
                    }
                  },
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Bad request"
          },
          "401": {
            "description": "Unauthenticated"
          },
          "404": {
            "description": "Not found"
          }
        },
        "security": [
          {
            "kollus_api_access_token": []
          }
        ]
      }
    },
    "/media-contents/{upload_file_key}/bookmarks": {
      "get": {
        "tags": [
          "북마크 관리"
        ],
        "summary": "Retrieve bookmark list (by upload file key)",
        "description": "Retrieves the list of bookmarks added to a specific content. If the `client_user_id` parameter is specified, only the bookmarks added by the specified user are retrieved.",
        "operationId": "getMediaContentBookmarks",
        "parameters": [
          {
            "name": "upload_file_key",
            "in": "path",
            "description": "Upload file key",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "client_user_id",
            "in": "query",
            "description": "Customer user ID",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/ApiVodBookmark"
                      }
                    }
                  },
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Bad request"
          },
          "401": {
            "description": "Unauthenticated"
          },
          "404": {
            "description": "Not found"
          }
        },
        "security": [
          {
            "kollus_api_access_token": []
          }
        ]
      },
      "post": {
        "tags": [
          "북마크 관리"
        ],
        "summary": "Add bookmark",
        "description": "Adds a bookmark at a specific point in the content.",
        "operationId": "createMediaContentBookmark",
        "parameters": [
          {
            "name": "upload_file_key",
            "in": "path",
            "description": "Upload file key",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/x-www-form-urlencoded": {
              "schema": {
                "required": [
                  "position"
                ],
                "properties": {
                  "position": {
                    "description": "Bookmark position (unit: seconds)",
                    "type": "string"
                  },
                  "value": {
                    "description": "Bookmark content",
                    "type": "string"
                  }
                },
                "type": "object"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/ApiVodBookmark"
                    },
                    "status": {
                      "description": "Processing result\n- `ok`: success\n- `fail`: failure",
                      "type": "string"
                    }
                  },
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Bad request"
          },
          "401": {
            "description": "Unauthenticated"
          },
          "404": {
            "description": "Not found"
          },
          "422": {
            "description": "Unprocessable entity"
          }
        },
        "security": [
          {
            "kollus_api_access_token": []
          }
        ]
      }
    },
    "/media-contents/{upload_file_key}/bookmarks/{bookmark_id}": {
      "put": {
        "tags": [
          "북마크 관리"
        ],
        "summary": "Update bookmark",
        "description": "Updates the content of an existing bookmark.",
        "operationId": "updateMediaContentBookmark",
        "parameters": [
          {
            "name": "upload_file_key",
            "in": "path",
            "description": "Upload file key",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "bookmark_id",
            "in": "path",
            "description": "Bookmark ID",
            "required": true,
            "schema": {
              "type": "integer"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/x-www-form-urlencoded": {
              "schema": {
                "properties": {
                  "value": {
                    "description": "Bookmark content to update",
                    "type": "string"
                  }
                },
                "type": "object"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/ApiVodBookmark"
                    },
                    "status": {
                      "description": "Processing result\n- `ok`: success\n- `fail`: failure",
                      "type": "string"
                    }
                  },
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Bad request"
          },
          "401": {
            "description": "Unauthenticated"
          },
          "404": {
            "description": "Not found"
          },
          "422": {
            "description": "Unprocessable entity"
          }
        },
        "security": [
          {
            "kollus_api_access_token": []
          }
        ]
      },
      "delete": {
        "tags": [
          "북마크 관리"
        ],
        "summary": "Delete bookmark",
        "description": "Deletes a saved bookmark using the bookmark ID.",
        "operationId": "deleteMediaContentBookmark",
        "parameters": [
          {
            "name": "upload_file_key",
            "in": "path",
            "description": "Upload file key",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "bookmark_id",
            "in": "path",
            "description": "Bookmark ID",
            "required": true,
            "schema": {
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "type": "array",
                      "items": {},
                      "default": "[]"
                    },
                    "status": {
                      "description": "Processing result\n- `ok`: success\n- `fail`: failure",
                      "type": "string"
                    }
                  },
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Bad request"
          },
          "401": {
            "description": "Unauthenticated"
          },
          "404": {
            "description": "Not found"
          },
          "422": {
            "description": "Unprocessable entity"
          }
        },
        "security": [
          {
            "kollus_api_access_token": []
          }
        ]
      }
    },
    "/media-profiles/format": {
      "get": {
        "tags": [
          "인코딩 프로파일 관리"
        ],
        "summary": "Retrieve all supported specifications",
        "description": "Retrieves standard format information for video and audio encoding profiles supported by the system.",
        "operationId": "getMediaProfileFormats",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/ApiProfileFormat"
                      }
                    }
                  },
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Bad request"
          },
          "401": {
            "description": "Unauthenticated"
          },
          "404": {
            "description": "Not found"
          }
        },
        "security": [
          {
            "kollus_api_access_token": []
          }
        ]
      }
    },
    "/media-profiles/preset": {
      "get": {
        "tags": [
          "인코딩 프로파일 관리"
        ],
        "summary": "Retrieve encoding profile preset list",
        "description": "Retrieves a list of standard presets that can be used as templates when creating an encoding profile.",
        "operationId": "getMediaProfilePresets",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/ApiVodMediaProfilePreset"
                      }
                    }
                  },
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Bad request"
          },
          "401": {
            "description": "Unauthenticated"
          },
          "404": {
            "description": "Not found"
          }
        },
        "security": [
          {
            "kollus_api_access_token": []
          }
        ]
      }
    },
    "/media-profile-groups": {
      "get": {
        "tags": [
          "인코딩 프로파일 관리"
        ],
        "summary": "Retrieve encoding profile group list",
        "description": "Retrieves the full list of encoding profile groups registered in the system.",
        "operationId": "getMediaProfileGroups",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/ApiVodMediaProfileGroup"
                      }
                    }
                  },
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Bad request"
          },
          "401": {
            "description": "Unauthenticated"
          },
          "404": {
            "description": "Not found"
          }
        },
        "security": [
          {
            "kollus_api_access_token": []
          }
        ]
      }
    },
    "/media-profiles": {
      "get": {
        "tags": [
          "인코딩 프로파일 관리"
        ],
        "summary": "Retrieve encoding profile list",
        "description": "Retrieves the full list of encoding profiles.",
        "operationId": "getMediaProfiles",
        "parameters": [
          {
            "name": "order",
            "in": "query",
            "description": "Data sort criteria",
            "schema": {
              "type": "string",
              "default": "id_asc",
              "enum": [
                "id_asc",
                "id_desc",
                "name_asc",
                "name_desc"
              ]
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/ApiVodMediaProfile"
                      }
                    }
                  },
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Bad request"
          },
          "401": {
            "description": "Unauthenticated"
          },
          "404": {
            "description": "Not found"
          }
        },
        "security": [
          {
            "kollus_api_access_token": []
          }
        ]
      },
      "post": {
        "tags": [
          "인코딩 프로파일 관리"
        ],
        "summary": "Create new encoding profile",
        "description": "Creates a new encoding profile based on a preset ID.",
        "operationId": "createMediaProfile",
        "requestBody": {
          "required": true,
          "content": {
            "application/x-www-form-urlencoded": {
              "schema": {
                "required": [
                  "media_profile_preset_id"
                ],
                "properties": {
                  "media_profile_preset_id": {
                    "description": "Encoding profile preset ID",
                    "type": "integer"
                  }
                },
                "type": "object"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/ApiVodMediaProfile"
                    },
                    "status": {
                      "description": "Processing result\n- `ok`: success\n- `fail`: failure",
                      "type": "string"
                    }
                  },
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Bad request"
          },
          "401": {
            "description": "Unauthenticated"
          },
          "404": {
            "description": "Not found"
          },
          "422": {
            "description": "Unprocessable entity"
          }
        },
        "security": [
          {
            "kollus_api_access_token": []
          }
        ]
      }
    },
    "/media-profiles/{media_profile_key}": {
      "get": {
        "tags": [
          "인코딩 프로파일 관리"
        ],
        "summary": "Retrieve encoding profile detailed specifications",
        "description": "Retrieves the detailed technical specifications of a specific encoding profile.",
        "operationId": "getMediaProfile",
        "parameters": [
          {
            "name": "media_profile_key",
            "in": "path",
            "description": "Encoding profile key",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/ApiVodMediaProfile"
                    }
                  },
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Bad request"
          },
          "401": {
            "description": "Unauthenticated"
          },
          "404": {
            "description": "Not found"
          }
        },
        "security": [
          {
            "kollus_api_access_token": []
          }
        ]
      },
      "put": {
        "tags": [
          "인코딩 프로파일 관리"
        ],
        "summary": "Update encoding profile detailed specifications",
        "description": "Updates detailed specifications of an encoding profile such as codec, resolution, and bitrate. Depending on whether hardware encoding is used, some advanced codec (H.265, AV1) settings may be restricted.",
        "operationId": "updateMediaProfile",
        "parameters": [
          {
            "name": "media_profile_key",
            "in": "path",
            "description": "Encoding profile key",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/x-www-form-urlencoded": {
              "schema": {
                "properties": {
                  "name": {
                    "description": "Encoding profile name",
                    "type": "string"
                  },
                  "video_codec": {
                    "description": "Video codec (H.265/AV1 supported only with hardware encoding)",
                    "type": "string",
                    "enum": [
                      "H.264/MPEG-4 AVC",
                      "H.264/MPEG-4 AVC (Baseline@L1.3 Mobile)",
                      "H.264/MPEG-4 AVC (Baseline@L3.0)",
                      "H.264/MPEG-4 AVC (Main@L3.0)",
                      "H.264/MPEG-4 AVC (High@L3.0)",
                      "H.264/MPEG-4 AVC (High@L4.1)",
                      "MPEG-4 Video (MP4V)",
                      "H.265 (Main)",
                      "H.265 (Baseline)",
                      "H.265 (High)",
                      "AV1 (Main)",
                      "AV1 (Main10)"
                    ]
                  },
                  "video_ratio": {
                    "description": "Video aspect ratio (can be set to `Auto` when using transcoder 2.0; if the ratio does not match, it is adjusted based on width)",
                    "type": "string",
                    "enum": [
                      "16:9",
                      "16:10",
                      "4:3",
                      "21:9",
                      "Custom",
                      "Auto (Width)",
                      "Auto (Height)"
                    ]
                  },
                  "video_width": {
                    "description": "Video horizontal resolution (px)",
                    "type": "integer",
                    "maximum": 4096,
                    "minimum": 0
                  },
                  "video_height": {
                    "description": "Video vertical resolution (px)",
                    "type": "integer",
                    "maximum": 2160,
                    "minimum": 0
                  },
                  "container_format": {
                    "description": "Container format",
                    "type": "string",
                    "enum": [
                      "mp4",
                      "MP4"
                    ]
                  },
                  "bitrate_mode": {
                    "description": "Bitrate mode",
                    "type": "string",
                    "enum": [
                      "cbr",
                      "vbr"
                    ]
                  },
                  "video_bitrate": {
                    "description": "Video bitrate (kbps)",
                    "type": "integer",
                    "maximum": 100000,
                    "minimum": 0
                  },
                  "video_framerate": {
                    "description": "Video framerate (fps)",
                    "type": "number"
                  },
                  "audio_codec": {
                    "description": "Audio codec",
                    "type": "string",
                    "enum": [
                      "AAC",
                      "MP3"
                    ]
                  },
                  "audio_bitrate": {
                    "description": "Audio bitrate (Kbps)",
                    "type": "integer",
                    "enum": [
                      48,
                      56,
                      64,
                      96,
                      128,
                      192,
                      256,
                      320
                    ]
                  },
                  "audio_samplerate": {
                    "description": "Audio sample rate (Hz)",
                    "type": "integer",
                    "enum": [
                      11025,
                      22050,
                      44100,
                      48000
                    ]
                  },
                  "status": {
                    "description": "Encoding profile activation setting\n- `0`: inactive\n- `1`: active",
                    "type": "integer",
                    "enum": [
                      0,
                      1
                    ]
                  }
                },
                "type": "object"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/ApiVodMediaProfile"
                    },
                    "status": {
                      "description": "Processing result\n- `ok`: success\n- `fail`: failure",
                      "type": "string"
                    }
                  },
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Bad request"
          },
          "401": {
            "description": "Unauthenticated"
          },
          "404": {
            "description": "Not found"
          },
          "422": {
            "description": "Unprocessable entity"
          }
        },
        "security": [
          {
            "kollus_api_access_token": []
          }
        ]
      }
    },
    "/media-profiles/{media_profile_key}/categories/{category_key}/attach": {
      "post": {
        "tags": [
          "인코딩 프로파일 관리"
        ],
        "summary": "Connect profile to category",
        "description": "Connects a specific encoding profile to a category.",
        "operationId": "attachCategoryToMediaProfile",
        "parameters": [
          {
            "name": "media_profile_key",
            "in": "path",
            "description": "Encoding profile key",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "category_key",
            "in": "path",
            "description": "Category key",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "201": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/ApiVodMediaProfile"
                    },
                    "status": {
                      "description": "Processing result\n- `ok`: success\n- `fail`: failure",
                      "type": "string"
                    }
                  },
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Bad request"
          },
          "401": {
            "description": "Unauthenticated"
          },
          "404": {
            "description": "Not found"
          },
          "422": {
            "description": "Unprocessable entity"
          }
        },
        "security": [
          {
            "kollus_api_access_token": []
          }
        ]
      }
    },
    "/media-profiles/{media_profile_key}/categories/{category_key}/detach": {
      "delete": {
        "tags": [
          "인코딩 프로파일 관리"
        ],
        "summary": "Disconnect profile from category",
        "description": "Disconnects the link between an encoding profile and a category.",
        "operationId": "detachCategoryFromMediaProfile",
        "parameters": [
          {
            "name": "media_profile_key",
            "in": "path",
            "description": "Encoding profile key",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "category_key",
            "in": "path",
            "description": "Category key",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/ApiVodMediaProfile"
                      }
                    }
                  },
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Bad request"
          },
          "401": {
            "description": "Unauthenticated"
          },
          "404": {
            "description": "Not found"
          },
          "422": {
            "description": "Unprocessable entity"
          }
        },
        "security": [
          {
            "kollus_api_access_token": []
          }
        ]
      }
    },
    "/service-accounts/{service_account_key}/duplicate-blocks/logs": {
      "get": {
        "tags": [
          "중복 재생 차단 관리"
        ],
        "summary": "Retrieve duplicate playback prevention logs",
        "description": "Retrieves duplicate playback prevention logs that occurred in a specific service account.",
        "operationId": "getDuplicateBlockLogs",
        "parameters": [
          {
            "name": "service_account_key",
            "in": "path",
            "description": "Service account key",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "client_user_id",
            "in": "query",
            "description": "Customer user ID",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "player_id",
            "in": "query",
            "description": "Player (device) ID",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "start_date",
            "in": "query",
            "description": "Start date/time of the retrieval range",
            "schema": {
              "type": "string",
              "example": "2026-01-01 09:00:00 또는 2026-01-01"
            }
          },
          {
            "name": "end_date",
            "in": "query",
            "description": "End date/time of the retrieval range",
            "schema": {
              "type": "string",
              "example": "2026-02-01 11:59:59 또는 2026-02-01"
            }
          },
          {
            "name": "page",
            "in": "query",
            "description": "Page number to retrieve",
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "per_page",
            "in": "query",
            "description": "Number of data entries per page",
            "schema": {
              "type": "integer",
              "maximum": 100,
              "minimum": 1
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/ApiVodDuplicateBlockLog"
                      }
                    },
                    "pagination": {
                      "properties": {
                        "current_page": {
                          "description": "Current page number",
                          "type": "integer"
                        },
                        "per_page": {
                          "description": "Number of data entries per page",
                          "type": "integer"
                        },
                        "total": {
                          "description": "Total number of data entries",
                          "type": "integer"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Bad request"
          },
          "401": {
            "description": "Unauthenticated"
          },
          "404": {
            "description": "Not found"
          }
        },
        "security": [
          {
            "kollus_api_access_token": []
          }
        ]
      }
    },
    "/service-accounts/{service_account_key}/duplicate-blocks/players": {
      "get": {
        "tags": [
          "중복 재생 차단 관리"
        ],
        "summary": "Retrieve duplicate playback allowed devices",
        "description": "Retrieves the list of duplicate playback allowed devices registered for a specific user (`client_user_id`).",
        "operationId": "getDuplicateBlockPlayers",
        "parameters": [
          {
            "name": "service_account_key",
            "in": "path",
            "description": "Service account key",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "client_user_id",
            "in": "query",
            "description": "Customer user ID",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/ApiVodDuplicateBlockPlayerList"
                      }
                    }
                  },
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Bad request"
          },
          "401": {
            "description": "Unauthenticated"
          },
          "404": {
            "description": "Not found"
          }
        },
        "security": [
          {
            "kollus_api_access_token": []
          }
        ]
      },
      "delete": {
        "tags": [
          "중복 재생 차단 관리"
        ],
        "summary": "Delete duplicate playback allowed device",
        "description": "Deletes a specific device (`player_id`) from the allowed devices registered for a specific user (`client_user_id`).",
        "operationId": "deleteDuplicateBlockPlayers",
        "parameters": [
          {
            "name": "service_account_key",
            "in": "path",
            "description": "Service account key",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "client_user_id",
            "in": "query",
            "description": "Customer user ID",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "player_id",
            "in": "query",
            "description": "Player (device) ID",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "201": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "type": "array",
                      "items": {},
                      "default": "[]"
                    },
                    "status": {
                      "description": "Processing result\n- `ok`: success\n- `fail`: failure",
                      "type": "string"
                    }
                  },
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Bad request"
          },
          "401": {
            "description": "Unauthenticated"
          },
          "404": {
            "description": "Not found"
          },
          "422": {
            "description": "Unprocessable entity"
          }
        },
        "security": [
          {
            "kollus_api_access_token": []
          }
        ]
      }
    },
    "/service-accounts/{service_account_key}/duplicate-blocks/players/reset": {
      "post": {
        "tags": [
          "중복 재생 차단 관리"
        ],
        "summary": "Reset all duplicate playback allowed devices",
        "description": "Bulk deletes all duplicate playback allowed devices registered for a specific user (`client_user_id`).",
        "operationId": "resetDuplicateBlockPlayers",
        "parameters": [
          {
            "name": "service_account_key",
            "in": "path",
            "description": "Service account key",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/x-www-form-urlencoded": {
              "schema": {
                "required": [
                  "client_user_id"
                ],
                "properties": {
                  "client_user_id": {
                    "description": "Customer user ID",
                    "type": "string"
                  }
                },
                "type": "object"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "type": "array",
                      "items": {},
                      "default": "[]"
                    },
                    "status": {
                      "description": "Processing result\n- `ok`: success\n- `fail`: failure",
                      "type": "string"
                    }
                  },
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Bad request"
          },
          "401": {
            "description": "Unauthenticated"
          },
          "404": {
            "description": "Not found"
          },
          "422": {
            "description": "Unprocessable entity"
          }
        },
        "security": [
          {
            "kollus_api_access_token": []
          }
        ]
      }
    },
    "/player-skins": {
      "get": {
        "tags": [
          "플레이어 관리"
        ],
        "summary": "Retrieve player skin list",
        "description": "Retrieves the full list of player skins.",
        "operationId": "getPlayerSkins",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/ApiVodPlayerSkin"
                      }
                    }
                  },
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Bad request"
          },
          "401": {
            "description": "Unauthenticated"
          },
          "404": {
            "description": "Not found"
          }
        },
        "security": [
          {
            "kollus_api_access_token": []
          }
        ]
      }
    },
    "/player-skins/{player_skin_id}": {
      "delete": {
        "tags": [
          "플레이어 관리"
        ],
        "summary": "Delete player skin",
        "description": "Permanently deletes a specific player skin from the system.",
        "operationId": "deletePlayerSkin",
        "parameters": [
          {
            "name": "player_skin_id",
            "in": "path",
            "description": "Player skin ID",
            "required": true,
            "schema": {
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "type": "array",
                      "items": {},
                      "default": "[]"
                    },
                    "status": {
                      "description": "Processing result\n- `ok`: success\n- `fail`: failure",
                      "type": "string"
                    }
                  },
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Bad request"
          },
          "401": {
            "description": "Unauthenticated"
          },
          "404": {
            "description": "Not found"
          }
        },
        "security": [
          {
            "kollus_api_access_token": []
          }
        ]
      }
    },
    "/player-events": {
      "get": {
        "tags": [
          "플레이어 관리"
        ],
        "summary": "Retrieve player event list",
        "description": "Retrieves the full list of player events (advertisements).",
        "operationId": "getPlayerEvents",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/ApiVodPlayerEvent"
                      }
                    }
                  },
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Bad request"
          },
          "401": {
            "description": "Unauthenticated"
          },
          "404": {
            "description": "Not found"
          }
        },
        "security": [
          {
            "kollus_api_access_token": []
          }
        ]
      }
    },
    "/player-events/{player_event_id}": {
      "delete": {
        "tags": [
          "플레이어 관리"
        ],
        "summary": "Delete player event",
        "description": "Permanently deletes a specific player event from the system.",
        "operationId": "deletePlayerEvent",
        "parameters": [
          {
            "name": "player_event_id",
            "in": "path",
            "description": "Player event ID",
            "required": true,
            "schema": {
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "type": "array",
                      "items": {},
                      "default": "[]"
                    },
                    "status": {
                      "description": "Processing result\n- `ok`: success\n- `fail`: failure",
                      "type": "string"
                    }
                  },
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Bad request"
          },
          "401": {
            "description": "Unauthenticated"
          },
          "404": {
            "description": "Not found"
          }
        },
        "security": [
          {
            "kollus_api_access_token": []
          }
        ]
      }
    },
    "/statistics/content-rank": {
      "get": {
        "tags": [
          "통계"
        ],
        "summary": "Retrieve overall content viewing ranking",
        "description": "Retrieves a ranking list based on view counts for a specified period, aggregating content across all channels within the service account.",
        "operationId": "getContentRankStatistics",
        "parameters": [
          {
            "name": "start_date",
            "in": "query",
            "description": "Start date of the retrieval range",
            "required": true,
            "schema": {
              "type": "string",
              "example": "20260101"
            }
          },
          {
            "name": "end_date",
            "in": "query",
            "description": "End date of the retrieval range",
            "required": true,
            "schema": {
              "type": "string",
              "example": "20260201"
            }
          },
          {
            "name": "keyword",
            "in": "query",
            "description": "Search keyword filtering",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "start_index",
            "in": "query",
            "description": "Starting number of the result list",
            "schema": {
              "type": "integer",
              "default": 0
            }
          },
          {
            "name": "limit",
            "in": "query",
            "description": "Maximum number of data entries to output (`0`: retrieve all data)",
            "schema": {
              "type": "integer",
              "default": 10
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "result_data": {
                      "type": "array",
                      "items": {}
                    }
                  },
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Bad request"
          },
          "401": {
            "description": "Unauthenticated"
          },
          "404": {
            "description": "Not found"
          }
        },
        "security": [
          {
            "kollus_api_access_token": []
          }
        ]
      }
    },
    "/channels/{channel_key}/statistics/content-rank": {
      "get": {
        "tags": [
          "통계"
        ],
        "summary": "Retrieve content viewing ranking by channel",
        "description": "Retrieves a ranking list based on view counts within a specified period for content belonging to a specific channel.",
        "operationId": "getChannelContentRankStatistics",
        "parameters": [
          {
            "name": "channel_key",
            "in": "path",
            "description": "Channel key",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "start_date",
            "in": "query",
            "description": "Start date of the retrieval range",
            "required": true,
            "schema": {
              "type": "string",
              "example": "20260101"
            }
          },
          {
            "name": "end_date",
            "in": "query",
            "description": "End date of the retrieval range",
            "required": true,
            "schema": {
              "type": "string",
              "example": "20260201"
            }
          },
          {
            "name": "keyword",
            "in": "query",
            "description": "Search keyword filtering",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "start_index",
            "in": "query",
            "description": "Starting number of the result list",
            "schema": {
              "type": "integer",
              "default": 0
            }
          },
          {
            "name": "limit",
            "in": "query",
            "description": "Maximum number of data entries to output (`0`: retrieve all data)",
            "schema": {
              "type": "integer",
              "default": 10
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "result_data": {
                      "type": "array",
                      "items": {}
                    }
                  },
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Bad request"
          },
          "401": {
            "description": "Unauthenticated"
          },
          "404": {
            "description": "Not found"
          }
        },
        "security": [
          {
            "kollus_api_access_token": []
          }
        ]
      }
    },
    "/statistics/channels": {
      "get": {
        "tags": [
          "통계"
        ],
        "summary": "Retrieve statistics by channel",
        "description": "Retrieves summary statistics data for all channels for a specified period.",
        "operationId": "getChannelStatistics",
        "parameters": [
          {
            "name": "start_date",
            "in": "query",
            "description": "Start date of the retrieval range",
            "required": true,
            "schema": {
              "type": "string",
              "example": "20260101"
            }
          },
          {
            "name": "end_date",
            "in": "query",
            "description": "End date of the retrieval range",
            "required": true,
            "schema": {
              "type": "string",
              "example": "20260201"
            }
          },
          {
            "name": "start_index",
            "in": "query",
            "description": "Starting number of the result list",
            "schema": {
              "type": "integer",
              "default": 0
            }
          },
          {
            "name": "limit",
            "in": "query",
            "description": "Maximum number of data entries to output (`0`: retrieve all data)",
            "schema": {
              "type": "integer",
              "default": 10
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "type": "array",
                      "items": {}
                    },
                    "status": {
                      "description": "Processing result\n- `ok`: success\n- `fail`: failure",
                      "type": "string"
                    }
                  },
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Bad request"
          },
          "401": {
            "description": "Unauthenticated"
          },
          "404": {
            "description": "Not found"
          }
        },
        "security": [
          {
            "kollus_api_access_token": []
          }
        ]
      }
    },
    "/statistics/summary-daily": {
      "get": {
        "tags": [
          "통계"
        ],
        "summary": "Retrieve daily statistics",
        "description": "Retrieves summary statistics data for all content for a specified period.",
        "operationId": "getDailySummaryStatistics",
        "parameters": [
          {
            "name": "start_date",
            "in": "query",
            "description": "Start date of the retrieval range",
            "required": true,
            "schema": {
              "type": "string",
              "example": "20260101"
            }
          },
          {
            "name": "end_date",
            "in": "query",
            "description": "End date of the retrieval range",
            "required": true,
            "schema": {
              "type": "string",
              "example": "20260201"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "type": "array",
                      "items": {}
                    }
                  },
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Bad request"
          },
          "401": {
            "description": "Unauthenticated"
          },
          "404": {
            "description": "Not found"
          }
        },
        "security": [
          {
            "kollus_api_access_token": []
          }
        ]
      }
    },
    "/statistics/countries": {
      "get": {
        "tags": [
          "통계"
        ],
        "summary": "Retrieve statistics by country",
        "description": "Retrieves statistical data by country for the specified period.",
        "operationId": "getCountriesStatistics",
        "parameters": [
          {
            "name": "start_date",
            "in": "query",
            "description": "Start date of the retrieval range",
            "required": true,
            "schema": {
              "type": "string",
              "example": "20260101"
            }
          },
          {
            "name": "end_date",
            "in": "query",
            "description": "End date of the retrieval range",
            "required": true,
            "schema": {
              "type": "string",
              "example": "20260201"
            }
          },
          {
            "name": "start_index",
            "in": "query",
            "description": "Starting number of the result list",
            "schema": {
              "type": "integer",
              "default": 0
            }
          },
          {
            "name": "limit",
            "in": "query",
            "description": "Maximum number of data entries to output (`0`: retrieve all data)",
            "schema": {
              "type": "integer",
              "default": 0
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "type": "array",
                      "items": {}
                    }
                  },
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Bad request"
          },
          "401": {
            "description": "Unauthenticated"
          },
          "404": {
            "description": "Not found"
          }
        },
        "security": [
          {
            "kollus_api_access_token": []
          }
        ]
      }
    }
  },
  "components": {
    "schemas": {
      "ApiVodMediaContentDownloadPoster": {
        "properties": {
          "expires": {
            "description": "URL expiration date and time",
            "type": "string"
          },
          "download_url": {
            "description": "Download URL",
            "type": "string"
          }
        },
        "type": "object"
      },
      "ApiProfileFormat": {
        "properties": {
          "video_bitrate": {
            "description": "Video bitrate"
          },
          "video_framerate": {
            "description": "Video framerate"
          },
          "audio_bitrate": {
            "description": "Audio bitrate"
          },
          "audio_samplerate": {
            "description": "Audio sample rate"
          }
        },
        "type": "object"
      },
      "ApiVodBookmark": {
        "properties": {
          "id": {
            "description": "Bookmark ID",
            "type": "integer"
          },
          "kind": {
            "description": "Bookmark type\n- `0`: My bookmark (added directly by the viewer)\n- `1`: Official bookmark (designated by the customer)",
            "type": "integer"
          },
          "label": {
            "description": "Bookmark label",
            "type": "string"
          },
          "position": {
            "description": "Bookmark position (unit: seconds)",
            "type": "integer"
          },
          "value": {
            "description": "Bookmark content",
            "type": "string"
          },
          "created_at": {
            "description": "Bookmark creation date and time",
            "type": "string"
          },
          "updated_at": {
            "description": "Bookmark modification date and time",
            "type": "string"
          }
        },
        "type": "object"
      },
      "ApiVodCategory": {
        "properties": {
          "id": {
            "description": "Category ID",
            "type": "integer"
          },
          "key": {
            "description": "Category key",
            "type": "string"
          },
          "name": {
            "description": "Category name",
            "type": "string"
          },
          "parent_id": {
            "description": "Parent category ID (`null`: top-level category)",
            "type": "integer"
          },
          "parent_key": {
            "description": "Parent category key (`null`: top-level category)",
            "type": "string"
          },
          "level": {
            "description": "Category hierarchy level (`0`: top-level category)",
            "type": "integer"
          },
          "default": {
            "description": "Whether it is the 'default' category",
            "type": "boolean"
          },
          "position": {
            "description": "Category display order",
            "type": "integer"
          },
          "created_at": {
            "description": "Category creation date and time",
            "type": "string"
          },
          "updated_at": {
            "description": "Category information modification date and time",
            "type": "string"
          },
          "children_exist": {
            "description": "Whether sub-categories exist",
            "type": "boolean"
          },
          "channels": {
            "description": "List of channels connected to the specified category",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ApiVodChannelSummary"
            }
          }
        },
        "type": "object"
      },
      "ApiVodChannel": {
        "properties": {
          "key": {
            "description": "Channel key",
            "type": "string"
          },
          "name": {
            "description": "Channel name",
            "type": "string"
          },
          "description": {
            "description": "Channel description",
            "type": "string"
          },
          "use_pingback": {
            "description": "Whether the callback feature is activated",
            "type": "boolean"
          },
          "pingback_url": {
            "description": "Callback URL for adding content to a channel",
            "type": "string"
          },
          "leave_pingback_url": {
            "description": "Callback URL for removing content from a channel",
            "type": "string"
          },
          "play_callback_url": {
            "description": "Playback callback URL",
            "type": "string"
          },
          "use_referer_check": {
            "description": "Referer access control policy\n- `0`: Not set\n- `1`: Allow specific domains\n- `2`: Block specific domains",
            "type": "integer"
          },
          "referer_check_domains": {
            "description": "Domain addresses allowed for playback",
            "type": "string"
          },
          "referer_reject_domains": {
            "description": "Domain addresses blocked from playback",
            "type": "string"
          },
          "referer_empty_allow": {
            "description": "Whether to block requests with no referer information",
            "type": "boolean"
          },
          "use_pc_download": {
            "description": "Whether PC download is enabled",
            "type": "boolean"
          },
          "pc_download_callback_url": {
            "description": "PC download callback URL",
            "type": "string"
          },
          "use_mobile_download": {
            "description": "Whether mobile download is enabled",
            "type": "boolean"
          },
          "mobile_download_callback_url": {
            "description": "Mobile download callback URL",
            "type": "string"
          },
          "default": {
            "description": "Whether it is the default channel",
            "type": "boolean"
          },
          "is_shared": {
            "description": "Sharing policy setting\n- `false`: Non-shared channel\n- `true`: Shared channel",
            "type": "boolean"
          },
          "is_encrypted": {
            "description": "Security policy setting (`false`: General channel (all content types can be registered), `true`: Encrypted content only channel)",
            "type": "boolean"
          },
          "disable_tvout": {
            "description": "External display output blocking setting",
            "type": "boolean"
          },
          "count_of_contents": {
            "description": "Total number of contents in the channel",
            "type": "integer"
          },
          "position": {
            "description": "Channel display order",
            "type": "integer"
          },
          "status": {
            "description": "Channel activation status",
            "type": "boolean"
          },
          "use_realtime": {
            "description": "Whether real-time streaming (HLS) is enabled",
            "type": "boolean"
          },
          "use_aes128": {
            "description": "Whether AES-128 encryption is enabled",
            "type": "boolean"
          },
          "video_watermarking_enable_block": {
            "description": "Whether video watermarking is enabled",
            "type": "boolean"
          },
          "created_at": {
            "description": "Channel creation date and time",
            "type": "string"
          },
          "updated_at": {
            "description": "Channel information update date and time",
            "type": "string"
          }
        },
        "type": "object"
      },
      "ApiVodChannelSummary": {
        "properties": {
          "key": {
            "description": "Channel key",
            "type": "string"
          },
          "name": {
            "description": "Channel name",
            "type": "string"
          },
          "status": {
            "description": "Channel activation status",
            "type": "boolean"
          }
        },
        "type": "object"
      },
      "ApiCommonCountry": {
        "properties": {
          "id": {
            "description": "Country ID",
            "type": "integer"
          },
          "english_name": {
            "description": "Country name (English notation)",
            "type": "string"
          },
          "native_name": {
            "description": "Country name (local language notation)",
            "type": "string"
          },
          "code_2char": {
            "description": "Country code (2 characters)",
            "type": "string"
          },
          "code_3char": {
            "description": "Country code (3 characters)",
            "type": "string"
          },
          "short_name": {
            "description": "Country abbreviation",
            "type": "string"
          }
        },
        "type": "object"
      },
      "ApiVodDuplicateBlockLog": {
        "properties": {
          "id": {
            "description": "Block log ID",
            "type": "string"
          },
          "media_content_title": {
            "description": "Title of the target content",
            "type": "string"
          },
          "upload_file_key": {
            "description": "Upload file key",
            "type": "string"
          },
          "player_id": {
            "description": "Player (device) ID",
            "type": "string"
          },
          "key": {
            "description": "Duplicate playback prevention key",
            "type": "string"
          },
          "client_user_id": {
            "description": "Customer user ID",
            "type": "string"
          },
          "hardware_id": {
            "description": "Hardware ID",
            "type": "string"
          },
          "created_at": {
            "description": "Block date and time",
            "type": "string"
          }
        },
        "type": "object"
      },
      "ApiVodDuplicateBlockPlayerList": {
        "properties": {
          "total_count": {
            "description": "Total number of data entries",
            "type": "integer"
          },
          "player_id": {
            "description": "Player (device) ID list",
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "type": "object"
      },
      "ApiCommonLanguage": {
        "properties": {
          "id": {
            "description": "Language ID",
            "type": "integer"
          },
          "english_name": {
            "description": "Language name (English notation)",
            "type": "string"
          },
          "native_name": {
            "description": "Language name (local language notation)",
            "type": "string"
          },
          "code_2char": {
            "description": "Language code (2 characters)",
            "type": "string"
          },
          "use_subtitle": {
            "description": "Whether subtitle is supported",
            "type": "boolean"
          },
          "key": {
            "description": "Language key",
            "type": "string"
          }
        },
        "type": "object"
      },
      "ApiVodMediaContentCategory": {
        "properties": {
          "id": {
            "description": "Content ID",
            "type": "integer"
          },
          "title": {
            "description": "Content title",
            "type": "string"
          },
          "upload_file_key": {
            "description": "Upload file key",
            "type": "string"
          },
          "category_name": {
            "description": "Category name",
            "type": "string"
          },
          "category_key": {
            "description": "Category key",
            "type": "string"
          }
        },
        "type": "object"
      },
      "ApiVodMediaContentKey": {
        "properties": {
          "id": {
            "description": "ID",
            "type": "integer"
          },
          "media_content_key": {
            "description": "Media content key",
            "type": "string"
          },
          "upload_file_key": {
            "description": "Upload file key",
            "type": "string"
          },
          "channel_key": {
            "description": "Channel key",
            "type": "string"
          },
          "status": {
            "description": "Key activation status",
            "type": "boolean"
          },
          "created_at": {
            "description": "Key creation date and time",
            "type": "string"
          },
          "updated_at": {
            "description": "Key information update date and time",
            "type": "string"
          }
        },
        "type": "object"
      },
      "ApiVodMediaContentProgress": {
        "properties": {
          "id": {
            "description": "Content ID",
            "type": "integer"
          },
          "title": {
            "description": "Content title",
            "type": "string"
          },
          "upload_file_key": {
            "description": "Upload file key",
            "type": "string"
          },
          "transcoding_stage": {
            "description": "Transcoding progress status code\n- `0`: Pending\n- `11`: Preparing for Transcoding\n- `1`: Transcoding Started\n- `12`: Transcoding in Progress\n- `21`: Transcoding Completed\n- `51`: Transcoding Error\n- `52`: Initialization Failed",
            "type": "integer"
          },
          "transcoding_stage_name": {
            "description": "Transcoding progress status",
            "type": "string"
          },
          "transcoding_progress": {
            "description": "Transcoding progress rate (%)",
            "type": "integer"
          }
        },
        "type": "object"
      },
      "ApiVodMediaContent": {
        "properties": {
          "id": {
            "description": "Content ID",
            "type": "integer"
          },
          "kind": {
            "description": "Content type classification code\n- `1`: Video\n- `2`: Audio",
            "type": "integer"
          },
          "kind_name": {
            "description": "Content type",
            "type": "string"
          },
          "title": {
            "description": "Content title",
            "type": "string"
          },
          "upload_file_key": {
            "description": "Upload file key",
            "type": "string"
          },
          "duration": {
            "description": "Total content duration",
            "type": "string"
          },
          "category_name": {
            "description": "Category name",
            "type": "string"
          },
          "category_key": {
            "description": "Category key",
            "type": "string"
          },
          "use_encryption": {
            "description": "Whether encryption is applied",
            "type": "boolean"
          },
          "poster_url": {
            "description": "Poster image URL",
            "type": "string"
          },
          "snapshot_url": {
            "description": "Snapshot image URL",
            "type": "string"
          },
          "original_file_name": {
            "description": "Original file name",
            "type": "string"
          },
          "original_file_size": {
            "description": "Original file size",
            "type": "integer"
          },
          "media_information": {
            "description": "Content detail information",
            "properties": {
              "file": {
                "description": "File property information",
                "properties": {
                  "filesize": {
                    "description": "File size",
                    "type": "string"
                  },
                  "format": {
                    "description": "Container format",
                    "type": "string"
                  },
                  "duration": {
                    "description": "Total content duration",
                    "type": "string"
                  },
                  "raw_duration": {
                    "description": "Total content duration (unit: milliseconds)",
                    "type": "integer"
                  }
                }
              },
              "video": {
                "description": "Video track information",
                "properties": {
                  "video_codec": {
                    "description": "Video codec",
                    "type": "string"
                  },
                  "video_bitrate": {
                    "description": "Video bitrate",
                    "type": "string"
                  },
                  "video_framerate": {
                    "description": "Video framerate",
                    "type": "string"
                  },
                  "video_screen_size": {
                    "description": "Video resolution",
                    "type": "string"
                  },
                  "video_framecount": {
                    "description": "Video frame count",
                    "type": "boolean"
                  },
                  "video_raw_duration": {
                    "description": "Video track playback duration (unit: milliseconds)",
                    "type": "integer"
                  }
                }
              },
              "audio": {
                "description": "Audio track information",
                "properties": {
                  "audio_codec": {
                    "description": "Audio codec",
                    "type": "string"
                  },
                  "audio_bitrate": {
                    "description": "Audio bitrate",
                    "type": "string"
                  },
                  "audio_samplerate": {
                    "description": "Audio sample rate",
                    "type": "string"
                  },
                  "audio_channel": {
                    "description": "Number of audio channels",
                    "type": "integer"
                  },
                  "audio_raw_duration": {
                    "description": "Audio track playback duration (unit: milliseconds)",
                    "type": "integer"
                  }
                }
              }
            }
          },
          "human_readable_original_file_size": {
            "description": "Original file size (unit: K, M, G, T)",
            "type": "string"
          },
          "transcoding_stage": {
            "description": "Transcoding progress status code\n- `0`: Pending\n- `11`: Preparing for Transcoding\n- `1`: Transcoding Started\n- `12`: Transcoding in Progress\n- `21`: Transcoding Completed\n- `51`: Transcoding Error\n- `52`: Initialization Failed",
            "type": "integer"
          },
          "transcoding_stage_name": {
            "description": "Transcoding progress status",
            "type": "string"
          },
          "status": {
            "description": "Content activation status",
            "type": "boolean"
          },
          "vr_info": {
            "description": "VR configuration information",
            "properties": {
              "projection_type": {
                "description": "Projection type",
                "type": "string"
              },
              "stereo_mode": {
                "description": "Sound mode",
                "type": "string"
              }
            },
            "type": "object"
          },
          "is_passthrough": {
            "description": "Whether passthrough processing is applied",
            "type": "boolean"
          },
          "media_content_keys": {
            "description": "Media content key list",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "transcoded_at": {
            "description": "Transcoding completion date and time",
            "type": "string"
          },
          "created_at": {
            "description": "Content registration date and time",
            "type": "string"
          },
          "updated_at": {
            "description": "Content information update date and time",
            "type": "string"
          }
        },
        "type": "object"
      },
      "ApiVodMediaContentStatus": {
        "properties": {
          "id": {
            "description": "Content ID",
            "type": "integer"
          },
          "title": {
            "description": "Content title",
            "type": "string"
          },
          "status": {
            "description": "Content activation status",
            "type": "boolean"
          }
        },
        "type": "object"
      },
      "ApiVodMediaContentSubtitle": {
        "properties": {
          "id": {
            "description": "Subtitle ID",
            "type": "integer"
          },
          "name": {
            "description": "Subtitle name",
            "type": "string"
          },
          "kind": {
            "description": "Subtitle type\n- `main`: Main subtitle\n- `sub`: Sub subtitle",
            "type": "string"
          },
          "status": {
            "description": "Subtitle visibility\n- `false`: Private\n- `true`: Public",
            "type": "boolean"
          },
          "language_code": {
            "description": "Subtitle language code",
            "type": "string"
          },
          "vtt_url": {
            "description": "VTT file path",
            "type": "string"
          },
          "srt_url": {
            "description": "SRT file path",
            "type": "string"
          },
          "position": {
            "description": "Subtitle display order",
            "type": "integer"
          }
        },
        "type": "object"
      },
      "ApiVodMediaContentOutline": {
        "properties": {
          "language_code": {
            "description": "Subtitle language code used as the basis for data creation",
            "type": "string"
          },
          "summary": {
            "description": "List of summary data by segment",
            "type": "array",
            "items": {
              "properties": {
                "start_position": {
                  "description": "Segment start point (unit: seconds)",
                  "type": "integer"
                },
                "end_position": {
                  "description": "Segment end point (unit: seconds)",
                  "type": "integer"
                },
                "value": {
                  "description": "Summary content for the time segment",
                  "type": "string"
                }
              }
            }
          },
          "chapter": {
            "description": "List of chapter division data",
            "type": "array",
            "items": {
              "properties": {
                "position": {
                  "description": "Chapter start point (unit: seconds)",
                  "type": "integer"
                },
                "value": {
                  "description": "Chapter title",
                  "type": "string"
                }
              }
            }
          },
          "keyword": {
            "description": "List of key keywords extracted through content analysis",
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "type": "object"
      },
      "ApiVodMediaProfileGroup": {
        "properties": {
          "key": {
            "description": "Encoding profile group key",
            "type": "string"
          },
          "name": {
            "description": "Encoding profile group name",
            "type": "string"
          }
        },
        "type": "object"
      },
      "ApiVodMediaProfilePreset": {
        "properties": {
          "id": {
            "description": "Preset ID",
            "type": "integer"
          },
          "key": {
            "description": "Preset key",
            "type": "string"
          },
          "name": {
            "description": "Preset name",
            "type": "string"
          },
          "is_audio_file": {
            "description": "Whether the file is audio-only",
            "type": "boolean"
          },
          "is_default_preset": {
            "description": "Whether the default preset is set",
            "type": "boolean"
          },
          "is_optional": {
            "description": "Whether additional transcoding is configured",
            "type": "boolean"
          },
          "container_format": {
            "description": "Container format",
            "type": "string"
          },
          "bitrate_mode": {
            "description": "Bitrate mode",
            "type": "string"
          },
          "video_codec": {
            "description": "Video codec",
            "type": "string"
          },
          "video_bitrate": {
            "description": "Video bitrate",
            "type": "integer"
          },
          "video_width": {
            "description": "Video horizontal resolution",
            "type": "integer"
          },
          "video_height": {
            "description": "Video vertical resolution",
            "type": "integer"
          },
          "video_framerate": {
            "description": "Video frame rate",
            "type": "integer"
          },
          "video_rotate_degree": {
            "description": "Video rotation angle",
            "type": "integer"
          },
          "video_overlay_position": {
            "description": "Video overlay position",
            "type": "string"
          },
          "video_overlay_path": {
            "description": "Video overlay file path",
            "type": "string"
          },
          "is_video_ratio": {
            "description": "Whether the video aspect ratio is maintained",
            "type": "boolean"
          },
          "is_video_vertical_flip": {
            "description": "Whether vertical flip processing is applied to the video",
            "type": "boolean"
          },
          "is_video_horizontal_flip": {
            "description": "Whether horizontal flip processing is applied to the video",
            "type": "boolean"
          },
          "audio_codec": {
            "description": "Audio codec",
            "type": "string"
          },
          "audio_bitrate": {
            "description": "Audio bitrate",
            "type": "integer"
          },
          "audio_samplerate": {
            "description": "Audio sample rate",
            "type": "integer"
          },
          "audio_channel": {
            "description": "Audio channel",
            "type": "integer"
          },
          "audio_volume_control": {
            "description": "Audio volume control settings",
            "type": "integer"
          },
          "group": {
            "description": "Encoding profile group",
            "properties": {
              "key": {
                "description": "Encoding profile group key",
                "type": "string"
              },
              "name": {
                "description": "Encoding profile group name",
                "type": "string"
              }
            },
            "type": "object"
          }
        },
        "type": "object"
      },
      "ApiVodMediaProfile": {
        "properties": {
          "id": {
            "description": "Encoding profile ID",
            "type": "integer"
          },
          "key": {
            "description": "Encoding profile key",
            "type": "string"
          },
          "name": {
            "description": "Encoding profile name",
            "type": "string"
          },
          "is_audio_file": {
            "description": "Whether the file is audio-only",
            "type": "boolean"
          },
          "is_default_preset": {
            "description": "Whether the default preset is set",
            "type": "boolean"
          },
          "is_optional": {
            "description": "Whether additional transcoding is configured",
            "type": "boolean"
          },
          "container_format": {
            "description": "Container format",
            "type": "string"
          },
          "bitrate_mode": {
            "description": "Bitrate mode",
            "type": "string"
          },
          "video_codec": {
            "description": "Video codec",
            "type": "string"
          },
          "video_bitrate": {
            "description": "Video bitrate",
            "type": "integer"
          },
          "video_width": {
            "description": "Video horizontal resolution",
            "type": "integer"
          },
          "video_height": {
            "description": "Video vertical resolution",
            "type": "integer"
          },
          "video_framerate": {
            "description": "Video framerate",
            "type": "number"
          },
          "video_rotate_degree": {
            "description": "Video rotation angle",
            "type": "integer"
          },
          "video_overlay_position": {
            "description": "Video overlay position",
            "type": "string"
          },
          "video_overlay_path": {
            "description": "Video overlay file path",
            "type": "string"
          },
          "is_video_ratio": {
            "description": "Whether to maintain video aspect ratio",
            "type": "boolean"
          },
          "is_video_vertical_flip": {
            "description": "Whether to apply vertical flip to video",
            "type": "boolean"
          },
          "is_video_horizontal_flip": {
            "description": "Whether to apply horizontal flip to video",
            "type": "boolean"
          },
          "audio_codec": {
            "description": "Audio codec",
            "type": "string"
          },
          "audio_bitrate": {
            "description": "Audio bitrate",
            "type": "integer"
          },
          "audio_samplerate": {
            "description": "Audio sample rate",
            "type": "integer"
          },
          "audio_channel": {
            "description": "Audio channel",
            "type": "integer"
          },
          "audio_volume_control": {
            "description": "Audio volume control setting",
            "type": "integer"
          },
          "status": {
            "description": "Encoding profile activation status",
            "type": "boolean"
          },
          "group": {
            "description": "Encoding profile group",
            "properties": {
              "key": {
                "description": "Encoding profile group key",
                "type": "string"
              },
              "name": {
                "description": "Encoding profile group name",
                "type": "string"
              }
            },
            "type": "object"
          },
          "categories": {
            "description": "List of categories connected to the encoding profile",
            "type": "array",
            "items": {
              "properties": {
                "key": {
                  "description": "Category key",
                  "type": "string"
                },
                "name": {
                  "description": "Category name",
                  "type": "string"
                }
              },
              "type": "object"
            }
          }
        },
        "type": "object"
      },
      "ApiVodPlayerEvent": {
        "properties": {
          "id": {
            "description": "Event ID",
            "type": "integer"
          },
          "title": {
            "description": "Event name",
            "type": "string"
          },
          "value": {
            "description": "Event details",
            "type": "object"
          },
          "channels": {
            "description": "List of channels to which the event is applied",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ApiVodChannelSummary"
            }
          }
        },
        "type": "object"
      },
      "ApiVodPlayerSkin": {
        "properties": {
          "id": {
            "description": "Skin ID",
            "type": "integer"
          },
          "title": {
            "description": "Skin name",
            "type": "string"
          },
          "value": {
            "description": "Skin details",
            "type": "object"
          },
          "channels": {
            "description": "List of channels to which the skin is applied",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ApiVodChannelSummary"
            }
          }
        },
        "type": "object"
      },
      "ApiStatisticsSummaryDaily": {
        "properties": {
          "startdate": {
            "description": "Statistics aggregation start date",
            "type": "string"
          },
          "enddate": {
            "description": "Statistics aggregation end date",
            "type": "string"
          },
          "total_transfer": {
            "description": "Cumulative data transfer volume (bytes)",
            "type": "integer"
          },
          "max_traffic": {
            "description": "Maximum traffic bandwidth (bps)",
            "type": "integer"
          },
          "total_storage": {
            "description": "Cumulative storage usage (bytes)",
            "type": "integer"
          },
          "max_storage": {
            "description": "Maximum storage allocation (bytes)",
            "type": "integer"
          },
          "total_transcoding_size": {
            "description": "Cumulative transcoding processed volume (bytes)",
            "type": "integer"
          },
          "total_transcoding_count": {
            "description": "Cumulative transcoding processed count",
            "type": "integer"
          },
          "total_visitor": {
            "description": "Cumulative visitor count (Unique Visitor)",
            "type": "integer"
          },
          "daily_data": {
            "type": "array",
            "items": {
              "properties": {
                "datetime": {
                  "description": "Statistics reference date",
                  "type": "string"
                },
                "transfer": {
                  "description": "Data transfer volume (bytes)",
                  "type": "integer"
                },
                "traffic": {
                  "description": "Traffic bandwidth (bps)",
                  "type": "integer"
                },
                "storage": {
                  "description": "Storage usage (bytes)",
                  "type": "integer"
                },
                "transcoding_size": {
                  "description": "Transcoding volume (bytes)",
                  "type": "integer"
                },
                "transcoding_count": {
                  "description": "Transcoding processed count",
                  "type": "integer"
                },
                "visitor": {
                  "description": "Visitor count (Unique Visitor)",
                  "type": "integer"
                }
              },
              "type": "object"
            }
          }
        },
        "type": "object"
      },
      "ApiVodStat": {
        "properties": {
          "avg_play_rate": {
            "description": "Average playback ratio relative to total content length",
            "type": "integer"
          },
          "avg_uplay_rate": {
            "description": "Average playback ratio relative to total content length (Unique User)",
            "type": "integer"
          },
          "category_id": {
            "description": "Category ID",
            "type": "integer"
          },
          "channel_key": {
            "description": "Channel key",
            "type": "string"
          },
          "content_id": {
            "description": "Content ID",
            "type": "integer"
          },
          "title": {
            "description": "Content title",
            "type": "string"
          },
          "upload_time": {
            "description": "Content upload datetime",
            "type": "string"
          },
          "upload_key": {
            "description": "Upload file key",
            "type": "string"
          },
          "duration": {
            "description": "Total content duration",
            "type": "integer"
          },
          "count": {
            "description": "View count",
            "type": "integer"
          },
          "play_count": {
            "description": "Playback count",
            "type": "integer"
          }
        },
        "type": "object"
      },
      "ApiChannelStat": {
        "properties": {
          "startdate": {
            "description": "Statistics aggregation start date",
            "type": "string"
          },
          "enddate": {
            "description": "Statistics aggregation end date",
            "type": "string"
          },
          "row_count": {
            "description": "Total number of data",
            "type": "integer"
          },
          "startindex": {
            "description": "Statistics data start index",
            "type": "integer"
          },
          "limit": {
            "description": "Maximum number of statistics data to retrieve",
            "type": "integer"
          },
          "result_data": {
            "type": "array",
            "items": {
              "properties": {
                "channel_key": {
                  "description": "Channel key",
                  "type": "string"
                },
                "count": {
                  "description": "Number of hits",
                  "type": "integer"
                },
                "content_count": {
                  "description": "Number of hit contents",
                  "type": "integer"
                },
                "play_count": {
                  "description": "Playback count",
                  "type": "integer"
                },
                "play_content_count": {
                  "description": "Number of content played",
                  "type": "integer"
                },
                "transfer": {
                  "description": "Transfer amount",
                  "type": "integer"
                },
                "origin_size": {
                  "description": "Storage usage of original files",
                  "type": "integer"
                },
                "transcoding_size": {
                  "description": "Storage usage of transcoded files",
                  "type": "integer"
                },
                "total_size": {
                  "description": "Total storage usage (original + transcoded files)",
                  "type": "integer"
                }
              },
              "type": "object"
            }
          }
        },
        "type": "object"
      },
      "ApiVodTranscodingFile": {
        "properties": {
          "id": {
            "description": "Transcoding file ID",
            "type": "integer"
          },
          "media_profile_group_name": {
            "description": "Encoding profile group name",
            "type": "string"
          },
          "media_profile_group_key": {
            "description": "Encoding profile group key",
            "type": "string"
          },
          "profile_name": {
            "description": "Encoding profile name",
            "type": "string"
          },
          "profile_key": {
            "description": "Encoding profile key",
            "type": "string"
          },
          "filesize_bytes": {
            "description": "File size (bytes)",
            "type": "integer"
          },
          "media_information": {
            "description": "Content detail information",
            "properties": {
              "file": {
                "description": "File attribute information",
                "properties": {
                  "filesize": {
                    "description": "File size",
                    "type": "string"
                  },
                  "format": {
                    "description": "Container format",
                    "type": "string"
                  },
                  "duration": {
                    "description": "Total content duration",
                    "type": "string"
                  },
                  "raw_duration": {
                    "description": "Total content duration (unit: milliseconds)",
                    "type": "integer"
                  }
                }
              },
              "video": {
                "description": "Video track information",
                "properties": {
                  "video_codec": {
                    "description": "Video codec",
                    "type": "string"
                  },
                  "video_bitrate": {
                    "description": "Video bitrate",
                    "type": "string"
                  },
                  "video_framerate": {
                    "description": "Video framerate",
                    "type": "string"
                  },
                  "video_screen_size": {
                    "description": "Video resolution",
                    "type": "string"
                  },
                  "video_framecount": {
                    "description": "Video frame count",
                    "type": "boolean"
                  },
                  "video_raw_duration": {
                    "description": "Video track playback duration (unit: milliseconds)",
                    "type": "integer"
                  }
                }
              },
              "audio": {
                "description": "Audio track information",
                "properties": {
                  "audio_codec": {
                    "description": "Audio codec",
                    "type": "string"
                  },
                  "audio_bitrate": {
                    "description": "Audio bitrate",
                    "type": "string"
                  },
                  "audio_samplerate": {
                    "description": "Audio sample rate",
                    "type": "string"
                  },
                  "audio_channel": {
                    "description": "Audio channel count",
                    "type": "integer"
                  },
                  "audio_raw_duration": {
                    "description": "Audio track playback duration (unit: milliseconds)",
                    "type": "integer"
                  }
                }
              }
            }
          },
          "thumbnail_urls": {
            "properties": {
              "big": {
                "description": "High-resolution thumbnail image URL",
                "type": "string"
              },
              "small": {
                "description": "Low-resolution thumbnail image URL",
                "type": "string"
              }
            }
          },
          "created_at": {
            "description": "Transcoding file creation datetime",
            "type": "string"
          },
          "updated_at": {
            "description": "Transcoding file modification datetime",
            "type": "string"
          }
        },
        "type": "object"
      },
      "ApiVodMediaContentTranscodingJob": {
        "properties": {
          "key": {
            "description": "Transcoding job key",
            "type": "string"
          }
        },
        "type": "object"
      }
    },
    "securitySchemes": {
      "kollus_api_access_token": {
        "type": "apiKey",
        "description": "Kollus API access token",
        "name": "access_token",
        "in": "query"
      }
    }
  }
}