{
  "openapi": "3.0.3",
  "info": {
    "title": "Live API 레퍼런스",
    "description": "- **API 접근 토큰**: <a href=\"https://kollus-api.redocly.app/products/live/live_guide#%EC%9D%B8%EC%A6%9D-%EB%B0%A9%EC%8B%9D\" target=\"_blank\">Live API 가이드 - 인증 방식</a> \n - **식별 키 정보**: <a href=\"https://docs.kollus.com/dev-guide/live/quickstart/key\" target=\"_blank\">인증 및 주요 키</a>\n - **공식 문서**: <a href=\"https://docs.kollus.com\" target=\"_blank\">Kollus Docs</a>",
    "contact": {
      "name": "문의",
      "email": "tech_support@catenoid.net"
    },
    "license": {
      "name": "서비스 이용 약관",
      "url": "https://www.catenoid.net/ko/other/policy.php"
    },
    "version": "1.0"
  },
  "servers": [
    {
      "url": "https://api-live-kr.kollus.com/api"
    }
  ],
  "tags": [
    {
      "name": "서비스 계약 정보 조회"
    },
    {
      "name": "인코딩 프로파일 관리"
    },
    {
      "name": "채널 관리"
    },
    {
      "name": "Creator 관리"
    },
    {
      "name": "라이브 방송 관리"
    },
    {
      "name": "편성 관리"
    },
    {
      "name": "신디케이션 관리"
    },
    {
      "name": "채팅 관리"
    },
    {
      "name": "녹화 파일 전송처 관리"
    },
    {
      "name": "녹화 파일 관리"
    },
    {
      "name": "통계",
      "description": "- **기준 시간대**: 모든 데이터는 **UTC** 기준입니다. \n- **업데이트 시점**: 모든 데이터는 라이브 방송 종료 **약 30분 후**부터 확인 가능합니다."
    }
  ],
  "paths": {
    "/v1/live/service-accounts/{service_account_key}/contracts": {
      "get": {
        "tags": [
          "서비스 계약 정보 조회"
        ],
        "summary": "서비스 계약 정보 조회",
        "description": "[ **접근 권한**: 최고 관리자 ]\n\n 계약 상세 정보를 조회합니다.",
        "operationId": "67ce4976bc74feb04e1e46c84fbc6a57",
        "parameters": [
          {
            "name": "service_account_key",
            "in": "path",
            "description": "서비스 계정 키",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/ApiOpenLiveContract"
                    }
                  },
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Bad request"
          },
          "401": {
            "description": "Unauthenticated"
          },
          "404": {
            "description": "Not found"
          }
        },
        "security": [
          {
            "kollus_oauth2": [
              "live:control"
            ]
          }
        ]
      }
    },
    "/v1/live/service-accounts/{service_account_key}/chatting-services": {
      "get": {
        "tags": [
          "서비스 계약 정보 조회"
        ],
        "summary": "채팅 서비스 계약 정보 조회",
        "description": "채팅 서비스 계약 상세 정보를 조회합니다.",
        "operationId": "d142e2226e243388b38c165d745c62d4",
        "parameters": [
          {
            "name": "service_account_key",
            "in": "path",
            "description": "서비스 계정 키",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/ApiOpenChattingService"
                      }
                    }
                  },
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Bad request"
          },
          "401": {
            "description": "Unauthenticated"
          },
          "404": {
            "description": "Not found"
          }
        },
        "security": [
          {
            "kollus_oauth2": [
              "live:control"
            ]
          }
        ]
      }
    },
    "/v1/live/service-accounts/{service_account_key}/profile-groups": {
      "get": {
        "tags": [
          "인코딩 프로파일 관리"
        ],
        "summary": "인코딩 프로파일 그룹 목록 조회",
        "description": "시스템에 등록된 전체 인코딩 프로파일 그룹 목록을 조회합니다.",
        "operationId": "fd1e5c0c1208df2b154a64f4d3250e36",
        "parameters": [
          {
            "name": "service_account_key",
            "in": "path",
            "description": "서비스 계정 키",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/ApiOpenLiveMediaProfileGroup"
                      }
                    }
                  },
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Bad request"
          },
          "401": {
            "description": "Unauthenticated"
          },
          "404": {
            "description": "Not found"
          }
        },
        "security": [
          {
            "kollus_oauth2": [
              "live-api:console-control"
            ]
          }
        ]
      }
    },
    "/v1/live/service-accounts/{service_account_key}/profile-groups/{live_media_profile_group_key}/profiles": {
      "get": {
        "tags": [
          "인코딩 프로파일 관리"
        ],
        "summary": "인코딩 프로파일 목록 조회",
        "description": "특정 프로파일 그룹 내에 포함된 전체 인코딩 프로파일 목록을 조회합니다.",
        "operationId": "b665d2e469bccd943dcbb7caedc764dd",
        "parameters": [
          {
            "name": "service_account_key",
            "in": "path",
            "description": "서비스 계정 키",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "live_media_profile_group_key",
            "in": "path",
            "description": "인코딩 프로파일 그룹 키",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "video_screen_type",
            "in": "query",
            "description": "비디오 화면 방향 (`landscape`: 가로, `portrait`: 세로)",
            "schema": {
              "type": "string",
              "default": "landscape",
              "enum": [
                "landscape",
                "portrait"
              ]
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/ApiOpenLiveMediaProfile"
                      }
                    }
                  },
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Bad request"
          },
          "401": {
            "description": "Unauthenticated"
          },
          "404": {
            "description": "Not found"
          }
        },
        "security": [
          {
            "kollus_oauth2": [
              "live:control"
            ]
          }
        ]
      }
    },
    "/v1/live/service-accounts/{service_account_key}/profile-groups/{live_media_profile_group_key}/profiles/{live_media_profile_id}/attach": {
      "put": {
        "tags": [
          "인코딩 프로파일 관리"
        ],
        "summary": "인코딩 프로파일 활성화",
        "description": "[ **접근 권한**: 최고 관리자 ]\n\n 특정 인코딩 프로파일을 라이브 송출 시 사용할 수 있도록 활성화합니다. 서비스 계정당 최대 3개까지 동시에 활성화할 수 있습니다.",
        "operationId": "2a51ebe989ca19d215bf7acd63ac6d39",
        "parameters": [
          {
            "name": "service_account_key",
            "in": "path",
            "description": "서비스 계정 키",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "live_media_profile_group_key",
            "in": "path",
            "description": "인코딩 프로파일 그룹 키",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "live_media_profile_id",
            "in": "path",
            "description": "인코딩 프로파일 ID",
            "required": true,
            "schema": {
              "type": "integer"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "OK"
          },
          "400": {
            "description": "Bad request"
          },
          "401": {
            "description": "Unauthenticated"
          },
          "404": {
            "description": "Not found"
          },
          "422": {
            "description": "Unprocessable entity"
          }
        },
        "security": [
          {
            "kollus_oauth2": [
              "live:control"
            ]
          }
        ]
      }
    },
    "/v1/live/service-accounts/{service_account_key}/profile-groups/{live_media_profile_group_key}/profiles/{live_media_profile_id}/detach": {
      "put": {
        "tags": [
          "인코딩 프로파일 관리"
        ],
        "summary": "인코딩 프로파일 비활성화",
        "description": "[ **접근 권한**: 최고 관리자 ]\n\n 사용 중인 인코딩 프로파일을 비활성화합니다. 최소 1개의 프로파일은 활성화 상태를 유지해야 합니다.",
        "operationId": "f6873b46af6ebf8e8a2151cc9b9ffb1b",
        "parameters": [
          {
            "name": "service_account_key",
            "in": "path",
            "description": "서비스 계정 키",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "live_media_profile_group_key",
            "in": "path",
            "description": "인코딩 프로파일 그룹 키",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "live_media_profile_id",
            "in": "path",
            "description": "인코딩 프로파일 ID",
            "required": true,
            "schema": {
              "type": "integer"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "OK"
          },
          "400": {
            "description": "Bad request"
          },
          "401": {
            "description": "Unauthenticated"
          },
          "404": {
            "description": "Not found"
          },
          "422": {
            "description": "Unprocessable entity"
          }
        },
        "security": [
          {
            "kollus_oauth2": [
              "live:control"
            ]
          }
        ]
      }
    },
    "/v1/live/service-accounts/{service_account_key}/channels": {
      "get": {
        "tags": [
          "채널 관리"
        ],
        "summary": "채널 목록 조회",
        "description": "전체 채널 목록을 조회합니다. 쿼리 파라미터를 활용하여 결과를 필터링할 수 있습니다.",
        "operationId": "8b09ca1457b528b823c66d698beba686",
        "parameters": [
          {
            "name": "service_account_key",
            "in": "path",
            "description": "서비스 계정 키",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "keyword",
            "in": "query",
            "description": "검색 키워드 필터링",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "order",
            "in": "query",
            "description": "데이터 정렬 기준",
            "schema": {
              "type": "string",
              "default": "id_desc",
              "enum": [
                "id_desc",
                "id_asc",
                "customer_code_desc",
                "customer_code_asc",
                "title_desc",
                "title_asc",
                "hided_at_desc",
                "hided_at_asc"
              ]
            }
          },
          {
            "name": "page",
            "in": "query",
            "description": "조회 대상 페이지 번호",
            "schema": {
              "type": "integer",
              "default": 1
            }
          },
          {
            "name": "per_page",
            "in": "query",
            "description": "페이지당 출력 데이터 개수",
            "schema": {
              "type": "integer",
              "default": 10
            }
          },
          {
            "name": "live_status",
            "in": "query",
            "description": "채널 활성화 상태 필터링",
            "schema": {
              "type": "string",
              "default": "all",
              "enum": [
                "all",
                "on",
                "off"
              ]
            }
          },
          {
            "name": "shared_status",
            "in": "query",
            "description": "채널 공개 상태 필터링\n- `on`: 공개 채널만 조회",
            "schema": {
              "type": "string",
              "default": "all",
              "enum": [
                "all",
                "on",
                "off"
              ]
            }
          },
          {
            "name": "trashed",
            "in": "query",
            "description": "채널 숨김 상태 필터링\n- `1`: 숨겨진 채널만 조회",
            "schema": {
              "type": "integer",
              "default": 0,
              "enum": [
                0,
                1
              ]
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/ApiOpenLiveMediaChannel"
                      }
                    },
                    "links": {
                      "properties": {
                        "first": {
                          "type": "string"
                        },
                        "last": {
                          "type": "string"
                        },
                        "prev": {
                          "type": "string"
                        },
                        "next": {
                          "type": "string"
                        }
                      },
                      "type": "object"
                    },
                    "meta": {
                      "properties": {
                        "current_page": {
                          "type": "integer"
                        },
                        "from": {
                          "type": "integer"
                        },
                        "last_page": {
                          "type": "integer"
                        },
                        "path": {
                          "type": "string"
                        },
                        "per_page": {
                          "type": "integer"
                        },
                        "to": {
                          "type": "integer"
                        },
                        "total": {
                          "type": "integer"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Bad request"
          },
          "401": {
            "description": "Unauthenticated"
          },
          "404": {
            "description": "Not found"
          }
        },
        "security": [
          {
            "kollus_oauth2": [
              "live:control"
            ]
          }
        ]
      },
      "post": {
        "tags": [
          "채널 관리"
        ],
        "summary": "신규 채널 등록",
        "description": "[ **접근 권한**: 최고 관리자 ]\n\n 새로운 라이브 채널을 등록합니다. 채널 설정에 관한 상세 내용은 <a href=\"https://docs.kollus.com/service-guide/live/setting/channel/#channel-detail-settings\" target=\"_blank\">채널 세부 설정</a> 문서를 참고하세요.",
        "operationId": "3cb7197bdc6e76c558343e27933dbb01",
        "parameters": [
          {
            "name": "service_account_key",
            "in": "path",
            "description": "서비스 계정 키",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/x-www-form-urlencoded": {
              "schema": {
                "required": [
                  "title",
                  "customer_code",
                  "concurrently_viewer_limit",
                  "is_shared",
                  "live_media_profile_group_key"
                ],
                "properties": {
                  "kind": {
                    "description": "채널 타입 (라이브 유형)\n- `0`: 라이브\n- `1`: 편성 라이브\n- `3`: 저지연 라이브",
                    "type": "integer",
                    "enum": [
                      0,
                      1,
                      3
                    ]
                  },
                  "title": {
                    "description": "채널 이름",
                    "type": "string"
                  },
                  "customer_code": {
                    "description": "고객사 내부 관리용 식별 코드",
                    "type": "string"
                  },
                  "concurrently_viewer_limit": {
                    "description": "최대 동시 시청자 수 (`0`: 무제한)",
                    "type": "integer",
                    "default": 0,
                    "enum": [
                      0,
                      100,
                      200,
                      300,
                      400,
                      500,
                      600,
                      700,
                      800,
                      900,
                      1000
                    ]
                  },
                  "is_shared": {
                    "description": "채널 외부 공개 정책\n- `0`: 비공개\n- `1`: 공개",
                    "type": "integer",
                    "default": 0,
                    "enum": [
                      0,
                      1
                    ]
                  },
                  "live_media_profile_group_key": {
                    "description": "인코딩 프로파일 그룹 키",
                    "type": "string"
                  },
                  "meta_title_pattern": {
                    "description": "메타 정보 제목 명명 규칙",
                    "type": "string",
                    "default": "[CHANNEL_TITLE]-[BROADCAST_COUNTING]"
                  },
                  "meta_description": {
                    "description": "메타 정보 내용",
                    "type": "string"
                  },
                  "recording_file_policy": {
                    "description": "녹화 파일 저장 방식\n- `0`: 미사용\n- `1`: 자동 저장\n- `3`: 자동 저장 + 수동 저장",
                    "type": "integer",
                    "default": 1,
                    "enum": [
                      0,
                      1,
                      3
                    ]
                  },
                  "recording_file_segment_policy": {
                    "description": "녹화 파일 자동 저장 기준\n- `1`: 파일 용량 기준 분할 저장 (4GB)\n- `2`: 녹화 시간 기준 분할 저장",
                    "type": "integer",
                    "default": 1,
                    "enum": [
                      1,
                      2
                    ]
                  },
                  "recording_file_segment_by_duration": {
                    "description": "녹화 시간 기준 분할 저장 선택 시 자동 저장 시간 간격 (단위: 분)",
                    "type": "integer",
                    "default": 60,
                    "enum": [
                      10,
                      20,
                      30,
                      40,
                      50,
                      60,
                      120
                    ]
                  },
                  "recording_file_pattern": {
                    "description": "녹화 파일 명명 규칙",
                    "type": "string",
                    "default": "[CHANNEL_KEY]-[CHANNEL_CUSTOMER_CODE]-[BROADCAST_KEY]-[BROADCAST_CREATING_DATE]-[RECORDING_START_DATETIME]-[RECORDING_TYPE]"
                  },
                  "idle_screen_kind": {
                    "description": "대기 화면 유형\n- `0`: 사전에 등록한 포스터 이미지 노출\n- `1`: 최신 스냅샷 이미지 노출",
                    "type": "integer",
                    "default": 0,
                    "enum": [
                      0,
                      1
                    ]
                  },
                  "media_player_policy": {
                    "description": "Kollus 보안 플레이어 사용 설정\n- `0`: 자동 감지\n- `1`: 강제 사용",
                    "type": "integer",
                    "default": 0,
                    "enum": [
                      0,
                      1
                    ]
                  },
                  "use_chatting_service": {
                    "description": "채팅 사용 설정\n- `0`: 미사용\n- `1`: 사용",
                    "type": "integer",
                    "default": 0,
                    "enum": [
                      0,
                      1
                    ]
                  },
                  "chatting_service_id": {
                    "description": "채팅 서비스 ID",
                    "type": "integer"
                  },
                  "chatting_info": {
                    "description": "채팅 관련 설정 (JSON 형식)",
                    "type": "string"
                  },
                  "division_delayed_minutes": {
                    "description": "네트워크 장애 시 세션 유지를 위한 유효 대기 시간 (단위: 분)",
                    "type": "integer",
                    "default": 3,
                    "enum": [
                      0,
                      1,
                      2,
                      3,
                      4,
                      5
                    ]
                  },
                  "use_duplicate_block": {
                    "description": "동일 계정 기반 중복 재생 차단 설정\n- `0`: 미차단\n- `1`: 차단",
                    "type": "integer",
                    "default": 0,
                    "enum": [
                      0,
                      1
                    ]
                  },
                  "use_capture_block": {
                    "description": "Kollus 보안 플레이어 사용 시 녹화 및 캡처 차단 설정\n- `0`: 미차단\n- `1`: 차단",
                    "type": "integer",
                    "default": 0,
                    "enum": [
                      0,
                      1
                    ]
                  },
                  "use_timeshift": {
                    "description": "라이브 방송 중 이전 시점 시청(Timeshift) 기능 활성화 설정\n- `0`: 비활성\n- `1`: 활성",
                    "type": "integer",
                    "default": 0,
                    "enum": [
                      0,
                      1
                    ]
                  },
                  "use_aes128": {
                    "description": "AES-128 암호화 사용 설정\n- `0`: 미사용\n- `1`: 사용",
                    "type": "integer",
                    "default": 0,
                    "enum": [
                      0,
                      1
                    ]
                  },
                  "use_referer_check": {
                    "description": "레퍼러 접근 제어 정책\n- `0`: 미사용\n- `1`: 특정 도메인 허용\n- `2`: 특정 도메인 차단",
                    "type": "integer",
                    "default": 0,
                    "enum": [
                      0,
                      1,
                      2
                    ]
                  },
                  "referer_check_domains": {
                    "description": "재생을 허용할 도메인 주소 목록 (구분자: 콤마)",
                    "type": "string"
                  },
                  "referer_reject_domains": {
                    "description": "재생을 차단할 도메인 주소 목록 (구분자: 콤마)",
                    "type": "string"
                  }
                },
                "type": "object"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/ApiOpenLiveMediaChannel"
                    }
                  },
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Bad request"
          },
          "401": {
            "description": "Unauthenticated"
          },
          "404": {
            "description": "Not found"
          },
          "422": {
            "description": "Unprocessable entity"
          }
        },
        "security": [
          {
            "kollus_oauth2": [
              "live:control"
            ]
          }
        ]
      }
    },
    "/v1/live/service-accounts/{service_account_key}/channels/{channel_key}": {
      "get": {
        "tags": [
          "채널 관리"
        ],
        "summary": "채널 정보 조회",
        "description": "특정 채널의 상세 정보를 조회합니다.",
        "operationId": "5acdb8ad22b5f1588fb659df5b739365",
        "parameters": [
          {
            "name": "service_account_key",
            "in": "path",
            "description": "서비스 계정 키",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "channel_key",
            "in": "path",
            "description": "채널 키",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/ApiOpenLiveMediaChannel"
                    }
                  },
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Bad request"
          },
          "401": {
            "description": "Unauthenticated"
          },
          "404": {
            "description": "Not found"
          },
          "422": {
            "description": "Unprocessable entity"
          }
        },
        "security": [
          {
            "kollus_oauth2": [
              "live:control"
            ]
          }
        ]
      },
      "put": {
        "tags": [
          "채널 관리"
        ],
        "summary": "채널 정보 수정",
        "description": "[ **접근 권한**: 최고 관리자, 관리자 ]\n\n 기존에 등록된 채널의 상세 설정을 수정합니다.",
        "operationId": "19132bacdba0aa98f079c9a24fa729c1",
        "parameters": [
          {
            "name": "service_account_key",
            "in": "path",
            "description": "서비스 계정 키",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "channel_key",
            "in": "path",
            "description": "채널 키",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/x-www-form-urlencoded": {
              "schema": {
                "properties": {
                  "title": {
                    "description": "채널 이름",
                    "type": "string"
                  },
                  "customer_code": {
                    "description": "고객사 내부 관리용 식별 코드",
                    "type": "string"
                  },
                  "concurrently_viewer_limit": {
                    "description": "최대 동시 시청자 수 (`0`: 무제한)",
                    "type": "integer",
                    "default": 0,
                    "enum": [
                      0,
                      100,
                      200,
                      300,
                      400,
                      500,
                      600,
                      700,
                      900,
                      1000
                    ]
                  },
                  "is_shared": {
                    "description": "채널 외부 공개 정책\n- `0`: 비공개\n- `1`: 공개",
                    "type": "integer",
                    "default": 0,
                    "enum": [
                      0,
                      1
                    ]
                  },
                  "live_media_profile_group_key": {
                    "description": "인코딩 프로파일 그룹 키",
                    "type": "string"
                  },
                  "meta_title_pattern": {
                    "description": "메타 정보 제목 명명 규칙",
                    "type": "string",
                    "default": "[CHANNEL_TITLE]-[BROADCAST_COUNTING]"
                  },
                  "meta_description": {
                    "description": "메타 정보 내용",
                    "type": "string"
                  },
                  "recording_file_policy": {
                    "description": "녹화 파일 저장 방식\n- `0`: 미사용\n- `1`: 자동 저장\n- `3`: 자동 저장 + 수동 저장",
                    "type": "integer",
                    "default": 1,
                    "enum": [
                      0,
                      1,
                      3
                    ]
                  },
                  "recording_file_segment_policy": {
                    "description": "녹화 파일 자동 저장 기준\n- `1`: 파일 용량 기준 분할 저장 (4GB)\n- `2`: 녹화 시간 기준 분할 저장",
                    "type": "integer",
                    "default": 1,
                    "enum": [
                      1,
                      2
                    ]
                  },
                  "recording_file_segment_by_duration": {
                    "description": "녹화 시간 기준 분할 저장 선택 시 자동 저장 시간 간격 (단위: 분)",
                    "type": "integer",
                    "default": 60,
                    "enum": [
                      10,
                      20,
                      30,
                      40,
                      50,
                      60,
                      120
                    ]
                  },
                  "recording_file_pattern": {
                    "description": "녹화 파일 명명 규칙",
                    "type": "string",
                    "default": "[CHANNEL_KEY]-[CHANNEL_CUSTOMER_CODE]-[BROADCAST_KEY]-[BROADCAST_CREATING_DATE]-[RECORDING_START_DATETIME]-[RECORDING_TYPE]"
                  },
                  "idle_screen_kind": {
                    "description": "대기 화면 유형\n- `0`: 사전에 등록한 포스터 이미지 노출\n- `1`: 최신 스냅샷 이미지 노출",
                    "type": "integer",
                    "default": 0,
                    "enum": [
                      0,
                      1
                    ]
                  },
                  "media_player_policy": {
                    "description": "Kollus 보안 플레이어 사용 설정\n- `0`: 자동 감지\n- `1`: 강제 사용",
                    "type": "integer",
                    "default": 0,
                    "enum": [
                      0,
                      1
                    ]
                  },
                  "use_chatting_service": {
                    "description": "채팅 사용 설정\n- `0`: 미사용\n- `1`: 사용",
                    "type": "integer",
                    "default": 0,
                    "enum": [
                      0,
                      1
                    ]
                  },
                  "division_delayed_minutes": {
                    "description": "네트워크 장애 시 세션 유지를 위한 유효 대기 시간 (단위: 분)",
                    "type": "integer",
                    "default": 3,
                    "enum": [
                      0,
                      1,
                      2,
                      3,
                      4,
                      5
                    ]
                  },
                  "use_duplicate_block": {
                    "description": "동일 계정 기반 중복 재생 차단 설정\n- `0`: 미차단\n- `1`: 차단",
                    "type": "integer",
                    "default": 0,
                    "enum": [
                      0,
                      1
                    ]
                  },
                  "use_capture_block": {
                    "description": "Kollus 보안 플레이어 사용 시 녹화 및 캡처 차단 설정\n- `0`: 미차단\n- `1`: 차단",
                    "type": "integer",
                    "default": 0,
                    "enum": [
                      0,
                      1
                    ]
                  },
                  "use_timeshift": {
                    "description": "라이브 방송 중 이전 시점 시청(Timeshift) 기능 활성화 설정\n- `0`: 비활성\n- `1`: 활성",
                    "type": "integer",
                    "default": 0,
                    "enum": [
                      0,
                      1
                    ]
                  },
                  "use_aes128": {
                    "description": "AES-128 암호화 사용 설정\n- `0`: 미사용\n- `1`: 사용",
                    "type": "integer",
                    "default": 0,
                    "enum": [
                      0,
                      1
                    ]
                  },
                  "use_referer_check": {
                    "description": "레퍼러 접근 제어 정책\n- `0`: 미사용\n- `1`: 특정 도메인 허용\n- `2`: 특정 도메인 차단",
                    "type": "integer",
                    "default": 0,
                    "enum": [
                      0,
                      1,
                      2
                    ]
                  },
                  "referer_check_domains": {
                    "description": "재생을 허용할 도메인 주소 목록 (구분자: 콤마)",
                    "type": "string"
                  },
                  "referer_reject_domains": {
                    "description": "재생을 차단할 도메인 주소 목록 (구분자: 콤마)",
                    "type": "string"
                  }
                },
                "type": "object"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/ApiOpenLiveMediaChannel"
                    }
                  },
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Bad request"
          },
          "401": {
            "description": "Unauthenticated"
          },
          "404": {
            "description": "Not found"
          },
          "422": {
            "description": "Unprocessable entity"
          }
        },
        "security": [
          {
            "kollus_oauth2": [
              "live:control"
            ]
          }
        ]
      },
      "delete": {
        "tags": [
          "채널 관리"
        ],
        "summary": "채널 삭제",
        "description": "[ **접근 권한**: 최고 관리자 ]\n\n 특정 채널을 시스템에서 영구적으로 삭제합니다.",
        "operationId": "9896e28965cd9907818109625c8c2fd3",
        "parameters": [
          {
            "name": "service_account_key",
            "in": "path",
            "description": "서비스 계정 키",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "channel_key",
            "in": "path",
            "description": "채널 키",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Bad request"
          },
          "401": {
            "description": "Unauthenticated"
          },
          "404": {
            "description": "Not found"
          },
          "422": {
            "description": "Unprocessable entity"
          }
        },
        "security": [
          {
            "kollus_oauth2": [
              "live:control"
            ]
          }
        ]
      }
    },
    "/v1/live/service-accounts/{service_account_key}/channels/{channel_key}/disable": {
      "put": {
        "tags": [
          "채널 관리"
        ],
        "summary": "채널 비활성화",
        "description": "[ **접근 권한**: 최고 관리자 ]\n\n 활성 상태인 채널을 비활성화합니다. 비활성화된 채널은 플레이어에서 재생이 차단됩니다.",
        "operationId": "cab64917d80add751849b14526112618",
        "parameters": [
          {
            "name": "service_account_key",
            "in": "path",
            "description": "서비스 계정 키",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "channel_key",
            "in": "path",
            "description": "채널 키",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/ApiOpenLiveMediaChannel"
                    }
                  },
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Bad request"
          },
          "401": {
            "description": "Unauthenticated"
          },
          "404": {
            "description": "Not found"
          },
          "422": {
            "description": "Unprocessable entity"
          }
        },
        "security": [
          {
            "kollus_oauth2": [
              "live:control"
            ]
          }
        ]
      }
    },
    "/v1/live/service-accounts/{service_account_key}/channels/{channel_key}/enable": {
      "put": {
        "tags": [
          "채널 관리"
        ],
        "summary": "채널 활성화",
        "description": "[ **접근 권한**: 최고 관리자 ]\n\n 비활성 상태인 채널을 활성화합니다. 활성화된 채널은 플레이어에서 재생 가능한 상태가 됩니다.",
        "operationId": "a70389bb80273c24b9071a9c7a8d6dcf",
        "parameters": [
          {
            "name": "service_account_key",
            "in": "path",
            "description": "서비스 계정 키",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "channel_key",
            "in": "path",
            "description": "채널 키",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/ApiOpenLiveMediaChannel"
                    }
                  },
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Bad request"
          },
          "401": {
            "description": "Unauthenticated"
          },
          "404": {
            "description": "Not found"
          },
          "422": {
            "description": "Unprocessable entity"
          }
        },
        "security": [
          {
            "kollus_oauth2": [
              "live:control"
            ]
          }
        ]
      }
    },
    "/v1/live/service-accounts/{service_account_key}/channels/{channel_key}/trash": {
      "put": {
        "tags": [
          "채널 관리"
        ],
        "summary": "채널 숨김 처리",
        "description": "[ **접근 권한**: 최고 관리자 ]\n\n 특정 채널의 방송을 중지합니다. 중지된 채널은 채널 목록에 표시되지 않는 숨김 상태로 변경됩니다.",
        "operationId": "d60aae97ec2f37a481c5e98b0eb4dc04",
        "parameters": [
          {
            "name": "service_account_key",
            "in": "path",
            "description": "서비스 계정 키",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "channel_key",
            "in": "path",
            "description": "채널 키",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/ApiOpenLiveMediaChannel"
                    }
                  },
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Bad request"
          },
          "401": {
            "description": "Unauthenticated"
          },
          "404": {
            "description": "Not found"
          },
          "422": {
            "description": "Unprocessable entity"
          }
        },
        "security": [
          {
            "kollus_oauth2": [
              "live:control"
            ]
          }
        ]
      }
    },
    "/v1/live/service-accounts/{service_account_key}/channels/{channel_key}/restore": {
      "put": {
        "tags": [
          "채널 관리"
        ],
        "summary": "숨김 채널 복구",
        "description": "[ **접근 권한**: 최고 관리자 ]\n\n 숨김 처리되었던 채널을 다시 목록으로 복구합니다.",
        "operationId": "f7d9be7f8d45b6557f151f7ef79589ec",
        "parameters": [
          {
            "name": "service_account_key",
            "in": "path",
            "description": "서비스 계정 키",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "channel_key",
            "in": "path",
            "description": "채널 키",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/ApiOpenLiveMediaChannel"
                    }
                  },
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Bad request"
          },
          "401": {
            "description": "Unauthenticated"
          },
          "404": {
            "description": "Not found"
          },
          "422": {
            "description": "Unprocessable entity"
          }
        },
        "security": [
          {
            "kollus_oauth2": [
              "live:control"
            ]
          }
        ]
      }
    },
    "/v1/live/service-accounts/{service_account_key}/channels/{channel_key}/callback": {
      "put": {
        "tags": [
          "채널 관리"
        ],
        "summary": "콜백 설정",
        "description": "[ **접근 권한**: 최고 관리자, 관리자 ]\n\n 특정 이벤트 발생 시 시스템이 외부 서버로 정보를 전달할 수 있도록 엔드포인트(URL)를 설정합니다. 각 콜백 유형에 따라 전송되는 데이터 종류가 상이합니다.<ul><li>**라이브 콜백**: 라이브 방송 상태 알림</li><li>**녹화 파일 전송 콜백**: 녹화 파일 전송 결과 통보</li><li>**재생 콜백**: 라이브 재생 요청 제어</li><li>**LMS 콜백**: 시청 데이터 전송</li></ul>",
        "operationId": "8c593ff66ca5e1808e6ed68657bb825c",
        "parameters": [
          {
            "name": "service_account_key",
            "in": "path",
            "description": "서비스 계정 키",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "channel_key",
            "in": "path",
            "description": "채널 키",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/x-www-form-urlencoded": {
              "schema": {
                "properties": {
                  "use_broadcast_update_callback": {
                    "description": "라이브 콜백 사용 설정\n- `0`: 미사용\n- `1`: 사용",
                    "type": "integer",
                    "default": 0,
                    "enum": [
                      0,
                      1
                    ]
                  },
                  "broadcast_update_callback_url": {
                    "description": "라이브 콜백 URL",
                    "type": "string"
                  },
                  "use_recording_file_transfer_callback": {
                    "description": "녹화 파일 전송 콜백 사용 설정\n- `0`: 미사용\n- `1`: 사용",
                    "type": "integer",
                    "default": 0,
                    "enum": [
                      0,
                      1
                    ]
                  },
                  "recording_file_transfer_callback_url": {
                    "description": "녹화 파일 전송 콜백 URL",
                    "type": "string"
                  },
                  "use_lms_callback": {
                    "description": "LMS 콜백 사용 설정\n- `0`: 미사용\n- `1`: 사용",
                    "type": "integer",
                    "default": 0,
                    "enum": [
                      0,
                      1
                    ]
                  },
                  "lms_callback_url": {
                    "description": "LMS 콜백 URL",
                    "type": "string"
                  },
                  "use_play_callback": {
                    "description": "재생 콜백 사용 설정\n- `0`: 미사용\n- `1`: 사용",
                    "type": "integer",
                    "default": 0,
                    "enum": [
                      0,
                      1
                    ]
                  },
                  "play_callback_url": {
                    "description": "재생 콜백 URL",
                    "type": "string"
                  }
                },
                "type": "object"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/ApiOpenLiveMediaChannel"
                    }
                  },
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Bad request"
          },
          "401": {
            "description": "Unauthenticated"
          },
          "404": {
            "description": "Not found"
          },
          "422": {
            "description": "Unprocessable entity"
          }
        },
        "security": [
          {
            "kollus_oauth2": [
              "live:control"
            ]
          }
        ]
      }
    },
    "/v1/live/service-accounts/{service_account_key}/channels/{channel_key}/creators": {
      "get": {
        "tags": [
          "Creator 관리"
        ],
        "summary": "채널별 Creator 목록 조회",
        "description": "특정 채널에 등록된 Creator 목록을 조회합니다. 쿼리 파라미터를 활용하여 결과를 필터링할 수 있습니다.",
        "operationId": "0a9d5248e34e495f9311e7eb95e85bba",
        "parameters": [
          {
            "name": "service_account_key",
            "in": "path",
            "description": "서비스 계정 키",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "channel_key",
            "in": "path",
            "description": "채널 키",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "keyword",
            "in": "query",
            "description": "검색 키워드 필터링",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/ApiOpenLiveCreator"
                      }
                    }
                  },
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Bad request"
          },
          "401": {
            "description": "Unauthenticated"
          },
          "404": {
            "description": "Not found"
          }
        },
        "security": [
          {
            "kollus_oauth2": [
              "live:control"
            ]
          }
        ]
      },
      "post": {
        "tags": [
          "Creator 관리"
        ],
        "summary": "신규 Creator 생성",
        "description": "[ **접근 권한**: 최고 관리자, 관리자 ]\n\n 특정 채널에서 라이브 방송을 진행할 새로운 Creator를 등록합니다.",
        "operationId": "0a9d5248e34e495f9311e7eb95e85bbb",
        "parameters": [
          {
            "name": "service_account_key",
            "in": "path",
            "description": "서비스 계정 키",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "channel_key",
            "in": "path",
            "description": "채널 키",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/ApiOpenLiveCreator"
                    }
                  },
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Bad request"
          },
          "401": {
            "description": "Unauthenticated"
          },
          "404": {
            "description": "Not found"
          }
        },
        "security": [
          {
            "kollus_oauth2": [
              "live:control"
            ]
          }
        ]
      }
    },
    "/v1/live/service-accounts/{service_account_key}/channels/{channel_key}/creators/{creator_code}": {
      "put": {
        "tags": [
          "Creator 관리"
        ],
        "summary": "Creator 닉네임 수정",
        "description": "[ **접근 권한**: 최고 관리자, 관리자 ]\n\n 등록된 Creator의 닉네임을 변경합니다.",
        "parameters": [
          {
            "name": "service_account_key",
            "in": "path",
            "description": "서비스 계정 키",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "channel_key",
            "in": "path",
            "description": "채널 키",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "creator_code",
            "in": "path",
            "description": "수정 대상 Creator 코드",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/x-www-form-urlencoded": {
              "schema": {
                "required": [
                  "nickname"
                ],
                "properties": {
                  "nickname": {
                    "description": "변경할 Creator 닉네임",
                    "type": "string"
                  }
                },
                "type": "object"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/ApiOpenLiveCreator"
                    }
                  },
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Bad request"
          },
          "401": {
            "description": "Unauthenticated"
          },
          "404": {
            "description": "Not found"
          }
        },
        "security": [
          {
            "kollus_oauth2": [
              "live:control"
            ]
          }
        ]
      },
      "delete": {
        "tags": [
          "Creator 관리"
        ],
        "summary": "Creator 삭제",
        "description": "[ **접근 권한**: 최고 관리자, 관리자 ]\n\n 특정 채널에 소속된 Creator를 시스템에서 영구적으로 삭제합니다.",
        "parameters": [
          {
            "name": "service_account_key",
            "in": "path",
            "description": "서비스 계정 키",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "channel_key",
            "in": "path",
            "description": "채널 키",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "creator_code",
            "in": "path",
            "description": "삭제 대상 Creator 코드",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Bad request"
          },
          "401": {
            "description": "Unauthenticated"
          },
          "404": {
            "description": "Not found"
          }
        },
        "security": [
          {
            "kollus_oauth2": [
              "live:control"
            ]
          }
        ]
      }
    },
    "/v1/live/service-accounts/{service_account_key}/broadcasts": {
      "get": {
        "tags": [
          "라이브 방송 관리"
        ],
        "summary": "전체 방송 목록 조회",
        "description": "특정 서비스 계정의 전체 라이브 방송 목록을 조회합니다. 쿼리 파라미터를 활용하여 결과를 필터링할 수 있습니다.",
        "operationId": "959c7a991bd8e6ab4e2f20c10b95676f",
        "parameters": [
          {
            "name": "service_account_key",
            "in": "path",
            "description": "서비스 계정 키",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "keyword",
            "in": "query",
            "description": "검색 키워드 필터링",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "order",
            "in": "query",
            "description": "데이터 정렬 기준",
            "schema": {
              "type": "string",
              "default": "id_desc",
              "enum": [
                "id_desc",
                "id_asc",
                "title_desc",
                "title_asc"
              ]
            }
          },
          {
            "name": "page",
            "in": "query",
            "description": "조회 대상 페이지 번호",
            "schema": {
              "type": "integer",
              "default": 1
            }
          },
          {
            "name": "per_page",
            "in": "query",
            "description": "페이지당 출력 데이터 개수",
            "schema": {
              "type": "integer",
              "default": 10
            }
          },
          {
            "name": "start_date",
            "in": "query",
            "description": "조회 범위 시작 날짜",
            "schema": {
              "type": "string",
              "example": "2026-01-01 09:00:00 또는 2026-01-01"
            }
          },
          {
            "name": "end_date",
            "in": "query",
            "description": "조회 범위 종료 날짜",
            "schema": {
              "type": "string",
              "example": "2026-02-01 11:59:59 또는 2026-02-01"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/ApiOpenLiveMediaBroadcast"
                      }
                    },
                    "links": {
                      "properties": {
                        "first": {
                          "type": "string"
                        },
                        "last": {
                          "type": "string"
                        },
                        "prev": {
                          "type": "string"
                        },
                        "next": {
                          "type": "string"
                        }
                      },
                      "type": "object"
                    },
                    "meta": {
                      "properties": {
                        "current_page": {
                          "type": "integer"
                        },
                        "from": {
                          "type": "integer"
                        },
                        "last_page": {
                          "type": "integer"
                        },
                        "path": {
                          "type": "string"
                        },
                        "per_page": {
                          "type": "integer"
                        },
                        "to": {
                          "type": "integer"
                        },
                        "total": {
                          "type": "integer"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Bad request"
          },
          "401": {
            "description": "Unauthenticated"
          },
          "404": {
            "description": "Not found"
          }
        },
        "security": [
          {
            "kollus_oauth2": [
              "live:control"
            ]
          }
        ]
      }
    },
    "/v1/live/service-accounts/{service_account_key}/channels/{channel_key}/broadcasts": {
      "get": {
        "tags": [
          "라이브 방송 관리"
        ],
        "summary": "채널별 방송 목록 조회",
        "description": "특정 채널의 라이브 방송 목록을 조회합니다. 쿼리 파라미터를 활용하여 결과를 필터링할 수 있습니다.",
        "operationId": "8c593ff66ca5e1808e6ed68657bb825d",
        "parameters": [
          {
            "name": "service_account_key",
            "in": "path",
            "description": "서비스 계정 키",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "channel_key",
            "in": "path",
            "description": "채널 키",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "keyword",
            "in": "query",
            "description": "검색 키워드 필터링",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "order",
            "in": "query",
            "description": "데이터 정렬 기준",
            "schema": {
              "type": "string",
              "default": "id_desc",
              "enum": [
                "id_desc",
                "id_asc",
                "title_desc",
                "title_asc"
              ]
            }
          },
          {
            "name": "page",
            "in": "query",
            "description": "조회 대상 페이지 번호",
            "schema": {
              "type": "integer",
              "default": 1
            }
          },
          {
            "name": "per_page",
            "in": "query",
            "description": "페이지당 출력 데이터 개수",
            "schema": {
              "type": "integer",
              "default": 10
            }
          },
          {
            "name": "start_date",
            "in": "query",
            "description": "조회 범위 시작 날짜",
            "schema": {
              "type": "string",
              "example": "2026-01-01 09:00:00 또는 2026-01-01"
            }
          },
          {
            "name": "end_date",
            "in": "query",
            "description": "조회 범위 종료 날짜",
            "schema": {
              "type": "string",
              "example": "2026-02-01 11:59:59 또는 2026-02-01"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/ApiOpenLiveMediaBroadcast"
                      }
                    },
                    "links": {
                      "properties": {
                        "first": {
                          "type": "string"
                        },
                        "last": {
                          "type": "string"
                        },
                        "prev": {
                          "type": "string"
                        },
                        "next": {
                          "type": "string"
                        }
                      },
                      "type": "object"
                    },
                    "meta": {
                      "properties": {
                        "current_page": {
                          "type": "integer"
                        },
                        "from": {
                          "type": "integer"
                        },
                        "last_page": {
                          "type": "integer"
                        },
                        "path": {
                          "type": "string"
                        },
                        "per_page": {
                          "type": "integer"
                        },
                        "to": {
                          "type": "integer"
                        },
                        "total": {
                          "type": "integer"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Bad request"
          },
          "401": {
            "description": "Unauthenticated"
          },
          "404": {
            "description": "Not found"
          }
        },
        "security": [
          {
            "kollus_oauth2": [
              "live:control"
            ]
          }
        ]
      }
    },
    "/v1/live/service-accounts/{service_account_key}/broadcasts/{broadcast_key}": {
      "get": {
        "tags": [
          "라이브 방송 관리"
        ],
        "summary": "방송 정보 조회",
        "description": "특정 라이브 방송의 상세 정보를 조회합니다.",
        "operationId": "48664e18d3f032ac84b842f41e95d85b",
        "parameters": [
          {
            "name": "service_account_key",
            "in": "path",
            "description": "서비스 계정 키",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "broadcast_key",
            "in": "path",
            "description": "방송 키",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/ApiOpenLiveMediaBroadcast"
                    }
                  },
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Bad request"
          },
          "401": {
            "description": "Unauthenticated"
          },
          "404": {
            "description": "Not found"
          },
          "422": {
            "description": "Unprocessable entity"
          }
        },
        "security": [
          {
            "kollus_oauth2": [
              "live:control"
            ]
          }
        ]
      },
      "put": {
        "tags": [
          "라이브 방송 관리"
        ],
        "summary": "방송 제목 수정",
        "description": "기존 라이브 방송의 제목을 수정합니다.",
        "operationId": "0e2c51ff22e3293700099d27feb7af02",
        "parameters": [
          {
            "name": "service_account_key",
            "in": "path",
            "description": "서비스 계정 키",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "broadcast_key",
            "in": "path",
            "description": "방송 키",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/x-www-form-urlencoded": {
              "schema": {
                "required": [
                  "title"
                ],
                "properties": {
                  "title": {
                    "description": "방송 제목",
                    "type": "string"
                  }
                },
                "type": "object"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/ApiOpenLiveMediaBroadcast"
                    }
                  },
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Bad request"
          },
          "401": {
            "description": "Unauthenticated"
          },
          "404": {
            "description": "Not found"
          },
          "422": {
            "description": "Unprocessable entity"
          }
        },
        "security": [
          {
            "kollus_oauth2": [
              "live:control"
            ]
          }
        ]
      }
    },
    "/v1/live/service-accounts/{service_account_key}/broadcasts/{broadcast_key}/duplicate-recording": {
      "post": {
        "tags": [
          "라이브 방송 관리"
        ],
        "summary": "수동 녹화 시작",
        "description": "진행 중인 라이브 방송의 수동 녹화를 시작합니다.",
        "parameters": [
          {
            "name": "service_account_key",
            "in": "path",
            "description": "서비스 계정 키",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "broadcast_key",
            "in": "path",
            "description": "방송 키",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/x-www-form-urlencoded": {
              "schema": {
                "properties": {
                  "use_cue_sign_timeshift": {
                    "description": "Timeshift 큐 사인 활성화\n- `0`: 비활성\n- `1`: 활성",
                    "type": "integer",
                    "default": 0,
                    "enum": [
                      0,
                      1
                    ]
                  }
                },
                "type": "object"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/ApiOpenLiveMediaBroadcast"
                    }
                  },
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Bad request"
          },
          "401": {
            "description": "Unauthenticated"
          },
          "404": {
            "description": "Not found"
          },
          "409": {
            "description": "Conflict"
          }
        },
        "security": [
          {
            "kollus_oauth2": [
              "live:creator"
            ]
          }
        ]
      },
      "delete": {
        "tags": [
          "라이브 방송 관리"
        ],
        "summary": "수동 녹화 종료",
        "description": "진행 중인 수동 녹화를 즉시 종료합니다.",
        "parameters": [
          {
            "name": "service_account_key",
            "in": "path",
            "description": "서비스 계정 키",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "broadcast_key",
            "in": "path",
            "description": "방송 키",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/ApiOpenLiveMediaBroadcast"
                    }
                  },
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Bad request"
          },
          "401": {
            "description": "Unauthenticated"
          },
          "404": {
            "description": "Not found"
          },
          "422": {
            "description": "Unprocessable entity"
          }
        },
        "security": [
          {
            "kollus_oauth2": [
              "live:creator"
            ]
          }
        ]
      }
    },
    "/v1/live/service-accounts/{service_account_key}/broadcasts/{broadcast_key}/cue-sign-timeshift": {
      "put": {
        "tags": [
          "라이브 방송 관리"
        ],
        "summary": "Timeshift 큐 사인 수정",
        "description": "Timeshift 기능이 활성화된 방송의 재생 시작 지점(큐 사인)을 변경합니다. 이 설정으로 방송 진입 시 초기 노출 위치를 조정할 수 있습니다. 시청자의 과거 시점 탐색은 설정된 `cue_sign_at` 시점까지만 가능합니다.",
        "operationId": "6bbeb29fdaccd3cca5c6e31ff90719ab",
        "parameters": [
          {
            "name": "service_account_key",
            "in": "path",
            "description": "서비스 계정 키",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "broadcast_key",
            "in": "path",
            "description": "방송 키",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/x-www-form-urlencoded": {
              "schema": {
                "properties": {
                  "cue_sign_at": {
                    "description": "변경할 큐 사인 시점",
                    "type": "string",
                    "example": "2026-01-01 09:00:00"
                  }
                },
                "type": "object"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/ApiOpenLiveMediaBroadcast"
                    }
                  },
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Bad request"
          },
          "401": {
            "description": "Unauthenticated"
          },
          "404": {
            "description": "Not found"
          },
          "422": {
            "description": "Unprocessable entity"
          }
        },
        "security": [
          {
            "kollus_oauth2": [
              "live:control"
            ]
          }
        ]
      }
    },
    "/v1/live/service-accounts/{service_account_key}/broadcasts/{broadcast_key}/like-download": {
      "get": {
        "tags": [
          "라이브 방송 관리"
        ],
        "summary": "'좋아요' 반응 데이터 다운로드",
        "description": "특정 라이브 방송에서 발생한 '좋아요' 반응 데이터를 파일 형태로 다운로드할 수 있는 URL을 생성합니다.",
        "operationId": "8ac0a6f372a7ad57d22de24f8c312645",
        "parameters": [
          {
            "name": "service_account_key",
            "in": "path",
            "description": "서비스 계정 키",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "broadcast_key",
            "in": "path",
            "description": "방송 키",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/ApiOpenKollusFileDownload"
                    }
                  },
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Bad request"
          },
          "401": {
            "description": "Unauthenticated"
          },
          "404": {
            "description": "Not found"
          },
          "422": {
            "description": "Unprocessable entity"
          }
        },
        "security": [
          {
            "kollus_oauth2": [
              "live:control"
            ]
          }
        ]
      }
    },
    "/v1/live/service-accounts/{service_account_key}/programs": {
      "get": {
        "tags": [
          "편성 관리"
        ],
        "summary": "전체 편성 목록 조회",
        "description": "전체 편성 라이브 채널의 프로그램 편성 목록을 조회합니다.",
        "parameters": [
          {
            "name": "service_account_key",
            "in": "path",
            "description": "서비스 계정 키",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "page",
            "in": "query",
            "description": "조회 대상 페이지 번호",
            "schema": {
              "type": "integer",
              "default": 1
            }
          },
          {
            "name": "per_page",
            "in": "query",
            "description": "페이지당 출력 데이터 개수",
            "schema": {
              "type": "integer",
              "default": 10
            }
          },
          {
            "name": "start_date",
            "in": "query",
            "description": "조회 범위 시작 날짜",
            "schema": {
              "type": "string",
              "example": "2026-01-01 09:00:00 또는 2026-01-01"
            }
          },
          {
            "name": "end_date",
            "in": "query",
            "description": "조회 범위 종료 날짜",
            "schema": {
              "type": "string",
              "example": "2026-02-01 11:59:59 또는 2026-02-01"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/ApiOpenProgramSchedule"
                      }
                    },
                    "links": {
                      "properties": {
                        "first": {
                          "type": "string"
                        },
                        "last": {
                          "type": "string"
                        },
                        "prev": {
                          "type": "string"
                        },
                        "next": {
                          "type": "string"
                        }
                      },
                      "type": "object"
                    },
                    "meta": {
                      "properties": {
                        "current_page": {
                          "type": "integer"
                        },
                        "from": {
                          "type": "integer"
                        },
                        "last_page": {
                          "type": "integer"
                        },
                        "path": {
                          "type": "string"
                        },
                        "per_page": {
                          "type": "integer"
                        },
                        "to": {
                          "type": "integer"
                        },
                        "total": {
                          "type": "integer"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Bad request"
          },
          "401": {
            "description": "Unauthenticated"
          },
          "404": {
            "description": "Not found"
          }
        },
        "security": [
          {
            "kollus_oauth2": [
              "live:control"
            ]
          }
        ]
      }
    },
    "/v1/live/service-accounts/{service_account_key}/channels/{channel_key}/programs": {
      "get": {
        "tags": [
          "편성 관리"
        ],
        "summary": "채널별 편성 목록 조회",
        "description": "특정 편성 라이브 채널의 프로그램 편성 목록을 조회합니다.",
        "parameters": [
          {
            "name": "service_account_key",
            "in": "path",
            "description": "서비스 계정 키",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "channel_key",
            "in": "path",
            "description": "채널 키",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "page",
            "in": "query",
            "description": "조회 대상 페이지 번호",
            "schema": {
              "type": "integer",
              "default": 1
            }
          },
          {
            "name": "per_page",
            "in": "query",
            "description": "페이지당 출력 데이터 개수",
            "schema": {
              "type": "integer",
              "default": 10
            }
          },
          {
            "name": "start_date",
            "in": "query",
            "description": "조회 범위 시작 날짜",
            "schema": {
              "type": "string",
              "example": "2026-01-01 09:00:00 또는 2026-01-01"
            }
          },
          {
            "name": "end_date",
            "in": "query",
            "description": "조회 범위 종료 날짜",
            "schema": {
              "type": "string",
              "example": "2026-02-01 11:59:59 또는 2026-02-01"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/ApiOpenProgramSchedule"
                      }
                    },
                    "links": {
                      "properties": {
                        "first": {
                          "type": "string"
                        },
                        "last": {
                          "type": "string"
                        },
                        "prev": {
                          "type": "string"
                        },
                        "next": {
                          "type": "string"
                        }
                      },
                      "type": "object"
                    },
                    "meta": {
                      "properties": {
                        "current_page": {
                          "type": "integer"
                        },
                        "from": {
                          "type": "integer"
                        },
                        "last_page": {
                          "type": "integer"
                        },
                        "path": {
                          "type": "string"
                        },
                        "per_page": {
                          "type": "integer"
                        },
                        "to": {
                          "type": "integer"
                        },
                        "total": {
                          "type": "integer"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Bad request"
          },
          "401": {
            "description": "Unauthenticated"
          },
          "404": {
            "description": "Not found"
          }
        },
        "security": [
          {
            "kollus_oauth2": [
              "live:control"
            ]
          }
        ]
      },
      "post": {
        "tags": [
          "편성 관리"
        ],
        "summary": "신규 프로그램 편성",
        "description": "[ **접근 권한**: 최고 관리자 ]\n\n 편성 라이브 채널에 방송될 신규 프로그램 일정을 등록합니다. 업로드된 VOD 콘텐츠를 특정 시간에 순차적으로 송출하도록 설정할 수 있습니다.",
        "parameters": [
          {
            "name": "service_account_key",
            "in": "path",
            "description": "서비스 계정 키",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "channel_key",
            "in": "path",
            "description": "채널 키",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/x-www-form-urlencoded": {
              "schema": {
                "required": [
                  "title",
                  "general_file_upload_file_keys[]",
                  "start_date"
                ],
                "properties": {
                  "title": {
                    "description": "프로그램 제목",
                    "type": "string"
                  },
                  "wait_file_upload_file_key": {
                    "description": "방송 송출 전 노출할 대기 화면 파일 키",
                    "type": "string"
                  },
                  "wait_file_duration": {
                    "description": "대기 화면 노출 시간 (단위: 분)",
                    "type": "integer",
                    "maximum": 360
                  },
                  "general_file_upload_file_keys[]": {
                    "description": "순차 송출 대상 VOD 콘텐츠 (업로드 파일 키 배열)",
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  },
                  "start_date": {
                    "description": "방송 시작 일시",
                    "type": "string",
                    "example": "2026-01-01 09:00:00"
                  }
                },
                "type": "object"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/ApiOpenProgramSchedule"
                    }
                  },
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Bad request"
          },
          "401": {
            "description": "Unauthenticated"
          },
          "404": {
            "description": "Not found"
          },
          "422": {
            "description": "Unprocessable entity"
          }
        },
        "security": [
          {
            "kollus_oauth2": [
              "live:control"
            ]
          }
        ]
      }
    },
    "/v1/live/service-accounts/{service_account_key}/channels/{channel_key}/programs/{program_id}": {
      "put": {
        "tags": [
          "편성 관리"
        ],
        "summary": "편성 정보 수정",
        "description": "[ **접근 권한**: 최고 관리자 ]\n\n 특정 프로그램 편성 정보를 수정합니다.",
        "parameters": [
          {
            "name": "service_account_key",
            "in": "path",
            "description": "서비스 계정 키",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "channel_key",
            "in": "path",
            "description": "채널 키",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "program_id",
            "in": "path",
            "description": "프로그램 ID",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/x-www-form-urlencoded": {
              "schema": {
                "required": [
                  "title",
                  "general_file_upload_file_keys[]",
                  "start_date"
                ],
                "properties": {
                  "title": {
                    "description": "프로그램 제목",
                    "type": "string"
                  },
                  "wait_file_id": {
                    "description": "대기 화면 ID",
                    "type": "integer"
                  },
                  "wait_file_duration": {
                    "description": "대기 화면 노출 시간 (단위: 분)",
                    "type": "integer",
                    "maximum": 360
                  },
                  "general_file_upload_file_keys[]": {
                    "description": "순차 송출 대상 VOD 콘텐츠 (업로드 파일 키 배열)",
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  },
                  "start_date": {
                    "description": "방송 시작 일시",
                    "type": "string",
                    "example": "2026-01-01 09:00:00"
                  }
                },
                "type": "object"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/ApiOpenProgramSchedule"
                    }
                  },
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Bad request"
          },
          "401": {
            "description": "Unauthenticated"
          },
          "404": {
            "description": "Not found"
          },
          "422": {
            "description": "Unprocessable entity"
          }
        },
        "security": [
          {
            "kollus_oauth2": [
              "live:control"
            ]
          }
        ]
      },
      "delete": {
        "tags": [
          "편성 관리"
        ],
        "summary": "편성 정보 삭제",
        "description": "[ **접근 권한**: 최고 관리자 ]\n\n 특정 프로그램 편성 정보를 삭제합니다.",
        "parameters": [
          {
            "name": "service_account_key",
            "in": "path",
            "description": "서비스 계정 키",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "channel_key",
            "in": "path",
            "description": "채널 키",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "program_id",
            "in": "path",
            "description": "프로그램 ID",
            "required": true,
            "schema": {
              "type": "integer"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "No content",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Bad request"
          },
          "401": {
            "description": "Unauthenticated"
          },
          "404": {
            "description": "Not found"
          }
        },
        "security": [
          {
            "kollus_oauth2": [
              "live:control"
            ]
          }
        ]
      }
    },
    "/v1/live/service-accounts/{service_account_key}/programs/media-contents": {
      "get": {
        "tags": [
          "편성 관리"
        ],
        "summary": "VOD 콘텐츠 목록 조회",
        "description": "[ **접근 권한**: 최고 관리자, 관리자 ]\n\n 편성 라이브 송출을 목적으로 시스템에 업로드된 전체 VOD 콘텐츠 목록을 조회합니다. 쿼리 파라미터를 활용하여 결과를 필터링할 수 있습니다.",
        "parameters": [
          {
            "name": "service_account_key",
            "in": "path",
            "description": "서비스 계정 키",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "page",
            "in": "query",
            "description": "조회 대상 페이지 번호",
            "schema": {
              "type": "integer",
              "default": "1"
            }
          },
          {
            "name": "per_page",
            "in": "query",
            "description": "페이지당 출력 데이터 개수",
            "schema": {
              "type": "integer",
              "default": 10
            }
          },
          {
            "name": "order",
            "in": "query",
            "description": "데이터 정렬 기준",
            "schema": {
              "type": "string",
              "default": "created_at_desc",
              "enum": [
                "title_desc",
                "title_asc",
                "created_at_desc",
                "created_at_asc"
              ]
            }
          },
          {
            "name": "keyword",
            "in": "query",
            "description": "검색 키워드 필터링",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "only_selectable",
            "in": "query",
            "description": "업로드 완료 여부 필터링",
            "schema": {
              "type": "integer",
              "default": 0,
              "enum": [
                0,
                1
              ]
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/ApiOpenProgramMediaContents"
                      }
                    },
                    "links": {
                      "properties": {
                        "first": {
                          "type": "string"
                        },
                        "last": {
                          "type": "string"
                        },
                        "prev": {
                          "type": "string"
                        },
                        "next": {
                          "type": "string"
                        }
                      },
                      "type": "object"
                    },
                    "meta": {
                      "properties": {
                        "current_page": {
                          "type": "integer"
                        },
                        "from": {
                          "type": "integer"
                        },
                        "last_page": {
                          "type": "integer"
                        },
                        "path": {
                          "type": "string"
                        },
                        "per_page": {
                          "type": "integer"
                        },
                        "to": {
                          "type": "integer"
                        },
                        "total": {
                          "type": "integer"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Bad request"
          },
          "401": {
            "description": "Unauthenticated"
          },
          "404": {
            "description": "Not found"
          }
        },
        "security": [
          {
            "kollus_oauth2": [
              "live:control"
            ]
          }
        ]
      }
    },
    "/v1/live/service-accounts/{service_account_key}/programs/media-contents/upload-url": {
      "get": {
        "tags": [
          "편성 관리"
        ],
        "summary": "VOD 콘텐츠 업로드",
        "description": "[ **접근 권한**: 최고 관리자 ]\n\n 콘텐츠 파일을 안전하게 업로드하기 위한 일회성 엔드포인트 URL을 생성합니다.",
        "parameters": [
          {
            "name": "service_account_key",
            "in": "path",
            "description": "서비스 계정 키",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "general_upload",
            "in": "query",
            "description": "트랜스코딩 설정 (`1`: 트랜스코딩 진행)",
            "schema": {
              "type": "integer",
              "default": 1,
              "enum": [
                0,
                1
              ]
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/ApiOpenMediaContentUploadURL"
                      }
                    }
                  },
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Bad request"
          },
          "401": {
            "description": "Unauthenticated"
          },
          "404": {
            "description": "Not found"
          }
        },
        "security": [
          {
            "kollus_oauth2": [
              "live:control"
            ]
          }
        ]
      }
    },
    "/v1/live/service-accounts/{service_account_key}/programs/media-contents/{upload_file_key}": {
      "delete": {
        "tags": [
          "편성 관리"
        ],
        "summary": "VOD 콘텐츠 삭제",
        "description": "[ **접근 권한**: 최고 관리자 ]\n\n 편성 라이브 송출을 목적으로 업로드된 VOD 콘텐츠를 시스템에서 영구적으로 삭제합니다.",
        "parameters": [
          {
            "name": "service_account_key",
            "in": "path",
            "description": "서비스 계정 키",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "upload_file_key",
            "in": "path",
            "description": "업로드 파일 키",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "No content",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Bad request"
          },
          "401": {
            "description": "Unauthenticated"
          },
          "404": {
            "description": "Not found"
          },
          "422": {
            "description": "Unprocessable entity"
          }
        },
        "security": [
          {
            "kollus_oauth2": [
              "live:control"
            ]
          }
        ]
      }
    },
    "/v1/live/service-accounts/{service_account_key}/programs/wait-media-contents": {
      "get": {
        "tags": [
          "편성 관리"
        ],
        "summary": "대기 화면 목록 조회",
        "description": "[ **접근 권한**: 최고 관리자, 관리자 ]\n\n 편성 라이브 송출을 목적으로 시스템에 업로드된 전체 대기 화면 목록을 조회합니다. 쿼리 파라미터를 활용하여 결과를 필터링할 수 있습니다.",
        "parameters": [
          {
            "name": "service_account_key",
            "in": "path",
            "description": "서비스 계정 키",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "page",
            "in": "query",
            "description": "조회 대상 페이지 번호",
            "schema": {
              "type": "integer",
              "default": 1
            }
          },
          {
            "name": "per_page",
            "in": "query",
            "description": "페이지당 출력 데이터 개수",
            "schema": {
              "type": "integer",
              "default": 10
            }
          },
          {
            "name": "order",
            "in": "query",
            "description": "데이터 정렬 기준",
            "schema": {
              "type": "string",
              "default": "created_at_desc",
              "enum": [
                "title_desc",
                "title_asc",
                "created_at_desc",
                "created_at_asc"
              ]
            }
          },
          {
            "name": "keyword",
            "in": "query",
            "description": "검색 키워드 필터링",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "only_selectable",
            "in": "query",
            "description": "업로드 완료 여부 필터링",
            "schema": {
              "type": "integer",
              "default": 0,
              "enum": [
                0,
                1
              ]
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/ApiOpenProgramMediaContents"
                      }
                    },
                    "links": {
                      "properties": {
                        "first": {
                          "type": "string"
                        },
                        "last": {
                          "type": "string"
                        },
                        "prev": {
                          "type": "string"
                        },
                        "next": {
                          "type": "string"
                        }
                      },
                      "type": "object"
                    },
                    "meta": {
                      "properties": {
                        "current_page": {
                          "type": "integer"
                        },
                        "from": {
                          "type": "integer"
                        },
                        "last_page": {
                          "type": "integer"
                        },
                        "path": {
                          "type": "string"
                        },
                        "per_page": {
                          "type": "integer"
                        },
                        "to": {
                          "type": "integer"
                        },
                        "total": {
                          "type": "integer"
                        },
                        "max_width": {
                          "type": "integer"
                        },
                        "max_height": {
                          "type": "integer"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Bad request"
          },
          "401": {
            "description": "Unauthenticated"
          },
          "404": {
            "description": "Not found"
          }
        },
        "security": [
          {
            "kollus_oauth2": [
              "live:control"
            ]
          }
        ]
      }
    },
    "/v1/live/service-accounts/{service_account_key}/programs/media-contents/upload-wait-file": {
      "post": {
        "tags": [
          "편성 관리"
        ],
        "summary": "대기 화면 이미지 업로드",
        "description": "[ **접근 권한**: 최고 관리자 ]\n\n 편성 프로그램 시작 전 노출할 대기 화면 이미지 파일을 업로드하기 위한 일회성 엔드포인트 URL을 생성합니다.",
        "parameters": [
          {
            "name": "service_account_key",
            "in": "path",
            "description": "서비스 계정 키",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "multipart/form-data": {
              "schema": {
                "properties": {
                  "upload_file": {
                    "description": "이미지 파일 (jpeg, jpg, png)",
                    "type": "string",
                    "format": "binary"
                  }
                },
                "type": "object"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No content",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Bad request"
          },
          "401": {
            "description": "Unauthenticated"
          },
          "404": {
            "description": "Not found"
          },
          "422": {
            "description": "Unprocessable entity"
          }
        },
        "security": [
          {
            "kollus_oauth2": [
              "live:control"
            ]
          }
        ]
      }
    },
    "/v1/live/service-accounts/{service_account_key}/channels/{channel_key}/syndications": {
      "get": {
        "tags": [
          "신디케이션 관리"
        ],
        "summary": "채널별 신디케이션 목록 조회",
        "description": "특정 채널에 등록된 신디케이션 설정 목록을 조회합니다.",
        "operationId": "a54d316907c57f8c35c037aed1666200",
        "parameters": [
          {
            "name": "service_account_key",
            "in": "path",
            "description": "서비스 계정 키",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "channel_key",
            "in": "path",
            "description": "채널 키",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/ApiOpenLiveMediaSyndication"
                      }
                    }
                  },
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Bad request"
          },
          "401": {
            "description": "Unauthenticated"
          },
          "404": {
            "description": "Not found"
          }
        },
        "security": [
          {
            "kollus_oauth2": [
              "live:control"
            ]
          }
        ]
      },
      "post": {
        "tags": [
          "신디케이션 관리"
        ],
        "summary": "신규 신디케이션 추가",
        "description": "새로운 신디케이션 설정을 추가합니다.",
        "operationId": "16c76f5dd6fda9a187dc8bc3a13e25a7",
        "parameters": [
          {
            "name": "service_account_key",
            "in": "path",
            "description": "서비스 계정 키",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "channel_key",
            "in": "path",
            "description": "채널 키",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/x-www-form-urlencoded": {
              "schema": {
                "required": [
                  "title",
                  "link",
                  "stream_name",
                  "status"
                ],
                "properties": {
                  "title": {
                    "description": "신디케이션 식별 명칭",
                    "type": "string"
                  },
                  "link": {
                    "description": "외부 플랫폼의 스트림 수신 URL (링크)",
                    "type": "string"
                  },
                  "stream_name": {
                    "description": "외부 플랫폼에서 제공하는 방송 식별 키 (스트림 키)",
                    "type": "string"
                  },
                  "status": {
                    "description": "신디케이션 활성화 여부\n- `0`: 비활성\n- `1`: 활성",
                    "type": "integer",
                    "default": 0,
                    "enum": [
                      0,
                      1
                    ]
                  }
                },
                "type": "object"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/ApiOpenLiveMediaSyndication"
                    }
                  },
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Bad request"
          },
          "401": {
            "description": "Unauthenticated"
          },
          "404": {
            "description": "Not found"
          },
          "422": {
            "description": "Unprocessable entity"
          }
        },
        "security": [
          {
            "kollus_oauth2": [
              "live:control"
            ]
          }
        ]
      }
    },
    "/v1/live/service-accounts/{service_account_key}/channels/{channel_key}/syndications/{syndication_id}": {
      "get": {
        "tags": [
          "신디케이션 관리"
        ],
        "summary": "신디케이션 설정 정보 조회",
        "description": "특정 신디케이션 설정의 상세 정보를 조회합니다.",
        "operationId": "0f1ac67f90905f86bfbd879a77d3365c",
        "parameters": [
          {
            "name": "service_account_key",
            "in": "path",
            "description": "서비스 계정 키",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "channel_key",
            "in": "path",
            "description": "채널 키",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "syndication_id",
            "in": "path",
            "description": "신디케이션 ID",
            "required": true,
            "schema": {
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/ApiOpenLiveMediaSyndication"
                    }
                  },
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Bad request"
          },
          "401": {
            "description": "Unauthenticated"
          },
          "404": {
            "description": "Not found"
          }
        },
        "security": [
          {
            "kollus_oauth2": [
              "live:control"
            ]
          }
        ]
      },
      "put": {
        "tags": [
          "신디케이션 관리"
        ],
        "summary": "신디케이션 설정 정보 수정",
        "description": "특정 신디케이션 설정의 상세 정보를 수정합니다.",
        "operationId": "3617ae67fe4d4ab0b2cd29ca69b6836a",
        "parameters": [
          {
            "name": "service_account_key",
            "in": "path",
            "description": "서비스 계정 키",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "channel_key",
            "in": "path",
            "description": "채널 키",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "syndication_id",
            "in": "path",
            "description": "신디케이션 ID",
            "required": true,
            "schema": {
              "type": "integer"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/x-www-form-urlencoded": {
              "schema": {
                "required": [
                  "status"
                ],
                "properties": {
                  "title": {
                    "description": "신디케이션 식별 명칭",
                    "type": "string"
                  },
                  "link": {
                    "description": "외부 플랫폼의 스트림 수신 URL (링크)",
                    "type": "string"
                  },
                  "stream_name": {
                    "description": "외부 플랫폼에서 제공하는 방송 식별 키 (스트림 키)",
                    "type": "string"
                  },
                  "status": {
                    "description": "신디케이션 활성화 여부\n- `0`: 비활성\n- `1`: 활성",
                    "type": "integer",
                    "default": 0,
                    "enum": [
                      0,
                      1
                    ]
                  }
                },
                "type": "object"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/ApiOpenLiveMediaSyndication"
                    }
                  },
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Bad request"
          },
          "401": {
            "description": "Unauthenticated"
          },
          "404": {
            "description": "Not found"
          },
          "422": {
            "description": "Unprocessable entity"
          }
        },
        "security": [
          {
            "kollus_oauth2": [
              "live:control"
            ]
          }
        ]
      },
      "delete": {
        "tags": [
          "신디케이션 관리"
        ],
        "summary": "신디케이션 삭제",
        "description": "특정 신디케이션 설정을 시스템에서 영구적으로 삭제합니다.",
        "operationId": "d8befcff832d3140d10829704b4d0f6a",
        "parameters": [
          {
            "name": "service_account_key",
            "in": "path",
            "description": "서비스 계정 키",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "channel_key",
            "in": "path",
            "description": "채널 키",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "syndication_id",
            "in": "path",
            "description": "신디케이션 ID",
            "required": true,
            "schema": {
              "type": "integer"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Bad request"
          },
          "401": {
            "description": "Unauthenticated"
          },
          "404": {
            "description": "Not found"
          },
          "422": {
            "description": "Unprocessable entity"
          }
        },
        "security": [
          {
            "kollus_oauth2": [
              "live:control"
            ]
          }
        ]
      }
    },
    "/v1/live/service-accounts/{service_account_key}/channels/{channel_key}/kollus-chatting": {
      "post": {
        "tags": [
          "채팅 관리"
        ],
        "summary": "채팅 설정 수정",
        "description": "[ **접근 권한**: 최고 관리자, 관리자 ]\n\n 채팅 기능의 상세 설정을 수정합니다.",
        "operationId": "8ac0a6f372a7ad57d22de24f8c312642",
        "parameters": [
          {
            "name": "service_account_key",
            "in": "path",
            "description": "서비스 계정 키",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "channel_key",
            "in": "path",
            "description": "채널 키",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/x-www-form-urlencoded": {
              "schema": {
                "required": [
                  "use_chatting_service"
                ],
                "properties": {
                  "use_chatting_service": {
                    "description": "채팅 기능 활성화\n- `0`: 비활성\n- `1`: 활성",
                    "type": "integer",
                    "default": 1,
                    "enum": [
                      0,
                      1
                    ]
                  },
                  "chatting_service_id": {
                    "description": "연동 대상 채팅 서비스 ID",
                    "type": "integer"
                  },
                  "concurrently_chatting_limit": {
                    "description": "채팅방 동시 입장 최대 인원 제한",
                    "type": "integer",
                    "default": 300
                  },
                  "chatting_limit_count": {
                    "description": "채팅 참여자 1명이 1분 동안 전송할 수 있는 최대 메시지 수",
                    "type": "integer",
                    "default": 30
                  },
                  "chatting_join_message": {
                    "description": "채팅 참여 시 노출되는 환영 메시지",
                    "type": "string"
                  },
                  "chatting_anonymous_chat": {
                    "description": "익명 채팅 활성화\n- `0`: 비활성\n- `1`: 활성",
                    "type": "integer",
                    "default": 0,
                    "enum": [
                      0,
                      1
                    ]
                  },
                  "chatting_enable_block": {
                    "description": "채팅 관리자 전용 사용자 차단(강제 퇴장) 기능 활성화\n- `0`: 비활성\n- `1`: 활성",
                    "type": "integer",
                    "default": 1,
                    "enum": [
                      0,
                      1
                    ]
                  },
                  "chatting_admin_ids": {
                    "description": "채팅 관리자 ID (구분자: 공백). 인증 시 사용되는 `client_user_id`와 일치해야 합니다.",
                    "type": "string"
                  },
                  "chatting_send_status": {
                    "description": "'좋아요' 반응 기능 활성화\n- `0`: 비활성\n- `1`: 활성",
                    "type": "integer",
                    "default": 0,
                    "enum": [
                      0,
                      1
                    ]
                  },
                  "chatting_display_profile_photo": {
                    "description": "채팅 참여자 프로필 이미지 노출 설정\n- `0`: 미노출\n- `1`: 노출",
                    "type": "integer",
                    "default": 0,
                    "enum": [
                      0,
                      1
                    ]
                  },
                  "chatting_disable_default_profile_photo": {
                    "description": "기본 프로필 이미지 업데이트",
                    "type": "integer",
                    "default": 0,
                    "enum": [
                      0,
                      1
                    ]
                  },
                  "chatting_profile_photo_file": {
                    "description": "기본 프로필 이미지 파일",
                    "type": "string",
                    "format": "binary"
                  }
                },
                "type": "object"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/ApiOpenLiveMediaChannelChatting"
                    }
                  },
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Bad request"
          },
          "401": {
            "description": "Unauthenticated"
          },
          "404": {
            "description": "Not found"
          },
          "422": {
            "description": "Unprocessable entity"
          }
        },
        "security": [
          {
            "kollus_oauth2": [
              "live:control"
            ]
          }
        ]
      }
    },
    "/v1/live/service-accounts/{service_account_key}/channels/{channel_key}/chatting": {
      "get": {
        "tags": [
          "채팅 관리"
        ],
        "summary": "채팅방 설정 정보 조회",
        "description": "채팅방의 상세 설정 정보를 조회합니다.",
        "operationId": "8ac0a6f372a7ad57d22de24f8c312643",
        "parameters": [
          {
            "name": "service_account_key",
            "in": "path",
            "description": "서비스 계정 키",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "channel_key",
            "in": "path",
            "description": "채널 키",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "description": "채팅 서비스 유형에 따라 반환되는 데이터 객체의 구조가 상이합니다.",
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Bad request"
          },
          "401": {
            "description": "Unauthenticated"
          },
          "404": {
            "description": "Not found"
          },
          "422": {
            "description": "Unprocessable entity"
          }
        },
        "security": [
          {
            "kollus_oauth2": [
              "live:control"
            ]
          }
        ]
      }
    },
    "/v1/live/service-accounts/{service_account_key}/channels/{channel_key}/chatting-info": {
      "get": {
        "tags": [
          "채팅 관리"
        ],
        "summary": "채팅방 설정 정보 조회 (채팅 SDK 전용)",
        "description": "채팅방의 상세 설정 정보를 조회합니다.",
        "operationId": "8ac0a6f372a7ad57d22de24f8c312640",
        "parameters": [
          {
            "name": "service_account_key",
            "in": "path",
            "description": "서비스 계정 키",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "channel_key",
            "in": "path",
            "description": "채널 키",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "description": "채팅 서비스 유형에 따라 반환되는 데이터 객체의 구조가 상이합니다.",
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Bad request"
          },
          "401": {
            "description": "Unauthenticated"
          },
          "404": {
            "description": "Not found"
          },
          "422": {
            "description": "Unprocessable entity"
          }
        },
        "security": [
          {
            "kollus_oauth2": [
              "live:control"
            ]
          }
        ]
      }
    },
    "/v1/live/service-accounts/{service_account_key}/channels/{channel_key}/chatroll-chatting": {
      "post": {
        "tags": [
          "채팅 관리"
        ],
        "summary": "Chatroll 연동 정보 수정",
        "description": "[ **접근 권한**: 최고 관리자, 관리자 ]\n\n 외부 채팅 서비스인 Chatroll의 연동 정보를 수정합니다.",
        "operationId": "8ac0a6f372a7ad57d22de24f8c312641",
        "parameters": [
          {
            "name": "service_account_key",
            "in": "path",
            "description": "서비스 계정 키",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "channel_key",
            "in": "path",
            "description": "채널 키",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/x-www-form-urlencoded": {
              "schema": {
                "required": [
                  "use_chatting_service"
                ],
                "properties": {
                  "use_chatting_service": {
                    "description": "채팅 기능 활성화\n- `0`: 비활성\n- `1`: 활성",
                    "type": "integer",
                    "default": 1,
                    "enum": [
                      0,
                      1
                    ]
                  },
                  "chatting_service_id": {
                    "description": "연동 대상 Chatroll 서비스 ID",
                    "type": "integer"
                  },
                  "chatting_position": {
                    "description": "플레이어 내 채팅창 노출 위치",
                    "type": "string",
                    "default": "bottom",
                    "enum": [
                      "right",
                      "left",
                      "bottom"
                    ]
                  },
                  "chatting_embed_code": {
                    "description": "Chatroll에서 발급받은 HTML 임베드 코드",
                    "type": "string"
                  }
                },
                "type": "object"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/ApiOpenLiveMediaChannelChatting"
                    }
                  },
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Bad request"
          },
          "401": {
            "description": "Unauthenticated"
          },
          "404": {
            "description": "Not found"
          },
          "422": {
            "description": "Unprocessable entity"
          }
        },
        "security": [
          {
            "kollus_oauth2": [
              "live:control"
            ]
          }
        ]
      }
    },
    "/v1/live/service-accounts/{service_account_key}/broadcasts/{broadcast_key}/chatting-joined-users-on-air": {
      "get": {
        "tags": [
          "채팅 관리"
        ],
        "summary": "실시간 채팅 참여자 정보 조회",
        "description": "실시간 채팅 참여자 수와 참여자 정보를 조회합니다.",
        "operationId": "8ac0a6f372a7ad57d22de24f8c312647",
        "parameters": [
          {
            "name": "service_account_key",
            "in": "path",
            "description": "서비스 계정 키",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "broadcast_key",
            "in": "path",
            "description": "방송 키",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "description": "최대 출력 데이터 개수 (`0`: 전체 데이터 조회)",
            "schema": {
              "type": "integer",
              "default": 10
            }
          },
          {
            "name": "page",
            "in": "query",
            "description": "조회 대상 페이지 번호",
            "schema": {
              "type": "integer",
              "default": 1
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/ApiOpenLiveChattingJoinedUsersOnAir"
                    }
                  },
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Bad request"
          },
          "401": {
            "description": "Unauthenticated"
          },
          "404": {
            "description": "Not found"
          },
          "422": {
            "description": "Unprocessable entity"
          }
        },
        "security": [
          {
            "kollus_oauth2": [
              "live:control"
            ]
          }
        ]
      }
    },
    "/v1/service-accounts/{service_account_key}/chat/stats": {
      "get": {
        "tags": [
          "채팅 관리"
        ],
        "summary": "채팅 이용 통계 데이터 조회",
        "description": "채팅 이용 통계 데이터를 조회합니다. 쿼리 파라미터를 통해 집계 단위와 조회 기간을 세부적으로 설정할 수 있습니다.",
        "operationId": "8ac0a6f372a7ad57d22de24f8c312646",
        "parameters": [
          {
            "name": "service_account_key",
            "in": "path",
            "description": "서비스 계정 키",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "channel_key",
            "in": "query",
            "description": "채널 키",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "broadcast_key",
            "in": "query",
            "description": "방송 키",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "from",
            "in": "query",
            "description": "조회 범위 시작 날짜",
            "schema": {
              "type": "string",
              "example": "2026-01-01"
            }
          },
          {
            "name": "to",
            "in": "query",
            "description": "조회 범위 종료 날짜",
            "schema": {
              "type": "string",
              "example": "2026-02-01"
            }
          },
          {
            "name": "timegroup",
            "in": "query",
            "description": "집계 단위 (`5m`: 5분, `10m`: 10분, `1h`: 1시간, `1d`: 1일)",
            "schema": {
              "type": "string",
              "default": "5m",
              "enum": [
                "5m",
                "10m",
                "1h",
                "1d"
              ]
            }
          },
          {
            "name": "order",
            "in": "query",
            "description": "데이터 정렬 기준",
            "schema": {
              "type": "string",
              "default": "desc"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "description": "최대 출력 데이터 개수 (`0`: 전체 데이터 조회)",
            "schema": {
              "type": "integer",
              "default": 10
            }
          },
          {
            "name": "page",
            "in": "query",
            "description": "조회 대상 페이지 번호",
            "schema": {
              "type": "integer",
              "default": 1
            }
          },
          {
            "name": "info",
            "in": "query",
            "description": "검색 정보 포함 여부 (`y`: 포함, `n`: 미포함)",
            "schema": {
              "type": "string",
              "default": "y",
              "enum": [
                "y",
                "n"
              ]
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "info": {
                      "description": "채팅 서비스 유형에 따라 반환되는 데이터 객체의 구조가 상이합니다."
                    }
                  },
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Bad request"
          },
          "401": {
            "description": "Unauthenticated"
          },
          "404": {
            "description": "Not found"
          },
          "422": {
            "description": "Unprocessable entity"
          }
        },
        "security": [
          {
            "kollus_oauth2": [
              "live:statistics"
            ]
          }
        ]
      }
    },
    "/v1/live/service-accounts/{service_account_key}/broadcasts/{broadcast_key}/chatting-download": {
      "get": {
        "tags": [
          "채팅 관리"
        ],
        "summary": "채팅 원본 다운로드",
        "description": "특정 라이브 방송의 채팅 원본 데이터를 파일 형태로 다운로드할 수 있는 URL을 생성합니다.",
        "operationId": "8ac0a6f372a7ad57d22de24f8c312644",
        "parameters": [
          {
            "name": "service_account_key",
            "in": "path",
            "description": "서비스 계정 키",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "broadcast_key",
            "in": "path",
            "description": "방송 키",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/ApiOpenKollusFileDownload"
                    }
                  },
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Bad request"
          },
          "401": {
            "description": "Unauthenticated"
          },
          "404": {
            "description": "Not found"
          },
          "422": {
            "description": "Unprocessable entity"
          }
        },
        "security": [
          {
            "kollus_oauth2": [
              "live:control"
            ]
          }
        ]
      }
    },
    "/v1/live/service-accounts/{service_account_key}/channels/{channel_key}/file-transfers": {
      "get": {
        "tags": [
          "녹화 파일 전송처 관리"
        ],
        "summary": "채널별 파일 전송처 목록 조회",
        "description": "특정 채널에 등록된 녹화 파일의 외부 전송처(FTP, 스토리지 등) 목록을 조회합니다.",
        "operationId": "77de69ba7be7bf5c1e888e8312d160e5",
        "parameters": [
          {
            "name": "service_account_key",
            "in": "path",
            "description": "서비스 계정 키",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "channel_key",
            "in": "path",
            "description": "채널 키",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/ApiOpenLiveMediaFileTransfer"
                      }
                    }
                  },
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Bad request"
          },
          "401": {
            "description": "Unauthenticated"
          },
          "404": {
            "description": "Not found"
          }
        },
        "security": [
          {
            "kollus_oauth2": [
              "live:control"
            ]
          }
        ]
      }
    },
    "/v1/live/service-accounts/{service_account_key}/channels/{channel_key}/file-transfers/ftp": {
      "post": {
        "tags": [
          "녹화 파일 전송처 관리"
        ],
        "summary": "파일 전송처 등록 (FTP)",
        "description": "녹화 완료된 파일을 전송할 외부 FTP 서버 정보를 등록합니다.",
        "parameters": [
          {
            "name": "service_account_key",
            "in": "path",
            "description": "서비스 계정 키",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "channel_key",
            "in": "path",
            "description": "채널 키",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/x-www-form-urlencoded": {
              "schema": {
                "required": [
                  "title",
                  "host",
                  "port",
                  "username",
                  "password",
                  "remote_path",
                  "status"
                ],
                "properties": {
                  "title": {
                    "description": "전송처 식별 명칭",
                    "type": "string"
                  },
                  "host": {
                    "description": "FTP 서버 호스트 주소",
                    "type": "string"
                  },
                  "port": {
                    "description": "FTP 포트 번호",
                    "type": "string"
                  },
                  "username": {
                    "description": "FTP 접속 사용자 계정",
                    "type": "string"
                  },
                  "password": {
                    "description": "FTP 접속 비밀번호",
                    "type": "string"
                  },
                  "remote_path": {
                    "description": "파일이 저장될 원격 서버 경로",
                    "type": "string"
                  },
                  "status": {
                    "description": "파일 전송 활성화 여부\n- `0`: 비활성\n- `1`: 활성",
                    "type": "integer",
                    "default": 0,
                    "enum": [
                      0,
                      1
                    ]
                  }
                },
                "type": "object"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/ApiOpenLiveMediaFileTransfer"
                    }
                  },
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Bad request"
          },
          "401": {
            "description": "Unauthenticated"
          },
          "404": {
            "description": "Not found"
          },
          "422": {
            "description": "Unprocessable entity"
          }
        },
        "security": [
          {
            "kollus_oauth2": [
              "live:control"
            ]
          }
        ]
      }
    },
    "/v1/live/service-accounts/{service_account_key}/channels/{channel_key}/file-transfers/sftp": {
      "post": {
        "tags": [
          "녹화 파일 전송처 관리"
        ],
        "summary": "파일 전송처 등록 (SFTP)",
        "description": "녹화 완료된 파일을 보안 전송할 외부 SFTP 서버 정보를 등록합니다.",
        "parameters": [
          {
            "name": "service_account_key",
            "in": "path",
            "description": "서비스 계정 키",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "channel_key",
            "in": "path",
            "description": "채널 키",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/x-www-form-urlencoded": {
              "schema": {
                "required": [
                  "title",
                  "host",
                  "port",
                  "username",
                  "password",
                  "remote_path",
                  "status"
                ],
                "properties": {
                  "title": {
                    "description": "전송처 식별 명칭",
                    "type": "string"
                  },
                  "host": {
                    "description": "SFTP 서버 호스트 주소",
                    "type": "string"
                  },
                  "port": {
                    "description": "SFTP 포트 번호",
                    "type": "string"
                  },
                  "username": {
                    "description": "SFTP 접속 사용자 계정",
                    "type": "string"
                  },
                  "password": {
                    "description": "SFTP 접속 비밀번호",
                    "type": "string"
                  },
                  "remote_path": {
                    "description": "파일이 저장될 원격 서버 경로",
                    "type": "string"
                  },
                  "status": {
                    "description": "파일 전송 활성화 여부\n- `0`: 비활성\n- `1`: 활성",
                    "type": "integer",
                    "default": 0,
                    "enum": [
                      0,
                      1
                    ]
                  }
                },
                "type": "object"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/ApiOpenLiveMediaFileTransfer"
                    }
                  },
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Bad request"
          },
          "401": {
            "description": "Unauthenticated"
          },
          "404": {
            "description": "Not found"
          },
          "422": {
            "description": "Unprocessable entity"
          }
        },
        "security": [
          {
            "kollus_oauth2": [
              "live:control"
            ]
          }
        ]
      }
    },
    "/v1/live/service-accounts/{service_account_key}/channels/{channel_key}/file-transfers/kollus": {
      "post": {
        "tags": [
          "녹화 파일 전송처 관리"
        ],
        "summary": "파일 전송처 등록 (Kollus VOD)",
        "description": "녹화 완료된 파일을 Kollus VOD 서비스로 전송하기 위한 계정 및 연동 정보를 등록합니다. 파라미터 상세 정보는 <a href=\"https://docs.kollus.com/service-guide/live/setting/recording/#register-destination-kollus-vod\" target=\"_blank\">전송처 등록 절차 (Kollus VOD)</a> 문서를 참고하세요.",
        "parameters": [
          {
            "name": "service_account_key",
            "in": "path",
            "description": "서비스 계정 키",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "channel_key",
            "in": "path",
            "description": "채널 키",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/x-www-form-urlencoded": {
              "schema": {
                "required": [
                  "title",
                  "host",
                  "username",
                  "password",
                  "category_key",
                  "use_encryption",
                  "status"
                ],
                "properties": {
                  "title": {
                    "description": "전송처 식별 명칭",
                    "type": "string"
                  },
                  "host": {
                    "description": "Kollus VOD FTP 서버 주소",
                    "type": "string"
                  },
                  "username": {
                    "description": "Kollus VOD 서비스 계정 키",
                    "type": "string"
                  },
                  "password": {
                    "description": "Kollus VOD FTP 접속 비밀번호",
                    "type": "string"
                  },
                  "category_key": {
                    "description": "업로드 대상 카테고리 키",
                    "type": "string"
                  },
                  "use_encryption": {
                    "description": "녹화 파일 암호화 설정\n- `0`: 비암호화\n- `1`: 암호화",
                    "type": "integer",
                    "default": 0,
                    "enum": [
                      0,
                      1
                    ]
                  },
                  "status": {
                    "description": "파일 전송 활성화 여부\n- `0`: 비활성\n- `1`: 활성",
                    "type": "integer",
                    "default": 0,
                    "enum": [
                      0,
                      1
                    ]
                  }
                },
                "type": "object"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/ApiOpenLiveMediaFileTransfer"
                    }
                  },
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Bad request"
          },
          "401": {
            "description": "Unauthenticated"
          },
          "404": {
            "description": "Not found"
          },
          "422": {
            "description": "Unprocessable entity"
          }
        },
        "security": [
          {
            "kollus_oauth2": [
              "live:control"
            ]
          }
        ]
      }
    },
    "/v1/live/service-accounts/{service_account_key}/channels/{channel_key}/file-transfers/s3": {
      "post": {
        "tags": [
          "녹화 파일 전송처 관리"
        ],
        "summary": "파일 전송처 등록 (Amazon S3)",
        "description": "녹화 완료된 파일을 전송할 Amazon S3 버킷 및 인증 정보를 등록합니다.",
        "operationId": "89385d7adb008bdae8696705cc128200",
        "parameters": [
          {
            "name": "service_account_key",
            "in": "path",
            "description": "서비스 계정 키",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "channel_key",
            "in": "path",
            "description": "채널 키",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/x-www-form-urlencoded": {
              "schema": {
                "required": [
                  "title",
                  "aws_access_key_id",
                  "aws_secret_access_key",
                  "bucket_name",
                  "aws_region_key",
                  "status"
                ],
                "properties": {
                  "title": {
                    "description": "전송처 식별 명칭",
                    "type": "string"
                  },
                  "aws_access_key_id": {
                    "description": "S3 Access Key",
                    "type": "string"
                  },
                  "aws_secret_access_key": {
                    "description": "S3 Secret Access Key",
                    "type": "string"
                  },
                  "bucket_name": {
                    "description": "파일이 저장될 S3 버킷 이름",
                    "type": "string"
                  },
                  "aws_region_key": {
                    "description": "S3 Region Key",
                    "type": "string",
                    "example": "ap-northeast-2"
                  },
                  "status": {
                    "description": "파일 전송 활성화 여부\n- `0`: 비활성\n- `1`: 활성",
                    "type": "integer",
                    "default": 0,
                    "enum": [
                      0,
                      1
                    ]
                  }
                },
                "type": "object"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/ApiOpenLiveMediaFileTransfer"
                    }
                  },
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Bad request"
          },
          "401": {
            "description": "Unauthenticated"
          },
          "404": {
            "description": "Not found"
          },
          "422": {
            "description": "Unprocessable entity"
          }
        },
        "security": [
          {
            "kollus_oauth2": [
              "live:control"
            ]
          }
        ]
      }
    },
    "/v1/live/service-accounts/{service_account_key}/channels/{channel_key}/file-transfers/{file_transfer_id}": {
      "get": {
        "tags": [
          "녹화 파일 전송처 관리"
        ],
        "summary": "파일 전송처 정보 조회",
        "description": "등록한 파일 전송처의 상세 설정을 조회합니다.",
        "operationId": "774d33cb10a8777e6ddbfd28aca34691",
        "parameters": [
          {
            "name": "service_account_key",
            "in": "path",
            "description": "서비스 계정 키",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "channel_key",
            "in": "path",
            "description": "채널 키",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "file_transfer_id",
            "in": "path",
            "description": "파일 전송처 ID",
            "required": true,
            "schema": {
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/ApiOpenLiveMediaFileTransfer"
                    }
                  },
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Bad request"
          },
          "401": {
            "description": "Unauthenticated"
          },
          "404": {
            "description": "Not found"
          }
        },
        "security": [
          {
            "kollus_oauth2": [
              "live:control"
            ]
          }
        ]
      },
      "put": {
        "tags": [
          "녹화 파일 전송처 관리"
        ],
        "summary": "파일 전송처 정보 수정",
        "description": "기존에 등록된 파일 전송처의 연결 정보 및 운영 설정을 변경합니다. 전송처 유형(FTP, SFTP, S3, Kollus)에 따라 요구되는 필수 파라미터가 다릅니다.",
        "operationId": "6eab18cd2235ecb10648bdcb6dffe485",
        "parameters": [
          {
            "name": "service_account_key",
            "in": "path",
            "description": "서비스 계정 키",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "channel_key",
            "in": "path",
            "description": "채널 키",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "file_transfer_id",
            "in": "path",
            "description": "파일 전송처 ID",
            "required": true,
            "schema": {
              "type": "integer"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/x-www-form-urlencoded": {
              "schema": {
                "required": [
                  "title",
                  "status"
                ],
                "properties": {
                  "title": {
                    "description": "파일 전송처 식별 명칭",
                    "type": "string"
                  },
                  "host": {
                    "description": "(FTP, SFTP, Kollus 필수) 호스트 서버 주소",
                    "type": "string"
                  },
                  "port": {
                    "description": "(FTP, SFTP 필수) 포트 번호",
                    "type": "string"
                  },
                  "username": {
                    "description": "(FTP, SFTP, Kollus 필수) 서버 접속 사용자 계정",
                    "type": "string"
                  },
                  "password": {
                    "description": "(FTP, SFTP, Kollus 필수) 서버 접속 비밀번호",
                    "type": "string"
                  },
                  "remote_path": {
                    "description": "(FTP, SFTP 필수) 파일이 저장될 원격 서버 경로",
                    "type": "string"
                  },
                  "category_key": {
                    "description": "(Kollus 필수) 업로드 대상 카테고리 키",
                    "type": "string"
                  },
                  "use_encryption": {
                    "description": "(Kollus 필수) 녹화 파일 암호화 설정\n- `0`: 비암호화\n- `1`: 암호화",
                    "type": "integer",
                    "default": 0,
                    "enum": [
                      0,
                      1
                    ]
                  },
                  "aws_access_key_id": {
                    "description": "(S3 필수) S3 Access Key",
                    "type": "string"
                  },
                  "aws_secret_access_key": {
                    "description": "(S3 필수) S3 Secret Access Key",
                    "type": "string"
                  },
                  "bucket_name": {
                    "description": "(S3 필수) 파일이 저장될 S3 버킷 이름",
                    "type": "string"
                  },
                  "aws_region_key": {
                    "description": "(S3 필수) S3 Region Key",
                    "type": "string",
                    "example": "ap-northeast-2"
                  },
                  "status": {
                    "description": "파일 전송 활성화 여부\n- `0`: 비활성\n- `1`: 활성",
                    "type": "integer",
                    "default": 0,
                    "enum": [
                      0,
                      1
                    ]
                  }
                },
                "type": "object"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/ApiOpenLiveMediaFileTransfer"
                    }
                  },
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Bad request"
          },
          "401": {
            "description": "Unauthenticated"
          },
          "404": {
            "description": "Not found"
          },
          "422": {
            "description": "Unprocessable entity"
          }
        },
        "security": [
          {
            "kollus_oauth2": [
              "live:control"
            ]
          }
        ]
      },
      "delete": {
        "tags": [
          "녹화 파일 전송처 관리"
        ],
        "summary": "파일 전송처 삭제",
        "description": "등록된 파일 전송처 설정을 시스템에서 영구적으로 삭제합니다.",
        "operationId": "b20dedeb4c8baea4ec13fd6795b11535",
        "parameters": [
          {
            "name": "service_account_key",
            "in": "path",
            "description": "서비스 계정 키",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "channel_key",
            "in": "path",
            "description": "채널 키",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "file_transfer_id",
            "in": "path",
            "description": "삭제 대상 파일 전송처 ID",
            "required": true,
            "schema": {
              "type": "integer"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Bad request"
          },
          "401": {
            "description": "Unauthenticated"
          },
          "404": {
            "description": "Not found"
          },
          "422": {
            "description": "Unprocessable entity"
          }
        },
        "security": [
          {
            "kollus_oauth2": [
              "live:control"
            ]
          }
        ]
      }
    },
    "/v1/live/service-accounts/{service_account_key}/channels/{channel_key}/file-transfers/{file_transfer_id}/status": {
      "put": {
        "tags": [
          "녹화 파일 전송처 관리"
        ],
        "summary": "파일 전송 활성화/비활성화",
        "description": "등록된 특정 전송처로의 파일 전송을 활성화 또는 비활성화합니다.",
        "operationId": "16b01651f49114c89e5971b1dee88d22",
        "parameters": [
          {
            "name": "service_account_key",
            "in": "path",
            "description": "서비스 계정 키",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "channel_key",
            "in": "path",
            "description": "채널 키",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "file_transfer_id",
            "in": "path",
            "description": "파일 전송처 ID",
            "required": true,
            "schema": {
              "type": "integer"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/x-www-form-urlencoded": {
              "schema": {
                "required": [
                  "status"
                ],
                "properties": {
                  "status": {
                    "description": "파일 전송 활성화 여부\n- `0`: 비활성\n- `1`: 활성",
                    "type": "integer",
                    "default": 0,
                    "enum": [
                      0,
                      1
                    ]
                  }
                },
                "type": "object"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/ApiOpenLiveMediaFileTransfer"
                    }
                  },
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Bad request"
          },
          "401": {
            "description": "Unauthenticated"
          },
          "404": {
            "description": "Not found"
          },
          "422": {
            "description": "Unprocessable entity"
          }
        },
        "security": [
          {
            "kollus_oauth2": [
              "live:control"
            ]
          }
        ]
      }
    },
    "/v1/live/service-accounts/{service_account_key}/recording-files": {
      "get": {
        "tags": [
          "녹화 파일 관리"
        ],
        "summary": "전체 녹화 파일 목록 조회",
        "description": "전체 녹화 파일 목록을 조회합니다. 쿼리 파라미터를 활용하여 결과를 필터링할 수 있습니다.",
        "parameters": [
          {
            "name": "service_account_key",
            "in": "path",
            "description": "서비스 계정 키",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "start_date",
            "in": "query",
            "description": "조회 범위 시작 날짜",
            "schema": {
              "type": "string",
              "example": "2026-01-01 09:00:00 또는 2026-01-01"
            }
          },
          {
            "name": "end_date",
            "in": "query",
            "description": "조회 범위 종료 날짜",
            "schema": {
              "type": "string",
              "example": "2026-02-01 11:59:59 또는 2026-02-01"
            }
          },
          {
            "name": "keyword",
            "in": "query",
            "description": "검색 키워드 필터링",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "order",
            "in": "query",
            "description": "데이터 정렬 기준",
            "schema": {
              "type": "string",
              "default": "id_desc",
              "enum": [
                "id_desc",
                "id_asc",
                "title_desc",
                "title_asc"
              ]
            }
          },
          {
            "name": "page",
            "in": "query",
            "description": "조회 대상 페이지 번호",
            "schema": {
              "type": "integer",
              "default": 1
            }
          },
          {
            "name": "per_page",
            "in": "query",
            "description": "페이지당 출력 데이터 개수",
            "schema": {
              "type": "integer",
              "default": 10
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/ApiOpenLiveMediaRecordingFile"
                      }
                    },
                    "links": {
                      "properties": {
                        "first": {
                          "type": "string"
                        },
                        "last": {
                          "type": "string"
                        },
                        "prev": {
                          "type": "string"
                        },
                        "next": {
                          "type": "string"
                        }
                      },
                      "type": "object"
                    },
                    "meta": {
                      "properties": {
                        "current_page": {
                          "type": "integer"
                        },
                        "from": {
                          "type": "integer"
                        },
                        "last_page": {
                          "type": "integer"
                        },
                        "path": {
                          "type": "string"
                        },
                        "per_page": {
                          "type": "integer"
                        },
                        "to": {
                          "type": "integer"
                        },
                        "total": {
                          "type": "integer"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Bad request"
          },
          "401": {
            "description": "Unauthenticated"
          },
          "404": {
            "description": "Not found"
          }
        },
        "security": [
          {
            "kollus_oauth2": [
              "live:control"
            ]
          }
        ]
      }
    },
    "/v1/live/service-accounts/{service_account_key}/channels/{channel_key}/recording-files": {
      "get": {
        "tags": [
          "녹화 파일 관리"
        ],
        "summary": "채널별 녹화 파일 목록 조회",
        "description": "특정 채널에서 진행된 라이브 방송의 녹화 파일 목록을 조회합니다. 쿼리 파라미터를 활용하여 결과를 필터링할 수 있습니다.",
        "parameters": [
          {
            "name": "service_account_key",
            "in": "path",
            "description": "서비스 계정 키",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "channel_key",
            "in": "path",
            "description": "채널 키",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "start_date",
            "in": "query",
            "description": "조회 범위 시작 날짜",
            "schema": {
              "type": "string",
              "example": "2026-01-01 09:00:00 또는 2026-01-01"
            }
          },
          {
            "name": "end_date",
            "in": "query",
            "description": "조회 범위 종료 날짜",
            "schema": {
              "type": "string",
              "example": "2026-02-01 11:59:59 또는 2026-02-01"
            }
          },
          {
            "name": "keyword",
            "in": "query",
            "description": "검색 키워드 필터링",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "order",
            "in": "query",
            "description": "데이터 정렬 기준",
            "schema": {
              "type": "string",
              "default": "id_desc",
              "enum": [
                "id_desc",
                "id_asc",
                "title_desc",
                "title_asc"
              ]
            }
          },
          {
            "name": "per_page",
            "in": "query",
            "description": "페이지당 출력 데이터 개수",
            "schema": {
              "type": "integer",
              "default": 10
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "description": "라이브 녹화 파일",
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/ApiOpenLiveMediaRecordingFile"
                      }
                    },
                    "links": {
                      "properties": {
                        "first": {
                          "type": "string"
                        },
                        "last": {
                          "type": "string"
                        },
                        "prev": {
                          "type": "string"
                        },
                        "next": {
                          "type": "string"
                        }
                      },
                      "type": "object"
                    },
                    "meta": {
                      "properties": {
                        "current_page": {
                          "type": "integer"
                        },
                        "from": {
                          "type": "integer"
                        },
                        "last_page": {
                          "type": "integer"
                        },
                        "path": {
                          "type": "string"
                        },
                        "per_page": {
                          "type": "integer"
                        },
                        "to": {
                          "type": "integer"
                        },
                        "total": {
                          "type": "integer"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Bad request"
          },
          "401": {
            "description": "Unauthenticated"
          },
          "404": {
            "description": "Not found"
          }
        },
        "security": [
          {
            "kollus_oauth2": [
              "live:control"
            ]
          }
        ]
      }
    },
    "/v1/live/service-accounts/{service_account_key}/channels/{channel_key}/broadcasts/{broadcast_key}/recording-files": {
      "get": {
        "tags": [
          "녹화 파일 관리"
        ],
        "summary": "방송별 녹화 파일 목록 조회",
        "description": "특정 라이브 방송의 녹화 파일 목록을 조회합니다. 쿼리 파라미터를 활용하여 결과를 필터링할 수 있습니다.",
        "parameters": [
          {
            "name": "service_account_key",
            "in": "path",
            "description": "서비스 계정 키",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "channel_key",
            "in": "path",
            "description": "채널 키",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "broadcast_key",
            "in": "path",
            "description": "방송 키",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "start_date",
            "in": "query",
            "description": "조회 범위 시작 날짜",
            "schema": {
              "type": "string",
              "example": "2026-01-01 09:00:00 또는 2026-01-01"
            }
          },
          {
            "name": "end_date",
            "in": "query",
            "description": "조회 범위 종료 날짜",
            "schema": {
              "type": "string",
              "example": "2026-02-01 11:59:59 또는 2026-02-01"
            }
          },
          {
            "name": "keyword",
            "in": "query",
            "description": "검색 키워드 필터링",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "order",
            "in": "query",
            "description": "데이터 정렬 기준",
            "schema": {
              "type": "string",
              "default": "id_desc",
              "enum": [
                "id_desc",
                "id_asc",
                "title_desc",
                "title_asc"
              ]
            }
          },
          {
            "name": "page",
            "in": "query",
            "description": "조회 대상 페이지 번호",
            "schema": {
              "type": "integer",
              "default": 1
            }
          },
          {
            "name": "per_page",
            "in": "query",
            "description": "페이지당 출력 데이터 개수",
            "schema": {
              "type": "integer",
              "default": 10
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/ApiOpenLiveMediaRecordingFile"
                      }
                    },
                    "links": {
                      "properties": {
                        "first": {
                          "type": "string"
                        },
                        "last": {
                          "type": "string"
                        },
                        "prev": {
                          "type": "string"
                        },
                        "next": {
                          "type": "string"
                        }
                      },
                      "type": "object"
                    },
                    "meta": {
                      "properties": {
                        "current_page": {
                          "type": "integer"
                        },
                        "from": {
                          "type": "integer"
                        },
                        "last_page": {
                          "type": "integer"
                        },
                        "path": {
                          "type": "string"
                        },
                        "per_page": {
                          "type": "integer"
                        },
                        "to": {
                          "type": "integer"
                        },
                        "total": {
                          "type": "integer"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Bad request"
          },
          "401": {
            "description": "Unauthenticated"
          },
          "404": {
            "description": "Not found"
          }
        },
        "security": [
          {
            "kollus_oauth2": [
              "live:control"
            ]
          }
        ]
      }
    },
    "/v1/live/service-accounts/{service_account_key}/channels/{channel_key}/broadcasts/{broadcast_key}/recording-files/{recording_file_id}/download": {
      "get": {
        "tags": [
          "녹화 파일 관리"
        ],
        "summary": "녹화 파일 다운로드",
        "description": "생성된 녹화 파일을 로컬 환경으로 다운로드할 수 있는 URL을 생성합니다.",
        "parameters": [
          {
            "name": "service_account_key",
            "in": "path",
            "description": "서비스 계정 키",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "channel_key",
            "in": "path",
            "description": "채널 키",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "broadcast_key",
            "in": "path",
            "description": "방송 키",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "recording_file_id",
            "in": "path",
            "description": "녹화 파일 ID",
            "required": true,
            "schema": {
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/ApiOpenKollusFileDownload"
                    }
                  },
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Bad request"
          },
          "401": {
            "description": "Unauthenticated"
          },
          "404": {
            "description": "Not found"
          },
          "422": {
            "description": "Unprocessable entity"
          }
        },
        "security": [
          {
            "kollus_oauth2": [
              "live:control"
            ]
          }
        ]
      }
    },
    "/v1/live/service-accounts/{service_account_key}/statistics/viewer/{duration_minute}min-during-a-day": {
      "get": {
        "tags": [
          "통계"
        ],
        "summary": "일별 시청자 수 조회",
        "description": "[ **접근 권한**: 최고 관리자, 관리자 ]\n\n 서비스 계정 내 전체 라이브 방송의 시청자 수 데이터를 지정한 시간 간격별로 조회합니다.",
        "parameters": [
          {
            "name": "service_account_key",
            "in": "path",
            "description": "서비스 계정 키",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "duration_minute",
            "in": "path",
            "description": "데이터 집계 시간 간격 (단위: 분)",
            "required": true,
            "schema": {
              "type": "string",
              "default": "5",
              "enum": [
                "5",
                "10"
              ]
            }
          },
          {
            "name": "start_date",
            "in": "query",
            "description": "조회 대상 기준 일시",
            "required": true,
            "schema": {
              "type": "string",
              "example": "2026-01-01 09:00:00 또는 2026-01-01"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/ApiOpenLiveViewer"
                      }
                    }
                  },
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Bad request"
          },
          "401": {
            "description": "Unauthenticated"
          },
          "404": {
            "description": "Not found"
          }
        },
        "security": [
          {
            "kollus_oauth2": [
              "live:statistics"
            ]
          }
        ]
      }
    },
    "/v1/live/service-accounts/{service_account_key}/channels/{channel_key}/statistics/viewer/{duration_minute}min-during-a-day": {
      "get": {
        "tags": [
          "통계"
        ],
        "summary": "채널별 시청자 수 조회",
        "description": "[ **접근 권한**: 최고 관리자, 관리자 ]\n\n 특정 채널에서 송출된 모든 라이브 방송의 시청자 수 데이터를 시간 간격별로 조회합니다.",
        "parameters": [
          {
            "name": "service_account_key",
            "in": "path",
            "description": "서비스 계정 키",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "channel_key",
            "in": "path",
            "description": "채널 키",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "duration_minute",
            "in": "path",
            "description": "데이터 집계 시간 간격 (단위: 분)",
            "required": true,
            "schema": {
              "type": "string",
              "default": "5",
              "enum": [
                "5",
                "10"
              ]
            }
          },
          {
            "name": "start_date",
            "in": "query",
            "description": "조회 대상 기준 일시",
            "required": true,
            "schema": {
              "type": "string",
              "example": "2026-01-01 09:00:00 또는 2026-01-01"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/ApiOpenLiveChannelViewer"
                      }
                    }
                  },
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Bad request"
          },
          "401": {
            "description": "Unauthenticated"
          },
          "404": {
            "description": "Not found"
          }
        },
        "security": [
          {
            "kollus_oauth2": [
              "live:statistics"
            ]
          }
        ]
      }
    },
    "/v1/live/service-accounts/{service_account_key}/broadcasts/{broadcast_key}/statistics/viewer/{duration_minute}min-during-a-day": {
      "get": {
        "tags": [
          "통계"
        ],
        "summary": "방송별 시청자 수 조회",
        "description": "[ **접근 권한**: 최고 관리자, 관리자 ]\n\n 특정 라이브 방송에 대한 시청자 수 데이터를 시간 간격별로 조회합니다.",
        "parameters": [
          {
            "name": "service_account_key",
            "in": "path",
            "description": "서비스 계정 키",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "broadcast_key",
            "in": "path",
            "description": "방송 키",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "duration_minute",
            "in": "path",
            "description": "데이터 집계 시간 간격 (단위: 분)",
            "required": true,
            "schema": {
              "type": "string",
              "default": "5",
              "enum": [
                "5",
                "10"
              ]
            }
          },
          {
            "name": "start_date",
            "in": "query",
            "description": "조회 대상 기준 일시",
            "required": true,
            "schema": {
              "type": "string",
              "example": "2026-01-01 09:00:00 또는 2026-01-01"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/ApiOpenLiveBroadcastViewer"
                    }
                  },
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Bad request"
          },
          "401": {
            "description": "Unauthenticated"
          },
          "404": {
            "description": "Not found"
          }
        },
        "security": [
          {
            "kollus_oauth2": [
              "live:statistics"
            ]
          }
        ]
      }
    },
    "/v1/live/service-accounts/{service_account_key}/statistics/summary-daily": {
      "get": {
        "tags": [
          "통계"
        ],
        "summary": "일별 통계 요약 조회",
        "description": "[ **접근 권한**: 최고 관리자, 관리자 ]\n\n 전체 라이브 방송에 대한 일자별 주요 통계 지표의 요약 데이터를 조회합니다.",
        "parameters": [
          {
            "name": "service_account_key",
            "in": "path",
            "description": "서비스 계정 키",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "start_date",
            "in": "query",
            "description": "조회 범위 시작 일시",
            "schema": {
              "type": "string",
              "example": "2026-01-01 09:00:00 또는 2026-01-01"
            }
          },
          {
            "name": "end_date",
            "in": "query",
            "description": "조회 범위 종료 일시",
            "schema": {
              "type": "string",
              "example": "2026-02-01 11:59:59 또는 2026-02-01"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/ApiOpenLiveSummaryDaily"
                      }
                    }
                  },
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Bad request"
          },
          "401": {
            "description": "Unauthenticated"
          },
          "404": {
            "description": "Not found"
          }
        },
        "security": [
          {
            "kollus_oauth2": [
              "live:statistics"
            ]
          }
        ]
      }
    },
    "/v1/live/service-accounts/{service_account_key}/statistics/summary": {
      "get": {
        "tags": [
          "통계"
        ],
        "summary": "기간별 통계 요약 조회",
        "description": "[ **접근 권한**: 최고 관리자, 관리자 ]\n\n 지정한 기간 동안의 전체 라이브 방송에 대한 요약 데이터를 조회합니다.",
        "parameters": [
          {
            "name": "service_account_key",
            "in": "path",
            "description": "서비스 계정 키",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "start_date",
            "in": "query",
            "description": "조회 범위 시작 일시",
            "required": true,
            "schema": {
              "type": "string",
              "example": "2026-01-01 09:00:00 또는 2026-01-01"
            }
          },
          {
            "name": "end_date",
            "in": "query",
            "description": "조회 범위 종료 일시",
            "required": true,
            "schema": {
              "type": "string",
              "example": "2026-02-01 11:59:59 또는 2026-02-01"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/ApiOpenLiveStatisticsSummary"
                      }
                    }
                  },
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Bad request"
          },
          "401": {
            "description": "Unauthenticated"
          },
          "404": {
            "description": "Not found"
          }
        },
        "security": [
          {
            "kollus_oauth2": [
              "live:statistics"
            ]
          }
        ]
      }
    },
    "/v1/live/service-accounts/{service_account_key}/channels/{channel_key}/statistics/summary": {
      "get": {
        "tags": [
          "통계"
        ],
        "summary": "채널별 통계 요약 조회",
        "description": "[ **접근 권한**: 최고 관리자, 관리자 ]\n\n 지정한 기간 동안 특정 채널에서 송출된 모든 라이브 방송에 대한 요약 데이터를 조회합니다.",
        "parameters": [
          {
            "name": "service_account_key",
            "in": "path",
            "description": "서비스 계정 키",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "channel_key",
            "in": "path",
            "description": "채널 키",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "start_date",
            "in": "query",
            "description": "조회 범위 시작 일시",
            "required": true,
            "schema": {
              "type": "string",
              "example": "2026-01-01 09:00:00 또는 2026-01-01"
            }
          },
          {
            "name": "end_date",
            "in": "query",
            "description": "조회 범위 종료 일시",
            "required": true,
            "schema": {
              "type": "string",
              "example": "2026-02-01 11:59:59 또는 2026-02-01"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/ApiOpenLiveChannelStatisticsSummary"
                      }
                    }
                  },
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Bad request"
          },
          "401": {
            "description": "Unauthenticated"
          },
          "404": {
            "description": "Not found"
          }
        },
        "security": [
          {
            "kollus_oauth2": [
              "live:statistics"
            ]
          }
        ]
      }
    },
    "/v1/live/service-accounts/{service_account_key}/broadcasts/{broadcast_key}/statistics/summary": {
      "get": {
        "tags": [
          "통계"
        ],
        "summary": "방송별 통계 요약 조회",
        "description": "[ **접근 권한**: 최고 관리자, 관리자 ]\n\n 지정한 기간 동안 특정 라이브 방송에 대한 요약 데이터를 조회합니다.",
        "parameters": [
          {
            "name": "service_account_key",
            "in": "path",
            "description": "서비스 계정 키",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "broadcast_key",
            "in": "path",
            "description": "방송 키",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "start_date",
            "in": "query",
            "description": "조회 범위 시작 일시",
            "required": true,
            "schema": {
              "type": "string",
              "example": "2026-01-01 09:00:00 또는 2026-01-01"
            }
          },
          {
            "name": "end_date",
            "in": "query",
            "description": "조회 범위 종료 일시",
            "required": true,
            "schema": {
              "type": "string",
              "example": "2026-02-01 11:59:59 또는 2026-02-01"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/ApiOpenLiveBroadcastStatisticsSummary"
                      }
                    }
                  },
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Bad request"
          },
          "401": {
            "description": "Unauthenticated"
          },
          "404": {
            "description": "Not found"
          }
        },
        "security": [
          {
            "kollus_oauth2": [
              "live:statistics"
            ]
          }
        ]
      }
    },
    "/v1/vod/service-accounts/{service_account_key}/statistics/summary-daily": {
      "get": {
        "tags": [
          "통계"
        ],
        "summary": "일별 VOD 통계 요약 조회",
        "description": "[ **접근 권한**: 최고 관리자, 관리자 ]\n\n 전체 편성 라이브 방송에 대한 일자별 VOD 통계 요약 데이터를 조회합니다.",
        "parameters": [
          {
            "name": "service_account_key",
            "in": "path",
            "description": "서비스 계정 키",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "start_date",
            "in": "query",
            "description": "조회 범위 시작 날짜",
            "required": true,
            "schema": {
              "type": "string",
              "example": "2026-01-01"
            }
          },
          {
            "name": "end_date",
            "in": "query",
            "description": "조회 범위 종료 날짜",
            "required": true,
            "schema": {
              "type": "string",
              "example": "2026-02-01"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/ApiOpenVodSummaryDaily"
                      }
                    }
                  },
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Bad request"
          },
          "401": {
            "description": "Unauthenticated"
          },
          "404": {
            "description": "Not found"
          }
        },
        "security": [
          {
            "kollus_oauth2": [
              "live:statistics"
            ]
          }
        ]
      }
    }
  },
  "components": {
    "schemas": {
      "ApiOpenKollusFileDownload": {
        "properties": {
          "download_uri": {
            "description": "다운로드 URI",
            "type": "string"
          },
          "expires": {
            "description": "URI 만료 일시",
            "type": "string"
          }
        },
        "type": "object"
      },
      "ApiOpenLiveChattingJoinedUsersOnAir": {
        "properties": {
          "total": {
            "description": "채팅 참여자 수",
            "type": "integer"
          },
          "users": {
            "type": "array",
            "items": {
              "properties": {
                "UserId": {
                  "description": "채팅 참여자 ID",
                  "type": "string"
                },
                "Nickname": {
                  "description": "닉네임",
                  "type": "string"
                }
              },
              "type": "object"
            }
          }
        },
        "type": "object"
      },
      "ApiOpenChattingService": {
        "description": "채팅 서비스 계약 정보",
        "properties": {
          "id": {
            "description": "채팅 계약 ID",
            "type": "integer"
          },
          "kind": {
            "description": "채팅 서비스 유형",
            "properties": {
              "type": {
                "description": "채팅 서비스 유형",
                "type": "string",
                "enum": [
                  "chatroll",
                  "kollus"
                ]
              },
              "value": {
                "description": "채팅 서비스 유형 코드 (`1`: Chatroll, `2`: Kollus)",
                "type": "integer"
              }
            },
            "type": "object"
          },
          "info": {
            "description": "채팅 서비스 유형에 따라 반환되는 데이터 객체의 구조가 상이합니다."
          }
        },
        "type": "object"
      },
      "ApiOpenLiveCreator": {
        "description": "Creator 정보",
        "properties": {
          "id": {
            "description": "Creator ID",
            "type": "integer"
          },
          "nickname": {
            "description": "Creator 닉네임",
            "type": "string"
          },
          "code": {
            "description": "Creator 코드",
            "type": "string"
          },
          "stream_key": {
            "description": "Creator 스트림 키",
            "type": "string"
          },
          "created_at": {
            "description": "Creator 생성 일시",
            "type": "string"
          },
          "updated_at": {
            "description": "Creator 정보 수정 일시",
            "type": "string"
          }
        },
        "type": "object"
      },
      "ApiOpenLiveMediaBroadcastItem": {
        "description": "라이브 방송 정보",
        "properties": {
          "id": {
            "description": "방송 ID",
            "type": "integer"
          },
          "key": {
            "description": "방송 키",
            "type": "string"
          },
          "title": {
            "description": "방송 제목",
            "type": "string"
          },
          "is_onair": {
            "description": "방송 상태",
            "type": "boolean"
          },
          "subscribe_url": {
            "description": "구독 URL",
            "type": "string"
          },
          "duration": {
            "description": "방송 시간",
            "type": "string"
          },
          "counting_number": {
            "description": "방송 회차",
            "type": "integer"
          },
          "creator": {
            "$ref": "#/components/schemas/ApiOpenLiveCreator"
          },
          "duplicate_recording_state": {
            "description": "수동 녹화 상태",
            "properties": {
              "type": {
                "description": "수동 녹화 상태",
                "type": "string",
                "enum": [
                  "duplicate_recording_stopped",
                  "duplicate_recording_started"
                ]
              },
              "value": {
                "description": "수동 녹화 상태 코드\n- `0`: 수동 녹화 종료\n- `1`: 수동 녹화 시작",
                "type": "integer"
              }
            },
            "type": "object"
          },
          "started_at": {
            "description": "방송 시작 시각",
            "type": "string"
          },
          "paused_at": {
            "description": "방송 일시정지 시각",
            "type": "string"
          },
          "ended_at": {
            "description": "방송 종료 시각",
            "type": "string"
          },
          "created_at": {
            "description": "생성 일시",
            "type": "string"
          },
          "updated_at": {
            "description": "수정 일시",
            "type": "string"
          }
        },
        "type": "object"
      },
      "ApiOpenLiveMediaBroadcast": {
        "properties": {
          "id": {
            "description": "방송 ID",
            "type": "integer"
          },
          "key": {
            "description": "방송 키",
            "type": "string"
          },
          "title": {
            "description": "방송 제목",
            "type": "string"
          },
          "is_onair": {
            "description": "방송 상태",
            "type": "boolean"
          },
          "subscribe_url": {
            "description": "구독 URL",
            "type": "string"
          },
          "duration": {
            "description": "방송 시간",
            "type": "string"
          },
          "counting_number": {
            "description": "방송 회차",
            "type": "integer"
          },
          "channel": {
            "$ref": "#/components/schemas/ApiOpenLiveMediaChannelItem"
          },
          "creator": {
            "$ref": "#/components/schemas/ApiOpenLiveCreator"
          },
          "duplicate_recording_state": {
            "properties": {
              "type": {
                "description": "수동 녹화 상태",
                "type": "string",
                "enum": [
                  "duplicate_recording_stopped",
                  "duplicate_recording_started"
                ]
              },
              "value": {
                "description": "수동 녹화 상태 코드\n- `0`: 수동 녹화 종료\n- `1`: 수동 녹화 시작",
                "type": "integer"
              }
            },
            "type": "object"
          },
          "streaming_server_type": {
            "description": "스트리밍 서버 종류",
            "type": "string"
          },
          "streaming_server_host": {
            "description": "스트리밍 서버 호스트",
            "type": "string"
          },
          "streaming_server_ip": {
            "description": "스트리밍 서버 IP",
            "type": "string"
          },
          "timeshift_cue_sign_at": {
            "description": "Timeshift 큐 사인 시점",
            "type": "string"
          },
          "started_at": {
            "description": "방송 시작 시각",
            "type": "string"
          },
          "paused_at": {
            "description": "방송 일시정지 시각",
            "type": "string"
          },
          "ended_at": {
            "description": "방송 종료 시각",
            "type": "string"
          },
          "created_at": {
            "description": "방송 생성 일시",
            "type": "string"
          },
          "updated_at": {
            "description": "방송 정보 업데이트 일시",
            "type": "string"
          }
        },
        "type": "object"
      },
      "ApiOpenLiveMediaChannelChatting": {
        "properties": {
          "use_chatting_service": {
            "description": "채팅 사용 여부",
            "type": "boolean"
          },
          "chatting_service": {
            "$ref": "#/components/schemas/ApiOpenChattingService"
          },
          "chatting_position": {
            "description": "플레이어 내 채팅창 노출 위치",
            "type": "string",
            "enum": [
              "right",
              "left",
              "bottom"
            ]
          },
          "chatting_embed_code": {
            "description": "채팅 HTML 임베드 코드",
            "type": "string"
          },
          "concurrently_chatting_limit": {
            "description": "채팅방 동시 입장 최대 인원 제한",
            "type": "integer"
          },
          "chatting_limit_count": {
            "description": "채팅 참여자 1명이 1분 동안 전송할 수 있는 최대 메시지 수",
            "type": "integer"
          },
          "chatting_join_message": {
            "description": "채팅 참여 시 노출되는 환영 메시지",
            "type": "string"
          },
          "chatting_anonymous_chat": {
            "description": "익명 채팅 활성화 여부",
            "type": "boolean"
          },
          "chatting_display_profile_photo": {
            "description": "채팅 참여자 프로필 이미지 노출 여부",
            "type": "boolean"
          },
          "chatting_disable_default_profile_photo": {
            "description": "기본 프로필 이미지 업데이트",
            "type": "boolean"
          },
          "chatting_profile_photo_url": {
            "description": "프로필 이미지 URL",
            "type": "string"
          },
          "chatting_enable_block": {
            "description": "채팅 관리자 전용 사용자 차단(강제 퇴장) 기능 활성화 여부",
            "type": "boolean"
          },
          "chatting_admin_ids": {
            "description": "채팅 관리자 ID (구분자: 공백)",
            "type": "string"
          },
          "chatting_send_status": {
            "description": "'좋아요' 반응 기능 활성화 여부",
            "type": "boolean"
          }
        },
        "type": "object"
      },
      "ApiOpenLiveMediaChannelItem": {
        "properties": {
          "id": {
            "description": "채널 ID",
            "type": "integer"
          },
          "key": {
            "description": "채널 키",
            "type": "string"
          },
          "title": {
            "description": "채널 이름",
            "type": "string"
          },
          "customer_code": {
            "description": "고객사 내부 관리용 식별 코드",
            "type": "string"
          },
          "concurrently_viewer_limit": {
            "description": "최대 동시 시청자 수 (`0`: 무제한)",
            "type": "integer"
          },
          "kind": {
            "description": "채널 타입 (라이브 유형)\n- `0`: 라이브\n- `1`: 편성 라이브\n- `3`: 저지연 라이브",
            "type": "integer"
          },
          "is_shared": {
            "description": "채널 공개 여부 (`true`: 공개, `false`: 비공개)",
            "type": "boolean"
          },
          "profile_group": {
            "$ref": "#/components/schemas/ApiOpenLiveMediaProfileGroup"
          },
          "meta_title_pattern": {
            "description": "메타 정보 제목 명명 규칙",
            "type": "string"
          },
          "meta_description": {
            "description": "메타 정보 내용",
            "type": "string"
          },
          "logo_url": {
            "description": "로고 URL",
            "type": "string"
          },
          "idle_screen_url": {
            "description": "대기 화면 URL",
            "type": "string"
          },
          "idle_screen_kind": {
            "description": "대기 화면 유형",
            "properties": {
              "type": {
                "description": "대기 화면 유형 (`poster`: 사전에 등록한 포스터 노출, `snapshot`: 최신 스냅샷 노출)",
                "type": "string",
                "enum": [
                  "poster",
                  "snapshot"
                ]
              },
              "value": {
                "description": "대기 화면 유형 코드\n- `0`: 사전에 등록한 포스터 이미지 노출\n- `1`: 최신 스냅샷 이미지 노출",
                "type": "integer"
              }
            },
            "type": "object"
          },
          "publish_url": {
            "description": "애플리케이션 링크 (OBS, vMix 등의 외부 인코더 연결 시 사용하는 방송 송출 주소 및 송출 연결 정보)",
            "type": "string"
          },
          "video_gateway_url": {
            "description": "비디오 게이트웨이 링크 (라이브 방송 시청 URL)",
            "type": "string"
          },
          "recording_file_policy": {
            "description": "녹화 파일 저장 방식",
            "properties": {
              "type": {
                "description": "녹화 파일 저장 방식 (`segment`: 자동 저장, `duplicate`: 수동 저장)",
                "type": "string",
                "enum": [
                  "not_used",
                  "segment_recording",
                  "segment_and_duplicate_recording"
                ]
              },
              "value": {
                "description": "녹화 파일 저장 방식 코드\n- `0`: 미사용\n- `1`: 자동 저장\n- `3`: 자동 저장 + 수동 저장",
                "type": "integer"
              }
            },
            "type": "object"
          },
          "recording_file_pattern": {
            "description": "녹화 파일 명명 규칙",
            "type": "string"
          },
          "recording_file_segment_policy": {
            "description": "녹화 파일 자동 저장 기준",
            "properties": {
              "type": {
                "description": "녹화 파일 자동 저장 기준 (`by_size`: 녹화 파일 용량(4G) 기준 분할 저장, `by_duration`: 녹화 시간 기준 분할 저장)",
                "type": "string",
                "enum": [
                  "by_size",
                  "by_duration"
                ]
              },
              "value": {
                "description": "녹화 파일 자동 저장 기준 코드 (`1`: 녹화 파일 용량(4G) 기준 분할 저장, `2`: 녹화 시간 기준 분할 저장)",
                "type": "integer"
              }
            },
            "type": "object"
          },
          "recording_file_segment_by_size": {
            "description": "녹화 파일 용량 기준 분할 저장 선택 시 파일 최대 용량 (Mib)",
            "type": "integer"
          },
          "recording_file_segment_by_duration": {
            "description": "녹화 시간 기준 분할 저장 선택 시 자동 저장 시간 간격 (단위: 분)",
            "type": "integer"
          },
          "media_player_policy": {
            "description": "Kollus 보안 플레이어 사용 설정",
            "properties": {
              "type": {
                "description": "Kollus 보안 플레이어 사용 설정 (`auto_detect`: 자동 감지, `force_exclusive_player`: 강제 사용)",
                "type": "string",
                "enum": [
                  "auto_detect",
                  "force_exclusive_player"
                ]
              },
              "value": {
                "description": "Kollus 보안 플레이어 사용 설정 코드\n- `0`: 자동 감지\n- `1`: 강제 사용",
                "type": "integer"
              }
            },
            "type": "object"
          },
          "use_chatting_service": {
            "description": "채팅 서비스 활성화 여부",
            "type": "boolean"
          },
          "chatting_service": {
            "$ref": "#/components/schemas/ApiOpenChattingService"
          },
          "use_duplicate_block": {
            "description": "중복 재생 차단 사용 여부",
            "type": "boolean"
          },
          "use_capture_block": {
            "description": "녹화 및 캡처 차단 사용 여부 (보안 플레이어 전용)",
            "type": "boolean"
          },
          "use_timeshift": {
            "description": "라이브 방송 중 이전 시점 시청(Timeshift) 기능 활성화 여부",
            "type": "boolean"
          },
          "use_aes128": {
            "description": "AES-128 암호화 사용 여부",
            "type": "boolean"
          },
          "hided_at": {
            "description": "채널 숨김 시각",
            "type": "string"
          },
          "created_at": {
            "description": "채널 등록 일시",
            "type": "string"
          },
          "updated_at": {
            "description": "채널 정보 수정 일시",
            "type": "string"
          }
        },
        "type": "object"
      },
      "ApiOpenLiveMediaChannel": {
        "properties": {
          "id": {
            "description": "채널 ID",
            "type": "integer"
          },
          "key": {
            "description": "채널 키",
            "type": "string"
          },
          "title": {
            "description": "채널 이름",
            "type": "string"
          },
          "customer_code": {
            "description": "고객사 내부 관리용 식별 코드",
            "type": "string"
          },
          "concurrently_viewer_limit": {
            "description": "최대 동시 시청자 수 (`0`: 무제한)",
            "type": "integer"
          },
          "kind": {
            "description": "채널 타입",
            "properties": {
              "type": {
                "description": "채널 타입 (`general`: 일반 라이브 채널, `programming`: 편성 라이브 채널)",
                "type": "string",
                "enum": [
                  "general",
                  "programming"
                ]
              },
              "value": {
                "description": "채널 타입 코드\n- `0`: 일반 라이브 채널\n- `1`: 편성 라이브 채널",
                "type": "integer"
              }
            }
          },
          "is_shared": {
            "description": "채널 공개 여부 (`true`: 공개, `false`: 비공개)",
            "type": "boolean"
          },
          "profile_group": {
            "$ref": "#/components/schemas/ApiOpenLiveMediaProfileGroup"
          },
          "creators": {
            "description": "Creator 계정 정보",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ApiOpenLiveCreator"
            }
          },
          "latest_broadcast": {
            "$ref": "#/components/schemas/ApiOpenLiveMediaBroadcastItem"
          },
          "meta_title_pattern": {
            "description": "메타 정보 제목 명명 규칙",
            "type": "string"
          },
          "meta_description": {
            "description": "메타 정보 내용",
            "type": "string"
          },
          "logo_url": {
            "description": "로고 URL",
            "type": "string"
          },
          "idle_screen_url": {
            "description": "대기 화면 URL",
            "type": "string"
          },
          "idle_screen_kind": {
            "description": "대기 화면 유형",
            "properties": {
              "type": {
                "description": "대기 화면 유형 (`poster`: 사전에 등록한 포스터 노출, `snapshot`: 최신 스냅샷 노출)",
                "type": "string",
                "enum": [
                  "poster",
                  "snapshot"
                ]
              },
              "value": {
                "description": "대기 화면 유형 코드\n- `0`: 사전에 등록한 포스터 이미지 노출\n- `1`: 최신 스냅샷 이미지 노출",
                "type": "integer"
              }
            },
            "type": "object"
          },
          "publish_url": {
            "description": "애플리케이션 링크 (OBS, vMix 등의 외부 인코더 연결 시 사용하는 방송 송출 주소 및 송출 연결 정보)",
            "type": "string"
          },
          "video_gateway_url": {
            "description": "비디오 게이트웨이 링크 (라이브 방송 시청 URL)",
            "type": "string"
          },
          "recording_file_policy": {
            "description": "녹화 파일 저장 방식",
            "properties": {
              "type": {
                "description": "녹화 파일 저장 방식 (`segment`: 자동 저장, `duplicate`: 수동 저장)",
                "type": "string",
                "enum": [
                  "not_used",
                  "segment_recording",
                  "segment_and_duplicate_recording"
                ]
              },
              "value": {
                "description": "녹화 파일 저장 방식 코드\n- `0`: 미사용\n- `1`: 자동 저장\n- `3`: 자동 저장 + 수동 저장",
                "type": "integer"
              }
            },
            "type": "object"
          },
          "recording_file_pattern": {
            "description": "녹화 파일 명명 규칙",
            "type": "string"
          },
          "recording_file_segment_policy": {
            "description": "녹화 파일 자동 저장 기준",
            "properties": {
              "type": {
                "description": "녹화 파일 자동 저장 기준 (`by_size`: 녹화 파일 용량(4G) 기준 분할 저장, `by_duration`: 녹화 시간 기준 분할 저장)",
                "type": "string",
                "enum": [
                  "by_size",
                  "by_duration"
                ]
              },
              "value": {
                "description": "녹화 파일 자동 저장 기준 코드 (`1`: 녹화 파일 용량(4G) 기준 분할 저장, `2`: 녹화 시간 기준 분할 저장)",
                "type": "integer"
              }
            },
            "type": "object"
          },
          "recording_file_segment_by_size": {
            "description": "녹화 파일 용량 기준 분할 저장 선택 시 파일 최대 용량 (Mib)",
            "type": "integer"
          },
          "recording_file_segment_by_duration": {
            "description": "녹화 시간 기준 분할 저장 선택 시 자동 저장 시간 간격 (단위: 분)",
            "type": "integer"
          },
          "media_player_policy": {
            "description": "Kollus 보안 플레이어 사용 설정",
            "properties": {
              "type": {
                "description": "Kollus 보안 플레이어 사용 설정 (`auto_detect`: 자동 감지, `force_exclusive_player`: 강제 사용)",
                "type": "string",
                "enum": [
                  "auto_detect",
                  "force_exclusive_player"
                ]
              },
              "value": {
                "description": "Kollus 보안 플레이어 사용 설정 코드\n- `0`: 자동 감지\n- `1`: 강제 사용",
                "type": "integer"
              }
            },
            "type": "object"
          },
          "use_chatting_service": {
            "description": "채팅 서비스 활성화 여부",
            "type": "boolean"
          },
          "chatting_service": {
            "$ref": "#/components/schemas/ApiOpenChattingService"
          },
          "division_delayed_minutes": {
            "description": "네트워크 장애 시 세션 유지를 위한 유효 대기 시간 (단위: 분)",
            "type": "integer"
          },
          "use_duplicate_block": {
            "description": "중복 재생 차단 사용 여부",
            "type": "boolean"
          },
          "use_capture_block": {
            "description": "녹화 및 캡처 차단 사용 여부 (보안 플레이어 전용)",
            "type": "boolean"
          },
          "use_timeshift": {
            "description": "라이브 방송 중 이전 시점 시청(Timeshift) 기능 활성화 여부",
            "type": "boolean"
          },
          "use_aes128": {
            "description": "AES-128 암호화 사용 여부",
            "type": "boolean"
          },
          "use_broadcast_update_callback": {
            "description": "라이브 콜백 기능 활성화 여부",
            "type": "boolean"
          },
          "broadcast_update_callback_url": {
            "description": "라이브 콜백 URL",
            "type": "string"
          },
          "use_recording_file_transfer_callback": {
            "description": "녹화 파일 전송 콜백 기능 활성화 여부",
            "type": "boolean"
          },
          "recording_file_transfer_callback_url": {
            "description": "녹화 파일 전송 콜백 URL",
            "type": "string"
          },
          "use_lms_callback": {
            "description": "LMS 콜백 기능 활성화 여부",
            "type": "boolean"
          },
          "lms_callback_url": {
            "description": "LMS 콜백 URL",
            "type": "string"
          },
          "use_play_callback": {
            "description": "재생 콜백 기능 활성화 여부",
            "type": "boolean"
          },
          "play_callback_url": {
            "description": "재생 콜백 URL",
            "type": "string"
          },
          "use_referer_check": {
            "description": "레퍼러 접근 제어 정책\n- `0`: 미사용\n- `1`: 특정 도메인 허용\n- `2`: 특정 도메인 차단",
            "type": "integer",
            "enum": [
              0,
              1,
              2
            ]
          },
          "referer_check_domains": {
            "description": "재생을 허용할 도메인 주소 목록 (구분자: 콤마)",
            "type": "string"
          },
          "referer_reject_domains": {
            "description": "재생을 차단할 도메인 주소 목록 (구분자: 콤마)",
            "type": "string"
          },
          "status": {
            "description": "채널 상태 (`true`: 활성, `false`: 비활성)",
            "type": "boolean"
          },
          "hided_at": {
            "description": "채널 숨김 시각",
            "type": "string"
          },
          "created_at": {
            "description": "채널 등록 일시",
            "type": "string"
          },
          "updated_at": {
            "description": "채널 정보 수정 일시",
            "type": "string"
          }
        },
        "type": "object"
      },
      "ApiOpenLiveMediaFileTransfer": {
        "description": "파일 전송처 정보",
        "properties": {
          "id": {
            "description": "전송처 ID",
            "type": "integer"
          },
          "title": {
            "description": "전송처 식별 명칭",
            "type": "string"
          },
          "host": {
            "description": "(FTP, SFTP, Kollus 필수) 호스트 서버 주소",
            "type": "string"
          },
          "port": {
            "description": "(FTP, SFTP 필수) 포트 번호",
            "type": "string"
          },
          "username": {
            "description": "(FTP, SFTP, Kollus 필수) 서버 접속 사용자 계정",
            "type": "string"
          },
          "password": {
            "description": "(FTP, SFTP, Kollus 필수) 서버 접속 비밀번호",
            "type": "string"
          },
          "remote_path": {
            "description": "(FTP, SFTP 필수) 파일이 저장될 원격 서버 경로",
            "type": "string"
          },
          "category_key": {
            "description": "(Kollus 필수) 업로드 대상 카테고리 키",
            "type": "string"
          },
          "use_encryption": {
            "description": "(Kollus 필수) 녹화 파일 암호화 사용 여부",
            "type": "boolean"
          },
          "aws_access_key_id": {
            "description": "(S3 필수) S3 Access Key",
            "type": "string"
          },
          "aws_secret_access_key": {
            "description": "(S3 필수) S3 Secret Access Key",
            "type": "string"
          },
          "bucket_name": {
            "description": "(S3 필수) 파일이 저장될 S3 버킷 이름",
            "type": "string"
          },
          "aws_region_key": {
            "description": "(S3 필수) S3 Region Key",
            "type": "string"
          },
          "status": {
            "description": "파일 전송 활성화 여부",
            "type": "boolean"
          },
          "created_at": {
            "description": "전송처 등록 일시",
            "type": "string"
          },
          "updated_at": {
            "description": "전송처 정보 수정 일시",
            "type": "string"
          }
        },
        "type": "object"
      },
      "ApiOpenLiveMediaProfileGroup": {
        "description": "인코딩 프로파일 그룹 정보",
        "properties": {
          "id": {
            "description": "인코딩 프로파일 그룹 ID",
            "type": "integer"
          },
          "name": {
            "description": "인코딩 프로파일 그룹 이름",
            "type": "string"
          },
          "key": {
            "description": "인코딩 프로파일 그룹 키",
            "type": "string"
          },
          "group_type": {
            "description": "인코딩 프로파일 그룹 유형",
            "properties": {
              "type": {
                "description": "인코딩 프로파일 그룹 유형",
                "type": "string"
              },
              "value": {
                "description": "인코딩 프로파일 그룹 유형 코드",
                "type": "integer"
              }
            }
          },
          "screen_type": {
            "description": "비디오 화면 방향 (`landscape`: 가로, `portrait`: 세로)",
            "type": "string"
          },
          "created_at": {
            "description": "인코딩 프로파일 그룹 생성 일시",
            "type": "string"
          },
          "updated_at": {
            "description": "인코딩 프로파일 그룹 수정 일시",
            "type": "string"
          }
        },
        "type": "object"
      },
      "ApiOpenLiveMediaRecordingFile": {
        "properties": {
          "id": {
            "description": "녹화 파일 ID",
            "type": "integer"
          },
          "channel_key": {
            "description": "채널 키",
            "type": "string"
          },
          "broadcast_key": {
            "description": "방송 키",
            "type": "string"
          },
          "kind": {
            "description": "녹화 파일 저장 방식 (`segment`: 자동 저장, `duplicate`: 수동 저장)",
            "type": "string"
          },
          "filesize": {
            "description": "녹화 파일 용량 (bytes)",
            "type": "integer"
          },
          "started_at": {
            "description": "방송 시작 시각",
            "type": "string"
          },
          "ended_at": {
            "description": "방송 종료 시각",
            "type": "string"
          },
          "created_at": {
            "description": "녹화 파일 생성 일시",
            "type": "string"
          },
          "updated_at": {
            "description": "녹화 파일 수정 일시",
            "type": "string"
          }
        },
        "type": "object"
      },
      "ApiOpenLiveMediaSyndication": {
        "properties": {
          "id": {
            "description": "신디케이션 ID",
            "type": "integer"
          },
          "title": {
            "description": "신디케이션 식별 명칭",
            "type": "string"
          },
          "application_link": {
            "description": "외부 플랫폼의 스트림 수신 URL (링크)",
            "type": "string"
          },
          "stream_key": {
            "description": "외부 플랫폼에서 제공하는 방송 식별 키 (스트림 키)",
            "type": "string"
          },
          "status": {
            "description": "신디케이션 활성화 여부\n- `0`: 비활성\n- `1`: 활성",
            "type": "integer"
          },
          "created_at": {
            "description": "신디케이션 추가 일시",
            "type": "string"
          },
          "updated_at": {
            "description": "신디케이션 정보 수정 일시",
            "type": "string"
          }
        },
        "type": "object"
      },
      "ApiOpenLiveMediaGeneralFile": {
        "properties": {
          "id": {
            "description": "VOD 콘텐츠 ID",
            "type": "integer"
          },
          "title": {
            "description": "VOD 콘텐츠 제목",
            "type": "string"
          },
          "upload_file_key": {
            "description": "업로드 파일 키",
            "type": "string"
          },
          "raw_duration": {
            "description": "대기 화면 노출 시간 (단위: 밀리초)",
            "type": "integer"
          },
          "created_at": {
            "description": "편성 등록 일시",
            "type": "string"
          },
          "updated_at": {
            "description": "편성 수정 일시",
            "type": "string"
          }
        },
        "type": "object"
      },
      "ApiOpenProgramSchedule": {
        "properties": {
          "id": {
            "description": "ID",
            "type": "integer"
          },
          "live_program_id": {
            "description": "프로그램 ID",
            "type": "integer"
          },
          "live_media_channel_key": {
            "description": "채널 키",
            "type": "string"
          },
          "title": {
            "description": "프로그램 제목",
            "type": "string"
          },
          "wait_file": {
            "$ref": "#/components/schemas/ApiOpenLiveMediaWaitFile"
          },
          "files": {
            "$ref": "#/components/schemas/ApiOpenLiveMediaGeneralFile"
          },
          "ongoing": {
            "description": "방송 진행 중 여부 (`1`: 진행 중)",
            "type": "integer"
          },
          "finished": {
            "description": "방송 종료 여부 (`1`: 종료)",
            "type": "integer"
          },
          "started_at": {
            "description": "방송 시작 시간",
            "type": "string"
          },
          "ended_at": {
            "description": "방송 종료 시간",
            "type": "string"
          },
          "created_at": {
            "description": "편성 등록 일시",
            "type": "string"
          },
          "updated_at": {
            "description": "편성 수정 일시",
            "type": "string"
          }
        },
        "type": "object"
      },
      "ApiOpenMediaContentUploadURL": {
        "properties": {
          "upload_url": {
            "description": "업로드 URL",
            "type": "string"
          },
          "progress_url": {
            "description": "업로드 진행률 확인 URL",
            "type": "string"
          },
          "upload_file_key": {
            "description": "업로드 파일 키",
            "type": "string"
          },
          "will_be_expired_at": {
            "description": "URL 만료 시각",
            "type": "string"
          }
        },
        "type": "object"
      },
      "ApiOpenLiveMediaProfile": {
        "description": "라이브 인코딩 프로파일 정보",
        "properties": {
          "id": {
            "description": "인코딩 프로파일 ID",
            "type": "integer"
          },
          "name": {
            "description": "인코딩 프로파일 이름",
            "type": "string"
          },
          "key": {
            "description": "인코딩 프로파일 키",
            "type": "string"
          },
          "profile_type": {
            "description": "인코딩 프로파일 유형",
            "type": "integer"
          },
          "device_type": {
            "description": "디바이스 유형",
            "type": "string"
          },
          "video_codec": {
            "description": "비디오 코덱",
            "type": "string"
          },
          "video_profile": {
            "description": "비디오 프로파일",
            "type": "string"
          },
          "video_bitrate": {
            "description": "비디오 비트레이트",
            "type": "integer"
          },
          "video_framerate": {
            "description": "비디오 프레임레이트",
            "type": "integer"
          },
          "video_width": {
            "description": "비디오 가로 해상도",
            "type": "integer"
          },
          "video_height": {
            "description": "비디오 세로 해상도",
            "type": "integer"
          },
          "video_fitmode": {
            "description": "영상 출력 비율 맞춤 방식",
            "type": "string"
          },
          "video_screen_type": {
            "description": "비디오 화면 방향 (`landscape`: 가로, `portrait`: 세로)",
            "type": "string"
          },
          "audio_codec": {
            "description": "오디오 코덱",
            "type": "string"
          },
          "audio_bitrate": {
            "description": "오디오 비트레이트",
            "type": "integer"
          },
          "audio_sample_rate": {
            "description": "오디오 샘플레이트",
            "type": "integer"
          },
          "status": {
            "description": "인코딩 프로파일 선택 가능 여부",
            "type": "boolean"
          },
          "is_default_preset": {
            "description": "기본 프리셋 설정 여부",
            "type": "boolean"
          },
          "is_used": {
            "description": "인코딩 프로파일 활성화 여부",
            "type": "boolean"
          },
          "created_at": {
            "description": "인코딩 프로파일 생성 일시",
            "type": "string"
          },
          "updated_at": {
            "description": "인코딩 프로파일 수정 일시",
            "type": "string"
          }
        },
        "type": "object"
      },
      "ApiOpenLiveContract": {
        "properties": {
          "start_date": {
            "description": "서비스 계약 시작 일시",
            "type": "string"
          },
          "end_date": {
            "description": "서비스 계약 종료 일시",
            "type": "string"
          },
          "live_service_type": {
            "description": "서비스 제공 유형",
            "type": "string"
          },
          "live_max_channels": {
            "description": "최대 채널 수",
            "type": "integer"
          },
          "live_max_fps": {
            "description": "최대 프레임레이트 (FPS)",
            "type": "integer"
          },
          "live_max_bitrate": {
            "description": "최대 비트레이트 (Kbps)",
            "type": "integer"
          },
          "live_use_concurrently_viewer_limit": {
            "description": "동시 시청자 수 제한 적용 여부",
            "type": "boolean"
          },
          "live_use_exclusive_player": {
            "description": "Kollus 보안 플레이어 사용 여부",
            "type": "boolean"
          },
          "live_duplicate_block": {
            "description": "중복 재생 차단 사용 여부\n- `0`: 미차단\n- `1`: 차단",
            "type": "integer"
          },
          "live_max_player_id_count": {
            "description": "등록 가능 최대 기기 수",
            "type": "integer"
          },
          "live_capture_block_policy": {
            "description": "녹화 및 캡처 차단 사용 여부",
            "type": "boolean"
          },
          "live_capture_period": {
            "description": "녹화 및 캡처 차단 로직 실행 주기",
            "type": "integer"
          },
          "live_use_time_shift": {
            "description": "라이브 방송 중 이전 시점 시청(Timeshift) 기능 활성화 여부",
            "type": "boolean"
          },
          "live_use_recording_file": {
            "description": "녹화 파일 자동 전송 기능 사용 여부",
            "type": "boolean"
          },
          "live_max_recording_files_per_channel": {
            "description": "채널별 등록 가능한 녹화 파일 전송처 수",
            "type": "integer"
          },
          "live_use_syndication": {
            "description": "신디케이션(외부 플랫폼 동시 송출) 기능 사용 여부",
            "type": "boolean"
          },
          "live_max_syndication_per_channel": {
            "description": "채널별 등록 가능한 신디케이션 설정 수",
            "type": "integer"
          },
          "live_use_snapshot": {
            "description": "스냅샷 생성 기능 사용 여부",
            "type": "boolean"
          },
          "live_use_mobile_encoder_sdk": {
            "description": "모바일 인코더 SDK 사용 여부",
            "type": "boolean"
          },
          "live_use_lms_callback": {
            "description": "LMS 콜백 기능 활성화 여부",
            "type": "boolean"
          },
          "live_use_play_callback": {
            "description": "재생 콜백 기능 활성화 여부",
            "type": "boolean"
          },
          "live_use_chatting_service": {
            "description": "채팅 서비스 사용 여부",
            "type": "boolean"
          },
          "chatting_service": {
            "description": "채팅 서비스 계약 정보",
            "properties": {
              "kind": {
                "description": "채팅 서비스 유형 코드 (`1`: Chatroll, `2`: Kollus)",
                "type": "integer"
              },
              "info": {
                "description": "채팅 관련 설정 (JSON 형식)",
                "type": "object"
              },
              "use_scalable": {
                "description": "대규모 채팅 서비스 적용 여부",
                "type": "boolean"
              }
            },
            "type": "object"
          },
          "live_use_file_to_live": {
            "description": "편성 라이브 기능 사용 여부",
            "type": "boolean"
          },
          "user_id": {
            "description": "서비스 사용자 식별 번호",
            "type": "integer"
          }
        },
        "type": "object"
      },
      "ApiOpenProgramMediaContents": {
        "properties": {
          "id": {
            "description": "VOD 콘텐츠 ID",
            "type": "integer"
          },
          "title": {
            "description": "VOD 콘텐츠 제목",
            "type": "string"
          },
          "upload_file_key": {
            "description": "업로드 파일 키",
            "type": "string"
          },
          "duration": {
            "description": "전체 콘텐츠 길이 (단위: 초)",
            "type": "string"
          },
          "raw_duration": {
            "description": "전체 콘텐츠 길이 (단위: 밀리초)",
            "type": "integer"
          },
          "is_passthru": {
            "description": "패스스루(원본 영상 정보 유지) 적용 여부\n- `0`: 미적용\n- `1`: 적용",
            "type": "boolean"
          },
          "transcoding_state": {
            "description": "트랜스코딩 진행 상태",
            "type": "string"
          },
          "transcoding_percent": {
            "description": "트랜스코딩 진행률 (%)",
            "type": "integer"
          },
          "created_at": {
            "description": "콘텐츠 등록 일시",
            "type": "string"
          },
          "updated_at": {
            "description": "콘텐츠 정보 수정 일시",
            "type": "string"
          },
          "snapshot_url": {
            "description": "스냅샷 URL",
            "type": "string"
          },
          "status": {
            "description": "콘텐츠 활성화 및 편성 가능 여부",
            "type": "integer"
          },
          "programs_ready_schedules": {
            "$ref": "#/components/schemas/ApiOpenProgramScheduleResourceSummary"
          },
          "transcoding_file": {
            "$ref": "#/components/schemas/ApiTranscodingFile"
          },
          "transcoding_file_size": {
            "description": "트랜스코딩 파일 용량",
            "type": "integer"
          },
          "original_file_size": {
            "description": "원본 파일 용량",
            "type": "integer"
          },
          "sum_original_file_and_transcoding_file": {
            "description": "트랜스코딩 및 원본 파일 용량 합계",
            "type": "integer"
          }
        },
        "type": "object"
      },
      "ApiTranscodingFile": {
        "description": "트랜스코딩 파일 정보",
        "properties": {
          "id": {
            "description": "트랜스코딩 파일 ID",
            "type": "integer"
          },
          "profile_name": {
            "description": "인코딩 프로파일 이름",
            "type": "string"
          },
          "profile_key": {
            "description": "인코딩 프로파일 키",
            "type": "string"
          },
          "media_information": {
            "description": "미디어 정보",
            "type": "object"
          },
          "raw_duration": {
            "description": "전체 콘텐츠 길이 (단위: 밀리초)",
            "type": "integer"
          },
          "created_at": {
            "description": "콘텐츠 등록 일시",
            "type": "string"
          },
          "updated_at": {
            "description": "콘텐츠 정보 수정 일시",
            "type": "string"
          }
        },
        "type": "object"
      },
      "ApiOpenProgramScheduleResourceSummary": {
        "properties": {
          "id": {
            "description": "프로그램 ID",
            "type": "integer"
          },
          "start_at": {
            "description": "방송 시작 시각",
            "type": "string"
          },
          "end_at": {
            "description": "방송 종료 시각",
            "type": "string"
          }
        },
        "type": "object"
      },
      "ApiOpenLiveMediaWaitFile": {
        "properties": {
          "id": {
            "description": "대기 화면 ID",
            "type": "integer"
          },
          "title": {
            "description": "대기 화면 이름",
            "type": "string"
          },
          "upload_file_key": {
            "description": "업로드 파일 키",
            "type": "string"
          },
          "raw_duration": {
            "description": "대기 화면 노출 시간 (단위: 밀리초)",
            "type": "integer"
          },
          "created_at": {
            "description": "대기 화면 이미지 업로드 일시",
            "type": "string"
          },
          "updated_at": {
            "description": "대기 화면 정보 수정 일시",
            "type": "string"
          }
        },
        "type": "object"
      },
      "ApiOpenLiveBroadcastStatisticsSummary": {
        "description": "방송별 통계 요약",
        "properties": {
          "startdate": {
            "description": "조회 범위 시작 날짜",
            "type": "string"
          },
          "enddate": {
            "description": "조회 범위 종료 날짜",
            "type": "string"
          },
          "max_cur_user": {
            "description": "최대 동시 시청자 수",
            "type": "integer"
          },
          "max_sum_user": {
            "description": "누적 시청자 수",
            "type": "integer"
          },
          "total_acc_user": {
            "description": "순 시청자 수",
            "type": "integer"
          },
          "total_count": {
            "description": "조회 수",
            "type": "integer"
          },
          "total_broadcast_interval": {
            "description": "총 방송 시간",
            "type": "string"
          },
          "total_watch_time": {
            "description": "총 시청 시간",
            "type": "string"
          },
          "average_broadcast_interval": {
            "description": "평균 방송 시간",
            "type": "string"
          },
          "average_watch_time": {
            "description": "평균 시청 시간",
            "type": "string"
          },
          "live_count": {
            "description": "방송 횟수",
            "type": "integer"
          }
        },
        "type": "object"
      },
      "ApiOpenLiveChannelStatisticsSummary": {
        "description": "채널별 통계 요약",
        "properties": {
          "startdate": {
            "description": "조회 범위 시작 날짜",
            "type": "string"
          },
          "enddate": {
            "description": "조회 범위 종료 날짜",
            "type": "string"
          },
          "max_cur_user": {
            "description": "최대 동시 시청자 수",
            "type": "integer"
          },
          "max_sum_user": {
            "description": "누적 시청자 수",
            "type": "integer"
          },
          "total_acc_user": {
            "description": "순 시청자 수",
            "type": "integer"
          },
          "total_count": {
            "description": "조회 수",
            "type": "integer"
          },
          "total_broadcast_interval": {
            "description": "총 방송 시간",
            "type": "string"
          },
          "total_watch_time": {
            "description": "총 시청 시간",
            "type": "string"
          },
          "average_broadcast_interval": {
            "description": "평균 방송 시간",
            "type": "string"
          },
          "average_watch_time": {
            "description": "평균 시청 시간",
            "type": "string"
          },
          "live_count": {
            "description": "방송 횟수",
            "type": "integer"
          }
        },
        "type": "object"
      },
      "ApiOpenLiveStatisticsSummary": {
        "description": "통계 요약",
        "properties": {
          "startdate": {
            "description": "조회 범위 시작 날짜",
            "type": "string"
          },
          "enddate": {
            "description": "조회 범위 종료 날짜",
            "type": "string"
          },
          "max_cur_user": {
            "description": "최대 동시 시청자 수",
            "type": "integer"
          },
          "max_sum_user": {
            "description": "누적 시청자 수",
            "type": "integer"
          },
          "total_acc_user": {
            "description": "순 시청자 수",
            "type": "integer"
          },
          "total_count": {
            "description": "조회 수",
            "type": "integer"
          },
          "total_broadcast_interval": {
            "description": "총 방송 시간",
            "type": "string"
          },
          "total_watch_time": {
            "description": "총 시청 시간",
            "type": "string"
          },
          "average_broadcast_interval": {
            "description": "평균 방송 시간",
            "type": "string"
          },
          "average_watch_time": {
            "description": "평균 시청 시간",
            "type": "string"
          },
          "live_count": {
            "description": "방송 횟수",
            "type": "integer"
          }
        },
        "type": "object"
      },
      "ApiOpenLiveSummaryDaily": {
        "description": "일별 통계 요약",
        "properties": {
          "startdate": {
            "description": "조회 범위 시작 날짜",
            "type": "string"
          },
          "enddate": {
            "description": "조회 범위 종료 날짜",
            "type": "string"
          },
          "total_transfer": {
            "description": "총 전송량 (bytes)",
            "type": "integer"
          },
          "max_traffic": {
            "description": "최대 트래픽 (bps)",
            "type": "integer"
          },
          "total_watch_time": {
            "description": "총 시청 시간 (단위: 분)",
            "type": "integer"
          },
          "total_broadcast_time": {
            "description": "총 방송 시간 (단위: 분)",
            "type": "integer"
          },
          "daily_data": {
            "type": "array",
            "items": {
              "properties": {
                "datetime": {
                  "description": "조회 대상 기준 날짜",
                  "type": "string"
                },
                "transfer": {
                  "description": "전송량 (bytes)",
                  "type": "integer"
                },
                "traffic": {
                  "description": "트래픽 (bps)",
                  "type": "integer"
                },
                "watch_time": {
                  "description": "시청 시간 (단위: 분)",
                  "type": "integer"
                },
                "broadcast_time": {
                  "description": "방송 시간 (단위: 분)",
                  "type": "integer"
                }
              },
              "type": "object"
            }
          }
        },
        "type": "object"
      },
      "ApiOpenLiveBroadcastViewer": {
        "description": "방송별 시청자 수 통계",
        "properties": {
          "startdate": {
            "description": "조회 범위 시작 날짜",
            "type": "string"
          },
          "enddate": {
            "description": "조회 범위 종료 날짜",
            "type": "string"
          },
          "max_cur_user": {
            "description": "최대 동시 시청자 수",
            "type": "integer"
          },
          "max_acc_user": {
            "description": "누적 시청자 수",
            "type": "integer"
          },
          "daily_data": {
            "type": "array",
            "items": {
              "properties": {
                "datetime": {
                  "description": "조회 대상 기준 날짜",
                  "type": "string"
                },
                "cur_user": {
                  "description": "동시 시청자 수",
                  "type": "integer"
                },
                "acc_user": {
                  "description": "순 시청자 수",
                  "type": "integer"
                }
              },
              "type": "object"
            }
          }
        },
        "type": "object"
      },
      "ApiOpenLiveChannelViewer": {
        "description": "채널별 시청자 수 통계",
        "properties": {
          "startdate": {
            "description": "조회 범위 시작 날짜",
            "type": "string"
          },
          "enddate": {
            "description": "조회 범위 종료 날짜",
            "type": "string"
          },
          "max_cur_user": {
            "description": "최대 동시 시청자 수",
            "type": "integer"
          },
          "max_acc_user": {
            "description": "누적 시청자 수",
            "type": "integer"
          },
          "user_data": {
            "type": "array",
            "items": {
              "properties": {
                "datetime": {
                  "description": "조회 대상 기준 날짜",
                  "type": "string"
                },
                "cur_user": {
                  "description": "동시 시청자 수",
                  "type": "integer"
                },
                "acc_user": {
                  "description": "순 시청자 수",
                  "type": "integer"
                }
              },
              "type": "object"
            }
          }
        },
        "type": "object"
      },
      "ApiOpenLiveViewer": {
        "description": "시청자 수 통계",
        "properties": {
          "startdate": {
            "description": "조회 범위 시작 날짜",
            "type": "string"
          },
          "enddate": {
            "description": "조회 범위 종료 날짜",
            "type": "string"
          },
          "max_cur_user": {
            "description": "최대 동시 시청자 수",
            "type": "integer"
          },
          "max_acc_user": {
            "description": "누적 시청자 수",
            "type": "integer"
          },
          "user_data": {
            "type": "array",
            "items": {
              "properties": {
                "datetime": {
                  "description": "조회 대상 기준 날짜",
                  "type": "string"
                },
                "cur_user": {
                  "description": "동시 시청자 수",
                  "type": "integer"
                },
                "acc_user": {
                  "description": "순 시청자 수",
                  "type": "integer"
                }
              },
              "type": "object"
            }
          }
        },
        "type": "object"
      },
      "ApiOpenVodSummaryDaily": {
        "description": "일별 VOD 통계 요약",
        "properties": {
          "startdate": {
            "description": "조회 범위 시작 날짜",
            "type": "string"
          },
          "enddate": {
            "description": "조회 범위 종료 날짜",
            "type": "string"
          },
          "total_transfer": {
            "description": "총 전송량 (bytes)",
            "type": "integer"
          },
          "max_traffic": {
            "description": "최대 트래픽 (bps)",
            "type": "integer"
          },
          "total_storage": {
            "description": "총 스토리지 (bytes)",
            "type": "integer"
          },
          "total_transcoding_size": {
            "description": "총 트랜스코딩 파일 용량 (bytes)",
            "type": "integer"
          },
          "total_transcoding_count": {
            "description": "총 트랜스코딩 수",
            "type": "integer"
          },
          "total_visitor": {
            "description": "총 방문자 수",
            "type": "integer"
          },
          "daily_data": {
            "type": "array",
            "items": {
              "properties": {
                "datetime": {
                  "description": "조회 대상 기준 날짜",
                  "type": "string"
                },
                "transfer": {
                  "description": "전송량 (bytes)",
                  "type": "integer"
                },
                "traffic": {
                  "description": "트래픽 (bps)",
                  "type": "integer"
                },
                "storage": {
                  "description": "스토리지 (bytes)",
                  "type": "integer"
                },
                "transcoding_size": {
                  "description": "트랜스코딩 파일 용량 (bytes)",
                  "type": "integer"
                },
                "transcoding_count": {
                  "description": "트랜스코딩 수",
                  "type": "integer"
                },
                "visitor": {
                  "description": "방문자 수",
                  "type": "integer"
                }
              },
              "type": "object"
            }
          }
        },
        "type": "object"
      }
    },
    "securitySchemes": {
      "kollus_oauth2": {
        "type": "oauth2",
        "description": "Kollus oauth2 security.",
        "flows": {
          "authorizationCode": {
            "authorizationURL": "https://live-kr.kollus.com/oauth/authorize",
            "tokenURL": "https://live-kr.kollus.com/oauth/token",
            "refreshURL": "https://live-kr.kollus.com/token/refresh",
            "scopes": {
              "live:control": "Live Control",
              "live:statistics": "Live Statistics"
            }
          },
          "clientCredentials": {
            "tokenURL": "https://live-kr.kollus.com/oauth/token",
            "refreshURL": "https://live-kr.kollus.com/token/refresh",
            "scopes": {
              "live:creator": "Live Creator App",
              "platform-app": "Platform Api Actions"
            }
          }
        }
      }
    }
  }
}