# VOD API 레퍼런스

- **API 접근 토큰**: Kollus VOD 콘솔 > 서비스 계정 > <a href="https://c-kr.kollus.com/service-account/api-service" target="_blank">[API]</a> 
 - **식별 키 정보**: <a href="https://docs.kollus.com/dev-guide/vod/quickstart/key" target="_blank">인증 및 주요 키</a>
 - **공식 문서**: <a href="https://docs.kollus.com" target="_blank">Kollus Docs</a>

Version: 3.0
License: 서비스 이용 약관

## Servers

```
https://c-api-kr.kollus.com/api
```

## Security

### kollus_api_access_token

Kollus API 접근 토큰

Type: apiKey
In: query
Name: access_token

## Download OpenAPI description

[VOD API 레퍼런스](https://kollus-api.redocly.app/_bundle/products/vod/@3.0/openapi.yaml)

## 공통

### 국가 목록 조회

 - [GET /countries](https://kollus-api.redocly.app/products/vod/openapi/%EA%B3%B5%ED%86%B5/getcountries.md): 시스템에서 지원하는 전체 국가 목록과 국가 코드를 조회합니다.

### 언어 목록 조회

 - [GET /languages](https://kollus-api.redocly.app/products/vod/openapi/%EA%B3%B5%ED%86%B5/getlanguages.md): 시스템에서 사용 가능한 전체 언어 목록을 조회합니다. 자막 지원 언어만 별도로 필터링할 수 있습니다.

### 타임존 목록 조회

 - [GET /timezones](https://kollus-api.redocly.app/products/vod/openapi/%EA%B3%B5%ED%86%B5/gettimezones.md): 콘텐츠 관리 및 서비스 설정에 적용할 수 있는 표준 타임존 목록을 조회합니다.

## 카테고리 관리

### 카테고리 목록 조회

 - [GET /categories](https://kollus-api.redocly.app/products/vod/openapi/%EC%B9%B4%ED%85%8C%EA%B3%A0%EB%A6%AC-%EA%B4%80%EB%A6%AC/getcategories.md): 전체 카테고리 목록을 조회합니다. parent_category_key를 지정하면, 지정된 상위 카테고리의 모든 하위 카테고리 목록을 반환합니다.

### 신규 카테고리 생성

 - [POST /categories](https://kollus-api.redocly.app/products/vod/openapi/%EC%B9%B4%ED%85%8C%EA%B3%A0%EB%A6%AC-%EA%B4%80%EB%A6%AC/createcategory.md): 새로운 카테고리를 생성합니다. parent_category_key를 지정하면, 생성된 카테고리는 지정된 상위 카테고리의 하위 카테고리로 등록됩니다.

### 카테고리 정보 조회

 - [GET /categories/{category_key}](https://kollus-api.redocly.app/products/vod/openapi/%EC%B9%B4%ED%85%8C%EA%B3%A0%EB%A6%AC-%EA%B4%80%EB%A6%AC/getcategory.md): 특정 카테고리의 상세 정보와 해당 카테고리에 연결된 채널 목록을 조회합니다.

### 카테고리 이름 수정

 - [PUT /categories/{category_key}](https://kollus-api.redocly.app/products/vod/openapi/%EC%B9%B4%ED%85%8C%EA%B3%A0%EB%A6%AC-%EA%B4%80%EB%A6%AC/updatecategory.md): 기존 카테고리의 이름을 변경합니다.

### 카테고리 삭제

 - [DELETE /categories/{category_key}](https://kollus-api.redocly.app/products/vod/openapi/%EC%B9%B4%ED%85%8C%EA%B3%A0%EB%A6%AC-%EA%B4%80%EB%A6%AC/deletecategory.md): 특정 카테고리를 시스템에서 영구적으로 삭제합니다. 삭제된 카테고리에 소속된 콘텐츠 파일은 시스템에 유지됩니다. 하위 카테고리의 위치는 계층 구조에 따라 자동으로 재조정됩니다. (관련 문서: 카테고리 삭제)

### 카테고리-채널 연결

 - [POST /categories/{category_key}/channels/{channel_key}/attach](https://kollus-api.redocly.app/products/vod/openapi/%EC%B9%B4%ED%85%8C%EA%B3%A0%EB%A6%AC-%EA%B4%80%EB%A6%AC/attachchanneltocategory.md): 특정 카테고리와 특정 채널을 연결합니다.

### 카테고리-채널 연결 해제

 - [DELETE /categories/{category_key}/channels/{channel_key}/detach](https://kollus-api.redocly.app/products/vod/openapi/%EC%B9%B4%ED%85%8C%EA%B3%A0%EB%A6%AC-%EA%B4%80%EB%A6%AC/detachchannelfromcategory.md): 카테고리와 채널의 연결 상태를 해제합니다.

## 채널 관리

### 채널 목록 조회

 - [GET /channels](https://kollus-api.redocly.app/products/vod/openapi/%EC%B1%84%EB%84%90-%EA%B4%80%EB%A6%AC/getchannels.md): 전체 채널 목록을 조회합니다. 채널 종류(kind) 또는 활성화 상태(status)를 기준으로 필터링할 수 있습니다.

### 신규 채널 생성

 - [POST /channels](https://kollus-api.redocly.app/products/vod/openapi/%EC%B1%84%EB%84%90-%EA%B4%80%EB%A6%AC/createchannel.md): 새로운 채널을 생성합니다. 공유 및 보안 정책 설정은 생성 후 변경이 불가능합니다.

### 채널 정보 조회

 - [GET /channels/{channel_key}](https://kollus-api.redocly.app/products/vod/openapi/%EC%B1%84%EB%84%90-%EA%B4%80%EB%A6%AC/getchannel.md): 특정 채널의 상세 정보를 조회합니다.

### 채널 정보 수정

 - [PUT /channels/{channel_key}](https://kollus-api.redocly.app/products/vod/openapi/%EC%B1%84%EB%84%90-%EA%B4%80%EB%A6%AC/updatechannel.md): 기존 채널의 이름, 설명, 스트리밍 규격 설정을 수정합니다.

### 채널 삭제

 - [DELETE /channels/{channel_key}](https://kollus-api.redocly.app/products/vod/openapi/%EC%B1%84%EB%84%90-%EA%B4%80%EB%A6%AC/deletechannel.md): 특정 채널을 시스템에서 영구적으로 삭제합니다. 이 작업은 연동된 콘텐츠 접근에 기술적 영향을 미칠 수 있습니다. (관련 문서: 채널 삭제)

### 채널-콘텐츠 연결

 - [POST /channels/{channel_key}/media-contents/{upload_file_key}/attach](https://kollus-api.redocly.app/products/vod/openapi/%EC%B1%84%EB%84%90-%EA%B4%80%EB%A6%AC/attachmediacontenttochannel.md): 콘텐츠를 특정 채널에 연결합니다.

### 채널-콘텐츠 연결 해제

 - [DELETE /channels/{channel_key}/media-contents/{upload_file_key}/detach](https://kollus-api.redocly.app/products/vod/openapi/%EC%B1%84%EB%84%90-%EA%B4%80%EB%A6%AC/detachmediacontentfromchannel.md): 채널과 콘텐츠의 연결 상태를 해제합니다.

### 채널-플레이어 스킨 연결

 - [POST /channels/{channel_key}/player-skins/{skin_id}/attach](https://kollus-api.redocly.app/products/vod/openapi/%EC%B1%84%EB%84%90-%EA%B4%80%EB%A6%AC/attachplayerskintochannel.md): 플레이어 스킨을 특정 채널에 연결합니다. 만약 채널에 이미 연결된 스킨이 있다면, 시스템은 기존 스킨을 해제하고 새로운 스킨으로 교체합니다.

### 채널-플레이어 스킨 연결 해제

 - [DELETE /channels/{channel_key}/player-skins](https://kollus-api.redocly.app/products/vod/openapi/%EC%B1%84%EB%84%90-%EA%B4%80%EB%A6%AC/detachplayerskinfromchannel.md): 채널과 플레이어 스킨의 연결 상태를 해제합니다.

### 콜백 URL 설정 (콘텐츠 추가/삭제, 재생)

 - [PUT /channels/{channel_key}/callback](https://kollus-api.redocly.app/products/vod/openapi/%EC%B1%84%EB%84%90-%EA%B4%80%EB%A6%AC/updatechannelcallback.md): 콘텐츠의 추가/삭제 또는 재생 요청 이벤트 발생 시 외부 서버로 정보를 전달하기 위한 엔드포인트(URL)를 설정합니다.

### 콜백 URL 설정 (다운로드)

 - [PUT /channels/{channel_key}/download-callback](https://kollus-api.redocly.app/products/vod/openapi/%EC%B1%84%EB%84%90-%EA%B4%80%EB%A6%AC/updatechanneldownloadcallback.md): PC 및 모바일 환경에서 콘텐츠 다운로드 시도가 발생할 때 서버 간 연동을 위한 콜백 URL을 설정합니다.

### 외부 디스플레이 출력 차단

 - [PUT /channels/{channel_key}/security](https://kollus-api.redocly.app/products/vod/openapi/%EC%B1%84%EB%84%90-%EA%B4%80%EB%A6%AC/updatechannelsecurity.md): 채널에 속한 콘텐츠 재생 시 HDMI나 미러링 등을 통한 외부 출력(TV-OUT)의 차단 여부를 설정합니다.

### 레퍼러 기반 접근 제어

 - [PUT /channels/{channel_key}/referer](https://kollus-api.redocly.app/products/vod/openapi/%EC%B1%84%EB%84%90-%EA%B4%80%EB%A6%AC/updatechannelreferer.md): 특정 도메인에서만 재생을 허용하거나 차단하도록 레퍼러(Referer) 기반 접근 제어 정책을 적용합니다.

### 채널별 콘텐츠 목록 조회

 - [GET /channels/{channel_key}/media-contents](https://kollus-api.redocly.app/products/vod/openapi/%EC%B1%84%EB%84%90-%EA%B4%80%EB%A6%AC/getchannelmediacontents.md): 특정 채널에 등록된 콘텐츠 목록을 조회합니다. 쿼리 파라미터를 활용하여 결과를 필터링할 수 있습니다.

### 채널별 콘텐츠 목록 조회

 - [GET /channels/{channel_key}/media-contents](https://kollus-api.redocly.app/products/vod/openapi/%EC%BD%98%ED%85%90%EC%B8%A0-%EA%B4%80%EB%A6%AC/getchannelmediacontents.md): 특정 채널에 등록된 콘텐츠 목록을 조회합니다. 쿼리 파라미터를 활용하여 결과를 필터링할 수 있습니다.

### 채널-플레이어 스킨 연결

 - [POST /channels/{channel_key}/player-skins/{skin_id}/attach](https://kollus-api.redocly.app/products/vod/openapi/%ED%94%8C%EB%A0%88%EC%9D%B4%EC%96%B4-%EA%B4%80%EB%A6%AC/attachplayerskintochannel.md): 플레이어 스킨을 특정 채널에 연결합니다. 만약 채널에 이미 연결된 스킨이 있다면, 시스템은 기존 스킨을 해제하고 새로운 스킨으로 교체합니다.

### 채널-플레이어 스킨 연결 해제

 - [DELETE /channels/{channel_key}/player-skins](https://kollus-api.redocly.app/products/vod/openapi/%ED%94%8C%EB%A0%88%EC%9D%B4%EC%96%B4-%EA%B4%80%EB%A6%AC/detachplayerskinfromchannel.md): 채널과 플레이어 스킨의 연결 상태를 해제합니다.

## 플레이어 관리

### 채널-플레이어 스킨 연결

 - [POST /channels/{channel_key}/player-skins/{skin_id}/attach](https://kollus-api.redocly.app/products/vod/openapi/%EC%B1%84%EB%84%90-%EA%B4%80%EB%A6%AC/attachplayerskintochannel.md): 플레이어 스킨을 특정 채널에 연결합니다. 만약 채널에 이미 연결된 스킨이 있다면, 시스템은 기존 스킨을 해제하고 새로운 스킨으로 교체합니다.

### 채널-플레이어 스킨 연결 해제

 - [DELETE /channels/{channel_key}/player-skins](https://kollus-api.redocly.app/products/vod/openapi/%EC%B1%84%EB%84%90-%EA%B4%80%EB%A6%AC/detachplayerskinfromchannel.md): 채널과 플레이어 스킨의 연결 상태를 해제합니다.

### 채널-플레이어 스킨 연결

 - [POST /channels/{channel_key}/player-skins/{skin_id}/attach](https://kollus-api.redocly.app/products/vod/openapi/%ED%94%8C%EB%A0%88%EC%9D%B4%EC%96%B4-%EA%B4%80%EB%A6%AC/attachplayerskintochannel.md): 플레이어 스킨을 특정 채널에 연결합니다. 만약 채널에 이미 연결된 스킨이 있다면, 시스템은 기존 스킨을 해제하고 새로운 스킨으로 교체합니다.

### 채널-플레이어 스킨 연결 해제

 - [DELETE /channels/{channel_key}/player-skins](https://kollus-api.redocly.app/products/vod/openapi/%ED%94%8C%EB%A0%88%EC%9D%B4%EC%96%B4-%EA%B4%80%EB%A6%AC/detachplayerskinfromchannel.md): 채널과 플레이어 스킨의 연결 상태를 해제합니다.

### 플레이어 스킨 목록 조회

 - [GET /player-skins](https://kollus-api.redocly.app/products/vod/openapi/%ED%94%8C%EB%A0%88%EC%9D%B4%EC%96%B4-%EA%B4%80%EB%A6%AC/getplayerskins.md): 전체 플레이어 스킨 목록을 조회합니다.

### 플레이어 스킨 삭제

 - [DELETE /player-skins/{player_skin_id}](https://kollus-api.redocly.app/products/vod/openapi/%ED%94%8C%EB%A0%88%EC%9D%B4%EC%96%B4-%EA%B4%80%EB%A6%AC/deleteplayerskin.md): 특정 플레이어 스킨을 시스템에서 영구적으로 삭제합니다.

### 플레이어 이벤트 목록 조회

 - [GET /player-events](https://kollus-api.redocly.app/products/vod/openapi/%ED%94%8C%EB%A0%88%EC%9D%B4%EC%96%B4-%EA%B4%80%EB%A6%AC/getplayerevents.md): 전체 플레이어 이벤트(광고) 목록을 조회합니다.

### 플레이어 이벤트 삭제

 - [DELETE /player-events/{player_event_id}](https://kollus-api.redocly.app/products/vod/openapi/%ED%94%8C%EB%A0%88%EC%9D%B4%EC%96%B4-%EA%B4%80%EB%A6%AC/deleteplayerevent.md): 특정 플레이어 이벤트를 시스템에서 영구적으로 삭제합니다.

## 콘텐츠 관리

### 채널별 콘텐츠 목록 조회

 - [GET /channels/{channel_key}/media-contents](https://kollus-api.redocly.app/products/vod/openapi/%EC%B1%84%EB%84%90-%EA%B4%80%EB%A6%AC/getchannelmediacontents.md): 특정 채널에 등록된 콘텐츠 목록을 조회합니다. 쿼리 파라미터를 활용하여 결과를 필터링할 수 있습니다.

### 전체 콘텐츠 목록 조회

 - [GET /media-contents](https://kollus-api.redocly.app/products/vod/openapi/%EC%BD%98%ED%85%90%EC%B8%A0-%EA%B4%80%EB%A6%AC/getmediacontents.md): 전체 콘텐츠 목록을 조회합니다. 쿼리 파라미터를 활용하여 결과를 필터링할 수 있습니다.

### 채널별 콘텐츠 목록 조회

 - [GET /channels/{channel_key}/media-contents](https://kollus-api.redocly.app/products/vod/openapi/%EC%BD%98%ED%85%90%EC%B8%A0-%EA%B4%80%EB%A6%AC/getchannelmediacontents.md): 특정 채널에 등록된 콘텐츠 목록을 조회합니다. 쿼리 파라미터를 활용하여 결과를 필터링할 수 있습니다.

### 카테고리별 콘텐츠 목록 조회

 - [GET /categories/{category_key}/media-contents](https://kollus-api.redocly.app/products/vod/openapi/%EC%BD%98%ED%85%90%EC%B8%A0-%EA%B4%80%EB%A6%AC/getcategorymediacontents.md): 특정 카테고리에 분류된 콘텐츠 목록을 조회합니다. 쿼리 파라미터를 활용하여 결과를 필터링할 수 있습니다.

### 콘텐츠 업로드 URL 생성

 - [POST /upload/create-url](https://kollus-api.redocly.app/products/vod/openapi/%EC%BD%98%ED%85%90%EC%B8%A0-%EA%B4%80%EB%A6%AC/createuploadurl.md): 콘텐츠 파일을 안전하게 업로드하기 위한 일회성 엔드포인트 URL을 생성합니다.

### 콘텐츠 정보 조회

 - [GET /media-contents/{upload_file_key}](https://kollus-api.redocly.app/products/vod/openapi/%EC%BD%98%ED%85%90%EC%B8%A0-%EA%B4%80%EB%A6%AC/getmediacontent.md): 특정 콘텐츠의 상세 정보를 조회합니다.

### 콘텐츠 정보 수정

 - [PUT /media-contents/{upload_file_key}](https://kollus-api.redocly.app/products/vod/openapi/%EC%BD%98%ED%85%90%EC%B8%A0-%EA%B4%80%EB%A6%AC/updatemediacontent.md): 기존 콘텐츠의 제목, VR 콘텐츠 투영 방식 및 사운드 모드 설정을 수정합니다.

### 콘텐츠 삭제

 - [DELETE /media-contents/{upload_file_key}](https://kollus-api.redocly.app/products/vod/openapi/%EC%BD%98%ED%85%90%EC%B8%A0-%EA%B4%80%EB%A6%AC/deletemediacontent.md): 특정 콘텐츠를 시스템에서 영구적으로 삭제합니다.

### 콘텐츠 카테고리 변경

 - [PUT /media-contents/{upload_file_key}/categories/{category_key}](https://kollus-api.redocly.app/products/vod/openapi/%EC%BD%98%ED%85%90%EC%B8%A0-%EA%B4%80%EB%A6%AC/updatemediacontentcategory.md): 콘텐츠의 카테고리 분류를 다른 카테고리로 변경합니다.

### 콘텐츠 비활성화

 - [PUT /media-contents/{upload_file_key}/disable](https://kollus-api.redocly.app/products/vod/openapi/%EC%BD%98%ED%85%90%EC%B8%A0-%EA%B4%80%EB%A6%AC/disablemediacontent.md): 활성 상태인 콘텐츠를 비활성화하여 플레이어에서의 재생을 일시적으로 차단합니다.

### 콘텐츠 활성화

 - [PUT /media-contents/{upload_file_key}/enable](https://kollus-api.redocly.app/products/vod/openapi/%EC%BD%98%ED%85%90%EC%B8%A0-%EA%B4%80%EB%A6%AC/enablemediacontent.md): 비활성 상태인 콘텐츠를 활성화하여 플레이어에서 재생이 가능한 상태로 변경합니다.

### 포스터 이미지 업로드

 - [POST /media-contents/{upload_file_key}/poster](https://kollus-api.redocly.app/products/vod/openapi/%EC%BD%98%ED%85%90%EC%B8%A0-%EA%B4%80%EB%A6%AC/createmediacontentposter.md): 플레이어 화면에 노출할 포스터 이미지 파일을 업로드합니다.

### 포스터 이미지 다운로드

 - [GET /media-contents/{upload_file_key}/poster/download](https://kollus-api.redocly.app/products/vod/openapi/%EC%BD%98%ED%85%90%EC%B8%A0-%EA%B4%80%EB%A6%AC/downloadmediacontentposter.md): 등록된 포스터 이미지 파일을 로컬 환경으로 다운로드할 수 있는 URL을 생성합니다.

### 원본 파일 다운로드 URL 생성

 - [GET /media-contents/{upload_file_key}/original-file/download](https://kollus-api.redocly.app/products/vod/openapi/%EC%BD%98%ED%85%90%EC%B8%A0-%EA%B4%80%EB%A6%AC/downloadmediacontentoriginalfile.md): 트랜스코딩 전의 원본 미디어 파일을 다운로드할 수 있는 URL을 생성합니다. 원본 파일 저장 기능이 활성화된 경우에만 사용 가능합니다.

## 미디어 콘텐츠 키 관리

### 미디어 콘텐츠 키 정보 조회

 - [GET /media-content-keys/{media_content_key}](https://kollus-api.redocly.app/products/vod/openapi/%EB%AF%B8%EB%94%94%EC%96%B4-%EC%BD%98%ED%85%90%EC%B8%A0-%ED%82%A4-%EA%B4%80%EB%A6%AC/getmediacontentkey.md): 미디어 콘텐츠 키의 상세 정보를 조회합니다.

### 미디어 콘텐츠 키 유효성 검사

 - [GET /media-content-keys/validate](https://kollus-api.redocly.app/products/vod/openapi/%EB%AF%B8%EB%94%94%EC%96%B4-%EC%BD%98%ED%85%90%EC%B8%A0-%ED%82%A4-%EA%B4%80%EB%A6%AC/validatemediacontentkey.md): 미디어 콘텐츠 키의 사용 가능 여부를 확인합니다.

### 미디어 콘텐츠 키 할당

 - [PUT /media-contents/{upload_file_key}/media-content-keys/{media_content_key}/assign](https://kollus-api.redocly.app/products/vod/openapi/%EB%AF%B8%EB%94%94%EC%96%B4-%EC%BD%98%ED%85%90%EC%B8%A0-%ED%82%A4-%EA%B4%80%EB%A6%AC/assignmediacontentkeytomediacontent.md): 업로드된 콘텐츠에 미디어 콘텐츠 키를 할당합니다. 암호화 콘텐츠에는 암호화 전용 채널에 소속된 키만 할당할 수 있습니다. 다른 콘텐츠에 이미 연결된 키는 중복 할당할 수 없습니다.

## 미디어 인증 관리

### Kollus 암호화 적용

 - [POST /media/kollus-encrypt](https://kollus-api.redocly.app/products/vod/openapi/%EB%AF%B8%EB%94%94%EC%96%B4-%EC%9D%B8%EC%A6%9D-%EA%B4%80%EB%A6%AC/encryptmediadata.md): 플레이어와 서버 간의 안전한 통신을 위해 Kollus 서비스 내부의 암호화 알고리즘을 사용하여 평문 문자열을 암호화합니다.

### 사용자 키 생성

 - [POST /media/user-key](https://kollus-api.redocly.app/products/vod/openapi/%EB%AF%B8%EB%94%94%EC%96%B4-%EC%9D%B8%EC%A6%9D-%EA%B4%80%EB%A6%AC/createmediauserkey.md): 사용자 식별 및 보안 인증에 사용할 사용자 키를 생성합니다.

### 사용자 키 재발급

 - [PUT /media/user-key/{user_key}](https://kollus-api.redocly.app/products/vod/openapi/%EB%AF%B8%EB%94%94%EC%96%B4-%EC%9D%B8%EC%A6%9D-%EA%B4%80%EB%A6%AC/renewmediauserkey.md): 유효 시간이 만료되었거나 보안상의 이유로 기존 사용자 키를 무효화하고 새로운 키를 다시 발급합니다.

### 사용자 키 삭제

 - [DELETE /media/user-key/{user_key}](https://kollus-api.redocly.app/products/vod/openapi/%EB%AF%B8%EB%94%94%EC%96%B4-%EC%9D%B8%EC%A6%9D-%EA%B4%80%EB%A6%AC/deletemediauserkey.md): 사용자 키를 즉시 무효화하고 시스템에서 영구적으로 삭제합니다.

### 워터마킹 식별 코드 조회

 - [GET /media/watermarking-code](https://kollus-api.redocly.app/products/vod/openapi/%EB%AF%B8%EB%94%94%EC%96%B4-%EC%9D%B8%EC%A6%9D-%EA%B4%80%EB%A6%AC/getmediawatermarkingcode.md): 불법 유출 방지를 위해 플레이어 화면상에 텍스트 형태로 노출할 워터마킹 코드를 조회합니다.

## 트랜스코딩 관리

### 트랜스코딩 진행 상태 조회

 - [GET /media-contents/{upload_file_key}/progress](https://kollus-api.redocly.app/products/vod/openapi/%ED%8A%B8%EB%9E%9C%EC%8A%A4%EC%BD%94%EB%94%A9-%EA%B4%80%EB%A6%AC/getmediacontentprogress.md): 업로드된 콘텐츠의 트랜스코딩 진행 상태를 조회합니다. 진행 상태 데이터는 10초 주기로 업데이트됩니다.

### 트랜스코딩 파일 목록 조회

 - [GET /media-contents/{upload_file_key}/transcoding-files](https://kollus-api.redocly.app/products/vod/openapi/%ED%8A%B8%EB%9E%9C%EC%8A%A4%EC%BD%94%EB%94%A9-%EA%B4%80%EB%A6%AC/getmediacontenttranscodingfiles.md): 특정 콘텐츠에서 생성된 모든 트랜스코딩 파일 목록을 조회합니다.

### 트랜스코딩 파일 다운로드 URL 생성

 - [GET /media-contents/{upload_file_key}/transcoding-files/{transcoding_file_id}/download](https://kollus-api.redocly.app/products/vod/openapi/%ED%8A%B8%EB%9E%9C%EC%8A%A4%EC%BD%94%EB%94%A9-%EA%B4%80%EB%A6%AC/downloadmediacontenttranscodingfile.md): 트랜스코딩 파일 ID를 지정하여 지정된 파일을 로컬 환경으로 다운로드할 수 있는 URL을 생성합니다.

### 추가 트랜스코딩 작업 생성

 - [POST /media-contents/{upload_file_key}/media-profiles/{media_profile_key}/transcoding-jobs](https://kollus-api.redocly.app/products/vod/openapi/%ED%8A%B8%EB%9E%9C%EC%8A%A4%EC%BD%94%EB%94%A9-%EA%B4%80%EB%A6%AC/createmediacontenttranscodingjob.md): 기존 콘텐츠에 새로운 인코딩 프로파일을 적용하여 추가적인 트랜스코딩 작업을 요청합니다. 단, 이미 트랜스코딩이 진행 중인 파일은 대상에서 제외됩니다.

### 트랜스코딩 파일 활성화 (파일 ID 기반)

 - [PUT /media-contents/{upload_file_key}/transcoding-files/{transcoding_file_id}/enable](https://kollus-api.redocly.app/products/vod/openapi/%ED%8A%B8%EB%9E%9C%EC%8A%A4%EC%BD%94%EB%94%A9-%EA%B4%80%EB%A6%AC/enablemediacontenttranscodingfile.md): 특정 트랜스코딩 파일을 활성화하여 지정된 품질의 영상이 플레이어에서 재생될 수 있도록 설정합니다.

### 트랜스코딩 파일 활성화 (프로파일 키 기반)

 - [PUT /media-contents/{upload_file_key}/media-profiles/{profile_key}/enable](https://kollus-api.redocly.app/products/vod/openapi/%ED%8A%B8%EB%9E%9C%EC%8A%A4%EC%BD%94%EB%94%A9-%EA%B4%80%EB%A6%AC/enablemediacontentmediaprofile.md): 특정 인코딩 프로파일 키를 기반으로 생성된 트랜스코딩 파일을 활성 상태로 변경하여 지정된 품질의 영상이 플레이어에서 재생될 수 있도록 설정합니다.

### 트랜스코딩 파일 비활성화 (파일 ID 기반)

 - [PUT /media-contents/{upload_file_key}/transcoding-files/{transcoding_file_id}/disable](https://kollus-api.redocly.app/products/vod/openapi/%ED%8A%B8%EB%9E%9C%EC%8A%A4%EC%BD%94%EB%94%A9-%EA%B4%80%EB%A6%AC/disablemediacontenttranscodingfile.md): 특정 트랜스코딩 파일을 비활성 상태로 변경하여 지정된 품질의 영상 재생을 일시적으로 제한합니다.

### 트랜스코딩 파일 비활성화 (프로파일 키 기반)

 - [PUT /media-contents/{upload_file_key}/media-profiles/{profile_key}/disable](https://kollus-api.redocly.app/products/vod/openapi/%ED%8A%B8%EB%9E%9C%EC%8A%A4%EC%BD%94%EB%94%A9-%EA%B4%80%EB%A6%AC/disablemediacontentmediaprofile.md): 특정 인코딩 프로파일 키를 기반으로 생성된 트랜스코딩 파일을 비활성 상태로 변경하여 지정된 품질의 영상 재생을 일시적으로 제한합니다.

### 트랜스코딩 파일 삭제 (파일 ID 기반)

 - [DELETE /media-contents/{upload_file_key}/transcoding-files/{transcoding_file_id}](https://kollus-api.redocly.app/products/vod/openapi/%ED%8A%B8%EB%9E%9C%EC%8A%A4%EC%BD%94%EB%94%A9-%EA%B4%80%EB%A6%AC/deletemediacontenttranscodingfile.md): 특정 트랜스코딩 파일을 시스템에서 영구적으로 삭제합니다.

### 트랜스코딩 파일 삭제 (프로파일 키 기반)

 - [DELETE /media-contents/{upload_file_key}/media-profiles/{profile_key}](https://kollus-api.redocly.app/products/vod/openapi/%ED%8A%B8%EB%9E%9C%EC%8A%A4%EC%BD%94%EB%94%A9-%EA%B4%80%EB%A6%AC/deletemediacontentmediaprofile.md): 특정 인코딩 프로파일 키를 기반으로 생성된 트랜스코딩 파일을 시스템에서 영구적으로 삭제합니다.

## AI 서비스

### AI자막 생성

 - [POST /media-contents/{upload_file_key}/ai-subtitles](https://kollus-api.redocly.app/products/vod/openapi/ai/createmediacontentaisubtitle.md): AI 기반 음성 인식(STT) 기술을 활용하여 콘텐츠의 음성 데이터를 실시간으로 분석하고, 이를 텍스트 형태의 자막 파일로 자동 변환하여 등록합니다.

### AI요약·챕터 데이터 조회

 - [GET /media-contents/{upload_file_key}/ai-outlines](https://kollus-api.redocly.app/products/vod/openapi/ai/getmediacontentaioutlines.md): 특정 콘텐츠에 대해 생성된 AI 기반 요약 정보, 챕터 구분 및 주요 키워드 데이터를 조회합니다. 자막 언어 코드(language_code)를 기준으로 필터링할 수 있습니다.

### AI요약·챕터 데이터 생성

 - [POST /media-contents/{upload_file_key}/ai-outlines](https://kollus-api.redocly.app/products/vod/openapi/ai/createmediacontentaioutline.md): 특정 콘텐츠에 대해 AI 기반 요약 정보, 챕터 구분 및 주요 키워드 데이터를 생성합니다.

### 콘텐츠 AI배속 전환

 - [POST /media-contents/{upload_file_key}/ai-scripts](https://kollus-api.redocly.app/products/vod/openapi/ai/createmediacontentaiscript.md): 특정 콘텐츠를 AI배속 기능이 적용된 콘텐츠로 전환합니다. 모든 트랜스코딩 파일이 전환됩니다. 전환 작업 완료 시 이메일 또는 콜백 알림을 발송합니다.

### AI자막 생성

 - [POST /media-contents/{upload_file_key}/ai-subtitles](https://kollus-api.redocly.app/products/vod/openapi/%EC%9E%90%EB%A7%89-%EA%B4%80%EB%A6%AC/createmediacontentaisubtitle.md): AI 기반 음성 인식(STT) 기술을 활용하여 콘텐츠의 음성 데이터를 실시간으로 분석하고, 이를 텍스트 형태의 자막 파일로 자동 변환하여 등록합니다.

## 자막 관리

### AI자막 생성

 - [POST /media-contents/{upload_file_key}/ai-subtitles](https://kollus-api.redocly.app/products/vod/openapi/ai/createmediacontentaisubtitle.md): AI 기반 음성 인식(STT) 기술을 활용하여 콘텐츠의 음성 데이터를 실시간으로 분석하고, 이를 텍스트 형태의 자막 파일로 자동 변환하여 등록합니다.

### AI자막 생성

 - [POST /media-contents/{upload_file_key}/ai-subtitles](https://kollus-api.redocly.app/products/vod/openapi/%EC%9E%90%EB%A7%89-%EA%B4%80%EB%A6%AC/createmediacontentaisubtitle.md): AI 기반 음성 인식(STT) 기술을 활용하여 콘텐츠의 음성 데이터를 실시간으로 분석하고, 이를 텍스트 형태의 자막 파일로 자동 변환하여 등록합니다.

### 자막 목록 조회

 - [GET /media-contents/{upload_file_key}/subtitles](https://kollus-api.redocly.app/products/vod/openapi/%EC%9E%90%EB%A7%89-%EA%B4%80%EB%A6%AC/getmediacontentsubtitles.md): 특정 콘텐츠에 등록된 전체 자막 목록을 조회합니다. 자막 이름(name) 또는 자막 언어 코드(language_code)를 기준으로 필터링할 수 있습니다.

### 자막 등록 (텍스트 직접 입력)

 - [POST /media-contents/{upload_file_key}/subtitles](https://kollus-api.redocly.app/products/vod/openapi/%EC%9E%90%EB%A7%89-%EA%B4%80%EB%A6%AC/createmediacontentsubtitle.md): 자막 텍스트 내용을 직접 입력하여 특정 콘텐츠의 자막을 생성합니다.

### 자막 파일 신규 업로드

 - [POST /media-contents/{upload_file_key}/subtitles/upload](https://kollus-api.redocly.app/products/vod/openapi/%EC%9E%90%EB%A7%89-%EA%B4%80%EB%A6%AC/uploadmediacontentsubtitle.md): 자막 파일을 업로드하여 지정된 콘텐츠의 자막 정보를 생성합니다.

### 자막 파일 업데이트

 - [POST /media-contents/{upload_file_key}/subtitles/{subtitle_id}/upload](https://kollus-api.redocly.app/products/vod/openapi/%EC%9E%90%EB%A7%89-%EA%B4%80%EB%A6%AC/updatemediacontentsubtitlefile.md): 기존 자막 데이터를 새로운 자막 파일로 교체합니다.

### 자막 정보 조회

 - [GET /media-contents/{upload_file_key}/subtitles/{subtitle_id}](https://kollus-api.redocly.app/products/vod/openapi/%EC%9E%90%EB%A7%89-%EA%B4%80%EB%A6%AC/getmediacontentsubtitle.md): 특정 자막의 상세 정보를 조회합니다.

### 자막 정보 수정

 - [PUT /media-contents/{upload_file_key}/subtitles/{subtitle_id}](https://kollus-api.redocly.app/products/vod/openapi/%EC%9E%90%EB%A7%89-%EA%B4%80%EB%A6%AC/updatemediacontentsubtitle.md): 기존에 등록된 자막의 내용이나 언어 설정 등의 정보를 수정합니다.

### 자막 삭제

 - [DELETE /media-contents/{upload_file_key}/subtitles/{subtitle_id}](https://kollus-api.redocly.app/products/vod/openapi/%EC%9E%90%EB%A7%89-%EA%B4%80%EB%A6%AC/deletemediacontentsubtitle.md): 특정 자막을 시스템에서 영구적으로 삭제합니다.

### 자막 표시 순서 변경 (특정 위치)

 - [PUT /media-contents/{upload_file_key}/subtitles/{subtitle_id}/move](https://kollus-api.redocly.app/products/vod/openapi/%EC%9E%90%EB%A7%89-%EA%B4%80%EB%A6%AC/movemediacontentsubtitle.md): 플레이어 자막 선택 목록에서 지정된 자막의 표시 순서를 id 파라미터로 지정된 자막의 위치로 변경합니다.

### 자막 표시 순서 변경 (최상단)

 - [PUT /media-contents/{upload_file_key}/subtitles/{subtitle_id}/move-first](https://kollus-api.redocly.app/products/vod/openapi/%EC%9E%90%EB%A7%89-%EA%B4%80%EB%A6%AC/movemediacontentsubtitletofirst.md): 플레이어 자막 선택 목록에서 지정된 자막을 첫 번째 순서로 표시합니다.

### 자막 표시 순서 변경 (최하단)

 - [PUT /media-contents/{upload_file_key}/subtitles/{subtitle_id}/move-last](https://kollus-api.redocly.app/products/vod/openapi/%EC%9E%90%EB%A7%89-%EA%B4%80%EB%A6%AC/movemediacontentsubtitletolast.md): 플레이어 자막 선택 목록에서 지정된 자막을 마지막 순서로 표시합니다.

## 북마크 관리

### 북마크 목록 조회 (미디어 콘텐츠 키 기준)

 - [GET /media-content-keys/{media_content_key}/bookmarks](https://kollus-api.redocly.app/products/vod/openapi/%EB%B6%81%EB%A7%88%ED%81%AC-%EA%B4%80%EB%A6%AC/getmediacontentkeybookmarks.md): 특정 사용자가 특정 콘텐츠에 추가한 북마크 목록을 조회합니다.

### 북마크 목록 조회 (업로드 파일 키 기준)

 - [GET /media-contents/{upload_file_key}/bookmarks](https://kollus-api.redocly.app/products/vod/openapi/%EB%B6%81%EB%A7%88%ED%81%AC-%EA%B4%80%EB%A6%AC/getmediacontentbookmarks.md): 특정 콘텐츠에 추가된 북마크 목록을 조회합니다. client_user_id 파라미터를 지정하면 지정된 사용자가 추가한 북마크 목록만 조회합니다.

### 북마크 추가

 - [POST /media-contents/{upload_file_key}/bookmarks](https://kollus-api.redocly.app/products/vod/openapi/%EB%B6%81%EB%A7%88%ED%81%AC-%EA%B4%80%EB%A6%AC/createmediacontentbookmark.md): 콘텐츠의 특정 시점에 북마크를 추가합니다.

### 북마크 수정

 - [PUT /media-contents/{upload_file_key}/bookmarks/{bookmark_id}](https://kollus-api.redocly.app/products/vod/openapi/%EB%B6%81%EB%A7%88%ED%81%AC-%EA%B4%80%EB%A6%AC/updatemediacontentbookmark.md): 기존 북마크의 내용을 수정합니다.

### 북마크 삭제

 - [DELETE /media-contents/{upload_file_key}/bookmarks/{bookmark_id}](https://kollus-api.redocly.app/products/vod/openapi/%EB%B6%81%EB%A7%88%ED%81%AC-%EA%B4%80%EB%A6%AC/deletemediacontentbookmark.md): 북마크 ID를 사용하여 저장된 북마크를 삭제합니다.

## 인코딩 프로파일 관리

### 지원 규격 전체 조회

 - [GET /media-profiles/format](https://kollus-api.redocly.app/products/vod/openapi/%EC%9D%B8%EC%BD%94%EB%94%A9-%ED%94%84%EB%A1%9C%ED%8C%8C%EC%9D%BC-%EA%B4%80%EB%A6%AC/getmediaprofileformats.md): 시스템에서 지원하는 비디오 및 오디오 인코딩 프로파일의 표준 포맷 정보를 조회합니다.

### 인코딩 프로파일 프리셋 목록 조회

 - [GET /media-profiles/preset](https://kollus-api.redocly.app/products/vod/openapi/%EC%9D%B8%EC%BD%94%EB%94%A9-%ED%94%84%EB%A1%9C%ED%8C%8C%EC%9D%BC-%EA%B4%80%EB%A6%AC/getmediaprofilepresets.md): 인코딩 프로파일 생성 시 템플릿으로 활용 가능한 표준 프리셋 목록을 조회합니다.

### 인코딩 프로파일 그룹 목록 조회

 - [GET /media-profile-groups](https://kollus-api.redocly.app/products/vod/openapi/%EC%9D%B8%EC%BD%94%EB%94%A9-%ED%94%84%EB%A1%9C%ED%8C%8C%EC%9D%BC-%EA%B4%80%EB%A6%AC/getmediaprofilegroups.md): 시스템에 등록된 전체 인코딩 프로파일 그룹 목록을 조회합니다.

### 인코딩 프로파일 목록 조회

 - [GET /media-profiles](https://kollus-api.redocly.app/products/vod/openapi/%EC%9D%B8%EC%BD%94%EB%94%A9-%ED%94%84%EB%A1%9C%ED%8C%8C%EC%9D%BC-%EA%B4%80%EB%A6%AC/getmediaprofiles.md): 전체 인코딩 프로파일 목록을 조회합니다.

### 신규 인코딩 프로파일 생성

 - [POST /media-profiles](https://kollus-api.redocly.app/products/vod/openapi/%EC%9D%B8%EC%BD%94%EB%94%A9-%ED%94%84%EB%A1%9C%ED%8C%8C%EC%9D%BC-%EA%B4%80%EB%A6%AC/createmediaprofile.md): 프리셋 ID를 기반으로 새로운 인코딩 프로파일을 생성합니다.

### 인코딩 프로파일 상세 규격 조회

 - [GET /media-profiles/{media_profile_key}](https://kollus-api.redocly.app/products/vod/openapi/%EC%9D%B8%EC%BD%94%EB%94%A9-%ED%94%84%EB%A1%9C%ED%8C%8C%EC%9D%BC-%EA%B4%80%EB%A6%AC/getmediaprofile.md): 특정 인코딩 프로파일의 상세 기술 규격을 조회합니다.

### 인코딩 프로파일 상세 규격 수정

 - [PUT /media-profiles/{media_profile_key}](https://kollus-api.redocly.app/products/vod/openapi/%EC%9D%B8%EC%BD%94%EB%94%A9-%ED%94%84%EB%A1%9C%ED%8C%8C%EC%9D%BC-%EA%B4%80%EB%A6%AC/updatemediaprofile.md): 인코딩 프로파일의 코덱, 해상도, 비트레이트 등 세부 규격을 수정합니다. 하드웨어 인코딩 사용 여부에 따라 일부 최신 코덱(H.265, AV1) 설정이 제한될 수 있습니다.

### 프로파일-카테고리 연결

 - [POST /media-profiles/{media_profile_key}/categories/{category_key}/attach](https://kollus-api.redocly.app/products/vod/openapi/%EC%9D%B8%EC%BD%94%EB%94%A9-%ED%94%84%EB%A1%9C%ED%8C%8C%EC%9D%BC-%EA%B4%80%EB%A6%AC/attachcategorytomediaprofile.md): 카테고리에 특정 인코딩 프로파일을 연결합니다.

### 프로파일-카테고리 연결 해제

 - [DELETE /media-profiles/{media_profile_key}/categories/{category_key}/detach](https://kollus-api.redocly.app/products/vod/openapi/%EC%9D%B8%EC%BD%94%EB%94%A9-%ED%94%84%EB%A1%9C%ED%8C%8C%EC%9D%BC-%EA%B4%80%EB%A6%AC/detachcategoryfrommediaprofile.md): 인코딩 프로파일과 카테고리의 연결 상태를 해제합니다.

## 중복 재생 차단 관리

### 중복 재생 차단 기록 조회

 - [GET /service-accounts/{service_account_key}/duplicate-blocks/logs](https://kollus-api.redocly.app/products/vod/openapi/%EC%A4%91%EB%B3%B5-%EC%9E%AC%EC%83%9D-%EC%B0%A8%EB%8B%A8-%EA%B4%80%EB%A6%AC/getduplicateblocklogs.md): 특정 서비스 계정에서 발생한 중복 재생 차단 로그를 조회합니다.

### 중복 재생 허용 기기 조회

 - [GET /service-accounts/{service_account_key}/duplicate-blocks/players](https://kollus-api.redocly.app/products/vod/openapi/%EC%A4%91%EB%B3%B5-%EC%9E%AC%EC%83%9D-%EC%B0%A8%EB%8B%A8-%EA%B4%80%EB%A6%AC/getduplicateblockplayers.md): 특정 사용자(client_user_id)에게 등록된 중복 재생 허용 기기 목록을 조회합니다.

### 중복 재생 허용 기기 삭제

 - [DELETE /service-accounts/{service_account_key}/duplicate-blocks/players](https://kollus-api.redocly.app/products/vod/openapi/%EC%A4%91%EB%B3%B5-%EC%9E%AC%EC%83%9D-%EC%B0%A8%EB%8B%A8-%EA%B4%80%EB%A6%AC/deleteduplicateblockplayers.md): 특정 사용자(client_user_id)에게 등록된 허용 기기 중 특정 기기(player_id)를 삭제합니다.

### 중복 재생 허용 기기 전체 초기화

 - [POST /service-accounts/{service_account_key}/duplicate-blocks/players/reset](https://kollus-api.redocly.app/products/vod/openapi/%EC%A4%91%EB%B3%B5-%EC%9E%AC%EC%83%9D-%EC%B0%A8%EB%8B%A8-%EA%B4%80%EB%A6%AC/resetduplicateblockplayers.md): 특정 사용자(client_user_id)에게 등록된 모든 중복 재생 허용 기기를 일괄 삭제합니다.

## 통계

- **기준 시간대**: 모든 데이터는 **UTC** 기준입니다. 
- **조회 범위**: 최근 1년 이내 데이터를 대상으로 하며, 1회 최대 검색 기간은 3개월입니다. 
- **업데이트 시점**: 데이터는 실시간으로 반영되지 않으며, 최대 **36시간**의 지연이 발생할 수 있습니다.

### 전체 콘텐츠 시청 순위 조회

 - [GET /statistics/content-rank](https://kollus-api.redocly.app/products/vod/openapi/%ED%86%B5%EA%B3%84/getcontentrankstatistics.md): 서비스 계정 내 모든 채널의 콘텐츠에 대해 지정된 기간 동안의 조회 수 기반 순위 목록을 조회합니다.

### 채널 내 콘텐츠 시청 순위 조회

 - [GET /channels/{channel_key}/statistics/content-rank](https://kollus-api.redocly.app/products/vod/openapi/%ED%86%B5%EA%B3%84/getchannelcontentrankstatistics.md): 특정 채널에 소속된 콘텐츠에 대해 지정된 기간 동안의 조회 수 기반 순위 목록을 조회합니다.

### 채널별 통계 조회

 - [GET /statistics/channels](https://kollus-api.redocly.app/products/vod/openapi/%ED%86%B5%EA%B3%84/getchannelstatistics.md): 전체 채널에 대해 지정된 기간 동안의 통계 요약 데이터를 조회합니다.

### 일별 통계 조회

 - [GET /statistics/summary-daily](https://kollus-api.redocly.app/products/vod/openapi/%ED%86%B5%EA%B3%84/getdailysummarystatistics.md): 전체 콘텐츠에 대해 지정된 기간 동안의 통계 요약 데이터를 조회합니다.

