Skip to content

Instantly share code, notes, and snippets.

@eggplants
Last active September 28, 2024 10:58
Show Gist options
  • Save eggplants/d448f2755e98b0c76429a6a83bf7c974 to your computer and use it in GitHub Desktop.
Save eggplants/d448f2755e98b0c76429a6a83bf7c974 to your computer and use it in GitHub Desktop.
http://localhost:8888/api/docs / https://tinyurl.com/ryd28bp3
{
"openapi": "3.0.1",
"info": {
"version": "2.10.0",
"title": "epgstation",
"license": {
"name": "MIT",
"url": "https://github.com/l3tnun/EPGStation/blob/master/LICENSE"
}
},
"servers": [
{
"url": "http://localhost:8888/api"
}
],
"paths": {
"/videos/upload": {
"parameters": [],
"post": {
"summary": "アップロードしたビデオファイルを追加",
"tags": [
"videos"
],
"description": "アップロードしたビデオファイルを追加する",
"requestBody": {
"content": {
"multipart/form-data": {
"schema": {
"$ref": "#/components/schemas/UploadVideoFileOption"
}
}
}
},
"responses": {
"200": {
"description": "アップロードしたビデオファイルを追加しました"
},
"default": {
"description": "予期しないエラー",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
}
}
}
},
"/version": {
"parameters": [],
"get": {
"summary": "バージョン情報取得",
"tags": [
"version"
],
"description": "バージョン情報を取得する",
"responses": {
"200": {
"description": "バージョン情報を取得しました",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Version"
}
}
}
},
"default": {
"description": "予期しないエラー",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
}
}
}
},
"/thumbnails/cleanup": {
"parameters": [],
"post": {
"summary": "サムネイルをクリーンアップ",
"tags": [
"thumbnails"
],
"description": "サムネイルをクリーンアップする",
"responses": {
"200": {
"description": "サムネイルをクリーンアップしました"
},
"default": {
"description": "予期しないエラー",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
}
}
}
},
"/thumbnails": {
"parameters": [],
"post": {
"summary": "サムネイル再生成",
"tags": [
"thumbnails"
],
"description": "サムネイルの追加で再生成を開始する",
"responses": {
"200": {
"description": "サムネイルの再生成を開始しました"
},
"default": {
"description": "予期しないエラー",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
}
}
}
},
"/tags": {
"parameters": [],
"get": {
"summary": "タグ情報取得",
"tags": [
"tags"
],
"description": "タグ情報を取得する",
"parameters": [
{
"$ref": "#/components/parameters/Offset"
},
{
"$ref": "#/components/parameters/Limit"
},
{
"$ref": "#/components/parameters/QueryName"
},
{
"$ref": "#/components/parameters/QueryExcludeRecordedTagId"
}
],
"responses": {
"200": {
"description": "タグ情報を取得しました",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/RecordedTags"
}
}
}
},
"default": {
"description": "予期しないエラー",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
}
}
},
"post": {
"summary": "タグ追加",
"tags": [
"tags"
],
"description": "タグを追加する",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AddRecordedTagOption"
}
}
},
"required": true
},
"responses": {
"201": {
"description": "タグの追加に成功した",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AddedRecordedTag"
}
}
}
},
"default": {
"description": "予期しないエラー",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
}
}
}
},
"/streams": {
"parameters": [],
"get": {
"summary": "ストリーム情報を取得",
"tags": [
"streams"
],
"description": "ストリーム情報を取得する",
"parameters": [
{
"$ref": "#/components/parameters/IsHalfWidth"
}
],
"responses": {
"200": {
"description": "ストリーム情報を取得しました",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/StreamInfo"
}
}
}
},
"default": {
"description": "予期しないエラー",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
}
}
},
"delete": {
"summary": "全てのストリームを停止",
"tags": [
"streams"
],
"description": "全てのストリームを停止する",
"responses": {
"200": {
"description": "全てのストリームを停止しました"
},
"default": {
"description": "予期しないエラー",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
}
}
}
},
"/storages": {
"parameters": [],
"get": {
"summary": "ストレージ情報取得",
"tags": [
"storages"
],
"description": "ストレージ情報を取得する",
"responses": {
"200": {
"description": "ストレージ情報を取得しました",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/StorageInfo"
}
}
}
},
"default": {
"description": "予期しないエラー",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
}
}
}
},
"/schedules/search": {
"parameters": [],
"post": {
"summary": "番組検索結果を取得",
"tags": [
"schedules"
],
"description": "番組検索結果を取得する",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ScheduleSearchOption"
}
}
},
"required": true
},
"responses": {
"200": {
"description": "番組検索結果を取得しました",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ScheduleProgramItem"
}
}
}
}
},
"default": {
"description": "予期しないエラー",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
}
}
}
},
"/schedules/broadcasting": {
"parameters": [],
"get": {
"summary": "放映中の番組情報取得",
"tags": [
"schedules"
],
"description": "放映中の番組情報を取得する",
"parameters": [
{
"$ref": "#/components/parameters/AddtionTime"
},
{
"$ref": "#/components/parameters/IsHalfWidth"
}
],
"responses": {
"200": {
"description": "放映中の番組情報を取得しました",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Schedules"
}
}
}
},
"default": {
"description": "予期しないエラー",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
}
}
}
},
"/schedules": {
"parameters": [],
"get": {
"summary": "番組表情報取得",
"tags": [
"schedules"
],
"description": "番組表情報を取得する",
"parameters": [
{
"$ref": "#/components/parameters/StartAt"
},
{
"$ref": "#/components/parameters/EndAt"
},
{
"$ref": "#/components/parameters/IsHalfWidth"
},
{
"$ref": "#/components/parameters/NeedsRawExtended"
},
{
"$ref": "#/components/parameters/IsFreeProgram"
},
{
"$ref": "#/components/parameters/requiredGR"
},
{
"$ref": "#/components/parameters/requiredBS"
},
{
"$ref": "#/components/parameters/requiredCS"
},
{
"$ref": "#/components/parameters/requiredSKY"
}
],
"responses": {
"200": {
"description": "番組表情報を取得しました",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Schedules"
}
}
}
},
"default": {
"description": "予期しないエラー",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
}
}
}
},
"/rules/keyword": {
"parameters": [],
"get": {
"summary": "ルールをキーワード検索",
"tags": [
"rules"
],
"description": "ルールをキーワード検索する",
"parameters": [
{
"$ref": "#/components/parameters/Offset"
},
{
"$ref": "#/components/parameters/Limit"
},
{
"$ref": "#/components/parameters/QueryKeyword"
}
],
"responses": {
"200": {
"description": "ルールをキーワード検索結果を取得しました",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/RuleKeywordInfo"
}
}
}
},
"default": {
"description": "予期しないエラー",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
}
}
},
"post": {
"summary": "ルール追加",
"tags": [
"rules"
],
"description": "ルールを追加する",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AddRuleOption"
}
}
},
"required": true
},
"responses": {
"201": {
"description": "ルールの追加に成功した",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AddedRule"
}
}
}
},
"default": {
"description": "予期しないエラー",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
}
}
}
},
"/rules": {
"parameters": [],
"get": {
"summary": "ルール情報取得",
"tags": [
"rules"
],
"description": "ルール情報を取得する",
"parameters": [
{
"$ref": "#/components/parameters/Offset"
},
{
"$ref": "#/components/parameters/Limit"
},
{
"$ref": "#/components/parameters/GetReserveType"
},
{
"$ref": "#/components/parameters/QueryKeyword"
}
],
"responses": {
"200": {
"description": "ルール情報を取得しました",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Rules"
}
}
}
},
"default": {
"description": "予期しないエラー",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
}
}
},
"post": {
"summary": "ルール追加",
"tags": [
"rules"
],
"description": "ルールを追加する",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AddRuleOption"
}
}
},
"required": true
},
"responses": {
"201": {
"description": "ルールの追加に成功した",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AddedRule"
}
}
}
},
"default": {
"description": "予期しないエラー",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
}
}
}
},
"/reserves/update": {
"parameters": [],
"post": {
"summary": "予約情報の更新開始",
"tags": [
"reserves"
],
"description": "予約情報の更新を開始する",
"responses": {
"200": {
"description": "予約情報の更新を開始しました"
},
"default": {
"description": "予期しないエラー",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
}
}
}
},
"/reserves/lists": {
"parameters": [],
"get": {
"summary": "予約リスト情報取得",
"tags": [
"reserves"
],
"description": "予約リスト情報を取得する",
"parameters": [
{
"$ref": "#/components/parameters/StartAt"
},
{
"$ref": "#/components/parameters/EndAt"
}
],
"responses": {
"200": {
"description": "予約リスト情報を取得しました",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ReserveLists"
}
}
}
},
"default": {
"description": "予期しないエラー",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
}
}
}
},
"/reserves/cnts": {
"parameters": [],
"get": {
"summary": "予約数取得",
"tags": [
"reserves"
],
"description": "予約数を取得する",
"responses": {
"200": {
"description": "予約数を取得しました",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ReserveCnts"
}
}
}
},
"default": {
"description": "予期しないエラー",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
}
}
}
},
"/reserves": {
"parameters": [],
"get": {
"summary": "予約情報取得",
"tags": [
"reserves"
],
"description": "予約情報を取得する",
"parameters": [
{
"$ref": "#/components/parameters/Offset"
},
{
"$ref": "#/components/parameters/Limit"
},
{
"$ref": "#/components/parameters/GetReserveType"
},
{
"$ref": "#/components/parameters/IsHalfWidth"
},
{
"$ref": "#/components/parameters/QueryRuleId"
}
],
"responses": {
"200": {
"description": "予約情報を取得しました",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Reserves"
}
}
}
},
"default": {
"description": "予期しないエラー",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
}
}
},
"post": {
"summary": "予約追加",
"tags": [
"reserves"
],
"description": "予約を追加する",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ManualReserveOption"
}
}
},
"required": true
},
"responses": {
"201": {
"description": "予約の追加に成功した",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AddedReserve"
}
}
}
},
"default": {
"description": "予期しないエラー",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
}
}
}
},
"/recording/resettimer": {
"parameters": [],
"post": {
"summary": "予約タイマー再設定",
"tags": [
"recording"
],
"description": "予約タイマーを再設定する",
"responses": {
"200": {
"description": "予約タイマーを再設定しました"
},
"default": {
"description": "予期しないエラー",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
}
}
}
},
"/recording": {
"parameters": [],
"get": {
"summary": "録画中情報取得",
"tags": [
"recording"
],
"description": "録画中情報を取得する",
"parameters": [
{
"$ref": "#/components/parameters/Offset"
},
{
"$ref": "#/components/parameters/Limit"
},
{
"$ref": "#/components/parameters/IsHalfWidth"
}
],
"responses": {
"200": {
"description": "録画中情報を取得しました",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Records"
}
}
}
},
"default": {
"description": "予期しないエラー",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
}
}
}
},
"/recorded/options": {
"parameters": [],
"get": {
"summary": "録画検索オプションを取得",
"tags": [
"recorded"
],
"description": "録画検索オプションを取得する",
"responses": {
"200": {
"description": "録画検索オプションを取得しました",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/RecordedSearchOptions"
}
}
}
},
"default": {
"description": "予期しないエラー",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
}
}
}
},
"/recorded/cleanup": {
"parameters": [],
"post": {
"summary": "録画をクリーンアップ",
"tags": [
"recorded"
],
"description": "録画をクリーンアップする",
"responses": {
"200": {
"description": "録画をクリーンアップしました"
},
"default": {
"description": "予期しないエラー",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
}
}
}
},
"/recorded": {
"parameters": [],
"get": {
"summary": "録画情報取得",
"tags": [
"recorded"
],
"description": "録画情報を取得する",
"parameters": [
{
"$ref": "#/components/parameters/IsHalfWidth"
},
{
"$ref": "#/components/parameters/Offset"
},
{
"$ref": "#/components/parameters/Limit"
},
{
"$ref": "#/components/parameters/IsReverse"
},
{
"$ref": "#/components/parameters/QueryRuleId"
},
{
"$ref": "#/components/parameters/QueryChannelId"
},
{
"$ref": "#/components/parameters/QueryProgramGenre"
},
{
"$ref": "#/components/parameters/QueryKeyword"
},
{
"$ref": "#/components/parameters/QueryHasOriginalFile"
}
],
"responses": {
"200": {
"description": "録画情報を取得しました",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Records"
}
}
}
},
"default": {
"description": "予期しないエラー",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
}
}
},
"post": {
"summary": "録画番組情報の新規作成",
"tags": [
"recorded"
],
"description": "録画番組情報を新規作成する",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CreateNewRecordedOption"
}
}
},
"required": true
},
"responses": {
"201": {
"description": "録画番組情報の新規作成に成功した",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CreatedNewRecorded"
}
}
}
},
"default": {
"description": "予期しないエラー",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
}
}
}
},
"/iptv/epg.xml": {
"parameters": [],
"get": {
"summary": "IPTV epg を取得",
"tags": [
"iptv"
],
"description": "IPTV epg を取得する",
"parameters": [
{
"$ref": "#/components/parameters/IPTVIsHalfWidth"
},
{
"$ref": "#/components/parameters/IPTVDays"
}
],
"responses": {
"200": {
"description": "epg を取得しました",
"content": {
"application/xml": {}
}
},
"default": {
"description": "予期しないエラー",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
}
}
}
},
"/iptv/channel.m3u8": {
"parameters": [],
"get": {
"summary": "IPTV channel list を取得",
"tags": [
"iptv"
],
"description": "IPTV channel list を取得する",
"parameters": [
{
"$ref": "#/components/parameters/IPTVIsHalfWidth"
},
{
"$ref": "#/components/parameters/StreamMode"
}
],
"responses": {
"200": {
"description": "channel list を取得しました",
"content": {
"application/x-mpegURL": {}
}
},
"default": {
"description": "予期しないエラー",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
}
}
}
},
"/encode": {
"parameters": [],
"get": {
"summary": "エンコード情報取得",
"tags": [
"encode"
],
"description": "エンコード情報を取得する",
"parameters": [
{
"$ref": "#/components/parameters/IsHalfWidth"
}
],
"responses": {
"200": {
"description": "エンコード情報を取得しました",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/EncodeInfo"
}
}
}
},
"default": {
"description": "予期しないエラー",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
}
}
},
"post": {
"summary": "エンコード追加",
"tags": [
"encode"
],
"description": "エンコードを追加する",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AddManualEncodeProgramOption"
}
}
},
"required": true
},
"responses": {
"201": {
"description": "エンコードの追加に成功した",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AddedEncode"
}
}
}
},
"default": {
"description": "予期しないエラー",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
}
}
}
},
"/config": {
"parameters": [],
"get": {
"summary": "config 情報取得",
"tags": [
"config"
],
"description": "config 情報を取得する",
"responses": {
"200": {
"description": "config 情報を取得しました",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Config"
}
}
}
},
"default": {
"description": "予期しないエラー",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
}
}
}
},
"/channels": {
"parameters": [],
"get": {
"summary": "放送局情報取得",
"tags": [
"channels"
],
"description": "放送局情報を取得する",
"responses": {
"200": {
"description": "放送局情報を取得しました",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ChannelItems"
}
}
}
},
"default": {
"description": "予期しないエラー",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
}
}
}
},
"/videos/{videoFileId}/playlist": {
"parameters": [],
"get": {
"summary": "ビデオプレイリスト",
"tags": [
"videos"
],
"description": "ビデオプレイリストを取得する",
"parameters": [
{
"$ref": "#/components/parameters/PathVideoFileId"
}
],
"responses": {
"200": {
"description": "ビデオプレイリストを取得しました",
"content": {
"application/x-mpegURL": {}
}
},
"default": {
"description": "予期しないエラー",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
}
}
}
},
"/videos/{videoFileId}/kodi": {
"parameters": [],
"post": {
"summary": "ビデオリンクを kodi へ送信",
"tags": [
"videos"
],
"description": "ビデオリンクを kodi へ送信する",
"parameters": [
{
"$ref": "#/components/parameters/PathVideoFileId"
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/SendVideoLinkToKodiOption"
}
}
},
"required": true
},
"responses": {
"200": {
"description": "ビデオリンクを kodi へ送信するしました"
},
"default": {
"description": "予期しないエラー",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
}
}
}
},
"/videos/{videoFileId}/duration": {
"parameters": [],
"get": {
"summary": "動画の長さ",
"tags": [
"videos"
],
"description": "動画の長さを取得する",
"parameters": [
{
"$ref": "#/components/parameters/PathVideoFileId"
}
],
"responses": {
"200": {
"description": "動画の長さを取得しました",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/VideoFileDuration"
}
}
}
},
"default": {
"description": "予期しないエラー",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
}
}
}
},
"/videos/{videoFileId}": {
"parameters": [],
"get": {
"summary": "ビデオファイル",
"tags": [
"videos"
],
"description": "ビデオファイルを取得する",
"parameters": [
{
"$ref": "#/components/parameters/PathVideoFileId"
},
{
"$ref": "#/components/parameters/IsDownload"
}
],
"responses": {
"200": {
"description": "ビデオファイルを取得しました",
"content": {
"video/mp2t": {},
"video/mp4": {},
"video/x-matroska": {},
"video/webm": {},
"application/octet-stream": {}
}
},
"default": {
"description": "予期しないエラー",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
}
}
},
"delete": {
"summary": "ビデオファイル",
"tags": [
"videos"
],
"description": "ビデオファイルを削除する",
"parameters": [
{
"$ref": "#/components/parameters/PathVideoFileId"
}
],
"responses": {
"200": {
"description": "ビデオファイルを削除しました"
},
"default": {
"description": "予期しないエラー",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
}
}
}
},
"/thumbnails/videos/{videoFileId}": {
"parameters": [],
"post": {
"summary": "サムネイル追加",
"tags": [
"thumbnails"
],
"description": "サムネイルの生成を開始させる",
"parameters": [
{
"$ref": "#/components/parameters/PathVideoFileId"
}
],
"responses": {
"200": {
"description": "追加サムネイルの生成を開始しました"
},
"default": {
"description": "予期しないエラー",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
}
}
}
},
"/thumbnails/{thumbnailId}": {
"parameters": [],
"get": {
"summary": "サムネイル",
"tags": [
"thumbnails"
],
"description": "サムネイルを取得する",
"parameters": [
{
"$ref": "#/components/parameters/PathThumbnailId"
}
],
"responses": {
"200": {
"description": "サムネイルを取得しました",
"content": {
"image/jpeg": {}
}
},
"default": {
"description": "予期しないエラー",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
}
}
},
"delete": {
"summary": "サムネイル",
"tags": [
"thumbnails"
],
"description": "サムネイルを削除する",
"parameters": [
{
"$ref": "#/components/parameters/PathThumbnailId"
}
],
"responses": {
"200": {
"description": "サムネイルを削除しました",
"content": {
"image/jpeg": {}
}
},
"default": {
"description": "予期しないエラー",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
}
}
}
},
"/tags/{tagId}/relate": {
"parameters": [],
"delete": {
"summary": "録画番組とタグの関連付けを削除",
"tags": [
"tags"
],
"description": "録画番組とタグの関連付けを削除する",
"parameters": [
{
"$ref": "#/components/parameters/PathRecordedTagId"
},
{
"$ref": "#/components/parameters/QueryRecordedId"
}
],
"responses": {
"200": {
"description": "録画番組とタグの関連付けを削除しました"
},
"default": {
"description": "予期しないエラー",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
}
}
},
"put": {
"summary": "録画番組とタグを関連付ける",
"tags": [
"tags"
],
"description": "録画番組とタグを関連付けする",
"parameters": [
{
"$ref": "#/components/parameters/PathRecordedTagId"
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/RelateRecordedTagOption"
}
}
},
"required": true
},
"responses": {
"200": {
"description": "録画番組とタグの関連付けに成功した"
},
"default": {
"description": "予期しないエラー",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
}
}
}
},
"/tags/{tagId}": {
"parameters": [],
"delete": {
"summary": "タグ削除",
"tags": [
"tags"
],
"description": "タグを削除する",
"parameters": [
{
"$ref": "#/components/parameters/PathRecordedTagId"
}
],
"responses": {
"200": {
"description": "タグを削除しました"
},
"default": {
"description": "予期しないエラー",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
}
}
},
"put": {
"summary": "タグ名変更",
"tags": [
"tags"
],
"description": "タグ名を変更する",
"parameters": [
{
"$ref": "#/components/parameters/PathRecordedTagId"
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AddRecordedTagOption"
}
}
},
"required": true
},
"responses": {
"200": {
"description": "タグの更新に成功した"
},
"default": {
"description": "予期しないエラー",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
}
}
}
},
"/streams/recorded/{videoFileId}/webm": {
"parameters": [],
"get": {
"summary": "録画 WebM ストリーム",
"tags": [
"streams"
],
"description": "録画 WebM ストリームを取得する",
"parameters": [
{
"$ref": "#/components/parameters/PathVideoFileId"
},
{
"$ref": "#/components/parameters/StreamPlayPosition"
},
{
"$ref": "#/components/parameters/StreamMode"
}
],
"responses": {
"200": {
"description": "録画 WebM ストリーム",
"content": {
"video/webm": {}
}
},
"default": {
"description": "予期しないエラー",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
}
}
}
},
"/streams/recorded/{videoFileId}/mp4": {
"parameters": [],
"get": {
"summary": "録画 mp4 ストリーム",
"tags": [
"streams"
],
"description": "録画 mp4 ストリームを取得する",
"parameters": [
{
"$ref": "#/components/parameters/PathVideoFileId"
},
{
"$ref": "#/components/parameters/StreamPlayPosition"
},
{
"$ref": "#/components/parameters/StreamMode"
}
],
"responses": {
"200": {
"description": "録画 mp4 ストリーム",
"content": {
"video/mp4": {}
}
},
"default": {
"description": "予期しないエラー",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
}
}
}
},
"/streams/recorded/{videoFileId}/hls": {
"parameters": [],
"get": {
"summary": "録画 HLS ストリーム",
"tags": [
"streams"
],
"description": "録画 HLS ストリームを開始する",
"parameters": [
{
"$ref": "#/components/parameters/PathVideoFileId"
},
{
"$ref": "#/components/parameters/StreamPlayPosition"
},
{
"$ref": "#/components/parameters/StreamMode"
}
],
"responses": {
"200": {
"description": "録画 HLS ストリームを開始しました",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/StartStreamInfo"
}
}
}
},
"default": {
"description": "予期しないエラー",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
}
}
}
},
"/streams/live/{channelId}/webm": {
"parameters": [],
"get": {
"summary": "ライブ WebM ストリーム",
"tags": [
"streams"
],
"description": "ライブ WebM ストリームを取得する",
"parameters": [
{
"$ref": "#/components/parameters/PathChannelId"
},
{
"$ref": "#/components/parameters/StreamMode"
}
],
"responses": {
"200": {
"description": "ライブ WebM ストリーム",
"content": {
"video/webm": {}
}
},
"default": {
"description": "予期しないエラー",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
}
}
}
},
"/streams/live/{channelId}/mp4": {
"parameters": [],
"get": {
"summary": "ライブ mp4 ストリーム",
"tags": [
"streams"
],
"description": "ライブ mp4 ストリームを取得する",
"parameters": [
{
"$ref": "#/components/parameters/PathChannelId"
},
{
"$ref": "#/components/parameters/StreamMode"
}
],
"responses": {
"200": {
"description": "ライブ mp4 ストリーム",
"content": {
"video/mp4": {}
}
},
"default": {
"description": "予期しないエラー",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
}
}
}
},
"/streams/live/{channelId}/m2tsll": {
"parameters": [],
"get": {
"summary": "ライブ M2TS Low Latency (mpegts.js 用) ストリーム",
"tags": [
"streams"
],
"description": "ライブ M2TS Low Latency ストリームを取得する",
"parameters": [
{
"$ref": "#/components/parameters/PathChannelId"
},
{
"$ref": "#/components/parameters/StreamMode"
}
],
"responses": {
"200": {
"description": "ライブ M2TS Low Latency ストリーム",
"content": {
"video/mp2t": {}
}
},
"default": {
"description": "予期しないエラー",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
}
}
}
},
"/streams/live/{channelId}/m2ts/playlist": {
"parameters": [],
"get": {
"summary": "ライブ M2TS ストリームプレイリスト",
"tags": [
"streams"
],
"description": "ライブ M2TS ストリームプレイリストを取得する",
"parameters": [
{
"$ref": "#/components/parameters/PathChannelId"
},
{
"$ref": "#/components/parameters/StreamMode"
}
],
"responses": {
"200": {
"description": "ライブ M2TS ストリームプレイリストを取得しました",
"content": {
"application/x-mpegURL": {}
}
},
"default": {
"description": "予期しないエラー",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
}
}
}
},
"/streams/live/{channelId}/m2ts": {
"parameters": [],
"get": {
"summary": "ライブ M2TS ストリーム",
"tags": [
"streams"
],
"description": "ライブ M2TS ストリームを取得する",
"parameters": [
{
"$ref": "#/components/parameters/PathChannelId"
},
{
"$ref": "#/components/parameters/StreamMode"
}
],
"responses": {
"200": {
"description": "ライブ M2TS ストリーム",
"content": {
"video/mp2t": {}
}
},
"default": {
"description": "予期しないエラー",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
}
}
}
},
"/streams/live/{channelId}/hls": {
"parameters": [],
"get": {
"summary": "ライブ HLS ストリーム",
"tags": [
"streams"
],
"description": "ライブ HLS ストリームを開始する",
"parameters": [
{
"$ref": "#/components/parameters/PathChannelId"
},
{
"$ref": "#/components/parameters/StreamMode"
}
],
"responses": {
"200": {
"description": "ライブ HLS ストリームを開始しました",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/StartStreamInfo"
}
}
}
},
"default": {
"description": "予期しないエラー",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
}
}
}
},
"/streams/{streamId}/keep": {
"parameters": [],
"put": {
"summary": "ストリーム停止タイマーを更新する",
"tags": [
"streams"
],
"description": "ストリーム停止タイマーを更新する",
"parameters": [
{
"$ref": "#/components/parameters/PathStreamId"
}
],
"responses": {
"200": {
"description": "ストリーム停止タイマーを更新しました"
},
"default": {
"description": "予期しないエラー",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
}
}
}
},
"/streams/{streamId}": {
"parameters": [],
"delete": {
"summary": "ストリームを停止",
"tags": [
"streams"
],
"description": "ストリームを停止する",
"parameters": [
{
"$ref": "#/components/parameters/PathStreamId"
}
],
"responses": {
"200": {
"description": "ストリームを停止しました"
},
"default": {
"description": "予期しないエラー",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
}
}
}
},
"/schedules/detail/{programId}": {
"parameters": [],
"get": {
"summary": "指定された番組表情報取得",
"tags": [
"schedules"
],
"description": "指定された番組表情報を取得する",
"parameters": [
{
"$ref": "#/components/parameters/PathProgramId"
},
{
"$ref": "#/components/parameters/IsHalfWidth"
}
],
"responses": {
"200": {
"description": "指定された番組表情報を取得しました",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ScheduleProgramItem"
}
}
}
},
"404": {
"description": "Not Found"
},
"default": {
"description": "予期しないエラー",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
}
}
}
},
"/schedules/{channelId}": {
"parameters": [],
"get": {
"summary": "指定された放送局の番組表情報取得",
"tags": [
"schedules"
],
"description": "指定された放送局の番組表情報を取得する",
"parameters": [
{
"$ref": "#/components/parameters/PathChannelId"
},
{
"$ref": "#/components/parameters/StartAt"
},
{
"$ref": "#/components/parameters/Days"
},
{
"$ref": "#/components/parameters/IsHalfWidth"
},
{
"$ref": "#/components/parameters/NeedsRawExtended"
},
{
"$ref": "#/components/parameters/IsFreeProgram"
}
],
"responses": {
"200": {
"description": "指定された放送局の番組表情報を取得しました",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Schedules"
}
}
}
},
"default": {
"description": "予期しないエラー",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
}
}
}
},
"/rules/{ruleId}/enable": {
"parameters": [],
"put": {
"summary": "ルール有効化",
"tags": [
"rules"
],
"description": "ルールを有効化する",
"parameters": [
{
"$ref": "#/components/parameters/PathRuleId"
}
],
"responses": {
"200": {
"description": "ルールを有効化しました"
},
"default": {
"description": "予期しないエラー",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
}
}
}
},
"/rules/{ruleId}/disable": {
"parameters": [],
"put": {
"summary": "ルール無効化",
"tags": [
"rules"
],
"description": "ルールを無効化する",
"parameters": [
{
"$ref": "#/components/parameters/PathRuleId"
}
],
"responses": {
"200": {
"description": "ルールを無効化しました"
},
"default": {
"description": "予期しないエラー",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
}
}
}
},
"/rules/{ruleId}": {
"parameters": [],
"get": {
"summary": "ルール取得",
"tags": [
"rules"
],
"description": "ルールを取得する",
"parameters": [
{
"$ref": "#/components/parameters/PathRuleId"
}
],
"responses": {
"200": {
"description": "ルールを削除しました",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Rule"
}
}
}
},
"404": {
"description": "指定された id の rule がない"
},
"default": {
"description": "予期しないエラー",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
}
}
},
"delete": {
"summary": "ルール削除",
"tags": [
"rules"
],
"description": "ルールを削除する",
"parameters": [
{
"$ref": "#/components/parameters/PathRuleId"
}
],
"responses": {
"200": {
"description": "ルールを削除しました"
},
"default": {
"description": "予期しないエラー",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
}
}
},
"put": {
"summary": "ルール更新",
"tags": [
"rules"
],
"description": "ルールを更新する",
"parameters": [
{
"$ref": "#/components/parameters/PathRuleId"
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AddRuleOption"
}
}
},
"required": true
},
"responses": {
"200": {
"description": "ルールの更新に成功した"
},
"default": {
"description": "予期しないエラー",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
}
}
}
},
"/reserves/{reserveId}/skip": {
"parameters": [],
"delete": {
"summary": "予約の除外状態を解除",
"tags": [
"reserves"
],
"description": "予約の除外状態を解除する",
"parameters": [
{
"$ref": "#/components/parameters/PathReserveId"
}
],
"responses": {
"200": {
"description": "予約の除外状態を解除しました"
},
"default": {
"description": "予期しないエラー",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
}
}
}
},
"/reserves/{reserveId}/overlap": {
"parameters": [],
"delete": {
"summary": "予約の重複状態を解除",
"tags": [
"reserves"
],
"description": "予約の重複状態を解除する",
"parameters": [
{
"$ref": "#/components/parameters/PathReserveId"
}
],
"responses": {
"200": {
"description": "予約の重複状態を解除しました"
},
"default": {
"description": "予期しないエラー",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
}
}
}
},
"/reserves/{reserveId}": {
"parameters": [],
"get": {
"summary": "指定された予約情報の取得",
"tags": [
"reserves"
],
"description": "指定された予約情報を取得する",
"parameters": [
{
"$ref": "#/components/parameters/PathReserveId"
},
{
"$ref": "#/components/parameters/IsHalfWidth"
}
],
"responses": {
"200": {
"description": "指定された予約情報を取得しました",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ReserveItem"
}
}
}
},
"404": {
"description": "Not Found"
},
"default": {
"description": "予期しないエラー",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
}
}
},
"delete": {
"summary": "予約削除",
"tags": [
"reserves"
],
"description": "予約を削除する",
"parameters": [
{
"$ref": "#/components/parameters/PathReserveId"
}
],
"responses": {
"200": {
"description": "予約を削除しました"
},
"default": {
"description": "予期しないエラー",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
}
}
},
"put": {
"summary": "手動予約更新",
"tags": [
"reserves"
],
"description": "手動予約を更新する",
"parameters": [
{
"$ref": "#/components/parameters/PathReserveId"
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/EditManualReserveOption"
}
}
},
"required": true
},
"responses": {
"201": {
"description": "手動予約の更新に成功した"
},
"default": {
"description": "予期しないエラー",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
}
}
}
},
"/recorded/{recordedId}/unprotect": {
"parameters": [],
"put": {
"summary": "録画を自動削除対象に戻す",
"tags": [
"recorded"
],
"description": "録画を自動削除対象に戻す",
"parameters": [
{
"$ref": "#/components/parameters/PathRecordedId"
}
],
"responses": {
"200": {
"description": "録画を自動削除対象に戻しました"
},
"default": {
"description": "予期しないエラー",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
}
}
}
},
"/recorded/{recordedId}/protect": {
"parameters": [],
"put": {
"summary": "録画を自動削除対象から除外",
"tags": [
"recorded"
],
"description": "録画を自動削除対象から除外する",
"parameters": [
{
"$ref": "#/components/parameters/PathRecordedId"
}
],
"responses": {
"200": {
"description": "録画を自動削除対象から除外しました"
},
"default": {
"description": "予期しないエラー",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
}
}
}
},
"/recorded/{recordedId}/encode": {
"parameters": [],
"delete": {
"summary": "エンコード停止",
"tags": [
"recorded"
],
"description": "エンコードを停止する",
"parameters": [
{
"$ref": "#/components/parameters/PathRecordedId"
}
],
"responses": {
"200": {
"description": "エンコードを停止しました"
},
"default": {
"description": "予期しないエラー",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
}
}
}
},
"/recorded/{recordedId}": {
"parameters": [],
"get": {
"summary": "録画詳細情報を取得",
"tags": [
"recorded"
],
"description": "録画詳細情報を取得する",
"parameters": [
{
"$ref": "#/components/parameters/PathRecordedId"
},
{
"$ref": "#/components/parameters/IsHalfWidth"
}
],
"responses": {
"200": {
"description": "録画詳細情報を取得しました",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/RecordedItem"
}
}
}
},
"404": {
"description": "指定された id の 録画詳細情報がない"
},
"default": {
"description": "予期しないエラー",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
}
}
},
"delete": {
"summary": "録画を削除",
"tags": [
"recorded"
],
"description": "録画を削除する",
"parameters": [
{
"$ref": "#/components/parameters/PathRecordedId"
}
],
"responses": {
"200": {
"description": "録画を削除しました"
},
"default": {
"description": "予期しないエラー",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
}
}
}
},
"/encode/{encodeId}": {
"parameters": [],
"delete": {
"summary": "エンコードをキャンセル",
"tags": [
"encode"
],
"description": "エンコードをキャンセルする",
"parameters": [
{
"$ref": "#/components/parameters/PathEncodeId"
}
],
"responses": {
"200": {
"description": "エンコードをキャンセルしました"
},
"default": {
"description": "予期しないエラー",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
}
}
}
},
"/dropLogs/{dropLogFileId}": {
"parameters": [],
"get": {
"summary": "ドロップログ",
"tags": [
"dropLogs"
],
"description": "ドロップログを取得する",
"parameters": [
{
"$ref": "#/components/parameters/PathDropLogFileId"
},
{
"$ref": "#/components/parameters/LogFileMaxSize"
}
],
"responses": {
"200": {
"description": "ドロップログを取得しました",
"content": {
"text/plain": {}
}
},
"404": {
"description": "Not Found"
},
"416": {
"description": "ファイルサイズが大きすぎる"
},
"default": {
"description": "予期しないエラー",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
}
}
}
},
"/channels/{channelId}/logo": {
"parameters": [],
"get": {
"summary": "放送局ロゴ取得",
"tags": [
"channels"
],
"description": "放送局のロゴを取得する",
"parameters": [
{
"$ref": "#/components/parameters/PathChannelId"
}
],
"responses": {
"200": {
"description": "放送局のロゴを取得しました",
"content": {
"image/png": {}
}
},
"404": {
"description": "Not Found"
},
"default": {
"description": "予期しないエラー",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
}
}
}
}
},
"components": {
"schemas": {
"UnixtimeMS": {
"description": "時刻 (ms)",
"type": "integer"
},
"ChannelId": {
"description": "放送局 id",
"type": "integer",
"maximum": 6553565535
},
"ServiceId": {
"description": "service id",
"type": "integer",
"maximum": 6553565535
},
"NetworkId": {
"description": "network id",
"type": "integer",
"maximum": 6553565535
},
"ProgramId": {
"description": "program id",
"type": "integer",
"maximum": 655356553565535
},
"EventId": {
"description": "event id",
"type": "integer",
"maximum": 655356553565535
},
"RuleId": {
"description": "ルール id",
"type": "integer"
},
"ReserveId": {
"description": "予約 id",
"type": "integer"
},
"RecordedId": {
"description": "録画済み番組 id",
"type": "integer"
},
"RecordedHistoryId": {
"description": "録画済み番組履歴管理 id",
"type": "integer"
},
"VideoFileId": {
"description": "ビデオファイル id",
"type": "integer"
},
"VideoFileType": {
"description": "ビデオファイル形式",
"type": "string",
"enum": [
"ts",
"encoded"
]
},
"ThumbnailId": {
"description": "サムネイル id",
"type": "integer"
},
"DropLogFileId": {
"description": "ドロップログファイル id",
"type": "integer"
},
"RecordedTagId": {
"description": "録画 tag id",
"type": "integer"
},
"EncodeId": {
"description": "エンコード id",
"type": "integer"
},
"ChannelType": {
"description": "放送波タイプ",
"type": "string",
"enum": [
"GR",
"BS",
"CS",
"SKY"
]
},
"ProgramGenreLv1": {
"description": "ジャンル",
"type": "integer"
},
"ProgramGenreLv2": {
"description": "サブジャンル",
"type": "integer"
},
"ProgramVideoType": {
"description": "番組ビデオコーデック",
"type": "string",
"enum": [
"mpeg2",
"h.264",
"h.265"
]
},
"ProgramVideoResolution": {
"description": "番組ビデオ解像度",
"type": "string",
"enum": [
"240p",
"480i",
"480p",
"720p",
"1080i",
"1080p",
"2160p",
"4320p"
]
},
"ProgramAudioSamplingRate": {
"description": "番組オーディオサンプリングレート",
"type": "integer",
"enum": [
16000,
22050,
24000,
32000,
44100,
48000
]
},
"StreamId": {
"description": "ストリーム id",
"type": "integer"
},
"StreamType": {
"description": "ストリームの種類",
"type": "string",
"enum": [
"LiveStream",
"LiveHLS",
"RecordedStream",
"RecordedHLS"
]
},
"URLSchemeInfo": {
"description": "URL Scheme",
"type": "object",
"properties": {
"ios": {
"type": "string"
},
"android": {
"type": "string"
},
"mac": {
"type": "string"
},
"win": {
"type": "string"
}
}
},
"M2TSStreamParam": {
"description": "M2TS形式ストリーミングパラメータ",
"type": "object",
"required": [
"name",
"isUnconverted"
],
"properties": {
"name": {
"description": "表示名",
"type": "string"
},
"isUnconverted": {
"description": "無変換か",
"type": "boolean"
}
}
},
"Config": {
"description": "コンフィグ",
"type": "object",
"required": [
"socketIOPort",
"broadcast",
"recorded",
"encode",
"urlscheme",
"isEnableLiveStream",
"isEnableTSRecordedStream",
"isEnableEncodedRecordedStream"
],
"properties": {
"socketIOPort": {
"description": "socket.io 通信で使用するポート",
"type": "integer"
},
"broadcast": {
"description": "有効な放送波情報",
"type": "object",
"required": [
"GR",
"BS",
"CS",
"SKY"
],
"properties": {
"GR": {
"type": "boolean"
},
"BS": {
"type": "boolean"
},
"CS": {
"type": "boolean"
},
"SKY": {
"type": "boolean"
}
}
},
"recorded": {
"description": "指定可能な録画ディレクトリ名",
"type": "array",
"items": {
"type": "string"
}
},
"encode": {
"description": "エンコードモード",
"type": "array",
"items": {
"type": "string"
}
},
"urlscheme": {
"description": "URL Scheme 情報",
"type": "object",
"required": [
"m2ts",
"video",
"download"
],
"properties": {
"m2ts": {
"$ref": "#/components/schemas/URLSchemeInfo"
},
"video": {
"$ref": "#/components/schemas/URLSchemeInfo"
},
"download": {
"$ref": "#/components/schemas/URLSchemeInfo"
}
}
},
"isEnableLiveStream": {
"description": "ライブ視聴が有効か",
"type": "boolean"
},
"isEnableTSRecordedStream": {
"description": "録画済みの TS ファイルのストリーミングが有効か",
"type": "boolean"
},
"isEnableEncodedRecordedStream": {
"description": "録画済みのエンコード済みファイルのストリーミングが有効か",
"type": "boolean"
},
"streamConfig": {
"description": "ストリーミング設定",
"type": "object",
"properties": {
"live": {
"description": "ライブストリーミング設定",
"type": "object",
"properties": {
"m2ts": {
"description": "ライブ M2TS ストリーミング設定",
"type": "array",
"items": {
"$ref": "#/components/schemas/M2TSStreamParam"
}
},
"m2tsll": {
"description": "ライブ M2TS Low Latency (mpegts.js 用) ストリーミング設定",
"type": "array",
"items": {
"type": "string"
}
},
"webm": {
"description": "ライブ WebM ストリーミング設定",
"type": "array",
"items": {
"type": "string"
}
},
"mp4": {
"description": "ライブ MP4 ストリーミング設定",
"type": "array",
"items": {
"type": "string"
}
},
"hls": {
"description": "ライブ HLS ストリーミング設定",
"type": "array",
"items": {
"type": "string"
}
}
}
},
"recorded": {
"description": "録画済みストリーミング設定",
"type": "object",
"properties": {
"ts": {
"description": "録画済み TS ファイルのストリーミング設定",
"type": "object",
"properties": {
"webm": {
"description": "録画済み TS ファイルの WebM ストリーミング設定",
"type": "array",
"items": {
"type": "string"
}
},
"mp4": {
"description": "録画済み TS ファイルの MP4 ストリーミング設定",
"type": "array",
"items": {
"type": "string"
}
},
"hls": {
"description": "録画済み TS ファイルの HLS ストリーミング設定",
"type": "array",
"items": {
"type": "string"
}
}
}
},
"encoded": {
"description": "録画エンコード済みファイルのストリーミング設定",
"type": "object",
"properties": {
"webm": {
"description": "録画エンコード済みファイルの WebM ストリーミング設定",
"type": "array",
"items": {
"type": "string"
}
},
"mp4": {
"description": "録画エンコード済みファイルの MP4 ストリーミング設定",
"type": "array",
"items": {
"type": "string"
}
},
"hls": {
"description": "録画エンコード済みファイルの HLS ストリーミング設定",
"type": "array",
"items": {
"type": "string"
}
}
}
}
}
}
}
},
"kodiHosts": {
"description": "kodi hosts",
"type": "array",
"items": {
"type": "string"
}
}
}
},
"ChannelItems": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ChannelItem"
}
},
"ChannelItem": {
"description": "チャンネル情報",
"required": [
"id",
"serviceId",
"networkId",
"name",
"halfWidthName",
"remoteControlKeyId",
"hasLogoData",
"channelType",
"channel"
],
"properties": {
"id": {
"$ref": "#/components/schemas/ChannelId"
},
"serviceId": {
"$ref": "#/components/schemas/ServiceId"
},
"networkId": {
"$ref": "#/components/schemas/NetworkId"
},
"name": {
"description": "放送局名",
"type": "string"
},
"halfWidthName": {
"description": "放送局名(半角)",
"type": "string"
},
"hasLogoData": {
"description": "ロゴデータを持っているか",
"type": "boolean"
},
"channelType": {
"$ref": "#/components/schemas/ChannelType"
},
"channel": {
"type": "string"
},
"type": {
"type": "number"
}
}
},
"ScheduleChannleItem": {
"description": "番組表の放送局データ",
"required": [
"id",
"serviceId",
"networkId",
"name",
"hasLogoData",
"channelType"
],
"properties": {
"id": {
"$ref": "#/components/schemas/ChannelId"
},
"serviceId": {
"$ref": "#/components/schemas/ServiceId"
},
"networkId": {
"$ref": "#/components/schemas/NetworkId"
},
"name": {
"description": "放送局名",
"type": "string"
},
"remoteControlKeyId": {
"description": "リモコン番号",
"type": "integer"
},
"hasLogoData": {
"description": "ロゴデータを持っているか",
"type": "boolean"
},
"channelType": {
"$ref": "#/components/schemas/ChannelType"
},
"type": {
"type": "number"
}
}
},
"ScheduleProgramItem": {
"description": "番組表の番組データ",
"required": [
"id",
"channelId",
"startAt",
"endAt",
"isFree",
"name"
],
"properties": {
"id": {
"$ref": "#/components/schemas/ProgramId"
},
"channelId": {
"$ref": "#/components/schemas/ChannelId"
},
"startAt": {
"$ref": "#/components/schemas/UnixtimeMS"
},
"endAt": {
"$ref": "#/components/schemas/UnixtimeMS"
},
"isFree": {
"description": "無料放送か",
"type": "boolean"
},
"name": {
"description": "番組名",
"type": "string"
},
"description": {
"description": "番組詳細",
"type": "string"
},
"extended": {
"description": "番組拡張",
"type": "string"
},
"rawExtended": {
"description": "番組拡張 (Mirakurun の extended)",
"type": "object"
},
"genre1": {
"$ref": "#/components/schemas/ProgramGenreLv1"
},
"subGenre1": {
"$ref": "#/components/schemas/ProgramGenreLv2"
},
"genre2": {
"$ref": "#/components/schemas/ProgramGenreLv1"
},
"subGenre2": {
"$ref": "#/components/schemas/ProgramGenreLv2"
},
"genre3": {
"$ref": "#/components/schemas/ProgramGenreLv1"
},
"subGenre3": {
"$ref": "#/components/schemas/ProgramGenreLv2"
},
"videoType": {
"$ref": "#/components/schemas/ProgramVideoType"
},
"videoResolution": {
"$ref": "#/components/schemas/ProgramVideoResolution"
},
"videoStreamContent": {
"type": "integer"
},
"videoComponentType": {
"type": "integer"
},
"audioSamplingRate": {
"$ref": "#/components/schemas/ProgramAudioSamplingRate"
},
"audioComponentType": {
"type": "integer"
}
}
},
"ScheduleProgramItems": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ScheduleProgramItem"
}
},
"Schedule": {
"description": "番組表データ",
"required": [
"channel",
"programs"
],
"properties": {
"channel": {
"$ref": "#/components/schemas/ScheduleChannleItem"
},
"programs": {
"$ref": "#/components/schemas/ScheduleProgramItems"
}
}
},
"Schedules": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Schedule"
}
},
"ScheduleSearchOption": {
"description": "番組検索オプション",
"type": "object",
"required": [
"option",
"isHalfWidth"
],
"properties": {
"option": {
"$ref": "#/components/schemas/RuleSearchOption"
},
"isHalfWidth": {
"description": "半角文字で取得するか",
"type": "boolean"
},
"limit": {
"description": "検索結果取得最大件数",
"type": "number"
}
}
},
"Rules": {
"description": "ルール情報",
"type": "object",
"required": [
"rules",
"total"
],
"properties": {
"rules": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Rule"
}
},
"total": {
"description": "ルール総件数",
"type": "integer"
}
}
},
"Rule": {
"description": "ルール",
"type": "object",
"required": [
"id"
],
"properties": {
"id": {
"$ref": "#/components/schemas/RuleId"
},
"reservesCnt": {
"description": "予約件数",
"type": "integer"
}
},
"allOf": [
{
"$ref": "#/components/schemas/AddRuleOption"
}
]
},
"RuleKeywordItem": {
"type": "object",
"required": [
"id",
"keyword"
],
"properties": {
"id": {
"$ref": "#/components/schemas/RuleId"
},
"keyword": {
"type": "string"
}
}
},
"RuleKeywordInfo": {
"description": "ルールキーワード検索結果",
"type": "object",
"required": [
"items"
],
"properties": {
"items": {
"type": "array",
"items": {
"$ref": "#/components/schemas/RuleKeywordItem"
}
}
}
},
"AddRuleOption": {
"description": "ルール追加プション",
"type": "object",
"required": [
"isTimeSpecification",
"searchOption",
"reserveOption"
],
"properties": {
"isTimeSpecification": {
"description": "時刻指定予約か",
"type": "boolean"
},
"searchOption": {
"$ref": "#/components/schemas/RuleSearchOption"
},
"reserveOption": {
"$ref": "#/components/schemas/RuleReserveOption"
},
"saveOption": {
"$ref": "#/components/schemas/ReserveSaveOption"
},
"encodeOption": {
"$ref": "#/components/schemas/ReserveEncodedOption"
}
}
},
"RuleSearchOption": {
"description": "ルール検索オプション",
"type": "object",
"properties": {
"keyword": {
"description": "検索キーワード",
"type": "string"
},
"ignoreKeyword": {
"description": "除外検索キーワード",
"type": "string"
},
"keyCS": {
"description": "大文字小文字区別有効化 (検索キーワード)",
"type": "boolean"
},
"keyRegExp": {
"description": "正規表現 (検索キーワード)",
"type": "boolean"
},
"name": {
"description": "番組名 (検索キーワード)",
"type": "boolean"
},
"description": {
"description": "概要 (検索キーワード)",
"type": "boolean"
},
"extended": {
"description": "詳細 (検索キーワード)",
"type": "boolean"
},
"ignoreKeyCS": {
"description": "大文字小文字区別有効化 (除外検索キーワード)",
"type": "boolean"
},
"ignoreKeyRegExp": {
"description": "正規表現 (除外検索キーワード)",
"type": "boolean"
},
"ignoreName": {
"description": "番組名 (除外検索キーワード)",
"type": "boolean"
},
"ignoreDescription": {
"description": "概要 (除外検索キーワード)",
"type": "boolean"
},
"ignoreExtended": {
"description": "詳細 (除外検索キーワード)",
"type": "boolean"
},
"GR": {
"description": "GR",
"type": "boolean"
},
"BS": {
"description": "BS",
"type": "boolean"
},
"CS": {
"description": "CS",
"type": "boolean"
},
"SKY": {
"description": "SKY",
"type": "boolean"
},
"channelIds": {
"description": "放送局",
"type": "array",
"items": {
"$ref": "#/components/schemas/ChannelId"
}
},
"genres": {
"description": "ジャンル",
"type": "array",
"items": {
"$ref": "#/components/schemas/Genre"
}
},
"times": {
"description": "時刻範囲",
"type": "array",
"items": {
"$ref": "#/components/schemas/SearchTime"
}
},
"isFree": {
"description": "無料放送か",
"type": "boolean"
},
"durationMin": {
"description": "番組最小時間 (分)",
"type": "integer"
},
"durationMax": {
"description": "番組最大時間 (分)",
"type": "integer"
},
"searchPeriods": {
"description": "検索対象期間",
"type": "array",
"items": {
"$ref": "#/components/schemas/SearchPeriod"
}
}
}
},
"Genre": {
"description": "ジャンル設定",
"type": "object",
"required": [
"genre"
],
"properties": {
"genre": {
"$ref": "#/components/schemas/ProgramGenreLv1"
},
"subGenre": {
"$ref": "#/components/schemas/ProgramGenreLv2"
}
}
},
"SearchTime": {
"description": "時刻範囲指定オプション",
"type": "object",
"required": [
"week"
],
"properties": {
"start": {
"description": "開始時刻 1 - 23, 時刻予約の場合は 0 時を 0 とした 0 ~ (60 * 50 * 24) - 1 秒までの開始時刻を指定する",
"type": "integer"
},
"range": {
"description": "開始時刻からの時刻範囲(時) 1 - 23, 時刻予約の場合は秒で時間の長さを指定する 1 ~ 60 * 50 * 24 秒",
"type": "integer"
},
"week": {
"description": "曜日指定 0x01, 0x02, 0x04, 0x08, 0x10, 0x20 ,0x40 が日〜土に対応するので and 演算で曜日を指定する",
"type": "integer"
}
}
},
"SearchPeriod": {
"description": "検索対象期間オプション",
"type": "object",
"required": [
"startAt",
"endAt"
],
"properties": {
"startAt": {
"$ref": "#/components/schemas/UnixtimeMS"
},
"endAt": {
"$ref": "#/components/schemas/UnixtimeMS"
}
}
},
"RuleReserveOption": {
"description": "ルール予約オプション",
"type": "object",
"required": [
"enable",
"allowEndLack",
"avoidDuplicate"
],
"properties": {
"enable": {
"description": "ルールが有効か",
"type": "boolean"
},
"allowEndLack": {
"description": "末尾切れを許可するか",
"type": "boolean"
},
"avoidDuplicate": {
"description": "録画済みの重複番組を排除するか",
"type": "boolean"
},
"periodToAvoidDuplicate": {
"description": "重複を避ける期間",
"type": "integer"
},
"tags": {
"type": "array",
"items": {
"$ref": "#/components/schemas/RecordedTagId"
}
}
}
},
"ReserveSaveOption": {
"description": "予約保存オプション",
"type": "object",
"properties": {
"parentDirectoryName": {
"description": "親保存ディレクトリ",
"type": "string"
},
"directory": {
"description": "保存ディレクトリ",
"type": "string"
},
"recordedFormat": {
"description": "ファイル名フォーマット",
"type": "string"
}
}
},
"ReserveEncodedOption": {
"description": "予約エンコードオプション",
"required": [
"isDeleteOriginalAfterEncode"
],
"properties": {
"mode1": {
"description": "エンコードモード1",
"type": "string"
},
"encodeParentDirectoryName1": {
"description": "エンコードモード1親ディレクトリ",
"type": "string"
},
"directory1": {
"description": "エンコードモード1ディレクトリ",
"type": "string"
},
"mode2": {
"description": "エンコードモード2",
"type": "string"
},
"encodeParentDirectoryName2": {
"description": "エンコードモード2親ディレクトリ",
"type": "string"
},
"directory2": {
"description": "エンコードモード2ディレクトリ",
"type": "string"
},
"mode3": {
"description": "エンコードモード3",
"type": "string"
},
"encodeParentDirectoryName3": {
"description": "エンコードモード3親ディレクトリ",
"type": "string"
},
"directory3": {
"description": "エンコードモード3ディレクトリ",
"type": "string"
},
"isDeleteOriginalAfterEncode": {
"description": "エンコード後に ts を削除するか",
"type": "boolean"
}
}
},
"AddedRule": {
"description": "ルール追加成功応答データ",
"type": "object",
"required": [
"ruleId"
],
"properties": {
"ruleId": {
"$ref": "#/components/schemas/RuleId"
}
}
},
"EditManualReserveOption": {
"description": "手動予約編集オプション",
"type": "object",
"required": [
"allowEndLack"
],
"properties": {
"allowEndLack": {
"description": "末尾切れを許すか",
"type": "boolean"
},
"tags": {
"type": "array",
"items": {
"$ref": "#/components/schemas/RecordedTagId"
}
},
"saveOption": {
"$ref": "#/components/schemas/ReserveSaveOption"
},
"encodeOption": {
"$ref": "#/components/schemas/ReserveEncodedOption"
}
}
},
"ManualReserveOption": {
"description": "手動予約オプション",
"type": "object",
"allOf": [
{
"$ref": "#/components/schemas/EditManualReserveOption"
}
],
"properties": {
"programId": {
"$ref": "#/components/schemas/ProgramId"
},
"timeSpecifiedOption": {
"type": "object",
"description": "時刻指定オプション",
"required": [
"name",
"channelId",
"startAt",
"endAt"
],
"properties": {
"name": {
"description": "番組名",
"type": "string"
},
"channelId": {
"$ref": "#/components/schemas/ChannelId"
},
"startAt": {
"$ref": "#/components/schemas/UnixtimeMS"
},
"endAt": {
"$ref": "#/components/schemas/UnixtimeMS"
}
}
}
}
},
"AddedReserve": {
"description": "予約成功応答データ",
"type": "object",
"required": [
"reserveId"
],
"properties": {
"reserveId": {
"$ref": "#/components/schemas/ReserveId"
}
}
},
"ReserveItem": {
"description": "予約番組情報",
"type": "object",
"required": [
"id",
"isSkip",
"isConflict",
"isOverlap",
"allowEndLack",
"isTimeSpecified",
"isDeleteOriginalAfterEncode",
"channelId",
"startAt",
"endAt",
"name"
],
"properties": {
"id": {
"$ref": "#/components/schemas/ReserveId"
},
"ruleId": {
"$ref": "#/components/schemas/RuleId"
},
"isSkip": {
"type": "boolean"
},
"isConflict": {
"type": "boolean"
},
"isOverlap": {
"type": "boolean"
},
"allowEndLack": {
"type": "boolean"
},
"isTimeSpecified": {
"type": "boolean"
},
"tags": {
"type": "array",
"items": {
"$ref": "#/components/schemas/RecordedTagId"
}
},
"parentDirectoryName": {
"type": "string"
},
"directory": {
"type": "string"
},
"recordedFormat": {
"type": "string"
},
"encodeMode1": {
"type": "integer"
},
"encodeParentDirectoryName1": {
"type": "string"
},
"encodeDirectory1": {
"type": "string"
},
"encodeMode2": {
"type": "integer"
},
"encodeParentDirectoryName2": {
"type": "string"
},
"encodeDirectory2": {
"type": "string"
},
"encodeMode3": {
"type": "integer"
},
"encodeParentDirectoryName3": {
"type": "string"
},
"encodeDirectory3": {
"type": "integer"
},
"isDeleteOriginalAfterEncode": {
"type": "boolean"
},
"programId": {
"$ref": "#/components/schemas/ProgramId"
},
"channelId": {
"$ref": "#/components/schemas/ChannelId"
},
"startAt": {
"$ref": "#/components/schemas/UnixtimeMS"
},
"endAt": {
"$ref": "#/components/schemas/UnixtimeMS"
},
"name": {
"type": "string"
},
"description": {
"type": "string"
},
"extended": {
"type": "string"
},
"rawExtended": {
"type": "object"
},
"genre1": {
"$ref": "#/components/schemas/ProgramGenreLv1"
},
"subGenre1": {
"$ref": "#/components/schemas/ProgramGenreLv2"
},
"genre2": {
"$ref": "#/components/schemas/ProgramGenreLv1"
},
"subGenre2": {
"$ref": "#/components/schemas/ProgramGenreLv2"
},
"genre3": {
"$ref": "#/components/schemas/ProgramGenreLv1"
},
"subGenre3": {
"$ref": "#/components/schemas/ProgramGenreLv2"
},
"videoType": {
"$ref": "#/components/schemas/ProgramVideoType"
},
"videoResolution": {
"$ref": "#/components/schemas/ProgramVideoResolution"
},
"videoStreamContent": {
"type": "integer"
},
"videoComponentType": {
"type": "integer"
},
"audioSamplingRate": {
"$ref": "#/components/schemas/ProgramAudioSamplingRate"
},
"audioComponentType": {
"type": "integer"
}
}
},
"Reserves": {
"description": "予約情報",
"type": "object",
"required": [
"reserves",
"total"
],
"properties": {
"reserves": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ReserveItem"
}
},
"total": {
"description": "予約総件数",
"type": "integer"
}
}
},
"ReserveListItem": {
"description": "予約リストitem",
"type": "object",
"required": [
"reserveId"
],
"properties": {
"reserveId": {
"$ref": "#/components/schemas/ReserveId"
},
"programId": {
"$ref": "#/components/schemas/ProgramId"
},
"ruleId": {
"$ref": "#/components/schemas/RuleId"
}
}
},
"ReserveLists": {
"description": "予約, 除外, 重複, 競合の reserveId のリスト",
"type": "object",
"required": [
"normal",
"conflicts",
"skips",
"overlaps"
],
"properties": {
"normal": {
"$ref": "#/components/schemas/ReserveListItem"
},
"conflicts": {
"$ref": "#/components/schemas/ReserveListItem"
},
"skips": {
"$ref": "#/components/schemas/ReserveListItem"
},
"overlaps": {
"$ref": "#/components/schemas/ReserveListItem"
}
}
},
"ReserveCnts": {
"description": "予約カウント",
"type": "object",
"required": [
"normal",
"conflicts",
"skips",
"overlaps"
],
"properties": {
"normal": {
"description": "通常予約数",
"type": "integer"
},
"conflicts": {
"description": "競合予約数",
"type": "integer"
},
"skips": {
"description": "競合予約数",
"type": "integer"
},
"overlaps": {
"description": "重複予約数",
"type": "integer"
}
}
},
"Records": {
"description": "録画情報",
"type": "object",
"required": [
"records",
"total"
],
"properties": {
"records": {
"type": "array",
"items": {
"$ref": "#/components/schemas/RecordedItem"
}
},
"total": {
"description": "録画総件数",
"type": "integer"
}
}
},
"RecordedItem": {
"description": "録画番組情報",
"type": "object",
"required": [
"id",
"startAt",
"endAt",
"name",
"isRecording",
"isEncoding",
"isProtected"
],
"properties": {
"id": {
"$ref": "#/components/schemas/RecordedId"
},
"ruleId": {
"$ref": "#/components/schemas/RuleId"
},
"programId": {
"$ref": "#/components/schemas/ProgramId"
},
"channelId": {
"$ref": "#/components/schemas/ChannelId"
},
"startAt": {
"$ref": "#/components/schemas/UnixtimeMS"
},
"endAt": {
"$ref": "#/components/schemas/UnixtimeMS"
},
"name": {
"description": "番組名",
"type": "string"
},
"description": {
"description": "番組詳細",
"type": "string"
},
"extended": {
"description": "番組拡張",
"type": "string"
},
"rawExtended": {
"description": "番組拡張 (Mirakurun の extended)",
"type": "object"
},
"genre1": {
"$ref": "#/components/schemas/ProgramGenreLv1"
},
"subGenre1": {
"$ref": "#/components/schemas/ProgramGenreLv2"
},
"genre2": {
"$ref": "#/components/schemas/ProgramGenreLv1"
},
"subGenre2": {
"$ref": "#/components/schemas/ProgramGenreLv2"
},
"genre3": {
"$ref": "#/components/schemas/ProgramGenreLv1"
},
"subGenre3": {
"$ref": "#/components/schemas/ProgramGenreLv2"
},
"videoType": {
"$ref": "#/components/schemas/ProgramVideoType"
},
"videoResolution": {
"$ref": "#/components/schemas/ProgramVideoResolution"
},
"videoStreamContent": {
"type": "integer"
},
"videoComponentType": {
"type": "integer"
},
"audioSamplingRate": {
"$ref": "#/components/schemas/ProgramAudioSamplingRate"
},
"audioComponentType": {
"type": "integer"
},
"isRecording": {
"description": "録画中か",
"type": "boolean"
},
"thumbnails": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ThumbnailId"
}
},
"videoFiles": {
"type": "array",
"items": {
"$ref": "#/components/schemas/VideoFile"
}
},
"dropLog": {
"$ref": "#/components/schemas/DropLogFile"
},
"tags": {
"type": "array",
"items": {
"$ref": "#/components/schemas/RecordedTag"
}
},
"isEncoding": {
"description": "エンコード中か",
"type": "boolean"
},
"isProtected": {
"description": "自動録画削除対象外か",
"type": "boolean"
}
}
},
"CreateNewRecordedOption": {
"description": "新規追加する録画番組情報",
"type": "object",
"required": [
"channelId",
"startAt",
"endAt",
"name"
],
"properties": {
"ruleId": {
"$ref": "#/components/schemas/RuleId"
},
"channelId": {
"$ref": "#/components/schemas/ChannelId"
},
"startAt": {
"$ref": "#/components/schemas/UnixtimeMS"
},
"endAt": {
"$ref": "#/components/schemas/UnixtimeMS"
},
"name": {
"description": "番組名",
"type": "string"
},
"description": {
"description": "番組詳細",
"type": "string"
},
"extended": {
"description": "番組拡張",
"type": "string"
},
"genre1": {
"$ref": "#/components/schemas/ProgramGenreLv1"
},
"subGenre1": {
"$ref": "#/components/schemas/ProgramGenreLv2"
},
"genre2": {
"$ref": "#/components/schemas/ProgramGenreLv1"
},
"subGenre2": {
"$ref": "#/components/schemas/ProgramGenreLv2"
},
"genre3": {
"$ref": "#/components/schemas/ProgramGenreLv1"
},
"subGenre3": {
"$ref": "#/components/schemas/ProgramGenreLv2"
}
}
},
"CreatedNewRecorded": {
"description": "録画番組情報の新規作成成功応答データ",
"type": "object",
"required": [
"recordedId"
],
"properties": {
"recordedId": {
"$ref": "#/components/schemas/RecordedId"
}
}
},
"VideoFile": {
"description": "ビデオファイル情報",
"type": "object",
"required": [
"id",
"name",
"type",
"size"
],
"properties": {
"id": {
"$ref": "#/components/schemas/VideoFileId"
},
"name": {
"description": "ビデオ名 (Web上の表示名)",
"type": "string"
},
"filename": {
"description": "ビデオファイル名",
"type": "string"
},
"type": {
"$ref": "#/components/schemas/VideoFileType"
},
"size": {
"description": "ファイルサイズ",
"type": "integer"
}
}
},
"VideoFileDuration": {
"description": "ビデオファイルの長さ",
"type": "object",
"required": [
"duration"
],
"properties": {
"duration": {
"description": "動画長(秒)",
"type": "number"
}
}
},
"DropLogFile": {
"description": "ドロップログファイル情報",
"type": "object",
"required": [
"id",
"errorCnt",
"dropCnt",
"scramblingCnt"
],
"properties": {
"id": {
"$ref": "#/components/schemas/DropLogFileId"
},
"errorCnt": {
"description": "エラーカウント",
"type": "integer"
},
"dropCnt": {
"description": "ドロップカウント",
"type": "integer"
},
"scramblingCnt": {
"description": "スクランブルカウント",
"type": "integer"
}
}
},
"RecordedTag": {
"description": "タグ情報",
"type": "object",
"required": [
"id",
"name",
"color"
],
"properties": {
"id": {
"$ref": "#/components/schemas/RecordedTagId"
},
"name": {
"description": "タグ名",
"type": "string"
},
"color": {
"description": "色",
"type": "string"
}
}
},
"RecordedTags": {
"description": "録画タグ情報",
"type": "object",
"required": [
"tags",
"total"
],
"properties": {
"tags": {
"type": "array",
"items": {
"$ref": "#/components/schemas/RecordedTag"
}
},
"total": {
"description": "予約総件数",
"type": "integer"
}
}
},
"AddRecordedTagOption": {
"description": "録画タグ追加プション",
"type": "object",
"required": [
"name",
"color"
],
"properties": {
"name": {
"description": "タグ名",
"type": "string"
},
"color": {
"description": "色",
"type": "string"
}
}
},
"RelateRecordedTagOption": {
"description": "録画番組とタグの関連付けオプション",
"type": "object",
"required": [
"recordedId"
],
"properties": {
"recordedId": {
"$ref": "#/components/schemas/RecordedId"
}
}
},
"AddedRecordedTag": {
"description": "タグ追加成功応答データ",
"type": "object",
"required": [
"tagId"
],
"properties": {
"tagId": {
"$ref": "#/components/schemas/RecordedTagId"
}
}
},
"RecordedChannelListItem": {
"description": "recorded が持つ channelId のリスト",
"type": "object",
"required": [
"cnt",
"channelId"
],
"properties": {
"cnt": {
"description": "録画数",
"type": "integer"
},
"channelId": {
"$ref": "#/components/schemas/ChannelId"
}
}
},
"RecordedGenreListItem": {
"description": "recorded が持つ genre のリスト",
"type": "object",
"required": [
"cnt",
"genre"
],
"properties": {
"cnt": {
"description": "録画数",
"type": "integer"
},
"genre": {
"$ref": "#/components/schemas/ProgramGenreLv1"
}
}
},
"RecordedSearchOptions": {
"description": "recorded が持つ検索オプション情報",
"type": "object",
"required": [
"channels",
"genres"
],
"properties": {
"channels": {
"type": "array",
"items": {
"$ref": "#/components/schemas/RecordedChannelListItem"
}
},
"genres": {
"type": "array",
"items": {
"$ref": "#/components/schemas/RecordedGenreListItem"
}
}
}
},
"SendVideoLinkToKodiOption": {
"description": "kodiへビデオリンクを送信するときのオプション",
"type": "object",
"required": [
"kodiName"
],
"properties": {
"kodiName": {
"description": "config の kodi の name",
"type": "string"
}
}
},
"UploadVideoFileOption": {
"description": "ビデオファイルをアップロード",
"type": "object",
"required": [
"recordedId",
"parentDirectoryName",
"viewName",
"fileType",
"file"
],
"properties": {
"recordedId": {
"$ref": "#/components/schemas/RecordedId"
},
"parentDirectoryName": {
"description": "親保存ディレクトリ",
"type": "string"
},
"subDirectory": {
"description": "保存ディレクトリ",
"type": "string"
},
"viewName": {
"description": "表示名",
"type": "string"
},
"fileType": {
"$ref": "#/components/schemas/VideoFileType"
},
"file": {
"type": "string",
"format": "binary"
}
}
},
"Version": {
"description": "バージョン情報",
"type": "object",
"required": [
"version"
],
"properties": {
"version": {
"type": "string"
}
}
},
"EncodeProgramItem": {
"description": "エンコードプログラム情報",
"type": "object",
"required": [
"id",
"mode",
"recorded"
],
"properties": {
"id": {
"$ref": "#/components/schemas/EncodeId"
},
"mode": {
"description": "エンコード名",
"type": "string"
},
"recorded": {
"$ref": "#/components/schemas/RecordedItem"
},
"percent": {
"description": "進捗",
"type": "number"
},
"log": {
"description": "ログ",
"type": "string"
}
}
},
"EncodeInfo": {
"description": "エンコード情報",
"type": "object",
"required": [
"runningItems",
"waitItems"
],
"properties": {
"runningItems": {
"type": "array",
"items": {
"$ref": "#/components/schemas/EncodeProgramItem"
}
},
"waitItems": {
"type": "array",
"items": {
"$ref": "#/components/schemas/EncodeProgramItem"
}
}
}
},
"AddEncodeProgramOption": {
"description": "エンコード追加時のオプション",
"type": "object",
"required": [
"recordedId",
"sourceVideoFileId",
"parentDir",
"mode",
"removeOriginal"
],
"properties": {
"recordedId": {
"$ref": "#/components/schemas/RecordedId"
},
"sourceVideoFileId": {
"$ref": "#/components/schemas/VideoFileId"
},
"parentDir": {
"description": "親ディレクトリ名 config recorded の name",
"type": "string"
},
"directory": {
"description": "親ディレクトリ以下のディレクトリ設定",
"type": "string"
},
"mode": {
"description": "エンコードプリセット名 config encode の name",
"type": "string"
},
"removeOriginal": {
"description": "元ファイルを削除するか",
"type": "boolean"
}
}
},
"AddManualEncodeProgramOption": {
"description": "エンコード手動追加時のオプション",
"type": "object",
"required": [
"recordedId",
"sourceVideoFileId",
"mode",
"removeOriginal"
],
"properties": {
"recordedId": {
"$ref": "#/components/schemas/RecordedId"
},
"sourceVideoFileId": {
"$ref": "#/components/schemas/VideoFileId"
},
"parentDir": {
"description": "親ディレクトリ名 config recorded の name, isSaveSameDirectory が false の場合は必須",
"type": "string"
},
"directory": {
"description": "親ディレクトリ以下のディレクトリ設定",
"type": "string"
},
"isSaveSameDirectory": {
"description": "ソースビデオファイルと同じ場所に保存するか",
"type": "boolean"
},
"mode": {
"description": "エンコードプリセット名 config encode の name",
"type": "string"
},
"removeOriginal": {
"description": "元ファイルを削除するか",
"type": "boolean"
}
}
},
"AddedEncode": {
"description": "エンコード追加成功応答データ",
"type": "object",
"required": [
"encodeId"
],
"properties": {
"encodeId": {
"$ref": "#/components/schemas/EncodeId"
}
}
},
"StreamInfoItem": {
"description": "ストリーム情報",
"type": "object",
"required": [
"streamId",
"type",
"mode",
"isEnable",
"channelId",
"name",
"startAt",
"endAt"
],
"properties": {
"streamId": {
"$ref": "#/components/schemas/StreamId"
},
"type": {
"$ref": "#/components/schemas/StreamType"
},
"mode": {
"description": "ストリーミング設定",
"type": "number"
},
"isEnable": {
"description": "放送波が有効か (HLS 形式の場合有効)",
"type": "boolean"
},
"channelId": {
"$ref": "#/components/schemas/ChannelId"
},
"videoFileId": {
"$ref": "#/components/schemas/VideoFileId"
},
"recordedId": {
"$ref": "#/components/schemas/RecordedId"
},
"name": {
"description": "ストリーミング番組名",
"type": "string"
},
"startAt": {
"$ref": "#/components/schemas/UnixtimeMS"
},
"endAt": {
"$ref": "#/components/schemas/UnixtimeMS"
},
"description": {
"description": "ストリーミング番組詳細",
"type": "string"
},
"extended": {
"description": "ストリーミング番組拡張",
"type": "string"
}
}
},
"StreamInfo": {
"type": "object",
"required": [
"items"
],
"properties": {
"items": {
"type": "array",
"items": {
"$ref": "#/components/schemas/StreamInfoItem"
}
}
}
},
"StartStreamInfo": {
"description": "ストリーム開始情報",
"type": "object",
"required": [
"streamId"
],
"properties": {
"streamId": {
"$ref": "#/components/schemas/StreamId"
}
}
},
"StorageItem": {
"description": "ストレージ使用状況",
"type": "object",
"required": [
"name",
"available",
"used",
"total"
],
"properties": {
"name": {
"description": "ディスク名",
"type": "string"
},
"available": {
"description": "空き容量 (byte)",
"type": "integer"
},
"used": {
"description": "使用量 (byte)",
"type": "integer"
},
"total": {
"description": "総容量 (byte)",
"type": "integer"
}
}
},
"StorageInfo": {
"description": "ストレージ情報",
"type": "object",
"required": [
"items"
],
"properties": {
"items": {
"type": "array",
"items": {
"$ref": "#/components/schemas/StorageItem"
}
}
}
},
"Error": {
"type": "object",
"readOnly": true,
"required": [
"code",
"message"
],
"properties": {
"code": {
"description": "HTTPステータスコード",
"type": "integer",
"format": "int32"
},
"message": {
"description": "エラーメッセージ",
"type": "string"
},
"errors": {
"description": "Error",
"type": "string"
}
}
}
},
"parameters": {
"Offset": {
"description": "offset",
"in": "query",
"name": "offset",
"schema": {
"type": "integer",
"minimum": 0,
"default": 0
}
},
"Limit": {
"description": "limit",
"in": "query",
"name": "limit",
"schema": {
"type": "integer",
"minimum": 0,
"default": 24
}
},
"StartAt": {
"description": "開始時刻",
"in": "query",
"name": "startAt",
"required": true,
"schema": {
"$ref": "#/components/schemas/UnixtimeMS"
}
},
"EndAt": {
"description": "終了時刻",
"in": "query",
"name": "endAt",
"required": true,
"schema": {
"$ref": "#/components/schemas/UnixtimeMS"
}
},
"Days": {
"description": "取得日数",
"in": "query",
"name": "days",
"required": true,
"schema": {
"type": "integer"
}
},
"AddtionTime": {
"description": "追加時間 (ms)",
"in": "query",
"name": "time",
"required": false,
"schema": {
"$ref": "#/components/schemas/UnixtimeMS"
}
},
"IsHalfWidth": {
"description": "半角文字で取得するか",
"in": "query",
"name": "isHalfWidth",
"required": true,
"schema": {
"type": "boolean"
}
},
"NeedsRawExtended": {
"description": "rawExtended が必要か",
"in": "query",
"name": "needsRawExtended",
"required": false,
"schema": {
"type": "boolean"
}
},
"IsFreeProgram": {
"description": "無料放送のみ取得するか (true: 無料放送, false: 有料放送, 無指定: 全て)",
"in": "query",
"name": "isFree",
"required": false,
"schema": {
"type": "boolean"
}
},
"QueryChannelId": {
"description": "放送局 id",
"name": "channelId",
"in": "query",
"schema": {
"$ref": "#/components/schemas/ChannelId"
}
},
"QueryRecordedId": {
"description": "recorded id",
"name": "recordedId",
"in": "query",
"schema": {
"$ref": "#/components/schemas/RecordedId"
}
},
"QueryRuleId": {
"description": "ルールid",
"name": "ruleId",
"in": "query",
"schema": {
"$ref": "#/components/schemas/RuleId"
}
},
"QueryProgramGenre": {
"description": "ジャンル",
"name": "genre",
"in": "query",
"schema": {
"$ref": "#/components/schemas/ProgramGenreLv1"
}
},
"QueryKeyword": {
"description": "キーワード",
"name": "keyword",
"in": "query",
"schema": {
"type": "string"
}
},
"QueryHasOriginalFile": {
"description": "オリジナルファイルを含むか",
"name": "hasOriginalFile",
"in": "query",
"schema": {
"type": "boolean"
}
},
"QueryName": {
"description": "name",
"name": "name",
"in": "query",
"schema": {
"type": "string"
}
},
"QueryExcludeRecordedTagId": {
"description": "除外する RecordedTagId",
"name": "excludeTagId",
"in": "query",
"schema": {
"type": "array",
"items": {
"type": "string"
}
}
},
"requiredGR": {
"description": "GR",
"in": "query",
"name": "GR",
"required": true,
"schema": {
"type": "boolean"
}
},
"requiredBS": {
"description": "BS",
"in": "query",
"name": "BS",
"required": true,
"schema": {
"type": "boolean"
}
},
"requiredCS": {
"description": "CS",
"in": "query",
"name": "CS",
"required": true,
"schema": {
"type": "boolean"
}
},
"requiredSKY": {
"description": "SKY",
"in": "query",
"name": "SKY",
"required": true,
"schema": {
"type": "boolean"
}
},
"GetReserveType": {
"description": "予約情報取得タイプ",
"in": "query",
"name": "type",
"schema": {
"enum": [
"all",
"normal",
"conflict",
"skip",
"overlap"
]
}
},
"IsDownload": {
"description": "ファイルをダウンロードするか",
"in": "query",
"name": "isDownload",
"schema": {
"type": "boolean"
}
},
"IsReverse": {
"description": "逆順で取得するか",
"in": "query",
"name": "isReverse",
"schema": {
"type": "boolean"
}
},
"LogFileMaxSize": {
"description": "ファイル最大サイズ (kByte)",
"in": "query",
"name": "maxsize",
"schema": {
"type": "integer",
"minimum": 0,
"default": 512
}
},
"PathChannelId": {
"description": "放送局 id",
"in": "path",
"name": "channelId",
"required": true,
"schema": {
"$ref": "#/components/schemas/ChannelId"
}
},
"PathProgramId": {
"description": "program id",
"in": "path",
"name": "programId",
"required": true,
"schema": {
"$ref": "#/components/schemas/ProgramId"
}
},
"PathReserveId": {
"description": "予約id",
"in": "path",
"name": "reserveId",
"required": true,
"schema": {
"type": "integer"
}
},
"PathRuleId": {
"description": "ルールid",
"in": "path",
"name": "ruleId",
"required": true,
"schema": {
"type": "integer"
}
},
"PathThumbnailId": {
"description": "thumbnail id",
"in": "path",
"name": "thumbnailId",
"required": true,
"schema": {
"type": "integer"
}
},
"PathRecordedId": {
"description": "recorded id",
"in": "path",
"name": "recordedId",
"required": true,
"schema": {
"type": "integer"
}
},
"PathRecordedTagId": {
"description": "recorded tag id",
"in": "path",
"name": "tagId",
"required": true,
"schema": {
"type": "integer"
}
},
"PathVideoFileId": {
"description": "video file id",
"in": "path",
"name": "videoFileId",
"required": true,
"schema": {
"type": "integer"
}
},
"PathDropLogFileId": {
"description": "drop log file id",
"in": "path",
"name": "dropLogFileId",
"required": true,
"schema": {
"type": "integer"
}
},
"PathEncodeId": {
"description": "エンコード id",
"in": "path",
"name": "encodeId",
"required": true,
"schema": {
"type": "integer"
}
},
"PathStreamId": {
"description": "ストリーム id",
"in": "path",
"name": "streamId",
"required": true,
"schema": {
"$ref": "#/components/schemas/StreamId"
}
},
"StreamMode": {
"description": "ストリーミング設定",
"in": "query",
"name": "mode",
"required": true,
"schema": {
"type": "integer"
}
},
"StreamPlayPosition": {
"description": "再生位置",
"in": "query",
"name": "ss",
"required": true,
"schema": {
"type": "integer"
}
},
"IPTVIsHalfWidth": {
"description": "半角文字で取得するか",
"in": "query",
"name": "isHalfWidth",
"required": false,
"schema": {
"type": "boolean",
"default": true
}
},
"IPTVDays": {
"description": "取得日数",
"in": "query",
"name": "days",
"required": false,
"schema": {
"type": "integer",
"default": 3
}
}
}
},
"tags": [
{
"name": "channels"
},
{
"name": "config"
},
{
"name": "dropLogs"
},
{
"name": "encode"
},
{
"name": "iptv"
},
{
"name": "recorded"
},
{
"name": "recording"
},
{
"name": "reserves"
},
{
"name": "rules"
},
{
"name": "schedules"
},
{
"name": "storages"
},
{
"name": "streams"
},
{
"name": "tags"
},
{
"name": "thumbnails"
},
{
"name": "version"
},
{
"name": "videos"
}
]
}
components:
parameters:
AddtionTime:
description: "\u8FFD\u52A0\u6642\u9593 (ms)"
in: query
name: time
required: false
schema:
$ref: '#/components/schemas/UnixtimeMS'
Days:
description: "\u53D6\u5F97\u65E5\u6570"
in: query
name: days
required: true
schema:
type: integer
EndAt:
description: "\u7D42\u4E86\u6642\u523B"
in: query
name: endAt
required: true
schema:
$ref: '#/components/schemas/UnixtimeMS'
GetReserveType:
description: "\u4E88\u7D04\u60C5\u5831\u53D6\u5F97\u30BF\u30A4\u30D7"
in: query
name: type
schema:
enum:
- all
- normal
- conflict
- skip
- overlap
IPTVDays:
description: "\u53D6\u5F97\u65E5\u6570"
in: query
name: days
required: false
schema:
default: 3
type: integer
IPTVIsHalfWidth:
description: "\u534A\u89D2\u6587\u5B57\u3067\u53D6\u5F97\u3059\u308B\u304B"
in: query
name: isHalfWidth
required: false
schema:
default: true
type: boolean
IsDownload:
description: "\u30D5\u30A1\u30A4\u30EB\u3092\u30C0\u30A6\u30F3\u30ED\u30FC\u30C9\
\u3059\u308B\u304B"
in: query
name: isDownload
schema:
type: boolean
IsFreeProgram:
description: "\u7121\u6599\u653E\u9001\u306E\u307F\u53D6\u5F97\u3059\u308B\u304B\
\ (true: \u7121\u6599\u653E\u9001, false: \u6709\u6599\u653E\u9001, \u7121\
\u6307\u5B9A: \u5168\u3066)"
in: query
name: isFree
required: false
schema:
type: boolean
IsHalfWidth:
description: "\u534A\u89D2\u6587\u5B57\u3067\u53D6\u5F97\u3059\u308B\u304B"
in: query
name: isHalfWidth
required: true
schema:
type: boolean
IsReverse:
description: "\u9006\u9806\u3067\u53D6\u5F97\u3059\u308B\u304B"
in: query
name: isReverse
schema:
type: boolean
Limit:
description: limit
in: query
name: limit
schema:
default: 24
minimum: 0
type: integer
LogFileMaxSize:
description: "\u30D5\u30A1\u30A4\u30EB\u6700\u5927\u30B5\u30A4\u30BA (kByte)"
in: query
name: maxsize
schema:
default: 512
minimum: 0
type: integer
NeedsRawExtended:
description: "rawExtended \u304C\u5FC5\u8981\u304B"
in: query
name: needsRawExtended
required: false
schema:
type: boolean
Offset:
description: offset
in: query
name: offset
schema:
default: 0
minimum: 0
type: integer
PathChannelId:
description: "\u653E\u9001\u5C40 id"
in: path
name: channelId
required: true
schema:
$ref: '#/components/schemas/ChannelId'
PathDropLogFileId:
description: drop log file id
in: path
name: dropLogFileId
required: true
schema:
type: integer
PathEncodeId:
description: "\u30A8\u30F3\u30B3\u30FC\u30C9 id"
in: path
name: encodeId
required: true
schema:
type: integer
PathProgramId:
description: program id
in: path
name: programId
required: true
schema:
$ref: '#/components/schemas/ProgramId'
PathRecordedId:
description: recorded id
in: path
name: recordedId
required: true
schema:
type: integer
PathRecordedTagId:
description: recorded tag id
in: path
name: tagId
required: true
schema:
type: integer
PathReserveId:
description: "\u4E88\u7D04id"
in: path
name: reserveId
required: true
schema:
type: integer
PathRuleId:
description: "\u30EB\u30FC\u30EBid"
in: path
name: ruleId
required: true
schema:
type: integer
PathStreamId:
description: "\u30B9\u30C8\u30EA\u30FC\u30E0 id"
in: path
name: streamId
required: true
schema:
$ref: '#/components/schemas/StreamId'
PathThumbnailId:
description: thumbnail id
in: path
name: thumbnailId
required: true
schema:
type: integer
PathVideoFileId:
description: video file id
in: path
name: videoFileId
required: true
schema:
type: integer
QueryChannelId:
description: "\u653E\u9001\u5C40 id"
in: query
name: channelId
schema:
$ref: '#/components/schemas/ChannelId'
QueryExcludeRecordedTagId:
description: "\u9664\u5916\u3059\u308B RecordedTagId"
in: query
name: excludeTagId
schema:
items:
type: string
type: array
QueryHasOriginalFile:
description: "\u30AA\u30EA\u30B8\u30CA\u30EB\u30D5\u30A1\u30A4\u30EB\u3092\u542B\
\u3080\u304B"
in: query
name: hasOriginalFile
schema:
type: boolean
QueryKeyword:
description: "\u30AD\u30FC\u30EF\u30FC\u30C9"
in: query
name: keyword
schema:
type: string
QueryName:
description: name
in: query
name: name
schema:
type: string
QueryProgramGenre:
description: "\u30B8\u30E3\u30F3\u30EB"
in: query
name: genre
schema:
$ref: '#/components/schemas/ProgramGenreLv1'
QueryRecordedId:
description: recorded id
in: query
name: recordedId
schema:
$ref: '#/components/schemas/RecordedId'
QueryRuleId:
description: "\u30EB\u30FC\u30EBid"
in: query
name: ruleId
schema:
$ref: '#/components/schemas/RuleId'
StartAt:
description: "\u958B\u59CB\u6642\u523B"
in: query
name: startAt
required: true
schema:
$ref: '#/components/schemas/UnixtimeMS'
StreamMode:
description: "\u30B9\u30C8\u30EA\u30FC\u30DF\u30F3\u30B0\u8A2D\u5B9A"
in: query
name: mode
required: true
schema:
type: integer
StreamPlayPosition:
description: "\u518D\u751F\u4F4D\u7F6E"
in: query
name: ss
required: true
schema:
type: integer
requiredBS:
description: BS
in: query
name: BS
required: true
schema:
type: boolean
requiredCS:
description: CS
in: query
name: CS
required: true
schema:
type: boolean
requiredGR:
description: GR
in: query
name: GR
required: true
schema:
type: boolean
requiredSKY:
description: SKY
in: query
name: SKY
required: true
schema:
type: boolean
schemas:
AddEncodeProgramOption:
description: "\u30A8\u30F3\u30B3\u30FC\u30C9\u8FFD\u52A0\u6642\u306E\u30AA\u30D7\
\u30B7\u30E7\u30F3"
properties:
directory:
description: "\u89AA\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA\u4EE5\u4E0B\u306E\
\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA\u8A2D\u5B9A"
type: string
mode:
description: "\u30A8\u30F3\u30B3\u30FC\u30C9\u30D7\u30EA\u30BB\u30C3\u30C8\
\u540D config encode \u306E name"
type: string
parentDir:
description: "\u89AA\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA\u540D config recorded\
\ \u306E name"
type: string
recordedId:
$ref: '#/components/schemas/RecordedId'
removeOriginal:
description: "\u5143\u30D5\u30A1\u30A4\u30EB\u3092\u524A\u9664\u3059\u308B\
\u304B"
type: boolean
sourceVideoFileId:
$ref: '#/components/schemas/VideoFileId'
required:
- recordedId
- sourceVideoFileId
- parentDir
- mode
- removeOriginal
type: object
AddManualEncodeProgramOption:
description: "\u30A8\u30F3\u30B3\u30FC\u30C9\u624B\u52D5\u8FFD\u52A0\u6642\u306E\
\u30AA\u30D7\u30B7\u30E7\u30F3"
properties:
directory:
description: "\u89AA\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA\u4EE5\u4E0B\u306E\
\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA\u8A2D\u5B9A"
type: string
isSaveSameDirectory:
description: "\u30BD\u30FC\u30B9\u30D3\u30C7\u30AA\u30D5\u30A1\u30A4\u30EB\
\u3068\u540C\u3058\u5834\u6240\u306B\u4FDD\u5B58\u3059\u308B\u304B"
type: boolean
mode:
description: "\u30A8\u30F3\u30B3\u30FC\u30C9\u30D7\u30EA\u30BB\u30C3\u30C8\
\u540D config encode \u306E name"
type: string
parentDir:
description: "\u89AA\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA\u540D config recorded\
\ \u306E name, isSaveSameDirectory \u304C false \u306E\u5834\u5408\u306F\
\u5FC5\u9808"
type: string
recordedId:
$ref: '#/components/schemas/RecordedId'
removeOriginal:
description: "\u5143\u30D5\u30A1\u30A4\u30EB\u3092\u524A\u9664\u3059\u308B\
\u304B"
type: boolean
sourceVideoFileId:
$ref: '#/components/schemas/VideoFileId'
required:
- recordedId
- sourceVideoFileId
- mode
- removeOriginal
type: object
AddRecordedTagOption:
description: "\u9332\u753B\u30BF\u30B0\u8FFD\u52A0\u30D7\u30B7\u30E7\u30F3"
properties:
color:
description: "\u8272"
type: string
name:
description: "\u30BF\u30B0\u540D"
type: string
required:
- name
- color
type: object
AddRuleOption:
description: "\u30EB\u30FC\u30EB\u8FFD\u52A0\u30D7\u30B7\u30E7\u30F3"
properties:
encodeOption:
$ref: '#/components/schemas/ReserveEncodedOption'
isTimeSpecification:
description: "\u6642\u523B\u6307\u5B9A\u4E88\u7D04\u304B"
type: boolean
reserveOption:
$ref: '#/components/schemas/RuleReserveOption'
saveOption:
$ref: '#/components/schemas/ReserveSaveOption'
searchOption:
$ref: '#/components/schemas/RuleSearchOption'
required:
- isTimeSpecification
- searchOption
- reserveOption
type: object
AddedEncode:
description: "\u30A8\u30F3\u30B3\u30FC\u30C9\u8FFD\u52A0\u6210\u529F\u5FDC\u7B54\
\u30C7\u30FC\u30BF"
properties:
encodeId:
$ref: '#/components/schemas/EncodeId'
required:
- encodeId
type: object
AddedRecordedTag:
description: "\u30BF\u30B0\u8FFD\u52A0\u6210\u529F\u5FDC\u7B54\u30C7\u30FC\u30BF"
properties:
tagId:
$ref: '#/components/schemas/RecordedTagId'
required:
- tagId
type: object
AddedReserve:
description: "\u4E88\u7D04\u6210\u529F\u5FDC\u7B54\u30C7\u30FC\u30BF"
properties:
reserveId:
$ref: '#/components/schemas/ReserveId'
required:
- reserveId
type: object
AddedRule:
description: "\u30EB\u30FC\u30EB\u8FFD\u52A0\u6210\u529F\u5FDC\u7B54\u30C7\u30FC\
\u30BF"
properties:
ruleId:
$ref: '#/components/schemas/RuleId'
required:
- ruleId
type: object
ChannelId:
description: "\u653E\u9001\u5C40 id"
maximum: 6553565535
type: integer
ChannelItem:
description: "\u30C1\u30E3\u30F3\u30CD\u30EB\u60C5\u5831"
properties:
channel:
type: string
channelType:
$ref: '#/components/schemas/ChannelType'
halfWidthName:
description: "\u653E\u9001\u5C40\u540D(\u534A\u89D2)"
type: string
hasLogoData:
description: "\u30ED\u30B4\u30C7\u30FC\u30BF\u3092\u6301\u3063\u3066\u3044\
\u308B\u304B"
type: boolean
id:
$ref: '#/components/schemas/ChannelId'
name:
description: "\u653E\u9001\u5C40\u540D"
type: string
networkId:
$ref: '#/components/schemas/NetworkId'
serviceId:
$ref: '#/components/schemas/ServiceId'
type:
type: number
required:
- id
- serviceId
- networkId
- name
- halfWidthName
- remoteControlKeyId
- hasLogoData
- channelType
- channel
ChannelItems:
items:
$ref: '#/components/schemas/ChannelItem'
type: array
ChannelType:
description: "\u653E\u9001\u6CE2\u30BF\u30A4\u30D7"
enum:
- GR
- BS
- CS
- SKY
type: string
Config:
description: "\u30B3\u30F3\u30D5\u30A3\u30B0"
properties:
broadcast:
description: "\u6709\u52B9\u306A\u653E\u9001\u6CE2\u60C5\u5831"
properties:
BS:
type: boolean
CS:
type: boolean
GR:
type: boolean
SKY:
type: boolean
required:
- GR
- BS
- CS
- SKY
type: object
encode:
description: "\u30A8\u30F3\u30B3\u30FC\u30C9\u30E2\u30FC\u30C9"
items:
type: string
type: array
isEnableEncodedRecordedStream:
description: "\u9332\u753B\u6E08\u307F\u306E\u30A8\u30F3\u30B3\u30FC\u30C9\
\u6E08\u307F\u30D5\u30A1\u30A4\u30EB\u306E\u30B9\u30C8\u30EA\u30FC\u30DF\
\u30F3\u30B0\u304C\u6709\u52B9\u304B"
type: boolean
isEnableLiveStream:
description: "\u30E9\u30A4\u30D6\u8996\u8074\u304C\u6709\u52B9\u304B"
type: boolean
isEnableTSRecordedStream:
description: "\u9332\u753B\u6E08\u307F\u306E TS \u30D5\u30A1\u30A4\u30EB\
\u306E\u30B9\u30C8\u30EA\u30FC\u30DF\u30F3\u30B0\u304C\u6709\u52B9\u304B"
type: boolean
kodiHosts:
description: kodi hosts
items:
type: string
type: array
recorded:
description: "\u6307\u5B9A\u53EF\u80FD\u306A\u9332\u753B\u30C7\u30A3\u30EC\
\u30AF\u30C8\u30EA\u540D"
items:
type: string
type: array
socketIOPort:
description: "socket.io \u901A\u4FE1\u3067\u4F7F\u7528\u3059\u308B\u30DD\
\u30FC\u30C8"
type: integer
streamConfig:
description: "\u30B9\u30C8\u30EA\u30FC\u30DF\u30F3\u30B0\u8A2D\u5B9A"
properties:
live:
description: "\u30E9\u30A4\u30D6\u30B9\u30C8\u30EA\u30FC\u30DF\u30F3\
\u30B0\u8A2D\u5B9A"
properties:
hls:
description: "\u30E9\u30A4\u30D6 HLS \u30B9\u30C8\u30EA\u30FC\u30DF\
\u30F3\u30B0\u8A2D\u5B9A"
items:
type: string
type: array
m2ts:
description: "\u30E9\u30A4\u30D6 M2TS \u30B9\u30C8\u30EA\u30FC\u30DF\
\u30F3\u30B0\u8A2D\u5B9A"
items:
$ref: '#/components/schemas/M2TSStreamParam'
type: array
m2tsll:
description: "\u30E9\u30A4\u30D6 M2TS Low Latency (mpegts.js \u7528\
) \u30B9\u30C8\u30EA\u30FC\u30DF\u30F3\u30B0\u8A2D\u5B9A"
items:
type: string
type: array
mp4:
description: "\u30E9\u30A4\u30D6 MP4 \u30B9\u30C8\u30EA\u30FC\u30DF\
\u30F3\u30B0\u8A2D\u5B9A"
items:
type: string
type: array
webm:
description: "\u30E9\u30A4\u30D6 WebM \u30B9\u30C8\u30EA\u30FC\u30DF\
\u30F3\u30B0\u8A2D\u5B9A"
items:
type: string
type: array
type: object
recorded:
description: "\u9332\u753B\u6E08\u307F\u30B9\u30C8\u30EA\u30FC\u30DF\
\u30F3\u30B0\u8A2D\u5B9A"
properties:
encoded:
description: "\u9332\u753B\u30A8\u30F3\u30B3\u30FC\u30C9\u6E08\u307F\
\u30D5\u30A1\u30A4\u30EB\u306E\u30B9\u30C8\u30EA\u30FC\u30DF\u30F3\
\u30B0\u8A2D\u5B9A"
properties:
hls:
description: "\u9332\u753B\u30A8\u30F3\u30B3\u30FC\u30C9\u6E08\
\u307F\u30D5\u30A1\u30A4\u30EB\u306E HLS \u30B9\u30C8\u30EA\
\u30FC\u30DF\u30F3\u30B0\u8A2D\u5B9A"
items:
type: string
type: array
mp4:
description: "\u9332\u753B\u30A8\u30F3\u30B3\u30FC\u30C9\u6E08\
\u307F\u30D5\u30A1\u30A4\u30EB\u306E MP4 \u30B9\u30C8\u30EA\
\u30FC\u30DF\u30F3\u30B0\u8A2D\u5B9A"
items:
type: string
type: array
webm:
description: "\u9332\u753B\u30A8\u30F3\u30B3\u30FC\u30C9\u6E08\
\u307F\u30D5\u30A1\u30A4\u30EB\u306E WebM \u30B9\u30C8\u30EA\
\u30FC\u30DF\u30F3\u30B0\u8A2D\u5B9A"
items:
type: string
type: array
type: object
ts:
description: "\u9332\u753B\u6E08\u307F TS \u30D5\u30A1\u30A4\u30EB\
\u306E\u30B9\u30C8\u30EA\u30FC\u30DF\u30F3\u30B0\u8A2D\u5B9A"
properties:
hls:
description: "\u9332\u753B\u6E08\u307F TS \u30D5\u30A1\u30A4\
\u30EB\u306E HLS \u30B9\u30C8\u30EA\u30FC\u30DF\u30F3\u30B0\
\u8A2D\u5B9A"
items:
type: string
type: array
mp4:
description: "\u9332\u753B\u6E08\u307F TS \u30D5\u30A1\u30A4\
\u30EB\u306E MP4 \u30B9\u30C8\u30EA\u30FC\u30DF\u30F3\u30B0\
\u8A2D\u5B9A"
items:
type: string
type: array
webm:
description: "\u9332\u753B\u6E08\u307F TS \u30D5\u30A1\u30A4\
\u30EB\u306E WebM \u30B9\u30C8\u30EA\u30FC\u30DF\u30F3\u30B0\
\u8A2D\u5B9A"
items:
type: string
type: array
type: object
type: object
type: object
urlscheme:
description: "URL Scheme \u60C5\u5831"
properties:
download:
$ref: '#/components/schemas/URLSchemeInfo'
m2ts:
$ref: '#/components/schemas/URLSchemeInfo'
video:
$ref: '#/components/schemas/URLSchemeInfo'
required:
- m2ts
- video
- download
type: object
required:
- socketIOPort
- broadcast
- recorded
- encode
- urlscheme
- isEnableLiveStream
- isEnableTSRecordedStream
- isEnableEncodedRecordedStream
type: object
CreateNewRecordedOption:
description: "\u65B0\u898F\u8FFD\u52A0\u3059\u308B\u9332\u753B\u756A\u7D44\u60C5\
\u5831"
properties:
channelId:
$ref: '#/components/schemas/ChannelId'
description:
description: "\u756A\u7D44\u8A73\u7D30"
type: string
endAt:
$ref: '#/components/schemas/UnixtimeMS'
extended:
description: "\u756A\u7D44\u62E1\u5F35"
type: string
genre1:
$ref: '#/components/schemas/ProgramGenreLv1'
genre2:
$ref: '#/components/schemas/ProgramGenreLv1'
genre3:
$ref: '#/components/schemas/ProgramGenreLv1'
name:
description: "\u756A\u7D44\u540D"
type: string
ruleId:
$ref: '#/components/schemas/RuleId'
startAt:
$ref: '#/components/schemas/UnixtimeMS'
subGenre1:
$ref: '#/components/schemas/ProgramGenreLv2'
subGenre2:
$ref: '#/components/schemas/ProgramGenreLv2'
subGenre3:
$ref: '#/components/schemas/ProgramGenreLv2'
required:
- channelId
- startAt
- endAt
- name
type: object
CreatedNewRecorded:
description: "\u9332\u753B\u756A\u7D44\u60C5\u5831\u306E\u65B0\u898F\u4F5C\u6210\
\u6210\u529F\u5FDC\u7B54\u30C7\u30FC\u30BF"
properties:
recordedId:
$ref: '#/components/schemas/RecordedId'
required:
- recordedId
type: object
DropLogFile:
description: "\u30C9\u30ED\u30C3\u30D7\u30ED\u30B0\u30D5\u30A1\u30A4\u30EB\u60C5\
\u5831"
properties:
dropCnt:
description: "\u30C9\u30ED\u30C3\u30D7\u30AB\u30A6\u30F3\u30C8"
type: integer
errorCnt:
description: "\u30A8\u30E9\u30FC\u30AB\u30A6\u30F3\u30C8"
type: integer
id:
$ref: '#/components/schemas/DropLogFileId'
scramblingCnt:
description: "\u30B9\u30AF\u30E9\u30F3\u30D6\u30EB\u30AB\u30A6\u30F3\u30C8"
type: integer
required:
- id
- errorCnt
- dropCnt
- scramblingCnt
type: object
DropLogFileId:
description: "\u30C9\u30ED\u30C3\u30D7\u30ED\u30B0\u30D5\u30A1\u30A4\u30EB id"
type: integer
EditManualReserveOption:
description: "\u624B\u52D5\u4E88\u7D04\u7DE8\u96C6\u30AA\u30D7\u30B7\u30E7\u30F3"
properties:
allowEndLack:
description: "\u672B\u5C3E\u5207\u308C\u3092\u8A31\u3059\u304B"
type: boolean
encodeOption:
$ref: '#/components/schemas/ReserveEncodedOption'
saveOption:
$ref: '#/components/schemas/ReserveSaveOption'
tags:
items:
$ref: '#/components/schemas/RecordedTagId'
type: array
required:
- allowEndLack
type: object
EncodeId:
description: "\u30A8\u30F3\u30B3\u30FC\u30C9 id"
type: integer
EncodeInfo:
description: "\u30A8\u30F3\u30B3\u30FC\u30C9\u60C5\u5831"
properties:
runningItems:
items:
$ref: '#/components/schemas/EncodeProgramItem'
type: array
waitItems:
items:
$ref: '#/components/schemas/EncodeProgramItem'
type: array
required:
- runningItems
- waitItems
type: object
EncodeProgramItem:
description: "\u30A8\u30F3\u30B3\u30FC\u30C9\u30D7\u30ED\u30B0\u30E9\u30E0\u60C5\
\u5831"
properties:
id:
$ref: '#/components/schemas/EncodeId'
log:
description: "\u30ED\u30B0"
type: string
mode:
description: "\u30A8\u30F3\u30B3\u30FC\u30C9\u540D"
type: string
percent:
description: "\u9032\u6357"
type: number
recorded:
$ref: '#/components/schemas/RecordedItem'
required:
- id
- mode
- recorded
type: object
Error:
properties:
code:
description: "HTTP\u30B9\u30C6\u30FC\u30BF\u30B9\u30B3\u30FC\u30C9"
format: int32
type: integer
errors:
description: Error
type: string
message:
description: "\u30A8\u30E9\u30FC\u30E1\u30C3\u30BB\u30FC\u30B8"
type: string
readOnly: true
required:
- code
- message
type: object
EventId:
description: event id
maximum: 655356553565535
type: integer
Genre:
description: "\u30B8\u30E3\u30F3\u30EB\u8A2D\u5B9A"
properties:
genre:
$ref: '#/components/schemas/ProgramGenreLv1'
subGenre:
$ref: '#/components/schemas/ProgramGenreLv2'
required:
- genre
type: object
M2TSStreamParam:
description: "M2TS\u5F62\u5F0F\u30B9\u30C8\u30EA\u30FC\u30DF\u30F3\u30B0\u30D1\
\u30E9\u30E1\u30FC\u30BF"
properties:
isUnconverted:
description: "\u7121\u5909\u63DB\u304B"
type: boolean
name:
description: "\u8868\u793A\u540D"
type: string
required:
- name
- isUnconverted
type: object
ManualReserveOption:
allOf:
- $ref: '#/components/schemas/EditManualReserveOption'
description: "\u624B\u52D5\u4E88\u7D04\u30AA\u30D7\u30B7\u30E7\u30F3"
properties:
programId:
$ref: '#/components/schemas/ProgramId'
timeSpecifiedOption:
description: "\u6642\u523B\u6307\u5B9A\u30AA\u30D7\u30B7\u30E7\u30F3"
properties:
channelId:
$ref: '#/components/schemas/ChannelId'
endAt:
$ref: '#/components/schemas/UnixtimeMS'
name:
description: "\u756A\u7D44\u540D"
type: string
startAt:
$ref: '#/components/schemas/UnixtimeMS'
required:
- name
- channelId
- startAt
- endAt
type: object
type: object
NetworkId:
description: network id
maximum: 6553565535
type: integer
ProgramAudioSamplingRate:
description: "\u756A\u7D44\u30AA\u30FC\u30C7\u30A3\u30AA\u30B5\u30F3\u30D7\u30EA\
\u30F3\u30B0\u30EC\u30FC\u30C8"
enum:
- 16000
- 22050
- 24000
- 32000
- 44100
- 48000
type: integer
ProgramGenreLv1:
description: "\u30B8\u30E3\u30F3\u30EB"
type: integer
ProgramGenreLv2:
description: "\u30B5\u30D6\u30B8\u30E3\u30F3\u30EB"
type: integer
ProgramId:
description: program id
maximum: 655356553565535
type: integer
ProgramVideoResolution:
description: "\u756A\u7D44\u30D3\u30C7\u30AA\u89E3\u50CF\u5EA6"
enum:
- 240p
- 480i
- 480p
- 720p
- 1080i
- 1080p
- 2160p
- 4320p
type: string
ProgramVideoType:
description: "\u756A\u7D44\u30D3\u30C7\u30AA\u30B3\u30FC\u30C7\u30C3\u30AF"
enum:
- mpeg2
- h.264
- h.265
type: string
RecordedChannelListItem:
description: "recorded \u304C\u6301\u3064 channelId \u306E\u30EA\u30B9\u30C8"
properties:
channelId:
$ref: '#/components/schemas/ChannelId'
cnt:
description: "\u9332\u753B\u6570"
type: integer
required:
- cnt
- channelId
type: object
RecordedGenreListItem:
description: "recorded \u304C\u6301\u3064 genre \u306E\u30EA\u30B9\u30C8"
properties:
cnt:
description: "\u9332\u753B\u6570"
type: integer
genre:
$ref: '#/components/schemas/ProgramGenreLv1'
required:
- cnt
- genre
type: object
RecordedHistoryId:
description: "\u9332\u753B\u6E08\u307F\u756A\u7D44\u5C65\u6B74\u7BA1\u7406 id"
type: integer
RecordedId:
description: "\u9332\u753B\u6E08\u307F\u756A\u7D44 id"
type: integer
RecordedItem:
description: "\u9332\u753B\u756A\u7D44\u60C5\u5831"
properties:
audioComponentType:
type: integer
audioSamplingRate:
$ref: '#/components/schemas/ProgramAudioSamplingRate'
channelId:
$ref: '#/components/schemas/ChannelId'
description:
description: "\u756A\u7D44\u8A73\u7D30"
type: string
dropLog:
$ref: '#/components/schemas/DropLogFile'
endAt:
$ref: '#/components/schemas/UnixtimeMS'
extended:
description: "\u756A\u7D44\u62E1\u5F35"
type: string
genre1:
$ref: '#/components/schemas/ProgramGenreLv1'
genre2:
$ref: '#/components/schemas/ProgramGenreLv1'
genre3:
$ref: '#/components/schemas/ProgramGenreLv1'
id:
$ref: '#/components/schemas/RecordedId'
isEncoding:
description: "\u30A8\u30F3\u30B3\u30FC\u30C9\u4E2D\u304B"
type: boolean
isProtected:
description: "\u81EA\u52D5\u9332\u753B\u524A\u9664\u5BFE\u8C61\u5916\u304B"
type: boolean
isRecording:
description: "\u9332\u753B\u4E2D\u304B"
type: boolean
name:
description: "\u756A\u7D44\u540D"
type: string
programId:
$ref: '#/components/schemas/ProgramId'
rawExtended:
description: "\u756A\u7D44\u62E1\u5F35 (Mirakurun \u306E extended)"
type: object
ruleId:
$ref: '#/components/schemas/RuleId'
startAt:
$ref: '#/components/schemas/UnixtimeMS'
subGenre1:
$ref: '#/components/schemas/ProgramGenreLv2'
subGenre2:
$ref: '#/components/schemas/ProgramGenreLv2'
subGenre3:
$ref: '#/components/schemas/ProgramGenreLv2'
tags:
items:
$ref: '#/components/schemas/RecordedTag'
type: array
thumbnails:
items:
$ref: '#/components/schemas/ThumbnailId'
type: array
videoComponentType:
type: integer
videoFiles:
items:
$ref: '#/components/schemas/VideoFile'
type: array
videoResolution:
$ref: '#/components/schemas/ProgramVideoResolution'
videoStreamContent:
type: integer
videoType:
$ref: '#/components/schemas/ProgramVideoType'
required:
- id
- startAt
- endAt
- name
- isRecording
- isEncoding
- isProtected
type: object
RecordedSearchOptions:
description: "recorded \u304C\u6301\u3064\u691C\u7D22\u30AA\u30D7\u30B7\u30E7\
\u30F3\u60C5\u5831"
properties:
channels:
items:
$ref: '#/components/schemas/RecordedChannelListItem'
type: array
genres:
items:
$ref: '#/components/schemas/RecordedGenreListItem'
type: array
required:
- channels
- genres
type: object
RecordedTag:
description: "\u30BF\u30B0\u60C5\u5831"
properties:
color:
description: "\u8272"
type: string
id:
$ref: '#/components/schemas/RecordedTagId'
name:
description: "\u30BF\u30B0\u540D"
type: string
required:
- id
- name
- color
type: object
RecordedTagId:
description: "\u9332\u753B tag id"
type: integer
RecordedTags:
description: "\u9332\u753B\u30BF\u30B0\u60C5\u5831"
properties:
tags:
items:
$ref: '#/components/schemas/RecordedTag'
type: array
total:
description: "\u4E88\u7D04\u7DCF\u4EF6\u6570"
type: integer
required:
- tags
- total
type: object
Records:
description: "\u9332\u753B\u60C5\u5831"
properties:
records:
items:
$ref: '#/components/schemas/RecordedItem'
type: array
total:
description: "\u9332\u753B\u7DCF\u4EF6\u6570"
type: integer
required:
- records
- total
type: object
RelateRecordedTagOption:
description: "\u9332\u753B\u756A\u7D44\u3068\u30BF\u30B0\u306E\u95A2\u9023\u4ED8\
\u3051\u30AA\u30D7\u30B7\u30E7\u30F3"
properties:
recordedId:
$ref: '#/components/schemas/RecordedId'
required:
- recordedId
type: object
ReserveCnts:
description: "\u4E88\u7D04\u30AB\u30A6\u30F3\u30C8"
properties:
conflicts:
description: "\u7AF6\u5408\u4E88\u7D04\u6570"
type: integer
normal:
description: "\u901A\u5E38\u4E88\u7D04\u6570"
type: integer
overlaps:
description: "\u91CD\u8907\u4E88\u7D04\u6570"
type: integer
skips:
description: "\u7AF6\u5408\u4E88\u7D04\u6570"
type: integer
required:
- normal
- conflicts
- skips
- overlaps
type: object
ReserveEncodedOption:
description: "\u4E88\u7D04\u30A8\u30F3\u30B3\u30FC\u30C9\u30AA\u30D7\u30B7\u30E7\
\u30F3"
properties:
directory1:
description: "\u30A8\u30F3\u30B3\u30FC\u30C9\u30E2\u30FC\u30C91\u30C7\u30A3\
\u30EC\u30AF\u30C8\u30EA"
type: string
directory2:
description: "\u30A8\u30F3\u30B3\u30FC\u30C9\u30E2\u30FC\u30C92\u30C7\u30A3\
\u30EC\u30AF\u30C8\u30EA"
type: string
directory3:
description: "\u30A8\u30F3\u30B3\u30FC\u30C9\u30E2\u30FC\u30C93\u30C7\u30A3\
\u30EC\u30AF\u30C8\u30EA"
type: string
encodeParentDirectoryName1:
description: "\u30A8\u30F3\u30B3\u30FC\u30C9\u30E2\u30FC\u30C91\u89AA\u30C7\
\u30A3\u30EC\u30AF\u30C8\u30EA"
type: string
encodeParentDirectoryName2:
description: "\u30A8\u30F3\u30B3\u30FC\u30C9\u30E2\u30FC\u30C92\u89AA\u30C7\
\u30A3\u30EC\u30AF\u30C8\u30EA"
type: string
encodeParentDirectoryName3:
description: "\u30A8\u30F3\u30B3\u30FC\u30C9\u30E2\u30FC\u30C93\u89AA\u30C7\
\u30A3\u30EC\u30AF\u30C8\u30EA"
type: string
isDeleteOriginalAfterEncode:
description: "\u30A8\u30F3\u30B3\u30FC\u30C9\u5F8C\u306B ts \u3092\u524A\
\u9664\u3059\u308B\u304B"
type: boolean
mode1:
description: "\u30A8\u30F3\u30B3\u30FC\u30C9\u30E2\u30FC\u30C91"
type: string
mode2:
description: "\u30A8\u30F3\u30B3\u30FC\u30C9\u30E2\u30FC\u30C92"
type: string
mode3:
description: "\u30A8\u30F3\u30B3\u30FC\u30C9\u30E2\u30FC\u30C93"
type: string
required:
- isDeleteOriginalAfterEncode
ReserveId:
description: "\u4E88\u7D04 id"
type: integer
ReserveItem:
description: "\u4E88\u7D04\u756A\u7D44\u60C5\u5831"
properties:
allowEndLack:
type: boolean
audioComponentType:
type: integer
audioSamplingRate:
$ref: '#/components/schemas/ProgramAudioSamplingRate'
channelId:
$ref: '#/components/schemas/ChannelId'
description:
type: string
directory:
type: string
encodeDirectory1:
type: string
encodeDirectory2:
type: string
encodeDirectory3:
type: integer
encodeMode1:
type: integer
encodeMode2:
type: integer
encodeMode3:
type: integer
encodeParentDirectoryName1:
type: string
encodeParentDirectoryName2:
type: string
encodeParentDirectoryName3:
type: string
endAt:
$ref: '#/components/schemas/UnixtimeMS'
extended:
type: string
genre1:
$ref: '#/components/schemas/ProgramGenreLv1'
genre2:
$ref: '#/components/schemas/ProgramGenreLv1'
genre3:
$ref: '#/components/schemas/ProgramGenreLv1'
id:
$ref: '#/components/schemas/ReserveId'
isConflict:
type: boolean
isDeleteOriginalAfterEncode:
type: boolean
isOverlap:
type: boolean
isSkip:
type: boolean
isTimeSpecified:
type: boolean
name:
type: string
parentDirectoryName:
type: string
programId:
$ref: '#/components/schemas/ProgramId'
rawExtended:
type: object
recordedFormat:
type: string
ruleId:
$ref: '#/components/schemas/RuleId'
startAt:
$ref: '#/components/schemas/UnixtimeMS'
subGenre1:
$ref: '#/components/schemas/ProgramGenreLv2'
subGenre2:
$ref: '#/components/schemas/ProgramGenreLv2'
subGenre3:
$ref: '#/components/schemas/ProgramGenreLv2'
tags:
items:
$ref: '#/components/schemas/RecordedTagId'
type: array
videoComponentType:
type: integer
videoResolution:
$ref: '#/components/schemas/ProgramVideoResolution'
videoStreamContent:
type: integer
videoType:
$ref: '#/components/schemas/ProgramVideoType'
required:
- id
- isSkip
- isConflict
- isOverlap
- allowEndLack
- isTimeSpecified
- isDeleteOriginalAfterEncode
- channelId
- startAt
- endAt
- name
type: object
ReserveListItem:
description: "\u4E88\u7D04\u30EA\u30B9\u30C8item"
properties:
programId:
$ref: '#/components/schemas/ProgramId'
reserveId:
$ref: '#/components/schemas/ReserveId'
ruleId:
$ref: '#/components/schemas/RuleId'
required:
- reserveId
type: object
ReserveLists:
description: "\u4E88\u7D04, \u9664\u5916, \u91CD\u8907, \u7AF6\u5408\u306E reserveId\
\ \u306E\u30EA\u30B9\u30C8"
properties:
conflicts:
$ref: '#/components/schemas/ReserveListItem'
normal:
$ref: '#/components/schemas/ReserveListItem'
overlaps:
$ref: '#/components/schemas/ReserveListItem'
skips:
$ref: '#/components/schemas/ReserveListItem'
required:
- normal
- conflicts
- skips
- overlaps
type: object
ReserveSaveOption:
description: "\u4E88\u7D04\u4FDD\u5B58\u30AA\u30D7\u30B7\u30E7\u30F3"
properties:
directory:
description: "\u4FDD\u5B58\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA"
type: string
parentDirectoryName:
description: "\u89AA\u4FDD\u5B58\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA"
type: string
recordedFormat:
description: "\u30D5\u30A1\u30A4\u30EB\u540D\u30D5\u30A9\u30FC\u30DE\u30C3\
\u30C8"
type: string
type: object
Reserves:
description: "\u4E88\u7D04\u60C5\u5831"
properties:
reserves:
items:
$ref: '#/components/schemas/ReserveItem'
type: array
total:
description: "\u4E88\u7D04\u7DCF\u4EF6\u6570"
type: integer
required:
- reserves
- total
type: object
Rule:
allOf:
- $ref: '#/components/schemas/AddRuleOption'
description: "\u30EB\u30FC\u30EB"
properties:
id:
$ref: '#/components/schemas/RuleId'
reservesCnt:
description: "\u4E88\u7D04\u4EF6\u6570"
type: integer
required:
- id
type: object
RuleId:
description: "\u30EB\u30FC\u30EB id"
type: integer
RuleKeywordInfo:
description: "\u30EB\u30FC\u30EB\u30AD\u30FC\u30EF\u30FC\u30C9\u691C\u7D22\u7D50\
\u679C"
properties:
items:
items:
$ref: '#/components/schemas/RuleKeywordItem'
type: array
required:
- items
type: object
RuleKeywordItem:
properties:
id:
$ref: '#/components/schemas/RuleId'
keyword:
type: string
required:
- id
- keyword
type: object
RuleReserveOption:
description: "\u30EB\u30FC\u30EB\u4E88\u7D04\u30AA\u30D7\u30B7\u30E7\u30F3"
properties:
allowEndLack:
description: "\u672B\u5C3E\u5207\u308C\u3092\u8A31\u53EF\u3059\u308B\u304B"
type: boolean
avoidDuplicate:
description: "\u9332\u753B\u6E08\u307F\u306E\u91CD\u8907\u756A\u7D44\u3092\
\u6392\u9664\u3059\u308B\u304B"
type: boolean
enable:
description: "\u30EB\u30FC\u30EB\u304C\u6709\u52B9\u304B"
type: boolean
periodToAvoidDuplicate:
description: "\u91CD\u8907\u3092\u907F\u3051\u308B\u671F\u9593"
type: integer
tags:
items:
$ref: '#/components/schemas/RecordedTagId'
type: array
required:
- enable
- allowEndLack
- avoidDuplicate
type: object
RuleSearchOption:
description: "\u30EB\u30FC\u30EB\u691C\u7D22\u30AA\u30D7\u30B7\u30E7\u30F3"
properties:
BS:
description: BS
type: boolean
CS:
description: CS
type: boolean
GR:
description: GR
type: boolean
SKY:
description: SKY
type: boolean
channelIds:
description: "\u653E\u9001\u5C40"
items:
$ref: '#/components/schemas/ChannelId'
type: array
description:
description: "\u6982\u8981 (\u691C\u7D22\u30AD\u30FC\u30EF\u30FC\u30C9)"
type: boolean
durationMax:
description: "\u756A\u7D44\u6700\u5927\u6642\u9593 (\u5206)"
type: integer
durationMin:
description: "\u756A\u7D44\u6700\u5C0F\u6642\u9593 (\u5206)"
type: integer
extended:
description: "\u8A73\u7D30 (\u691C\u7D22\u30AD\u30FC\u30EF\u30FC\u30C9)"
type: boolean
genres:
description: "\u30B8\u30E3\u30F3\u30EB"
items:
$ref: '#/components/schemas/Genre'
type: array
ignoreDescription:
description: "\u6982\u8981 (\u9664\u5916\u691C\u7D22\u30AD\u30FC\u30EF\u30FC\
\u30C9)"
type: boolean
ignoreExtended:
description: "\u8A73\u7D30 (\u9664\u5916\u691C\u7D22\u30AD\u30FC\u30EF\u30FC\
\u30C9)"
type: boolean
ignoreKeyCS:
description: "\u5927\u6587\u5B57\u5C0F\u6587\u5B57\u533A\u5225\u6709\u52B9\
\u5316 (\u9664\u5916\u691C\u7D22\u30AD\u30FC\u30EF\u30FC\u30C9)"
type: boolean
ignoreKeyRegExp:
description: "\u6B63\u898F\u8868\u73FE (\u9664\u5916\u691C\u7D22\u30AD\u30FC\
\u30EF\u30FC\u30C9)"
type: boolean
ignoreKeyword:
description: "\u9664\u5916\u691C\u7D22\u30AD\u30FC\u30EF\u30FC\u30C9"
type: string
ignoreName:
description: "\u756A\u7D44\u540D (\u9664\u5916\u691C\u7D22\u30AD\u30FC\u30EF\
\u30FC\u30C9)"
type: boolean
isFree:
description: "\u7121\u6599\u653E\u9001\u304B"
type: boolean
keyCS:
description: "\u5927\u6587\u5B57\u5C0F\u6587\u5B57\u533A\u5225\u6709\u52B9\
\u5316 (\u691C\u7D22\u30AD\u30FC\u30EF\u30FC\u30C9)"
type: boolean
keyRegExp:
description: "\u6B63\u898F\u8868\u73FE (\u691C\u7D22\u30AD\u30FC\u30EF\u30FC\
\u30C9)"
type: boolean
keyword:
description: "\u691C\u7D22\u30AD\u30FC\u30EF\u30FC\u30C9"
type: string
name:
description: "\u756A\u7D44\u540D (\u691C\u7D22\u30AD\u30FC\u30EF\u30FC\u30C9\
)"
type: boolean
searchPeriods:
description: "\u691C\u7D22\u5BFE\u8C61\u671F\u9593"
items:
$ref: '#/components/schemas/SearchPeriod'
type: array
times:
description: "\u6642\u523B\u7BC4\u56F2"
items:
$ref: '#/components/schemas/SearchTime'
type: array
type: object
Rules:
description: "\u30EB\u30FC\u30EB\u60C5\u5831"
properties:
rules:
items:
$ref: '#/components/schemas/Rule'
type: array
total:
description: "\u30EB\u30FC\u30EB\u7DCF\u4EF6\u6570"
type: integer
required:
- rules
- total
type: object
Schedule:
description: "\u756A\u7D44\u8868\u30C7\u30FC\u30BF"
properties:
channel:
$ref: '#/components/schemas/ScheduleChannleItem'
programs:
$ref: '#/components/schemas/ScheduleProgramItems'
required:
- channel
- programs
ScheduleChannleItem:
description: "\u756A\u7D44\u8868\u306E\u653E\u9001\u5C40\u30C7\u30FC\u30BF"
properties:
channelType:
$ref: '#/components/schemas/ChannelType'
hasLogoData:
description: "\u30ED\u30B4\u30C7\u30FC\u30BF\u3092\u6301\u3063\u3066\u3044\
\u308B\u304B"
type: boolean
id:
$ref: '#/components/schemas/ChannelId'
name:
description: "\u653E\u9001\u5C40\u540D"
type: string
networkId:
$ref: '#/components/schemas/NetworkId'
remoteControlKeyId:
description: "\u30EA\u30E2\u30B3\u30F3\u756A\u53F7"
type: integer
serviceId:
$ref: '#/components/schemas/ServiceId'
type:
type: number
required:
- id
- serviceId
- networkId
- name
- hasLogoData
- channelType
ScheduleProgramItem:
description: "\u756A\u7D44\u8868\u306E\u756A\u7D44\u30C7\u30FC\u30BF"
properties:
audioComponentType:
type: integer
audioSamplingRate:
$ref: '#/components/schemas/ProgramAudioSamplingRate'
channelId:
$ref: '#/components/schemas/ChannelId'
description:
description: "\u756A\u7D44\u8A73\u7D30"
type: string
endAt:
$ref: '#/components/schemas/UnixtimeMS'
extended:
description: "\u756A\u7D44\u62E1\u5F35"
type: string
genre1:
$ref: '#/components/schemas/ProgramGenreLv1'
genre2:
$ref: '#/components/schemas/ProgramGenreLv1'
genre3:
$ref: '#/components/schemas/ProgramGenreLv1'
id:
$ref: '#/components/schemas/ProgramId'
isFree:
description: "\u7121\u6599\u653E\u9001\u304B"
type: boolean
name:
description: "\u756A\u7D44\u540D"
type: string
rawExtended:
description: "\u756A\u7D44\u62E1\u5F35 (Mirakurun \u306E extended)"
type: object
startAt:
$ref: '#/components/schemas/UnixtimeMS'
subGenre1:
$ref: '#/components/schemas/ProgramGenreLv2'
subGenre2:
$ref: '#/components/schemas/ProgramGenreLv2'
subGenre3:
$ref: '#/components/schemas/ProgramGenreLv2'
videoComponentType:
type: integer
videoResolution:
$ref: '#/components/schemas/ProgramVideoResolution'
videoStreamContent:
type: integer
videoType:
$ref: '#/components/schemas/ProgramVideoType'
required:
- id
- channelId
- startAt
- endAt
- isFree
- name
ScheduleProgramItems:
items:
$ref: '#/components/schemas/ScheduleProgramItem'
type: array
ScheduleSearchOption:
description: "\u756A\u7D44\u691C\u7D22\u30AA\u30D7\u30B7\u30E7\u30F3"
properties:
isHalfWidth:
description: "\u534A\u89D2\u6587\u5B57\u3067\u53D6\u5F97\u3059\u308B\u304B"
type: boolean
limit:
description: "\u691C\u7D22\u7D50\u679C\u53D6\u5F97\u6700\u5927\u4EF6\u6570"
type: number
option:
$ref: '#/components/schemas/RuleSearchOption'
required:
- option
- isHalfWidth
type: object
Schedules:
items:
$ref: '#/components/schemas/Schedule'
type: array
SearchPeriod:
description: "\u691C\u7D22\u5BFE\u8C61\u671F\u9593\u30AA\u30D7\u30B7\u30E7\u30F3"
properties:
endAt:
$ref: '#/components/schemas/UnixtimeMS'
startAt:
$ref: '#/components/schemas/UnixtimeMS'
required:
- startAt
- endAt
type: object
SearchTime:
description: "\u6642\u523B\u7BC4\u56F2\u6307\u5B9A\u30AA\u30D7\u30B7\u30E7\u30F3"
properties:
range:
description: "\u958B\u59CB\u6642\u523B\u304B\u3089\u306E\u6642\u523B\u7BC4\
\u56F2(\u6642) 1 - 23, \u6642\u523B\u4E88\u7D04\u306E\u5834\u5408\u306F\
\u79D2\u3067\u6642\u9593\u306E\u9577\u3055\u3092\u6307\u5B9A\u3059\u308B\
\ 1 ~ 60 * 50 * 24 \u79D2"
type: integer
start:
description: "\u958B\u59CB\u6642\u523B 1 - 23, \u6642\u523B\u4E88\u7D04\u306E\
\u5834\u5408\u306F 0 \u6642\u3092 0 \u3068\u3057\u305F 0 ~ (60 * 50 *\
\ 24) - 1 \u79D2\u307E\u3067\u306E\u958B\u59CB\u6642\u523B\u3092\u6307\
\u5B9A\u3059\u308B"
type: integer
week:
description: "\u66DC\u65E5\u6307\u5B9A 0x01, 0x02, 0x04, 0x08, 0x10, 0x20\
\ ,0x40 \u304C\u65E5\u301C\u571F\u306B\u5BFE\u5FDC\u3059\u308B\u306E\u3067\
\ and \u6F14\u7B97\u3067\u66DC\u65E5\u3092\u6307\u5B9A\u3059\u308B"
type: integer
required:
- week
type: object
SendVideoLinkToKodiOption:
description: "kodi\u3078\u30D3\u30C7\u30AA\u30EA\u30F3\u30AF\u3092\u9001\u4FE1\
\u3059\u308B\u3068\u304D\u306E\u30AA\u30D7\u30B7\u30E7\u30F3"
properties:
kodiName:
description: "config \u306E kodi \u306E name"
type: string
required:
- kodiName
type: object
ServiceId:
description: service id
maximum: 6553565535
type: integer
StartStreamInfo:
description: "\u30B9\u30C8\u30EA\u30FC\u30E0\u958B\u59CB\u60C5\u5831"
properties:
streamId:
$ref: '#/components/schemas/StreamId'
required:
- streamId
type: object
StorageInfo:
description: "\u30B9\u30C8\u30EC\u30FC\u30B8\u60C5\u5831"
properties:
items:
items:
$ref: '#/components/schemas/StorageItem'
type: array
required:
- items
type: object
StorageItem:
description: "\u30B9\u30C8\u30EC\u30FC\u30B8\u4F7F\u7528\u72B6\u6CC1"
properties:
available:
description: "\u7A7A\u304D\u5BB9\u91CF (byte)"
type: integer
name:
description: "\u30C7\u30A3\u30B9\u30AF\u540D"
type: string
total:
description: "\u7DCF\u5BB9\u91CF (byte)"
type: integer
used:
description: "\u4F7F\u7528\u91CF (byte)"
type: integer
required:
- name
- available
- used
- total
type: object
StreamId:
description: "\u30B9\u30C8\u30EA\u30FC\u30E0 id"
type: integer
StreamInfo:
properties:
items:
items:
$ref: '#/components/schemas/StreamInfoItem'
type: array
required:
- items
type: object
StreamInfoItem:
description: "\u30B9\u30C8\u30EA\u30FC\u30E0\u60C5\u5831"
properties:
channelId:
$ref: '#/components/schemas/ChannelId'
description:
description: "\u30B9\u30C8\u30EA\u30FC\u30DF\u30F3\u30B0\u756A\u7D44\u8A73\
\u7D30"
type: string
endAt:
$ref: '#/components/schemas/UnixtimeMS'
extended:
description: "\u30B9\u30C8\u30EA\u30FC\u30DF\u30F3\u30B0\u756A\u7D44\u62E1\
\u5F35"
type: string
isEnable:
description: "\u653E\u9001\u6CE2\u304C\u6709\u52B9\u304B (HLS \u5F62\u5F0F\
\u306E\u5834\u5408\u6709\u52B9)"
type: boolean
mode:
description: "\u30B9\u30C8\u30EA\u30FC\u30DF\u30F3\u30B0\u8A2D\u5B9A"
type: number
name:
description: "\u30B9\u30C8\u30EA\u30FC\u30DF\u30F3\u30B0\u756A\u7D44\u540D"
type: string
recordedId:
$ref: '#/components/schemas/RecordedId'
startAt:
$ref: '#/components/schemas/UnixtimeMS'
streamId:
$ref: '#/components/schemas/StreamId'
type:
$ref: '#/components/schemas/StreamType'
videoFileId:
$ref: '#/components/schemas/VideoFileId'
required:
- streamId
- type
- mode
- isEnable
- channelId
- name
- startAt
- endAt
type: object
StreamType:
description: "\u30B9\u30C8\u30EA\u30FC\u30E0\u306E\u7A2E\u985E"
enum:
- LiveStream
- LiveHLS
- RecordedStream
- RecordedHLS
type: string
ThumbnailId:
description: "\u30B5\u30E0\u30CD\u30A4\u30EB id"
type: integer
URLSchemeInfo:
description: URL Scheme
properties:
android:
type: string
ios:
type: string
mac:
type: string
win:
type: string
type: object
UnixtimeMS:
description: "\u6642\u523B (ms)"
type: integer
UploadVideoFileOption:
description: "\u30D3\u30C7\u30AA\u30D5\u30A1\u30A4\u30EB\u3092\u30A2\u30C3\u30D7\
\u30ED\u30FC\u30C9"
properties:
file:
format: binary
type: string
fileType:
$ref: '#/components/schemas/VideoFileType'
parentDirectoryName:
description: "\u89AA\u4FDD\u5B58\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA"
type: string
recordedId:
$ref: '#/components/schemas/RecordedId'
subDirectory:
description: "\u4FDD\u5B58\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA"
type: string
viewName:
description: "\u8868\u793A\u540D"
type: string
required:
- recordedId
- parentDirectoryName
- viewName
- fileType
- file
type: object
Version:
description: "\u30D0\u30FC\u30B8\u30E7\u30F3\u60C5\u5831"
properties:
version:
type: string
required:
- version
type: object
VideoFile:
description: "\u30D3\u30C7\u30AA\u30D5\u30A1\u30A4\u30EB\u60C5\u5831"
properties:
filename:
description: "\u30D3\u30C7\u30AA\u30D5\u30A1\u30A4\u30EB\u540D"
type: string
id:
$ref: '#/components/schemas/VideoFileId'
name:
description: "\u30D3\u30C7\u30AA\u540D (Web\u4E0A\u306E\u8868\u793A\u540D\
)"
type: string
size:
description: "\u30D5\u30A1\u30A4\u30EB\u30B5\u30A4\u30BA"
type: integer
type:
$ref: '#/components/schemas/VideoFileType'
required:
- id
- name
- type
- size
type: object
VideoFileDuration:
description: "\u30D3\u30C7\u30AA\u30D5\u30A1\u30A4\u30EB\u306E\u9577\u3055"
properties:
duration:
description: "\u52D5\u753B\u9577(\u79D2)"
type: number
required:
- duration
type: object
VideoFileId:
description: "\u30D3\u30C7\u30AA\u30D5\u30A1\u30A4\u30EB id"
type: integer
VideoFileType:
description: "\u30D3\u30C7\u30AA\u30D5\u30A1\u30A4\u30EB\u5F62\u5F0F"
enum:
- ts
- encoded
type: string
info:
license:
name: MIT
url: https://github.com/l3tnun/EPGStation/blob/master/LICENSE
title: epgstation
version: 2.10.0
openapi: 3.0.1
paths:
/channels:
get:
description: "\u653E\u9001\u5C40\u60C5\u5831\u3092\u53D6\u5F97\u3059\u308B"
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/ChannelItems'
description: "\u653E\u9001\u5C40\u60C5\u5831\u3092\u53D6\u5F97\u3057\u307E\
\u3057\u305F"
default:
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: "\u4E88\u671F\u3057\u306A\u3044\u30A8\u30E9\u30FC"
summary: "\u653E\u9001\u5C40\u60C5\u5831\u53D6\u5F97"
tags:
- channels
parameters: []
/channels/{channelId}/logo:
get:
description: "\u653E\u9001\u5C40\u306E\u30ED\u30B4\u3092\u53D6\u5F97\u3059\u308B"
parameters:
- $ref: '#/components/parameters/PathChannelId'
responses:
'200':
content:
image/png: {}
description: "\u653E\u9001\u5C40\u306E\u30ED\u30B4\u3092\u53D6\u5F97\u3057\
\u307E\u3057\u305F"
'404':
description: Not Found
default:
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: "\u4E88\u671F\u3057\u306A\u3044\u30A8\u30E9\u30FC"
summary: "\u653E\u9001\u5C40\u30ED\u30B4\u53D6\u5F97"
tags:
- channels
parameters: []
/config:
get:
description: "config \u60C5\u5831\u3092\u53D6\u5F97\u3059\u308B"
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/Config'
description: "config \u60C5\u5831\u3092\u53D6\u5F97\u3057\u307E\u3057\u305F"
default:
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: "\u4E88\u671F\u3057\u306A\u3044\u30A8\u30E9\u30FC"
summary: "config \u60C5\u5831\u53D6\u5F97"
tags:
- config
parameters: []
/dropLogs/{dropLogFileId}:
get:
description: "\u30C9\u30ED\u30C3\u30D7\u30ED\u30B0\u3092\u53D6\u5F97\u3059\u308B"
parameters:
- $ref: '#/components/parameters/PathDropLogFileId'
- $ref: '#/components/parameters/LogFileMaxSize'
responses:
'200':
content:
text/plain: {}
description: "\u30C9\u30ED\u30C3\u30D7\u30ED\u30B0\u3092\u53D6\u5F97\u3057\
\u307E\u3057\u305F"
'404':
description: Not Found
'416':
description: "\u30D5\u30A1\u30A4\u30EB\u30B5\u30A4\u30BA\u304C\u5927\u304D\
\u3059\u304E\u308B"
default:
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: "\u4E88\u671F\u3057\u306A\u3044\u30A8\u30E9\u30FC"
summary: "\u30C9\u30ED\u30C3\u30D7\u30ED\u30B0"
tags:
- dropLogs
parameters: []
/encode:
get:
description: "\u30A8\u30F3\u30B3\u30FC\u30C9\u60C5\u5831\u3092\u53D6\u5F97\u3059\
\u308B"
parameters:
- $ref: '#/components/parameters/IsHalfWidth'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/EncodeInfo'
description: "\u30A8\u30F3\u30B3\u30FC\u30C9\u60C5\u5831\u3092\u53D6\u5F97\
\u3057\u307E\u3057\u305F"
default:
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: "\u4E88\u671F\u3057\u306A\u3044\u30A8\u30E9\u30FC"
summary: "\u30A8\u30F3\u30B3\u30FC\u30C9\u60C5\u5831\u53D6\u5F97"
tags:
- encode
parameters: []
post:
description: "\u30A8\u30F3\u30B3\u30FC\u30C9\u3092\u8FFD\u52A0\u3059\u308B"
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/AddManualEncodeProgramOption'
required: true
responses:
'201':
content:
application/json:
schema:
$ref: '#/components/schemas/AddedEncode'
description: "\u30A8\u30F3\u30B3\u30FC\u30C9\u306E\u8FFD\u52A0\u306B\u6210\
\u529F\u3057\u305F"
default:
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: "\u4E88\u671F\u3057\u306A\u3044\u30A8\u30E9\u30FC"
summary: "\u30A8\u30F3\u30B3\u30FC\u30C9\u8FFD\u52A0"
tags:
- encode
/encode/{encodeId}:
delete:
description: "\u30A8\u30F3\u30B3\u30FC\u30C9\u3092\u30AD\u30E3\u30F3\u30BB\u30EB\
\u3059\u308B"
parameters:
- $ref: '#/components/parameters/PathEncodeId'
responses:
'200':
description: "\u30A8\u30F3\u30B3\u30FC\u30C9\u3092\u30AD\u30E3\u30F3\u30BB\
\u30EB\u3057\u307E\u3057\u305F"
default:
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: "\u4E88\u671F\u3057\u306A\u3044\u30A8\u30E9\u30FC"
summary: "\u30A8\u30F3\u30B3\u30FC\u30C9\u3092\u30AD\u30E3\u30F3\u30BB\u30EB"
tags:
- encode
parameters: []
/iptv/channel.m3u8:
get:
description: "IPTV channel list \u3092\u53D6\u5F97\u3059\u308B"
parameters:
- $ref: '#/components/parameters/IPTVIsHalfWidth'
- $ref: '#/components/parameters/StreamMode'
responses:
'200':
content:
application/x-mpegURL: {}
description: "channel list \u3092\u53D6\u5F97\u3057\u307E\u3057\u305F"
default:
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: "\u4E88\u671F\u3057\u306A\u3044\u30A8\u30E9\u30FC"
summary: "IPTV channel list \u3092\u53D6\u5F97"
tags:
- iptv
parameters: []
/iptv/epg.xml:
get:
description: "IPTV epg \u3092\u53D6\u5F97\u3059\u308B"
parameters:
- $ref: '#/components/parameters/IPTVIsHalfWidth'
- $ref: '#/components/parameters/IPTVDays'
responses:
'200':
content:
application/xml: {}
description: "epg \u3092\u53D6\u5F97\u3057\u307E\u3057\u305F"
default:
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: "\u4E88\u671F\u3057\u306A\u3044\u30A8\u30E9\u30FC"
summary: "IPTV epg \u3092\u53D6\u5F97"
tags:
- iptv
parameters: []
/recorded:
get:
description: "\u9332\u753B\u60C5\u5831\u3092\u53D6\u5F97\u3059\u308B"
parameters:
- $ref: '#/components/parameters/IsHalfWidth'
- $ref: '#/components/parameters/Offset'
- $ref: '#/components/parameters/Limit'
- $ref: '#/components/parameters/IsReverse'
- $ref: '#/components/parameters/QueryRuleId'
- $ref: '#/components/parameters/QueryChannelId'
- $ref: '#/components/parameters/QueryProgramGenre'
- $ref: '#/components/parameters/QueryKeyword'
- $ref: '#/components/parameters/QueryHasOriginalFile'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/Records'
description: "\u9332\u753B\u60C5\u5831\u3092\u53D6\u5F97\u3057\u307E\u3057\
\u305F"
default:
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: "\u4E88\u671F\u3057\u306A\u3044\u30A8\u30E9\u30FC"
summary: "\u9332\u753B\u60C5\u5831\u53D6\u5F97"
tags:
- recorded
parameters: []
post:
description: "\u9332\u753B\u756A\u7D44\u60C5\u5831\u3092\u65B0\u898F\u4F5C\u6210\
\u3059\u308B"
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CreateNewRecordedOption'
required: true
responses:
'201':
content:
application/json:
schema:
$ref: '#/components/schemas/CreatedNewRecorded'
description: "\u9332\u753B\u756A\u7D44\u60C5\u5831\u306E\u65B0\u898F\u4F5C\
\u6210\u306B\u6210\u529F\u3057\u305F"
default:
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: "\u4E88\u671F\u3057\u306A\u3044\u30A8\u30E9\u30FC"
summary: "\u9332\u753B\u756A\u7D44\u60C5\u5831\u306E\u65B0\u898F\u4F5C\u6210"
tags:
- recorded
/recorded/cleanup:
parameters: []
post:
description: "\u9332\u753B\u3092\u30AF\u30EA\u30FC\u30F3\u30A2\u30C3\u30D7\u3059\
\u308B"
responses:
'200':
description: "\u9332\u753B\u3092\u30AF\u30EA\u30FC\u30F3\u30A2\u30C3\u30D7\
\u3057\u307E\u3057\u305F"
default:
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: "\u4E88\u671F\u3057\u306A\u3044\u30A8\u30E9\u30FC"
summary: "\u9332\u753B\u3092\u30AF\u30EA\u30FC\u30F3\u30A2\u30C3\u30D7"
tags:
- recorded
/recorded/options:
get:
description: "\u9332\u753B\u691C\u7D22\u30AA\u30D7\u30B7\u30E7\u30F3\u3092\u53D6\
\u5F97\u3059\u308B"
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/RecordedSearchOptions'
description: "\u9332\u753B\u691C\u7D22\u30AA\u30D7\u30B7\u30E7\u30F3\u3092\
\u53D6\u5F97\u3057\u307E\u3057\u305F"
default:
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: "\u4E88\u671F\u3057\u306A\u3044\u30A8\u30E9\u30FC"
summary: "\u9332\u753B\u691C\u7D22\u30AA\u30D7\u30B7\u30E7\u30F3\u3092\u53D6\
\u5F97"
tags:
- recorded
parameters: []
/recorded/{recordedId}:
delete:
description: "\u9332\u753B\u3092\u524A\u9664\u3059\u308B"
parameters:
- $ref: '#/components/parameters/PathRecordedId'
responses:
'200':
description: "\u9332\u753B\u3092\u524A\u9664\u3057\u307E\u3057\u305F"
default:
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: "\u4E88\u671F\u3057\u306A\u3044\u30A8\u30E9\u30FC"
summary: "\u9332\u753B\u3092\u524A\u9664"
tags:
- recorded
get:
description: "\u9332\u753B\u8A73\u7D30\u60C5\u5831\u3092\u53D6\u5F97\u3059\u308B"
parameters:
- $ref: '#/components/parameters/PathRecordedId'
- $ref: '#/components/parameters/IsHalfWidth'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/RecordedItem'
description: "\u9332\u753B\u8A73\u7D30\u60C5\u5831\u3092\u53D6\u5F97\u3057\
\u307E\u3057\u305F"
'404':
description: "\u6307\u5B9A\u3055\u308C\u305F id \u306E \u9332\u753B\u8A73\
\u7D30\u60C5\u5831\u304C\u306A\u3044"
default:
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: "\u4E88\u671F\u3057\u306A\u3044\u30A8\u30E9\u30FC"
summary: "\u9332\u753B\u8A73\u7D30\u60C5\u5831\u3092\u53D6\u5F97"
tags:
- recorded
parameters: []
/recorded/{recordedId}/encode:
delete:
description: "\u30A8\u30F3\u30B3\u30FC\u30C9\u3092\u505C\u6B62\u3059\u308B"
parameters:
- $ref: '#/components/parameters/PathRecordedId'
responses:
'200':
description: "\u30A8\u30F3\u30B3\u30FC\u30C9\u3092\u505C\u6B62\u3057\u307E\
\u3057\u305F"
default:
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: "\u4E88\u671F\u3057\u306A\u3044\u30A8\u30E9\u30FC"
summary: "\u30A8\u30F3\u30B3\u30FC\u30C9\u505C\u6B62"
tags:
- recorded
parameters: []
/recorded/{recordedId}/protect:
parameters: []
put:
description: "\u9332\u753B\u3092\u81EA\u52D5\u524A\u9664\u5BFE\u8C61\u304B\u3089\
\u9664\u5916\u3059\u308B"
parameters:
- $ref: '#/components/parameters/PathRecordedId'
responses:
'200':
description: "\u9332\u753B\u3092\u81EA\u52D5\u524A\u9664\u5BFE\u8C61\u304B\
\u3089\u9664\u5916\u3057\u307E\u3057\u305F"
default:
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: "\u4E88\u671F\u3057\u306A\u3044\u30A8\u30E9\u30FC"
summary: "\u9332\u753B\u3092\u81EA\u52D5\u524A\u9664\u5BFE\u8C61\u304B\u3089\
\u9664\u5916"
tags:
- recorded
/recorded/{recordedId}/unprotect:
parameters: []
put:
description: "\u9332\u753B\u3092\u81EA\u52D5\u524A\u9664\u5BFE\u8C61\u306B\u623B\
\u3059"
parameters:
- $ref: '#/components/parameters/PathRecordedId'
responses:
'200':
description: "\u9332\u753B\u3092\u81EA\u52D5\u524A\u9664\u5BFE\u8C61\u306B\
\u623B\u3057\u307E\u3057\u305F"
default:
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: "\u4E88\u671F\u3057\u306A\u3044\u30A8\u30E9\u30FC"
summary: "\u9332\u753B\u3092\u81EA\u52D5\u524A\u9664\u5BFE\u8C61\u306B\u623B\
\u3059"
tags:
- recorded
/recording:
get:
description: "\u9332\u753B\u4E2D\u60C5\u5831\u3092\u53D6\u5F97\u3059\u308B"
parameters:
- $ref: '#/components/parameters/Offset'
- $ref: '#/components/parameters/Limit'
- $ref: '#/components/parameters/IsHalfWidth'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/Records'
description: "\u9332\u753B\u4E2D\u60C5\u5831\u3092\u53D6\u5F97\u3057\u307E\
\u3057\u305F"
default:
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: "\u4E88\u671F\u3057\u306A\u3044\u30A8\u30E9\u30FC"
summary: "\u9332\u753B\u4E2D\u60C5\u5831\u53D6\u5F97"
tags:
- recording
parameters: []
/recording/resettimer:
parameters: []
post:
description: "\u4E88\u7D04\u30BF\u30A4\u30DE\u30FC\u3092\u518D\u8A2D\u5B9A\u3059\
\u308B"
responses:
'200':
description: "\u4E88\u7D04\u30BF\u30A4\u30DE\u30FC\u3092\u518D\u8A2D\u5B9A\
\u3057\u307E\u3057\u305F"
default:
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: "\u4E88\u671F\u3057\u306A\u3044\u30A8\u30E9\u30FC"
summary: "\u4E88\u7D04\u30BF\u30A4\u30DE\u30FC\u518D\u8A2D\u5B9A"
tags:
- recording
/reserves:
get:
description: "\u4E88\u7D04\u60C5\u5831\u3092\u53D6\u5F97\u3059\u308B"
parameters:
- $ref: '#/components/parameters/Offset'
- $ref: '#/components/parameters/Limit'
- $ref: '#/components/parameters/GetReserveType'
- $ref: '#/components/parameters/IsHalfWidth'
- $ref: '#/components/parameters/QueryRuleId'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/Reserves'
description: "\u4E88\u7D04\u60C5\u5831\u3092\u53D6\u5F97\u3057\u307E\u3057\
\u305F"
default:
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: "\u4E88\u671F\u3057\u306A\u3044\u30A8\u30E9\u30FC"
summary: "\u4E88\u7D04\u60C5\u5831\u53D6\u5F97"
tags:
- reserves
parameters: []
post:
description: "\u4E88\u7D04\u3092\u8FFD\u52A0\u3059\u308B"
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ManualReserveOption'
required: true
responses:
'201':
content:
application/json:
schema:
$ref: '#/components/schemas/AddedReserve'
description: "\u4E88\u7D04\u306E\u8FFD\u52A0\u306B\u6210\u529F\u3057\u305F"
default:
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: "\u4E88\u671F\u3057\u306A\u3044\u30A8\u30E9\u30FC"
summary: "\u4E88\u7D04\u8FFD\u52A0"
tags:
- reserves
/reserves/cnts:
get:
description: "\u4E88\u7D04\u6570\u3092\u53D6\u5F97\u3059\u308B"
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/ReserveCnts'
description: "\u4E88\u7D04\u6570\u3092\u53D6\u5F97\u3057\u307E\u3057\u305F"
default:
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: "\u4E88\u671F\u3057\u306A\u3044\u30A8\u30E9\u30FC"
summary: "\u4E88\u7D04\u6570\u53D6\u5F97"
tags:
- reserves
parameters: []
/reserves/lists:
get:
description: "\u4E88\u7D04\u30EA\u30B9\u30C8\u60C5\u5831\u3092\u53D6\u5F97\u3059\
\u308B"
parameters:
- $ref: '#/components/parameters/StartAt'
- $ref: '#/components/parameters/EndAt'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/ReserveLists'
description: "\u4E88\u7D04\u30EA\u30B9\u30C8\u60C5\u5831\u3092\u53D6\u5F97\
\u3057\u307E\u3057\u305F"
default:
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: "\u4E88\u671F\u3057\u306A\u3044\u30A8\u30E9\u30FC"
summary: "\u4E88\u7D04\u30EA\u30B9\u30C8\u60C5\u5831\u53D6\u5F97"
tags:
- reserves
parameters: []
/reserves/update:
parameters: []
post:
description: "\u4E88\u7D04\u60C5\u5831\u306E\u66F4\u65B0\u3092\u958B\u59CB\u3059\
\u308B"
responses:
'200':
description: "\u4E88\u7D04\u60C5\u5831\u306E\u66F4\u65B0\u3092\u958B\u59CB\
\u3057\u307E\u3057\u305F"
default:
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: "\u4E88\u671F\u3057\u306A\u3044\u30A8\u30E9\u30FC"
summary: "\u4E88\u7D04\u60C5\u5831\u306E\u66F4\u65B0\u958B\u59CB"
tags:
- reserves
/reserves/{reserveId}:
delete:
description: "\u4E88\u7D04\u3092\u524A\u9664\u3059\u308B"
parameters:
- $ref: '#/components/parameters/PathReserveId'
responses:
'200':
description: "\u4E88\u7D04\u3092\u524A\u9664\u3057\u307E\u3057\u305F"
default:
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: "\u4E88\u671F\u3057\u306A\u3044\u30A8\u30E9\u30FC"
summary: "\u4E88\u7D04\u524A\u9664"
tags:
- reserves
get:
description: "\u6307\u5B9A\u3055\u308C\u305F\u4E88\u7D04\u60C5\u5831\u3092\u53D6\
\u5F97\u3059\u308B"
parameters:
- $ref: '#/components/parameters/PathReserveId'
- $ref: '#/components/parameters/IsHalfWidth'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/ReserveItem'
description: "\u6307\u5B9A\u3055\u308C\u305F\u4E88\u7D04\u60C5\u5831\u3092\
\u53D6\u5F97\u3057\u307E\u3057\u305F"
'404':
description: Not Found
default:
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: "\u4E88\u671F\u3057\u306A\u3044\u30A8\u30E9\u30FC"
summary: "\u6307\u5B9A\u3055\u308C\u305F\u4E88\u7D04\u60C5\u5831\u306E\u53D6\
\u5F97"
tags:
- reserves
parameters: []
put:
description: "\u624B\u52D5\u4E88\u7D04\u3092\u66F4\u65B0\u3059\u308B"
parameters:
- $ref: '#/components/parameters/PathReserveId'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/EditManualReserveOption'
required: true
responses:
'201':
description: "\u624B\u52D5\u4E88\u7D04\u306E\u66F4\u65B0\u306B\u6210\u529F\
\u3057\u305F"
default:
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: "\u4E88\u671F\u3057\u306A\u3044\u30A8\u30E9\u30FC"
summary: "\u624B\u52D5\u4E88\u7D04\u66F4\u65B0"
tags:
- reserves
/reserves/{reserveId}/overlap:
delete:
description: "\u4E88\u7D04\u306E\u91CD\u8907\u72B6\u614B\u3092\u89E3\u9664\u3059\
\u308B"
parameters:
- $ref: '#/components/parameters/PathReserveId'
responses:
'200':
description: "\u4E88\u7D04\u306E\u91CD\u8907\u72B6\u614B\u3092\u89E3\u9664\
\u3057\u307E\u3057\u305F"
default:
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: "\u4E88\u671F\u3057\u306A\u3044\u30A8\u30E9\u30FC"
summary: "\u4E88\u7D04\u306E\u91CD\u8907\u72B6\u614B\u3092\u89E3\u9664"
tags:
- reserves
parameters: []
/reserves/{reserveId}/skip:
delete:
description: "\u4E88\u7D04\u306E\u9664\u5916\u72B6\u614B\u3092\u89E3\u9664\u3059\
\u308B"
parameters:
- $ref: '#/components/parameters/PathReserveId'
responses:
'200':
description: "\u4E88\u7D04\u306E\u9664\u5916\u72B6\u614B\u3092\u89E3\u9664\
\u3057\u307E\u3057\u305F"
default:
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: "\u4E88\u671F\u3057\u306A\u3044\u30A8\u30E9\u30FC"
summary: "\u4E88\u7D04\u306E\u9664\u5916\u72B6\u614B\u3092\u89E3\u9664"
tags:
- reserves
parameters: []
/rules:
get:
description: "\u30EB\u30FC\u30EB\u60C5\u5831\u3092\u53D6\u5F97\u3059\u308B"
parameters:
- $ref: '#/components/parameters/Offset'
- $ref: '#/components/parameters/Limit'
- $ref: '#/components/parameters/GetReserveType'
- $ref: '#/components/parameters/QueryKeyword'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/Rules'
description: "\u30EB\u30FC\u30EB\u60C5\u5831\u3092\u53D6\u5F97\u3057\u307E\
\u3057\u305F"
default:
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: "\u4E88\u671F\u3057\u306A\u3044\u30A8\u30E9\u30FC"
summary: "\u30EB\u30FC\u30EB\u60C5\u5831\u53D6\u5F97"
tags:
- rules
parameters: []
post:
description: "\u30EB\u30FC\u30EB\u3092\u8FFD\u52A0\u3059\u308B"
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/AddRuleOption'
required: true
responses:
'201':
content:
application/json:
schema:
$ref: '#/components/schemas/AddedRule'
description: "\u30EB\u30FC\u30EB\u306E\u8FFD\u52A0\u306B\u6210\u529F\u3057\
\u305F"
default:
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: "\u4E88\u671F\u3057\u306A\u3044\u30A8\u30E9\u30FC"
summary: "\u30EB\u30FC\u30EB\u8FFD\u52A0"
tags:
- rules
/rules/keyword:
get:
description: "\u30EB\u30FC\u30EB\u3092\u30AD\u30FC\u30EF\u30FC\u30C9\u691C\u7D22\
\u3059\u308B"
parameters:
- $ref: '#/components/parameters/Offset'
- $ref: '#/components/parameters/Limit'
- $ref: '#/components/parameters/QueryKeyword'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/RuleKeywordInfo'
description: "\u30EB\u30FC\u30EB\u3092\u30AD\u30FC\u30EF\u30FC\u30C9\u691C\
\u7D22\u7D50\u679C\u3092\u53D6\u5F97\u3057\u307E\u3057\u305F"
default:
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: "\u4E88\u671F\u3057\u306A\u3044\u30A8\u30E9\u30FC"
summary: "\u30EB\u30FC\u30EB\u3092\u30AD\u30FC\u30EF\u30FC\u30C9\u691C\u7D22"
tags:
- rules
parameters: []
post:
description: "\u30EB\u30FC\u30EB\u3092\u8FFD\u52A0\u3059\u308B"
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/AddRuleOption'
required: true
responses:
'201':
content:
application/json:
schema:
$ref: '#/components/schemas/AddedRule'
description: "\u30EB\u30FC\u30EB\u306E\u8FFD\u52A0\u306B\u6210\u529F\u3057\
\u305F"
default:
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: "\u4E88\u671F\u3057\u306A\u3044\u30A8\u30E9\u30FC"
summary: "\u30EB\u30FC\u30EB\u8FFD\u52A0"
tags:
- rules
/rules/{ruleId}:
delete:
description: "\u30EB\u30FC\u30EB\u3092\u524A\u9664\u3059\u308B"
parameters:
- $ref: '#/components/parameters/PathRuleId'
responses:
'200':
description: "\u30EB\u30FC\u30EB\u3092\u524A\u9664\u3057\u307E\u3057\u305F"
default:
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: "\u4E88\u671F\u3057\u306A\u3044\u30A8\u30E9\u30FC"
summary: "\u30EB\u30FC\u30EB\u524A\u9664"
tags:
- rules
get:
description: "\u30EB\u30FC\u30EB\u3092\u53D6\u5F97\u3059\u308B"
parameters:
- $ref: '#/components/parameters/PathRuleId'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/Rule'
description: "\u30EB\u30FC\u30EB\u3092\u524A\u9664\u3057\u307E\u3057\u305F"
'404':
description: "\u6307\u5B9A\u3055\u308C\u305F id \u306E rule \u304C\u306A\
\u3044"
default:
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: "\u4E88\u671F\u3057\u306A\u3044\u30A8\u30E9\u30FC"
summary: "\u30EB\u30FC\u30EB\u53D6\u5F97"
tags:
- rules
parameters: []
put:
description: "\u30EB\u30FC\u30EB\u3092\u66F4\u65B0\u3059\u308B"
parameters:
- $ref: '#/components/parameters/PathRuleId'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/AddRuleOption'
required: true
responses:
'200':
description: "\u30EB\u30FC\u30EB\u306E\u66F4\u65B0\u306B\u6210\u529F\u3057\
\u305F"
default:
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: "\u4E88\u671F\u3057\u306A\u3044\u30A8\u30E9\u30FC"
summary: "\u30EB\u30FC\u30EB\u66F4\u65B0"
tags:
- rules
/rules/{ruleId}/disable:
parameters: []
put:
description: "\u30EB\u30FC\u30EB\u3092\u7121\u52B9\u5316\u3059\u308B"
parameters:
- $ref: '#/components/parameters/PathRuleId'
responses:
'200':
description: "\u30EB\u30FC\u30EB\u3092\u7121\u52B9\u5316\u3057\u307E\u3057\
\u305F"
default:
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: "\u4E88\u671F\u3057\u306A\u3044\u30A8\u30E9\u30FC"
summary: "\u30EB\u30FC\u30EB\u7121\u52B9\u5316"
tags:
- rules
/rules/{ruleId}/enable:
parameters: []
put:
description: "\u30EB\u30FC\u30EB\u3092\u6709\u52B9\u5316\u3059\u308B"
parameters:
- $ref: '#/components/parameters/PathRuleId'
responses:
'200':
description: "\u30EB\u30FC\u30EB\u3092\u6709\u52B9\u5316\u3057\u307E\u3057\
\u305F"
default:
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: "\u4E88\u671F\u3057\u306A\u3044\u30A8\u30E9\u30FC"
summary: "\u30EB\u30FC\u30EB\u6709\u52B9\u5316"
tags:
- rules
/schedules:
get:
description: "\u756A\u7D44\u8868\u60C5\u5831\u3092\u53D6\u5F97\u3059\u308B"
parameters:
- $ref: '#/components/parameters/StartAt'
- $ref: '#/components/parameters/EndAt'
- $ref: '#/components/parameters/IsHalfWidth'
- $ref: '#/components/parameters/NeedsRawExtended'
- $ref: '#/components/parameters/IsFreeProgram'
- $ref: '#/components/parameters/requiredGR'
- $ref: '#/components/parameters/requiredBS'
- $ref: '#/components/parameters/requiredCS'
- $ref: '#/components/parameters/requiredSKY'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/Schedules'
description: "\u756A\u7D44\u8868\u60C5\u5831\u3092\u53D6\u5F97\u3057\u307E\
\u3057\u305F"
default:
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: "\u4E88\u671F\u3057\u306A\u3044\u30A8\u30E9\u30FC"
summary: "\u756A\u7D44\u8868\u60C5\u5831\u53D6\u5F97"
tags:
- schedules
parameters: []
/schedules/broadcasting:
get:
description: "\u653E\u6620\u4E2D\u306E\u756A\u7D44\u60C5\u5831\u3092\u53D6\u5F97\
\u3059\u308B"
parameters:
- $ref: '#/components/parameters/AddtionTime'
- $ref: '#/components/parameters/IsHalfWidth'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/Schedules'
description: "\u653E\u6620\u4E2D\u306E\u756A\u7D44\u60C5\u5831\u3092\u53D6\
\u5F97\u3057\u307E\u3057\u305F"
default:
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: "\u4E88\u671F\u3057\u306A\u3044\u30A8\u30E9\u30FC"
summary: "\u653E\u6620\u4E2D\u306E\u756A\u7D44\u60C5\u5831\u53D6\u5F97"
tags:
- schedules
parameters: []
/schedules/detail/{programId}:
get:
description: "\u6307\u5B9A\u3055\u308C\u305F\u756A\u7D44\u8868\u60C5\u5831\u3092\
\u53D6\u5F97\u3059\u308B"
parameters:
- $ref: '#/components/parameters/PathProgramId'
- $ref: '#/components/parameters/IsHalfWidth'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/ScheduleProgramItem'
description: "\u6307\u5B9A\u3055\u308C\u305F\u756A\u7D44\u8868\u60C5\u5831\
\u3092\u53D6\u5F97\u3057\u307E\u3057\u305F"
'404':
description: Not Found
default:
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: "\u4E88\u671F\u3057\u306A\u3044\u30A8\u30E9\u30FC"
summary: "\u6307\u5B9A\u3055\u308C\u305F\u756A\u7D44\u8868\u60C5\u5831\u53D6\
\u5F97"
tags:
- schedules
parameters: []
/schedules/search:
parameters: []
post:
description: "\u756A\u7D44\u691C\u7D22\u7D50\u679C\u3092\u53D6\u5F97\u3059\u308B"
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ScheduleSearchOption'
required: true
responses:
'200':
content:
application/json:
schema:
items:
$ref: '#/components/schemas/ScheduleProgramItem'
type: array
description: "\u756A\u7D44\u691C\u7D22\u7D50\u679C\u3092\u53D6\u5F97\u3057\
\u307E\u3057\u305F"
default:
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: "\u4E88\u671F\u3057\u306A\u3044\u30A8\u30E9\u30FC"
summary: "\u756A\u7D44\u691C\u7D22\u7D50\u679C\u3092\u53D6\u5F97"
tags:
- schedules
/schedules/{channelId}:
get:
description: "\u6307\u5B9A\u3055\u308C\u305F\u653E\u9001\u5C40\u306E\u756A\u7D44\
\u8868\u60C5\u5831\u3092\u53D6\u5F97\u3059\u308B"
parameters:
- $ref: '#/components/parameters/PathChannelId'
- $ref: '#/components/parameters/StartAt'
- $ref: '#/components/parameters/Days'
- $ref: '#/components/parameters/IsHalfWidth'
- $ref: '#/components/parameters/NeedsRawExtended'
- $ref: '#/components/parameters/IsFreeProgram'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/Schedules'
description: "\u6307\u5B9A\u3055\u308C\u305F\u653E\u9001\u5C40\u306E\u756A\
\u7D44\u8868\u60C5\u5831\u3092\u53D6\u5F97\u3057\u307E\u3057\u305F"
default:
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: "\u4E88\u671F\u3057\u306A\u3044\u30A8\u30E9\u30FC"
summary: "\u6307\u5B9A\u3055\u308C\u305F\u653E\u9001\u5C40\u306E\u756A\u7D44\
\u8868\u60C5\u5831\u53D6\u5F97"
tags:
- schedules
parameters: []
/storages:
get:
description: "\u30B9\u30C8\u30EC\u30FC\u30B8\u60C5\u5831\u3092\u53D6\u5F97\u3059\
\u308B"
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/StorageInfo'
description: "\u30B9\u30C8\u30EC\u30FC\u30B8\u60C5\u5831\u3092\u53D6\u5F97\
\u3057\u307E\u3057\u305F"
default:
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: "\u4E88\u671F\u3057\u306A\u3044\u30A8\u30E9\u30FC"
summary: "\u30B9\u30C8\u30EC\u30FC\u30B8\u60C5\u5831\u53D6\u5F97"
tags:
- storages
parameters: []
/streams:
delete:
description: "\u5168\u3066\u306E\u30B9\u30C8\u30EA\u30FC\u30E0\u3092\u505C\u6B62\
\u3059\u308B"
responses:
'200':
description: "\u5168\u3066\u306E\u30B9\u30C8\u30EA\u30FC\u30E0\u3092\u505C\
\u6B62\u3057\u307E\u3057\u305F"
default:
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: "\u4E88\u671F\u3057\u306A\u3044\u30A8\u30E9\u30FC"
summary: "\u5168\u3066\u306E\u30B9\u30C8\u30EA\u30FC\u30E0\u3092\u505C\u6B62"
tags:
- streams
get:
description: "\u30B9\u30C8\u30EA\u30FC\u30E0\u60C5\u5831\u3092\u53D6\u5F97\u3059\
\u308B"
parameters:
- $ref: '#/components/parameters/IsHalfWidth'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/StreamInfo'
description: "\u30B9\u30C8\u30EA\u30FC\u30E0\u60C5\u5831\u3092\u53D6\u5F97\
\u3057\u307E\u3057\u305F"
default:
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: "\u4E88\u671F\u3057\u306A\u3044\u30A8\u30E9\u30FC"
summary: "\u30B9\u30C8\u30EA\u30FC\u30E0\u60C5\u5831\u3092\u53D6\u5F97"
tags:
- streams
parameters: []
/streams/live/{channelId}/hls:
get:
description: "\u30E9\u30A4\u30D6 HLS \u30B9\u30C8\u30EA\u30FC\u30E0\u3092\u958B\
\u59CB\u3059\u308B"
parameters:
- $ref: '#/components/parameters/PathChannelId'
- $ref: '#/components/parameters/StreamMode'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/StartStreamInfo'
description: "\u30E9\u30A4\u30D6 HLS \u30B9\u30C8\u30EA\u30FC\u30E0\u3092\
\u958B\u59CB\u3057\u307E\u3057\u305F"
default:
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: "\u4E88\u671F\u3057\u306A\u3044\u30A8\u30E9\u30FC"
summary: "\u30E9\u30A4\u30D6 HLS \u30B9\u30C8\u30EA\u30FC\u30E0"
tags:
- streams
parameters: []
/streams/live/{channelId}/m2ts:
get:
description: "\u30E9\u30A4\u30D6 M2TS \u30B9\u30C8\u30EA\u30FC\u30E0\u3092\u53D6\
\u5F97\u3059\u308B"
parameters:
- $ref: '#/components/parameters/PathChannelId'
- $ref: '#/components/parameters/StreamMode'
responses:
'200':
content:
video/mp2t: {}
description: "\u30E9\u30A4\u30D6 M2TS \u30B9\u30C8\u30EA\u30FC\u30E0"
default:
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: "\u4E88\u671F\u3057\u306A\u3044\u30A8\u30E9\u30FC"
summary: "\u30E9\u30A4\u30D6 M2TS \u30B9\u30C8\u30EA\u30FC\u30E0"
tags:
- streams
parameters: []
/streams/live/{channelId}/m2ts/playlist:
get:
description: "\u30E9\u30A4\u30D6 M2TS \u30B9\u30C8\u30EA\u30FC\u30E0\u30D7\u30EC\
\u30A4\u30EA\u30B9\u30C8\u3092\u53D6\u5F97\u3059\u308B"
parameters:
- $ref: '#/components/parameters/PathChannelId'
- $ref: '#/components/parameters/StreamMode'
responses:
'200':
content:
application/x-mpegURL: {}
description: "\u30E9\u30A4\u30D6 M2TS \u30B9\u30C8\u30EA\u30FC\u30E0\u30D7\
\u30EC\u30A4\u30EA\u30B9\u30C8\u3092\u53D6\u5F97\u3057\u307E\u3057\u305F"
default:
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: "\u4E88\u671F\u3057\u306A\u3044\u30A8\u30E9\u30FC"
summary: "\u30E9\u30A4\u30D6 M2TS \u30B9\u30C8\u30EA\u30FC\u30E0\u30D7\u30EC\
\u30A4\u30EA\u30B9\u30C8"
tags:
- streams
parameters: []
/streams/live/{channelId}/m2tsll:
get:
description: "\u30E9\u30A4\u30D6 M2TS Low Latency \u30B9\u30C8\u30EA\u30FC\u30E0\
\u3092\u53D6\u5F97\u3059\u308B"
parameters:
- $ref: '#/components/parameters/PathChannelId'
- $ref: '#/components/parameters/StreamMode'
responses:
'200':
content:
video/mp2t: {}
description: "\u30E9\u30A4\u30D6 M2TS Low Latency \u30B9\u30C8\u30EA\u30FC\
\u30E0"
default:
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: "\u4E88\u671F\u3057\u306A\u3044\u30A8\u30E9\u30FC"
summary: "\u30E9\u30A4\u30D6 M2TS Low Latency (mpegts.js \u7528) \u30B9\u30C8\
\u30EA\u30FC\u30E0"
tags:
- streams
parameters: []
/streams/live/{channelId}/mp4:
get:
description: "\u30E9\u30A4\u30D6 mp4 \u30B9\u30C8\u30EA\u30FC\u30E0\u3092\u53D6\
\u5F97\u3059\u308B"
parameters:
- $ref: '#/components/parameters/PathChannelId'
- $ref: '#/components/parameters/StreamMode'
responses:
'200':
content:
video/mp4: {}
description: "\u30E9\u30A4\u30D6 mp4 \u30B9\u30C8\u30EA\u30FC\u30E0"
default:
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: "\u4E88\u671F\u3057\u306A\u3044\u30A8\u30E9\u30FC"
summary: "\u30E9\u30A4\u30D6 mp4 \u30B9\u30C8\u30EA\u30FC\u30E0"
tags:
- streams
parameters: []
/streams/live/{channelId}/webm:
get:
description: "\u30E9\u30A4\u30D6 WebM \u30B9\u30C8\u30EA\u30FC\u30E0\u3092\u53D6\
\u5F97\u3059\u308B"
parameters:
- $ref: '#/components/parameters/PathChannelId'
- $ref: '#/components/parameters/StreamMode'
responses:
'200':
content:
video/webm: {}
description: "\u30E9\u30A4\u30D6 WebM \u30B9\u30C8\u30EA\u30FC\u30E0"
default:
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: "\u4E88\u671F\u3057\u306A\u3044\u30A8\u30E9\u30FC"
summary: "\u30E9\u30A4\u30D6 WebM \u30B9\u30C8\u30EA\u30FC\u30E0"
tags:
- streams
parameters: []
/streams/recorded/{videoFileId}/hls:
get:
description: "\u9332\u753B HLS \u30B9\u30C8\u30EA\u30FC\u30E0\u3092\u958B\u59CB\
\u3059\u308B"
parameters:
- $ref: '#/components/parameters/PathVideoFileId'
- $ref: '#/components/parameters/StreamPlayPosition'
- $ref: '#/components/parameters/StreamMode'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/StartStreamInfo'
description: "\u9332\u753B HLS \u30B9\u30C8\u30EA\u30FC\u30E0\u3092\u958B\
\u59CB\u3057\u307E\u3057\u305F"
default:
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: "\u4E88\u671F\u3057\u306A\u3044\u30A8\u30E9\u30FC"
summary: "\u9332\u753B HLS \u30B9\u30C8\u30EA\u30FC\u30E0"
tags:
- streams
parameters: []
/streams/recorded/{videoFileId}/mp4:
get:
description: "\u9332\u753B mp4 \u30B9\u30C8\u30EA\u30FC\u30E0\u3092\u53D6\u5F97\
\u3059\u308B"
parameters:
- $ref: '#/components/parameters/PathVideoFileId'
- $ref: '#/components/parameters/StreamPlayPosition'
- $ref: '#/components/parameters/StreamMode'
responses:
'200':
content:
video/mp4: {}
description: "\u9332\u753B mp4 \u30B9\u30C8\u30EA\u30FC\u30E0"
default:
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: "\u4E88\u671F\u3057\u306A\u3044\u30A8\u30E9\u30FC"
summary: "\u9332\u753B mp4 \u30B9\u30C8\u30EA\u30FC\u30E0"
tags:
- streams
parameters: []
/streams/recorded/{videoFileId}/webm:
get:
description: "\u9332\u753B WebM \u30B9\u30C8\u30EA\u30FC\u30E0\u3092\u53D6\u5F97\
\u3059\u308B"
parameters:
- $ref: '#/components/parameters/PathVideoFileId'
- $ref: '#/components/parameters/StreamPlayPosition'
- $ref: '#/components/parameters/StreamMode'
responses:
'200':
content:
video/webm: {}
description: "\u9332\u753B WebM \u30B9\u30C8\u30EA\u30FC\u30E0"
default:
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: "\u4E88\u671F\u3057\u306A\u3044\u30A8\u30E9\u30FC"
summary: "\u9332\u753B WebM \u30B9\u30C8\u30EA\u30FC\u30E0"
tags:
- streams
parameters: []
/streams/{streamId}:
delete:
description: "\u30B9\u30C8\u30EA\u30FC\u30E0\u3092\u505C\u6B62\u3059\u308B"
parameters:
- $ref: '#/components/parameters/PathStreamId'
responses:
'200':
description: "\u30B9\u30C8\u30EA\u30FC\u30E0\u3092\u505C\u6B62\u3057\u307E\
\u3057\u305F"
default:
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: "\u4E88\u671F\u3057\u306A\u3044\u30A8\u30E9\u30FC"
summary: "\u30B9\u30C8\u30EA\u30FC\u30E0\u3092\u505C\u6B62"
tags:
- streams
parameters: []
/streams/{streamId}/keep:
parameters: []
put:
description: "\u30B9\u30C8\u30EA\u30FC\u30E0\u505C\u6B62\u30BF\u30A4\u30DE\u30FC\
\u3092\u66F4\u65B0\u3059\u308B"
parameters:
- $ref: '#/components/parameters/PathStreamId'
responses:
'200':
description: "\u30B9\u30C8\u30EA\u30FC\u30E0\u505C\u6B62\u30BF\u30A4\u30DE\
\u30FC\u3092\u66F4\u65B0\u3057\u307E\u3057\u305F"
default:
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: "\u4E88\u671F\u3057\u306A\u3044\u30A8\u30E9\u30FC"
summary: "\u30B9\u30C8\u30EA\u30FC\u30E0\u505C\u6B62\u30BF\u30A4\u30DE\u30FC\
\u3092\u66F4\u65B0\u3059\u308B"
tags:
- streams
/tags:
get:
description: "\u30BF\u30B0\u60C5\u5831\u3092\u53D6\u5F97\u3059\u308B"
parameters:
- $ref: '#/components/parameters/Offset'
- $ref: '#/components/parameters/Limit'
- $ref: '#/components/parameters/QueryName'
- $ref: '#/components/parameters/QueryExcludeRecordedTagId'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/RecordedTags'
description: "\u30BF\u30B0\u60C5\u5831\u3092\u53D6\u5F97\u3057\u307E\u3057\
\u305F"
default:
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: "\u4E88\u671F\u3057\u306A\u3044\u30A8\u30E9\u30FC"
summary: "\u30BF\u30B0\u60C5\u5831\u53D6\u5F97"
tags:
- tags
parameters: []
post:
description: "\u30BF\u30B0\u3092\u8FFD\u52A0\u3059\u308B"
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/AddRecordedTagOption'
required: true
responses:
'201':
content:
application/json:
schema:
$ref: '#/components/schemas/AddedRecordedTag'
description: "\u30BF\u30B0\u306E\u8FFD\u52A0\u306B\u6210\u529F\u3057\u305F"
default:
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: "\u4E88\u671F\u3057\u306A\u3044\u30A8\u30E9\u30FC"
summary: "\u30BF\u30B0\u8FFD\u52A0"
tags:
- tags
/tags/{tagId}:
delete:
description: "\u30BF\u30B0\u3092\u524A\u9664\u3059\u308B"
parameters:
- $ref: '#/components/parameters/PathRecordedTagId'
responses:
'200':
description: "\u30BF\u30B0\u3092\u524A\u9664\u3057\u307E\u3057\u305F"
default:
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: "\u4E88\u671F\u3057\u306A\u3044\u30A8\u30E9\u30FC"
summary: "\u30BF\u30B0\u524A\u9664"
tags:
- tags
parameters: []
put:
description: "\u30BF\u30B0\u540D\u3092\u5909\u66F4\u3059\u308B"
parameters:
- $ref: '#/components/parameters/PathRecordedTagId'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/AddRecordedTagOption'
required: true
responses:
'200':
description: "\u30BF\u30B0\u306E\u66F4\u65B0\u306B\u6210\u529F\u3057\u305F"
default:
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: "\u4E88\u671F\u3057\u306A\u3044\u30A8\u30E9\u30FC"
summary: "\u30BF\u30B0\u540D\u5909\u66F4"
tags:
- tags
/tags/{tagId}/relate:
delete:
description: "\u9332\u753B\u756A\u7D44\u3068\u30BF\u30B0\u306E\u95A2\u9023\u4ED8\
\u3051\u3092\u524A\u9664\u3059\u308B"
parameters:
- $ref: '#/components/parameters/PathRecordedTagId'
- $ref: '#/components/parameters/QueryRecordedId'
responses:
'200':
description: "\u9332\u753B\u756A\u7D44\u3068\u30BF\u30B0\u306E\u95A2\u9023\
\u4ED8\u3051\u3092\u524A\u9664\u3057\u307E\u3057\u305F"
default:
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: "\u4E88\u671F\u3057\u306A\u3044\u30A8\u30E9\u30FC"
summary: "\u9332\u753B\u756A\u7D44\u3068\u30BF\u30B0\u306E\u95A2\u9023\u4ED8\
\u3051\u3092\u524A\u9664"
tags:
- tags
parameters: []
put:
description: "\u9332\u753B\u756A\u7D44\u3068\u30BF\u30B0\u3092\u95A2\u9023\u4ED8\
\u3051\u3059\u308B"
parameters:
- $ref: '#/components/parameters/PathRecordedTagId'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/RelateRecordedTagOption'
required: true
responses:
'200':
description: "\u9332\u753B\u756A\u7D44\u3068\u30BF\u30B0\u306E\u95A2\u9023\
\u4ED8\u3051\u306B\u6210\u529F\u3057\u305F"
default:
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: "\u4E88\u671F\u3057\u306A\u3044\u30A8\u30E9\u30FC"
summary: "\u9332\u753B\u756A\u7D44\u3068\u30BF\u30B0\u3092\u95A2\u9023\u4ED8\
\u3051\u308B"
tags:
- tags
/thumbnails:
parameters: []
post:
description: "\u30B5\u30E0\u30CD\u30A4\u30EB\u306E\u8FFD\u52A0\u3067\u518D\u751F\
\u6210\u3092\u958B\u59CB\u3059\u308B"
responses:
'200':
description: "\u30B5\u30E0\u30CD\u30A4\u30EB\u306E\u518D\u751F\u6210\u3092\
\u958B\u59CB\u3057\u307E\u3057\u305F"
default:
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: "\u4E88\u671F\u3057\u306A\u3044\u30A8\u30E9\u30FC"
summary: "\u30B5\u30E0\u30CD\u30A4\u30EB\u518D\u751F\u6210"
tags:
- thumbnails
/thumbnails/cleanup:
parameters: []
post:
description: "\u30B5\u30E0\u30CD\u30A4\u30EB\u3092\u30AF\u30EA\u30FC\u30F3\u30A2\
\u30C3\u30D7\u3059\u308B"
responses:
'200':
description: "\u30B5\u30E0\u30CD\u30A4\u30EB\u3092\u30AF\u30EA\u30FC\u30F3\
\u30A2\u30C3\u30D7\u3057\u307E\u3057\u305F"
default:
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: "\u4E88\u671F\u3057\u306A\u3044\u30A8\u30E9\u30FC"
summary: "\u30B5\u30E0\u30CD\u30A4\u30EB\u3092\u30AF\u30EA\u30FC\u30F3\u30A2\
\u30C3\u30D7"
tags:
- thumbnails
/thumbnails/videos/{videoFileId}:
parameters: []
post:
description: "\u30B5\u30E0\u30CD\u30A4\u30EB\u306E\u751F\u6210\u3092\u958B\u59CB\
\u3055\u305B\u308B"
parameters:
- $ref: '#/components/parameters/PathVideoFileId'
responses:
'200':
description: "\u8FFD\u52A0\u30B5\u30E0\u30CD\u30A4\u30EB\u306E\u751F\u6210\
\u3092\u958B\u59CB\u3057\u307E\u3057\u305F"
default:
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: "\u4E88\u671F\u3057\u306A\u3044\u30A8\u30E9\u30FC"
summary: "\u30B5\u30E0\u30CD\u30A4\u30EB\u8FFD\u52A0"
tags:
- thumbnails
/thumbnails/{thumbnailId}:
delete:
description: "\u30B5\u30E0\u30CD\u30A4\u30EB\u3092\u524A\u9664\u3059\u308B"
parameters:
- $ref: '#/components/parameters/PathThumbnailId'
responses:
'200':
content:
image/jpeg: {}
description: "\u30B5\u30E0\u30CD\u30A4\u30EB\u3092\u524A\u9664\u3057\u307E\
\u3057\u305F"
default:
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: "\u4E88\u671F\u3057\u306A\u3044\u30A8\u30E9\u30FC"
summary: "\u30B5\u30E0\u30CD\u30A4\u30EB"
tags:
- thumbnails
get:
description: "\u30B5\u30E0\u30CD\u30A4\u30EB\u3092\u53D6\u5F97\u3059\u308B"
parameters:
- $ref: '#/components/parameters/PathThumbnailId'
responses:
'200':
content:
image/jpeg: {}
description: "\u30B5\u30E0\u30CD\u30A4\u30EB\u3092\u53D6\u5F97\u3057\u307E\
\u3057\u305F"
default:
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: "\u4E88\u671F\u3057\u306A\u3044\u30A8\u30E9\u30FC"
summary: "\u30B5\u30E0\u30CD\u30A4\u30EB"
tags:
- thumbnails
parameters: []
/version:
get:
description: "\u30D0\u30FC\u30B8\u30E7\u30F3\u60C5\u5831\u3092\u53D6\u5F97\u3059\
\u308B"
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/Version'
description: "\u30D0\u30FC\u30B8\u30E7\u30F3\u60C5\u5831\u3092\u53D6\u5F97\
\u3057\u307E\u3057\u305F"
default:
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: "\u4E88\u671F\u3057\u306A\u3044\u30A8\u30E9\u30FC"
summary: "\u30D0\u30FC\u30B8\u30E7\u30F3\u60C5\u5831\u53D6\u5F97"
tags:
- version
parameters: []
/videos/upload:
parameters: []
post:
description: "\u30A2\u30C3\u30D7\u30ED\u30FC\u30C9\u3057\u305F\u30D3\u30C7\u30AA\
\u30D5\u30A1\u30A4\u30EB\u3092\u8FFD\u52A0\u3059\u308B"
requestBody:
content:
multipart/form-data:
schema:
$ref: '#/components/schemas/UploadVideoFileOption'
responses:
'200':
description: "\u30A2\u30C3\u30D7\u30ED\u30FC\u30C9\u3057\u305F\u30D3\u30C7\
\u30AA\u30D5\u30A1\u30A4\u30EB\u3092\u8FFD\u52A0\u3057\u307E\u3057\u305F"
default:
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: "\u4E88\u671F\u3057\u306A\u3044\u30A8\u30E9\u30FC"
summary: "\u30A2\u30C3\u30D7\u30ED\u30FC\u30C9\u3057\u305F\u30D3\u30C7\u30AA\
\u30D5\u30A1\u30A4\u30EB\u3092\u8FFD\u52A0"
tags:
- videos
/videos/{videoFileId}:
delete:
description: "\u30D3\u30C7\u30AA\u30D5\u30A1\u30A4\u30EB\u3092\u524A\u9664\u3059\
\u308B"
parameters:
- $ref: '#/components/parameters/PathVideoFileId'
responses:
'200':
description: "\u30D3\u30C7\u30AA\u30D5\u30A1\u30A4\u30EB\u3092\u524A\u9664\
\u3057\u307E\u3057\u305F"
default:
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: "\u4E88\u671F\u3057\u306A\u3044\u30A8\u30E9\u30FC"
summary: "\u30D3\u30C7\u30AA\u30D5\u30A1\u30A4\u30EB"
tags:
- videos
get:
description: "\u30D3\u30C7\u30AA\u30D5\u30A1\u30A4\u30EB\u3092\u53D6\u5F97\u3059\
\u308B"
parameters:
- $ref: '#/components/parameters/PathVideoFileId'
- $ref: '#/components/parameters/IsDownload'
responses:
'200':
content:
application/octet-stream: {}
video/mp2t: {}
video/mp4: {}
video/webm: {}
video/x-matroska: {}
description: "\u30D3\u30C7\u30AA\u30D5\u30A1\u30A4\u30EB\u3092\u53D6\u5F97\
\u3057\u307E\u3057\u305F"
default:
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: "\u4E88\u671F\u3057\u306A\u3044\u30A8\u30E9\u30FC"
summary: "\u30D3\u30C7\u30AA\u30D5\u30A1\u30A4\u30EB"
tags:
- videos
parameters: []
/videos/{videoFileId}/duration:
get:
description: "\u52D5\u753B\u306E\u9577\u3055\u3092\u53D6\u5F97\u3059\u308B"
parameters:
- $ref: '#/components/parameters/PathVideoFileId'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/VideoFileDuration'
description: "\u52D5\u753B\u306E\u9577\u3055\u3092\u53D6\u5F97\u3057\u307E\
\u3057\u305F"
default:
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: "\u4E88\u671F\u3057\u306A\u3044\u30A8\u30E9\u30FC"
summary: "\u52D5\u753B\u306E\u9577\u3055"
tags:
- videos
parameters: []
/videos/{videoFileId}/kodi:
parameters: []
post:
description: "\u30D3\u30C7\u30AA\u30EA\u30F3\u30AF\u3092 kodi \u3078\u9001\u4FE1\
\u3059\u308B"
parameters:
- $ref: '#/components/parameters/PathVideoFileId'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/SendVideoLinkToKodiOption'
required: true
responses:
'200':
description: "\u30D3\u30C7\u30AA\u30EA\u30F3\u30AF\u3092 kodi \u3078\u9001\
\u4FE1\u3059\u308B\u3057\u307E\u3057\u305F"
default:
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: "\u4E88\u671F\u3057\u306A\u3044\u30A8\u30E9\u30FC"
summary: "\u30D3\u30C7\u30AA\u30EA\u30F3\u30AF\u3092 kodi \u3078\u9001\u4FE1"
tags:
- videos
/videos/{videoFileId}/playlist:
get:
description: "\u30D3\u30C7\u30AA\u30D7\u30EC\u30A4\u30EA\u30B9\u30C8\u3092\u53D6\
\u5F97\u3059\u308B"
parameters:
- $ref: '#/components/parameters/PathVideoFileId'
responses:
'200':
content:
application/x-mpegURL: {}
description: "\u30D3\u30C7\u30AA\u30D7\u30EC\u30A4\u30EA\u30B9\u30C8\u3092\
\u53D6\u5F97\u3057\u307E\u3057\u305F"
default:
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: "\u4E88\u671F\u3057\u306A\u3044\u30A8\u30E9\u30FC"
summary: "\u30D3\u30C7\u30AA\u30D7\u30EC\u30A4\u30EA\u30B9\u30C8"
tags:
- videos
parameters: []
servers:
- url: http://localhost:8888/api
tags:
- name: channels
- name: config
- name: dropLogs
- name: encode
- name: iptv
- name: recorded
- name: recording
- name: reserves
- name: rules
- name: schedules
- name: storages
- name: streams
- name: tags
- name: thumbnails
- name: version
- name: videos
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment