{ "openapi": "3.1.1", "info": { "title": "ErsatzTV | v1", "version": "1.0.0" }, "paths": { "/api/channels": { "get": { "tags": [ "Channel" ], "responses": { "200": { "description": "OK", "content": { "text/plain": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/ChannelResponseModel" } } }, "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/ChannelResponseModel" } } }, "text/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/ChannelResponseModel" } } } } } } }, "post": { "tags": [ "Channels" ], "summary": "Create a channel", "requestBody": { "content": { "application/json-patch+json": { "schema": { "$ref": "#/components/schemas/CreateChannelRequest" } }, "application/json": { "schema": { "$ref": "#/components/schemas/CreateChannelRequest" } }, "text/json": { "schema": { "$ref": "#/components/schemas/CreateChannelRequest" } }, "application/*+json": { "schema": { "$ref": "#/components/schemas/CreateChannelRequest" } } }, "required": true }, "responses": { "201": { "description": "Created", "content": { "text/plain": { "schema": { "$ref": "#/components/schemas/ChannelViewModel" } }, "application/json": { "schema": { "$ref": "#/components/schemas/ChannelViewModel" } }, "text/json": { "schema": { "$ref": "#/components/schemas/ChannelViewModel" } } } }, "404": { "description": "Not Found", "content": { "text/plain": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } }, "application/json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } }, "text/json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "422": { "description": "Unprocessable Entity", "content": { "text/plain": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } }, "application/json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } }, "text/json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } } } } }, "/api/channels/{id}": { "get": { "tags": [ "Channels" ], "summary": "Get a channel by id", "operationId": "GetChannelById", "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "integer", "format": "int32" } } ], "responses": { "200": { "description": "OK", "content": { "text/plain": { "schema": { "$ref": "#/components/schemas/ChannelViewModel" } }, "application/json": { "schema": { "$ref": "#/components/schemas/ChannelViewModel" } }, "text/json": { "schema": { "$ref": "#/components/schemas/ChannelViewModel" } } } }, "404": { "description": "Not Found", "content": { "text/plain": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } }, "application/json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } }, "text/json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } } } }, "put": { "tags": [ "Channels" ], "summary": "Update a channel", "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "integer", "format": "int32" } } ], "requestBody": { "content": { "application/json-patch+json": { "schema": { "$ref": "#/components/schemas/UpdateChannelRequest" } }, "application/json": { "schema": { "$ref": "#/components/schemas/UpdateChannelRequest" } }, "text/json": { "schema": { "$ref": "#/components/schemas/UpdateChannelRequest" } }, "application/*+json": { "schema": { "$ref": "#/components/schemas/UpdateChannelRequest" } } }, "required": true }, "responses": { "200": { "description": "OK", "content": { "text/plain": { "schema": { "$ref": "#/components/schemas/ChannelViewModel" } }, "application/json": { "schema": { "$ref": "#/components/schemas/ChannelViewModel" } }, "text/json": { "schema": { "$ref": "#/components/schemas/ChannelViewModel" } } } }, "404": { "description": "Not Found", "content": { "text/plain": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } }, "application/json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } }, "text/json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "422": { "description": "Unprocessable Entity", "content": { "text/plain": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } }, "application/json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } }, "text/json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } } } }, "delete": { "tags": [ "Channels" ], "summary": "Delete a channel", "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "integer", "format": "int32" } } ], "responses": { "204": { "description": "No Content" }, "404": { "description": "Not Found", "content": { "text/plain": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } }, "application/json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } }, "text/json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "422": { "description": "Unprocessable Entity", "content": { "text/plain": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } }, "application/json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } }, "text/json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } } } } }, "/api/channels/{channelNumber}/playout/reset": { "post": { "tags": [ "Channels" ], "summary": "Reset channel playout", "parameters": [ { "name": "channelNumber", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "OK" }, "404": { "description": "Not Found", "content": { "text/plain": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } }, "application/json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } }, "text/json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } } } } }, "/api/collections": { "get": { "tags": [ "Collections" ], "summary": "Get all collections", "responses": { "200": { "description": "OK", "content": { "text/plain": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/MediaCollectionViewModel" } } }, "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/MediaCollectionViewModel" } } }, "text/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/MediaCollectionViewModel" } } } } } } }, "post": { "tags": [ "Collections" ], "summary": "Create a collection", "requestBody": { "content": { "application/json-patch+json": { "schema": { "$ref": "#/components/schemas/CreateCollectionRequest" } }, "application/json": { "schema": { "$ref": "#/components/schemas/CreateCollectionRequest" } }, "text/json": { "schema": { "$ref": "#/components/schemas/CreateCollectionRequest" } }, "application/*+json": { "schema": { "$ref": "#/components/schemas/CreateCollectionRequest" } } }, "required": true }, "responses": { "201": { "description": "Created", "content": { "text/plain": { "schema": { "$ref": "#/components/schemas/MediaCollectionViewModel" } }, "application/json": { "schema": { "$ref": "#/components/schemas/MediaCollectionViewModel" } }, "text/json": { "schema": { "$ref": "#/components/schemas/MediaCollectionViewModel" } } } }, "404": { "description": "Not Found", "content": { "text/plain": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } }, "application/json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } }, "text/json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "422": { "description": "Unprocessable Entity", "content": { "text/plain": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } }, "application/json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } }, "text/json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } } } } }, "/api/collections/{id}": { "get": { "tags": [ "Collections" ], "summary": "Get a collection by id", "operationId": "GetCollectionById", "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "integer", "format": "int32" } } ], "responses": { "200": { "description": "OK", "content": { "text/plain": { "schema": { "$ref": "#/components/schemas/MediaCollectionViewModel" } }, "application/json": { "schema": { "$ref": "#/components/schemas/MediaCollectionViewModel" } }, "text/json": { "schema": { "$ref": "#/components/schemas/MediaCollectionViewModel" } } } }, "404": { "description": "Not Found", "content": { "text/plain": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } }, "application/json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } }, "text/json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } } } }, "put": { "tags": [ "Collections" ], "summary": "Update a collection", "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "integer", "format": "int32" } } ], "requestBody": { "content": { "application/json-patch+json": { "schema": { "$ref": "#/components/schemas/UpdateCollectionRequest" } }, "application/json": { "schema": { "$ref": "#/components/schemas/UpdateCollectionRequest" } }, "text/json": { "schema": { "$ref": "#/components/schemas/UpdateCollectionRequest" } }, "application/*+json": { "schema": { "$ref": "#/components/schemas/UpdateCollectionRequest" } } }, "required": true }, "responses": { "200": { "description": "OK", "content": { "text/plain": { "schema": { "$ref": "#/components/schemas/MediaCollectionViewModel" } }, "application/json": { "schema": { "$ref": "#/components/schemas/MediaCollectionViewModel" } }, "text/json": { "schema": { "$ref": "#/components/schemas/MediaCollectionViewModel" } } } }, "404": { "description": "Not Found", "content": { "text/plain": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } }, "application/json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } }, "text/json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "422": { "description": "Unprocessable Entity", "content": { "text/plain": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } }, "application/json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } }, "text/json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } } } }, "delete": { "tags": [ "Collections" ], "summary": "Delete a collection", "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "integer", "format": "int32" } } ], "responses": { "204": { "description": "No Content" }, "404": { "description": "Not Found", "content": { "text/plain": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } }, "application/json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } }, "text/json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "422": { "description": "Unprocessable Entity", "content": { "text/plain": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } }, "application/json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } }, "text/json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } } } } }, "/api/collections/{id}/items": { "post": { "tags": [ "Collections" ], "summary": "Add items to a collection", "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "integer", "format": "int32" } } ], "requestBody": { "content": { "application/json-patch+json": { "schema": { "$ref": "#/components/schemas/AddItemsToCollectionRequest" } }, "application/json": { "schema": { "$ref": "#/components/schemas/AddItemsToCollectionRequest" } }, "text/json": { "schema": { "$ref": "#/components/schemas/AddItemsToCollectionRequest" } }, "application/*+json": { "schema": { "$ref": "#/components/schemas/AddItemsToCollectionRequest" } } }, "required": true }, "responses": { "204": { "description": "No Content" }, "404": { "description": "Not Found", "content": { "text/plain": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } }, "application/json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } }, "text/json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "422": { "description": "Unprocessable Entity", "content": { "text/plain": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } }, "application/json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } }, "text/json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } } } } }, "/api/collections/{id}/items/{mediaItemId}": { "delete": { "tags": [ "Collections" ], "summary": "Remove an item from a collection", "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "integer", "format": "int32" } }, { "name": "mediaItemId", "in": "path", "required": true, "schema": { "type": "integer", "format": "int32" } } ], "responses": { "204": { "description": "No Content" }, "404": { "description": "Not Found", "content": { "text/plain": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } }, "application/json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } }, "text/json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "422": { "description": "Unprocessable Entity", "content": { "text/plain": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } }, "application/json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } }, "text/json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } } } } }, "/api/ffmpeg/profiles": { "get": { "tags": [ "FFmpeg Profiles" ], "summary": "Get all FFmpeg profiles", "operationId": "GetFFmpegProfiles", "responses": { "200": { "description": "OK", "content": { "text/plain": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/FFmpegFullProfileResponseModel" } } }, "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/FFmpegFullProfileResponseModel" } } }, "text/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/FFmpegFullProfileResponseModel" } } } } } } }, "post": { "tags": [ "FFmpeg Profiles" ], "summary": "Create an FFmpeg profile", "operationId": "CreateFFmpegProfile", "requestBody": { "content": { "application/json-patch+json": { "schema": { "$ref": "#/components/schemas/CreateFFmpegProfileRequest" } }, "application/json": { "schema": { "$ref": "#/components/schemas/CreateFFmpegProfileRequest" } }, "text/json": { "schema": { "$ref": "#/components/schemas/CreateFFmpegProfileRequest" } }, "application/*+json": { "schema": { "$ref": "#/components/schemas/CreateFFmpegProfileRequest" } } }, "required": true }, "responses": { "201": { "description": "Created", "content": { "text/plain": { "schema": { "$ref": "#/components/schemas/FFmpegFullProfileResponseModel" } }, "application/json": { "schema": { "$ref": "#/components/schemas/FFmpegFullProfileResponseModel" } }, "text/json": { "schema": { "$ref": "#/components/schemas/FFmpegFullProfileResponseModel" } } } }, "401": { "description": "Unauthorized", "content": { "text/plain": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } }, "application/json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } }, "text/json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "404": { "description": "Not Found", "content": { "text/plain": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } }, "application/json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } }, "text/json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "422": { "description": "Unprocessable Entity", "content": { "text/plain": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } }, "application/json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } }, "text/json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } } } } }, "/api/ffmpeg/profiles/{id}": { "get": { "tags": [ "FFmpeg Profiles" ], "summary": "Get an FFmpeg profile by id", "operationId": "GetFFmpegProfileById", "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "integer", "format": "int32" } } ], "responses": { "200": { "description": "OK", "content": { "text/plain": { "schema": { "$ref": "#/components/schemas/FFmpegFullProfileResponseModel" } }, "application/json": { "schema": { "$ref": "#/components/schemas/FFmpegFullProfileResponseModel" } }, "text/json": { "schema": { "$ref": "#/components/schemas/FFmpegFullProfileResponseModel" } } } }, "404": { "description": "Not Found", "content": { "text/plain": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } }, "application/json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } }, "text/json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } } } }, "put": { "tags": [ "FFmpeg Profiles" ], "summary": "Update an FFmpeg profile", "operationId": "UpdateFFmpegProfile", "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "integer", "format": "int32" } } ], "requestBody": { "content": { "application/json-patch+json": { "schema": { "$ref": "#/components/schemas/UpdateFFmpegProfileRequest" } }, "application/json": { "schema": { "$ref": "#/components/schemas/UpdateFFmpegProfileRequest" } }, "text/json": { "schema": { "$ref": "#/components/schemas/UpdateFFmpegProfileRequest" } }, "application/*+json": { "schema": { "$ref": "#/components/schemas/UpdateFFmpegProfileRequest" } } }, "required": true }, "responses": { "200": { "description": "OK", "content": { "text/plain": { "schema": { "$ref": "#/components/schemas/FFmpegFullProfileResponseModel" } }, "application/json": { "schema": { "$ref": "#/components/schemas/FFmpegFullProfileResponseModel" } }, "text/json": { "schema": { "$ref": "#/components/schemas/FFmpegFullProfileResponseModel" } } } }, "401": { "description": "Unauthorized", "content": { "text/plain": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } }, "application/json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } }, "text/json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "404": { "description": "Not Found", "content": { "text/plain": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } }, "application/json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } }, "text/json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "422": { "description": "Unprocessable Entity", "content": { "text/plain": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } }, "application/json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } }, "text/json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } } } }, "delete": { "tags": [ "FFmpeg Profiles" ], "summary": "Delete an FFmpeg profile", "operationId": "DeleteFFmpegProfile", "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "integer", "format": "int32" } } ], "responses": { "204": { "description": "No Content" }, "401": { "description": "Unauthorized", "content": { "text/plain": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } }, "application/json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } }, "text/json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "404": { "description": "Not Found", "content": { "text/plain": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } }, "application/json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } }, "text/json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "422": { "description": "Unprocessable Entity", "content": { "text/plain": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } }, "application/json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } }, "text/json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } } } } }, "/api/libraries/{id}/scan": { "post": { "tags": [ "Libraries" ], "summary": "Scan library", "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "integer", "format": "int32" } } ], "responses": { "200": { "description": "OK" } } } }, "/api/libraries/{id}/scan-show": { "post": { "tags": [ "Libraries" ], "summary": "Scan show", "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "integer", "format": "int32" } } ], "requestBody": { "content": { "application/json-patch+json": { "schema": { "$ref": "#/components/schemas/ScanShowRequest" } }, "application/json": { "schema": { "$ref": "#/components/schemas/ScanShowRequest" } }, "text/json": { "schema": { "$ref": "#/components/schemas/ScanShowRequest" } }, "application/*+json": { "schema": { "$ref": "#/components/schemas/ScanShowRequest" } } }, "required": true }, "responses": { "200": { "description": "OK" } } } }, "/api/maintenance/gc": { "get": { "tags": [ "Maintenance" ], "summary": "Garbage collect", "parameters": [ { "name": "force", "in": "query", "schema": { "type": "boolean", "default": false } } ], "responses": { "200": { "description": "OK" } } } }, "/api/maintenance/empty_trash": { "post": { "tags": [ "Maintenance" ], "summary": "Empty trash", "responses": { "200": { "description": "OK" } } } }, "/api/maintenance/clean_artwork": { "post": { "tags": [ "Maintenance" ], "summary": "Clean artwork cache", "responses": { "200": { "description": "OK" } } } }, "/api/playouts/{id}": { "get": { "tags": [ "Playouts" ], "summary": "Get a playout by id", "operationId": "GetPlayoutById", "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "integer", "format": "int32" } } ], "responses": { "200": { "description": "OK", "content": { "text/plain": { "schema": { "$ref": "#/components/schemas/PlayoutResponseModel" } }, "application/json": { "schema": { "$ref": "#/components/schemas/PlayoutResponseModel" } }, "text/json": { "schema": { "$ref": "#/components/schemas/PlayoutResponseModel" } } } }, "404": { "description": "Not Found", "content": { "text/plain": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } }, "application/json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } }, "text/json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } } } }, "delete": { "tags": [ "Playouts" ], "summary": "Delete a playout", "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "integer", "format": "int32" } } ], "responses": { "204": { "description": "No Content" }, "404": { "description": "Not Found", "content": { "text/plain": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } }, "application/json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } }, "text/json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "422": { "description": "Unprocessable Entity", "content": { "text/plain": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } }, "application/json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } }, "text/json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } } } } }, "/api/playouts": { "post": { "tags": [ "Playouts" ], "summary": "Create a classic playout", "requestBody": { "content": { "application/json-patch+json": { "schema": { "$ref": "#/components/schemas/CreatePlayoutRequest" } }, "application/json": { "schema": { "$ref": "#/components/schemas/CreatePlayoutRequest" } }, "text/json": { "schema": { "$ref": "#/components/schemas/CreatePlayoutRequest" } }, "application/*+json": { "schema": { "$ref": "#/components/schemas/CreatePlayoutRequest" } } }, "required": true }, "responses": { "201": { "description": "Created", "content": { "text/plain": { "schema": { "$ref": "#/components/schemas/PlayoutResponseModel" } }, "application/json": { "schema": { "$ref": "#/components/schemas/PlayoutResponseModel" } }, "text/json": { "schema": { "$ref": "#/components/schemas/PlayoutResponseModel" } } } }, "404": { "description": "Not Found", "content": { "text/plain": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } }, "application/json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } }, "text/json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "422": { "description": "Unprocessable Entity", "content": { "text/plain": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } }, "application/json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } }, "text/json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } } } } }, "/api/ffmpeg/resolution/by-name/{name}": { "get": { "tags": [ "Resolution" ], "operationId": "GetResolutionByName", "parameters": [ { "name": "name", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "OK", "content": { "text/plain": { "schema": { "$ref": "#/components/schemas/ResolutionViewModel" } }, "application/json": { "schema": { "$ref": "#/components/schemas/ResolutionViewModel" } }, "text/json": { "schema": { "$ref": "#/components/schemas/ResolutionViewModel" } } } } } } }, "/api/schedules": { "get": { "tags": [ "Schedules" ], "summary": "Get all schedules", "responses": { "200": { "description": "OK", "content": { "text/plain": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/ProgramScheduleViewModel" } } }, "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/ProgramScheduleViewModel" } } }, "text/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/ProgramScheduleViewModel" } } } } } } }, "post": { "tags": [ "Schedules" ], "summary": "Create a schedule", "requestBody": { "content": { "application/json-patch+json": { "schema": { "$ref": "#/components/schemas/CreateScheduleRequest" } }, "application/json": { "schema": { "$ref": "#/components/schemas/CreateScheduleRequest" } }, "text/json": { "schema": { "$ref": "#/components/schemas/CreateScheduleRequest" } }, "application/*+json": { "schema": { "$ref": "#/components/schemas/CreateScheduleRequest" } } }, "required": true }, "responses": { "201": { "description": "Created", "content": { "text/plain": { "schema": { "$ref": "#/components/schemas/ProgramScheduleViewModel" } }, "application/json": { "schema": { "$ref": "#/components/schemas/ProgramScheduleViewModel" } }, "text/json": { "schema": { "$ref": "#/components/schemas/ProgramScheduleViewModel" } } } }, "404": { "description": "Not Found", "content": { "text/plain": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } }, "application/json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } }, "text/json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "422": { "description": "Unprocessable Entity", "content": { "text/plain": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } }, "application/json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } }, "text/json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } } } } }, "/api/schedules/{id}": { "get": { "tags": [ "Schedules" ], "summary": "Get a schedule by id", "operationId": "GetScheduleById", "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "integer", "format": "int32" } } ], "responses": { "200": { "description": "OK", "content": { "text/plain": { "schema": { "$ref": "#/components/schemas/ProgramScheduleViewModel" } }, "application/json": { "schema": { "$ref": "#/components/schemas/ProgramScheduleViewModel" } }, "text/json": { "schema": { "$ref": "#/components/schemas/ProgramScheduleViewModel" } } } }, "404": { "description": "Not Found", "content": { "text/plain": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } }, "application/json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } }, "text/json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } } } }, "put": { "tags": [ "Schedules" ], "summary": "Update a schedule", "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "integer", "format": "int32" } } ], "requestBody": { "content": { "application/json-patch+json": { "schema": { "$ref": "#/components/schemas/UpdateScheduleRequest" } }, "application/json": { "schema": { "$ref": "#/components/schemas/UpdateScheduleRequest" } }, "text/json": { "schema": { "$ref": "#/components/schemas/UpdateScheduleRequest" } }, "application/*+json": { "schema": { "$ref": "#/components/schemas/UpdateScheduleRequest" } } }, "required": true }, "responses": { "200": { "description": "OK", "content": { "text/plain": { "schema": { "$ref": "#/components/schemas/ProgramScheduleViewModel" } }, "application/json": { "schema": { "$ref": "#/components/schemas/ProgramScheduleViewModel" } }, "text/json": { "schema": { "$ref": "#/components/schemas/ProgramScheduleViewModel" } } } }, "404": { "description": "Not Found", "content": { "text/plain": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } }, "application/json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } }, "text/json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "422": { "description": "Unprocessable Entity", "content": { "text/plain": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } }, "application/json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } }, "text/json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } } } }, "delete": { "tags": [ "Schedules" ], "summary": "Delete a schedule", "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "integer", "format": "int32" } } ], "responses": { "204": { "description": "No Content" }, "404": { "description": "Not Found", "content": { "text/plain": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } }, "application/json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } }, "text/json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "422": { "description": "Unprocessable Entity", "content": { "text/plain": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } }, "application/json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } }, "text/json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } } } } }, "/api/schedules/{id}/items": { "get": { "tags": [ "Schedules" ], "summary": "Get schedule items", "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "integer", "format": "int32" } } ], "responses": { "200": { "description": "OK", "content": { "text/plain": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/ProgramScheduleItemViewModel" } } }, "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/ProgramScheduleItemViewModel" } } }, "text/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/ProgramScheduleItemViewModel" } } } } }, "404": { "description": "Not Found", "content": { "text/plain": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } }, "application/json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } }, "text/json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } } } }, "post": { "tags": [ "Schedules" ], "summary": "Add a schedule item", "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "integer", "format": "int32" } } ], "requestBody": { "content": { "application/json-patch+json": { "schema": { "$ref": "#/components/schemas/ScheduleItemRequest" } }, "application/json": { "schema": { "$ref": "#/components/schemas/ScheduleItemRequest" } }, "text/json": { "schema": { "$ref": "#/components/schemas/ScheduleItemRequest" } }, "application/*+json": { "schema": { "$ref": "#/components/schemas/ScheduleItemRequest" } } }, "required": true }, "responses": { "201": { "description": "Created", "content": { "text/plain": { "schema": { "$ref": "#/components/schemas/ProgramScheduleItemViewModel" } }, "application/json": { "schema": { "$ref": "#/components/schemas/ProgramScheduleItemViewModel" } }, "text/json": { "schema": { "$ref": "#/components/schemas/ProgramScheduleItemViewModel" } } } }, "404": { "description": "Not Found", "content": { "text/plain": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } }, "application/json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } }, "text/json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "422": { "description": "Unprocessable Entity", "content": { "text/plain": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } }, "application/json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } }, "text/json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } } } }, "put": { "tags": [ "Schedules" ], "summary": "Replace schedule items", "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "integer", "format": "int32" } } ], "requestBody": { "content": { "application/json-patch+json": { "schema": { "$ref": "#/components/schemas/ReplaceScheduleItemsRequest" } }, "application/json": { "schema": { "$ref": "#/components/schemas/ReplaceScheduleItemsRequest" } }, "text/json": { "schema": { "$ref": "#/components/schemas/ReplaceScheduleItemsRequest" } }, "application/*+json": { "schema": { "$ref": "#/components/schemas/ReplaceScheduleItemsRequest" } } }, "required": true }, "responses": { "200": { "description": "OK", "content": { "text/plain": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/ProgramScheduleItemViewModel" } } }, "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/ProgramScheduleItemViewModel" } } }, "text/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/ProgramScheduleItemViewModel" } } } } }, "404": { "description": "Not Found", "content": { "text/plain": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } }, "application/json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } }, "text/json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "422": { "description": "Unprocessable Entity", "content": { "text/plain": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } }, "application/json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } }, "text/json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } } } } }, "/api/schedules/{id}/items/{itemId}": { "delete": { "tags": [ "Schedules" ], "summary": "Delete a schedule item", "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "integer", "format": "int32" } }, { "name": "itemId", "in": "path", "required": true, "schema": { "type": "integer", "format": "int32" } } ], "responses": { "204": { "description": "No Content" }, "404": { "description": "Not Found", "content": { "text/plain": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } }, "application/json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } }, "text/json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "422": { "description": "Unprocessable Entity", "content": { "text/plain": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } }, "application/json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } }, "text/json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } } } } }, "/api/sessions": { "get": { "tags": [ "Sessions" ], "summary": "Get sessions", "responses": { "200": { "description": "OK", "content": { "text/plain": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/HlsSessionModel" } } }, "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/HlsSessionModel" } } }, "text/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/HlsSessionModel" } } } } } } } }, "/api/session/{channelNumber}": { "delete": { "tags": [ "Sessions" ], "summary": "Stop session", "parameters": [ { "name": "channelNumber", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "OK" } } } }, "/api/smart-collections": { "get": { "tags": [ "Smart Collections" ], "summary": "Get all smart collections", "responses": { "200": { "description": "OK", "content": { "text/plain": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/SmartCollectionResponseModel" } } }, "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/SmartCollectionResponseModel" } } }, "text/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/SmartCollectionResponseModel" } } } } } } }, "post": { "tags": [ "Smart Collections" ], "summary": "Create a smart collection", "requestBody": { "content": { "application/json-patch+json": { "schema": { "$ref": "#/components/schemas/CreateSmartCollectionRequest" } }, "application/json": { "schema": { "$ref": "#/components/schemas/CreateSmartCollectionRequest" } }, "text/json": { "schema": { "$ref": "#/components/schemas/CreateSmartCollectionRequest" } }, "application/*+json": { "schema": { "$ref": "#/components/schemas/CreateSmartCollectionRequest" } } }, "required": true }, "responses": { "201": { "description": "Created", "content": { "text/plain": { "schema": { "$ref": "#/components/schemas/SmartCollectionViewModel" } }, "application/json": { "schema": { "$ref": "#/components/schemas/SmartCollectionViewModel" } }, "text/json": { "schema": { "$ref": "#/components/schemas/SmartCollectionViewModel" } } } }, "404": { "description": "Not Found", "content": { "text/plain": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } }, "application/json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } }, "text/json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "422": { "description": "Unprocessable Entity", "content": { "text/plain": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } }, "application/json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } }, "text/json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } } } } }, "/api/smart-collections/{id}": { "get": { "tags": [ "Smart Collections" ], "summary": "Get a smart collection by id", "operationId": "GetSmartCollectionById", "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "integer", "format": "int32" } } ], "responses": { "200": { "description": "OK", "content": { "text/plain": { "schema": { "$ref": "#/components/schemas/SmartCollectionViewModel" } }, "application/json": { "schema": { "$ref": "#/components/schemas/SmartCollectionViewModel" } }, "text/json": { "schema": { "$ref": "#/components/schemas/SmartCollectionViewModel" } } } }, "404": { "description": "Not Found", "content": { "text/plain": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } }, "application/json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } }, "text/json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } } } }, "put": { "tags": [ "Smart Collections" ], "summary": "Update a smart collection", "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "integer", "format": "int32" } } ], "requestBody": { "content": { "application/json-patch+json": { "schema": { "$ref": "#/components/schemas/UpdateSmartCollectionRequest" } }, "application/json": { "schema": { "$ref": "#/components/schemas/UpdateSmartCollectionRequest" } }, "text/json": { "schema": { "$ref": "#/components/schemas/UpdateSmartCollectionRequest" } }, "application/*+json": { "schema": { "$ref": "#/components/schemas/UpdateSmartCollectionRequest" } } }, "required": true }, "responses": { "200": { "description": "OK", "content": { "text/plain": { "schema": { "$ref": "#/components/schemas/SmartCollectionViewModel" } }, "application/json": { "schema": { "$ref": "#/components/schemas/SmartCollectionViewModel" } }, "text/json": { "schema": { "$ref": "#/components/schemas/SmartCollectionViewModel" } } } }, "404": { "description": "Not Found", "content": { "text/plain": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } }, "application/json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } }, "text/json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "422": { "description": "Unprocessable Entity", "content": { "text/plain": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } }, "application/json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } }, "text/json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } } } }, "delete": { "tags": [ "Smart Collections" ], "summary": "Delete a smart collection", "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "integer", "format": "int32" } } ], "responses": { "204": { "description": "No Content" }, "404": { "description": "Not Found", "content": { "text/plain": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } }, "application/json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } }, "text/json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "422": { "description": "Unprocessable Entity", "content": { "text/plain": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } }, "application/json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } }, "text/json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } } } } }, "/api/version": { "get": { "tags": [ "Version" ], "summary": "Get version", "operationId": "GetVersion", "responses": { "200": { "description": "OK", "content": { "text/plain": { "schema": { "$ref": "#/components/schemas/CombinedVersion" } }, "application/json": { "schema": { "$ref": "#/components/schemas/CombinedVersion" } }, "text/json": { "schema": { "$ref": "#/components/schemas/CombinedVersion" } } } } } } } }, "components": { "schemas": { "AddItemsToCollectionRequest": { "required": [ "movieIds", "showIds", "seasonIds", "episodeIds", "artistIds", "musicVideoIds", "otherVideoIds", "songIds", "imageIds", "remoteStreamIds" ], "type": "object", "properties": { "movieIds": { "type": [ "null", "array" ], "items": { "type": "integer", "format": "int32" } }, "showIds": { "type": [ "null", "array" ], "items": { "type": "integer", "format": "int32" } }, "seasonIds": { "type": [ "null", "array" ], "items": { "type": "integer", "format": "int32" } }, "episodeIds": { "type": [ "null", "array" ], "items": { "type": "integer", "format": "int32" } }, "artistIds": { "type": [ "null", "array" ], "items": { "type": "integer", "format": "int32" } }, "musicVideoIds": { "type": [ "null", "array" ], "items": { "type": "integer", "format": "int32" } }, "otherVideoIds": { "type": [ "null", "array" ], "items": { "type": "integer", "format": "int32" } }, "songIds": { "type": [ "null", "array" ], "items": { "type": "integer", "format": "int32" } }, "imageIds": { "type": [ "null", "array" ], "items": { "type": "integer", "format": "int32" } }, "remoteStreamIds": { "type": [ "null", "array" ], "items": { "type": "integer", "format": "int32" } } } }, "ArtworkContentTypeModel": { "required": [ "path", "contentType" ], "type": "object", "properties": { "path": { "type": [ "null", "string" ] }, "contentType": { "type": [ "null", "string" ] }, "isExternalUrl": { "type": "boolean" }, "hasContentType": { "type": "boolean" }, "urlWithContentType": { "type": [ "null", "string" ] } } }, "ChannelIdleBehavior": { "enum": [ "StopOnDisconnect", "KeepRunning" ], "type": "string" }, "ChannelMusicVideoCreditsMode": { "enum": [ "None", "GenerateSubtitles" ], "type": "string" }, "ChannelPlayoutMode": { "enum": [ "Continuous", "OnDemand" ], "type": "string" }, "ChannelPlayoutSource": { "enum": [ "Generated", "Mirror" ], "type": "string" }, "ChannelResponseModel": { "required": [ "id", "number", "sortNumber", "name", "group", "categories", "fFmpegProfile", "language", "streamingMode", "isEnabled", "showInEpg" ], "type": "object", "properties": { "id": { "type": "integer", "format": "int32" }, "number": { "type": [ "null", "string" ] }, "sortNumber": { "type": "number", "format": "double" }, "name": { "type": [ "null", "string" ] }, "group": { "type": [ "null", "string" ] }, "categories": { "type": [ "null", "string" ] }, "fFmpegProfile": { "type": [ "null", "string" ] }, "language": { "type": [ "null", "string" ] }, "streamingMode": { "type": [ "null", "string" ] }, "isEnabled": { "type": "boolean" }, "showInEpg": { "type": "boolean" } } }, "ChannelSongVideoMode": { "enum": [ "Default", "WithProgress" ], "type": "string" }, "ChannelStreamSelectorMode": { "enum": [ "Default", "Custom", "Troubleshooting" ], "type": "string" }, "ChannelSubtitleMode": { "enum": [ "None", "Forced", "Default", "Any" ], "type": "string" }, "ChannelTranscodeMode": { "enum": [ "OnDemand" ], "type": "string" }, "ChannelViewModel": { "required": [ "id", "number", "name", "group", "categories", "fFmpegProfileId", "slugSeconds", "logo", "streamSelectorMode", "streamSelector", "preferredAudioLanguageCode", "preferredAudioTitle", "playoutSource", "playoutMode", "mirrorSourceChannelId", "playoutOffset", "streamingMode", "watermarkId", "fallbackFillerId", "playoutCount", "preferredSubtitleLanguageCode", "subtitleMode", "musicVideoCreditsMode", "musicVideoCreditsTemplate", "songVideoMode", "transcodeMode", "idleBehavior", "isEnabled", "showInEpg" ], "type": "object", "properties": { "id": { "type": "integer", "format": "int32" }, "number": { "type": [ "null", "string" ] }, "name": { "type": [ "null", "string" ] }, "group": { "type": [ "null", "string" ] }, "categories": { "type": [ "null", "string" ] }, "fFmpegProfileId": { "type": "integer", "format": "int32" }, "slugSeconds": { "type": [ "null", "number" ], "format": "double" }, "logo": { "$ref": "#/components/schemas/ArtworkContentTypeModel" }, "streamSelectorMode": { "$ref": "#/components/schemas/ChannelStreamSelectorMode" }, "streamSelector": { "type": [ "null", "string" ] }, "preferredAudioLanguageCode": { "type": [ "null", "string" ] }, "preferredAudioTitle": { "type": [ "null", "string" ] }, "playoutSource": { "$ref": "#/components/schemas/ChannelPlayoutSource" }, "playoutMode": { "$ref": "#/components/schemas/ChannelPlayoutMode" }, "mirrorSourceChannelId": { "type": [ "null", "integer" ], "format": "int32" }, "playoutOffset": { "pattern": "^-?(\\d+\\.)?\\d{2}:\\d{2}:\\d{2}(\\.\\d{1,7})?$", "type": [ "null", "string" ] }, "streamingMode": { "$ref": "#/components/schemas/StreamingMode" }, "watermarkId": { "type": [ "null", "integer" ], "format": "int32" }, "fallbackFillerId": { "type": [ "null", "integer" ], "format": "int32" }, "playoutCount": { "type": "integer", "format": "int32" }, "preferredSubtitleLanguageCode": { "type": [ "null", "string" ] }, "subtitleMode": { "$ref": "#/components/schemas/ChannelSubtitleMode" }, "musicVideoCreditsMode": { "$ref": "#/components/schemas/ChannelMusicVideoCreditsMode" }, "musicVideoCreditsTemplate": { "type": [ "null", "string" ] }, "songVideoMode": { "$ref": "#/components/schemas/ChannelSongVideoMode" }, "transcodeMode": { "$ref": "#/components/schemas/ChannelTranscodeMode" }, "idleBehavior": { "$ref": "#/components/schemas/ChannelIdleBehavior" }, "isEnabled": { "type": "boolean" }, "showInEpg": { "type": "boolean" }, "webEncodedName": { "type": [ "null", "string" ] } } }, "ChannelWatermarkImageSource": { "enum": [ "Custom", "ChannelLogo", "Resource" ], "type": "string" }, "ChannelWatermarkMode": { "enum": [ "None", "Permanent", "Intermittent", "OpacityExpression" ], "type": "string" }, "CollectionType": { "enum": [ "Collection", "TelevisionShow", "TelevisionSeason", "Artist", "MultiCollection", "SmartCollection", "Playlist", "RerunFirstRun", "RerunRerun", "SearchQuery", "Movie", "Episode", "MusicVideo", "OtherVideo", "Song", "Image", "RemoteStream", "FakeCollection", "FakePlaylistItem" ], "type": "string" }, "CombinedVersion": { "required": [ "apiVersion", "appVersion" ], "type": "object", "properties": { "apiVersion": { "type": "integer", "format": "int32" }, "appVersion": { "type": [ "null", "string" ] } } }, "CreateChannelRequest": { "required": [ "name", "number", "group", "categories", "fFmpegProfileId", "slugSeconds", "logo", "streamSelectorMode", "streamSelector", "preferredAudioLanguageCode", "preferredAudioTitle", "playoutSource", "playoutMode", "mirrorSourceChannelId", "playoutOffset", "streamingMode", "watermarkId", "fallbackFillerId", "preferredSubtitleLanguageCode", "subtitleMode", "musicVideoCreditsMode", "musicVideoCreditsTemplate", "songVideoMode", "transcodeMode", "idleBehavior", "isEnabled", "showInEpg" ], "type": "object", "properties": { "name": { "type": [ "null", "string" ] }, "number": { "type": [ "null", "string" ] }, "group": { "type": [ "null", "string" ] }, "categories": { "type": [ "null", "string" ] }, "fFmpegProfileId": { "type": "integer", "format": "int32" }, "slugSeconds": { "type": [ "null", "number" ], "format": "double" }, "logo": { "$ref": "#/components/schemas/ArtworkContentTypeModel" }, "streamSelectorMode": { "$ref": "#/components/schemas/ChannelStreamSelectorMode" }, "streamSelector": { "type": [ "null", "string" ] }, "preferredAudioLanguageCode": { "type": [ "null", "string" ] }, "preferredAudioTitle": { "type": [ "null", "string" ] }, "playoutSource": { "$ref": "#/components/schemas/ChannelPlayoutSource" }, "playoutMode": { "$ref": "#/components/schemas/ChannelPlayoutMode" }, "mirrorSourceChannelId": { "type": [ "null", "integer" ], "format": "int32" }, "playoutOffset": { "pattern": "^-?(\\d+\\.)?\\d{2}:\\d{2}:\\d{2}(\\.\\d{1,7})?$", "type": [ "null", "string" ] }, "streamingMode": { "$ref": "#/components/schemas/StreamingMode" }, "watermarkId": { "type": [ "null", "integer" ], "format": "int32" }, "fallbackFillerId": { "type": [ "null", "integer" ], "format": "int32" }, "preferredSubtitleLanguageCode": { "type": [ "null", "string" ] }, "subtitleMode": { "$ref": "#/components/schemas/ChannelSubtitleMode" }, "musicVideoCreditsMode": { "$ref": "#/components/schemas/ChannelMusicVideoCreditsMode" }, "musicVideoCreditsTemplate": { "type": [ "null", "string" ] }, "songVideoMode": { "$ref": "#/components/schemas/ChannelSongVideoMode" }, "transcodeMode": { "$ref": "#/components/schemas/ChannelTranscodeMode" }, "idleBehavior": { "$ref": "#/components/schemas/ChannelIdleBehavior" }, "isEnabled": { "type": "boolean" }, "showInEpg": { "type": "boolean" } } }, "CreateCollectionRequest": { "required": [ "name" ], "type": "object", "properties": { "name": { "type": [ "null", "string" ] } } }, "CreateFFmpegProfileRequest": { "required": [ "name", "threadCount", "normalizeAudio", "normalizeVideo", "hardwareAcceleration", "vaapiDisplay", "vaapiDriver", "vaapiDevice", "qsvExtraHardwareFrames", "resolutionId", "scalingBehavior", "padMode", "videoFormat", "videoProfile", "videoPreset", "allowBFrames", "bitDepth", "videoBitrate", "videoBufferSize", "tonemapAlgorithm", "audioFormat", "audioBitrate", "audioBufferSize", "normalizeLoudnessMode", "targetLoudness", "audioChannels", "audioSampleRate", "normalizeFramerate", "normalizeColors", "deinterlaceVideo" ], "type": "object", "properties": { "name": { "type": [ "null", "string" ] }, "threadCount": { "type": "integer", "format": "int32" }, "normalizeAudio": { "type": "boolean" }, "normalizeVideo": { "type": "boolean" }, "hardwareAcceleration": { "$ref": "#/components/schemas/HardwareAccelerationKind" }, "vaapiDisplay": { "type": [ "null", "string" ] }, "vaapiDriver": { "$ref": "#/components/schemas/VaapiDriver" }, "vaapiDevice": { "type": [ "null", "string" ] }, "qsvExtraHardwareFrames": { "type": [ "null", "integer" ], "format": "int32" }, "resolutionId": { "type": "integer", "format": "int32" }, "scalingBehavior": { "$ref": "#/components/schemas/ScalingBehavior" }, "padMode": { "$ref": "#/components/schemas/FilterMode" }, "videoFormat": { "$ref": "#/components/schemas/FFmpegProfileVideoFormat" }, "videoProfile": { "type": [ "null", "string" ] }, "videoPreset": { "type": [ "null", "string" ] }, "allowBFrames": { "type": "boolean" }, "bitDepth": { "$ref": "#/components/schemas/FFmpegProfileBitDepth" }, "videoBitrate": { "type": "integer", "format": "int32" }, "videoBufferSize": { "type": "integer", "format": "int32" }, "tonemapAlgorithm": { "$ref": "#/components/schemas/FFmpegProfileTonemapAlgorithm" }, "audioFormat": { "$ref": "#/components/schemas/FFmpegProfileAudioFormat" }, "audioBitrate": { "type": "integer", "format": "int32" }, "audioBufferSize": { "type": "integer", "format": "int32" }, "normalizeLoudnessMode": { "$ref": "#/components/schemas/NormalizeLoudnessMode" }, "targetLoudness": { "type": [ "null", "number" ], "format": "double" }, "audioChannels": { "type": "integer", "format": "int32" }, "audioSampleRate": { "type": "integer", "format": "int32" }, "normalizeFramerate": { "type": "boolean" }, "normalizeColors": { "type": "boolean" }, "deinterlaceVideo": { "type": "boolean" } } }, "CreatePlayoutRequest": { "required": [ "channelId", "programScheduleId" ], "type": "object", "properties": { "channelId": { "type": "integer", "format": "int32" }, "programScheduleId": { "type": "integer", "format": "int32" } } }, "CreateScheduleRequest": { "required": [ "name", "keepMultiPartEpisodesTogether", "treatCollectionsAsShows", "shuffleScheduleItems", "randomStartPoint", "fixedStartTimeBehavior" ], "type": "object", "properties": { "name": { "type": [ "null", "string" ] }, "keepMultiPartEpisodesTogether": { "type": "boolean" }, "treatCollectionsAsShows": { "type": "boolean" }, "shuffleScheduleItems": { "type": "boolean" }, "randomStartPoint": { "type": "boolean" }, "fixedStartTimeBehavior": { "$ref": "#/components/schemas/FixedStartTimeBehavior" } } }, "CreateSmartCollectionRequest": { "required": [ "name", "query" ], "type": "object", "properties": { "name": { "type": [ "null", "string" ] }, "query": { "type": [ "null", "string" ] } } }, "FFmpegFullProfileResponseModel": { "required": [ "id", "name", "threadCount", "hardwareAcceleration", "vaapiDisplay", "vaapiDriver", "vaapiDevice", "qsvExtraHardwareFrames", "resolution", "scalingBehavior", "videoFormat", "videoProfile", "videoPreset", "allowBFrames", "bitDepth", "videoBitrate", "videoBufferSize", "tonemapAlgorithm", "audioFormat", "audioBitrate", "audioBufferSize", "normalizeLoudnessMode", "audioChannels", "audioSampleRate", "normalizeFramerate", "deinterlaceVideo" ], "type": "object", "properties": { "id": { "type": "integer", "format": "int32" }, "name": { "type": [ "null", "string" ] }, "threadCount": { "type": "integer", "format": "int32" }, "hardwareAcceleration": { "$ref": "#/components/schemas/HardwareAccelerationKind" }, "vaapiDisplay": { "type": [ "null", "string" ] }, "vaapiDriver": { "$ref": "#/components/schemas/VaapiDriver" }, "vaapiDevice": { "type": [ "null", "string" ] }, "qsvExtraHardwareFrames": { "type": [ "null", "integer" ], "format": "int32" }, "resolution": { "type": [ "null", "string" ] }, "scalingBehavior": { "$ref": "#/components/schemas/ScalingBehavior" }, "videoFormat": { "$ref": "#/components/schemas/FFmpegProfileVideoFormat" }, "videoProfile": { "type": [ "null", "string" ] }, "videoPreset": { "type": [ "null", "string" ] }, "allowBFrames": { "type": "boolean" }, "bitDepth": { "$ref": "#/components/schemas/FFmpegProfileBitDepth" }, "videoBitrate": { "type": "integer", "format": "int32" }, "videoBufferSize": { "type": "integer", "format": "int32" }, "tonemapAlgorithm": { "$ref": "#/components/schemas/FFmpegProfileTonemapAlgorithm" }, "audioFormat": { "$ref": "#/components/schemas/FFmpegProfileAudioFormat" }, "audioBitrate": { "type": "integer", "format": "int32" }, "audioBufferSize": { "type": "integer", "format": "int32" }, "normalizeLoudnessMode": { "$ref": "#/components/schemas/NormalizeLoudnessMode" }, "audioChannels": { "type": "integer", "format": "int32" }, "audioSampleRate": { "type": "integer", "format": "int32" }, "normalizeFramerate": { "type": "boolean" }, "deinterlaceVideo": { "type": [ "null", "boolean" ] } } }, "FFmpegProfileAudioFormat": { "enum": [ "None", "Aac", "Ac3", "AacLatm", "Copy" ], "type": "string" }, "FFmpegProfileBitDepth": { "enum": [ "EightBit", "TenBit" ], "type": "string" }, "FFmpegProfileTonemapAlgorithm": { "enum": [ "Linear", "Clip", "Gamma", "Reinhard", "Mobius", "Hable" ], "type": "string" }, "FFmpegProfileVideoFormat": { "enum": [ "None", "H264", "Hevc", "Mpeg2Video", "Av1", "Copy" ], "type": "string" }, "FillerKind": { "enum": [ "None", "PreRoll", "MidRoll", "PostRoll", "Tail", "Fallback", "GuideMode", "DecoDefault" ], "type": "string" }, "FillerMode": { "enum": [ "None", "Duration", "Count", "Pad", "RandomCount" ], "type": "string" }, "FillerPresetViewModel": { "required": [ "id", "name", "fillerKind", "fillerMode", "duration", "count", "padToNearestMinute", "allowWatermarks", "collectionType", "collectionId", "mediaItemId", "multiCollectionId", "smartCollectionId", "playlist", "expression", "useChaptersAsMediaItems" ], "type": "object", "properties": { "id": { "type": "integer", "format": "int32" }, "name": { "type": [ "null", "string" ] }, "fillerKind": { "$ref": "#/components/schemas/FillerKind" }, "fillerMode": { "$ref": "#/components/schemas/FillerMode" }, "duration": { "pattern": "^-?(\\d+\\.)?\\d{2}:\\d{2}:\\d{2}(\\.\\d{1,7})?$", "type": [ "null", "string" ] }, "count": { "type": [ "null", "integer" ], "format": "int32" }, "padToNearestMinute": { "type": [ "null", "integer" ], "format": "int32" }, "allowWatermarks": { "type": "boolean" }, "collectionType": { "$ref": "#/components/schemas/CollectionType" }, "collectionId": { "type": [ "null", "integer" ], "format": "int32" }, "mediaItemId": { "type": [ "null", "integer" ], "format": "int32" }, "multiCollectionId": { "type": [ "null", "integer" ], "format": "int32" }, "smartCollectionId": { "type": [ "null", "integer" ], "format": "int32" }, "playlist": { "$ref": "#/components/schemas/PlaylistViewModel" }, "expression": { "type": [ "null", "string" ] }, "useChaptersAsMediaItems": { "type": "boolean" } } }, "FillWithGroupMode": { "enum": [ "None", "FillWithOrderedGroups", "FillWithShuffledGroups" ], "type": "string" }, "FilterMode": { "enum": [ "HardwareIfPossible", "Software" ], "type": "string" }, "FixedStartTimeBehavior": { "enum": [ "Strict", "Flexible" ], "type": "string" }, "GraphicsElementViewModel": { "required": [ "id", "name", "fileName" ], "type": "object", "properties": { "id": { "type": "integer", "format": "int32" }, "name": { "type": [ "null", "string" ] }, "fileName": { "type": [ "null", "string" ] } } }, "GuideMode": { "enum": [ "Normal", "Filler" ], "type": "string" }, "HardwareAccelerationKind": { "enum": [ "None", "Qsv", "Nvenc", "Vaapi", "VideoToolbox", "Amf", "V4l2m2m", "Rkmpp" ], "type": "string" }, "HlsSessionModel": { "required": [ "channelNumber", "state", "transcodedUntil", "lastAccess" ], "type": "object", "properties": { "channelNumber": { "type": [ "null", "string" ] }, "state": { "type": [ "null", "string" ] }, "transcodedUntil": { "type": "string", "format": "date-time" }, "lastAccess": { "type": "string", "format": "date-time" } } }, "MarathonGroupBy": { "enum": [ "None", "Show", "Season", "Artist", "Album", "Director" ], "type": "string" }, "MediaCollectionViewModel": { "required": [ "collectionType", "id", "name", "useCustomPlaybackOrder", "state" ], "type": "object", "properties": { "collectionType": { "$ref": "#/components/schemas/CollectionType" }, "id": { "type": "integer", "format": "int32" }, "name": { "type": [ "null", "string" ] }, "useCustomPlaybackOrder": { "type": "boolean" }, "mediaItemId": { "type": "integer", "format": "int32" }, "title": { "type": [ "null", "string" ] }, "subtitle": { "type": [ "null", "string" ] }, "sortTitle": { "type": [ "null", "string" ] }, "poster": { "type": [ "null", "string" ] }, "state": { "$ref": "#/components/schemas/MediaItemState" }, "hasMediaInfo": { "type": "boolean" } } }, "MediaItemState": { "enum": [ "Normal", "FileNotFound", "Unavailable", "RemoteOnly" ], "type": "string" }, "MultiCollectionItemViewModel": { "required": [ "multiCollectionId", "collection", "scheduleAsGroup", "playbackOrder" ], "type": "object", "properties": { "multiCollectionId": { "type": "integer", "format": "int32" }, "collection": { "$ref": "#/components/schemas/MediaCollectionViewModel" }, "scheduleAsGroup": { "type": "boolean" }, "playbackOrder": { "$ref": "#/components/schemas/PlaybackOrder" } } }, "MultiCollectionSmartItemViewModel": { "required": [ "multiCollectionId", "smartCollection", "scheduleAsGroup", "playbackOrder" ], "type": "object", "properties": { "multiCollectionId": { "type": "integer", "format": "int32" }, "smartCollection": { "$ref": "#/components/schemas/SmartCollectionViewModel" }, "scheduleAsGroup": { "type": "boolean" }, "playbackOrder": { "$ref": "#/components/schemas/PlaybackOrder" } } }, "MultiCollectionViewModel": { "required": [ "id", "name", "items", "smartItems" ], "type": "object", "properties": { "id": { "type": "integer", "format": "int32" }, "name": { "type": [ "null", "string" ] }, "items": { "type": [ "null", "array" ], "items": { "$ref": "#/components/schemas/MultiCollectionItemViewModel" } }, "smartItems": { "type": [ "null", "array" ], "items": { "$ref": "#/components/schemas/MultiCollectionSmartItemViewModel" } } } }, "MultipleMode": { "enum": [ "Count", "CollectionSize", "PlaylistItemSize", "MultiEpisodeGroupSize" ], "type": "string" }, "NamedMediaItemViewModel": { "required": [ "mediaItemId", "name" ], "type": "object", "properties": { "mediaItemId": { "type": "integer", "format": "int32" }, "name": { "type": [ "null", "string" ] } } }, "NormalizeLoudnessMode": { "enum": [ "Off", "LoudNorm" ], "type": "string" }, "PlaybackOrder": { "enum": [ "None", "Chronological", "Random", "Shuffle", "ShuffleInOrder", "MultiEpisodeShuffle", "SeasonEpisode", "RandomRotation", "Marathon" ], "type": "string" }, "PlaylistViewModel": { "required": [ "id", "playlistGroupId", "name", "isSystem" ], "type": "object", "properties": { "id": { "type": "integer", "format": "int32" }, "playlistGroupId": { "type": "integer", "format": "int32" }, "name": { "type": [ "null", "string" ] }, "isSystem": { "type": "boolean" } } }, "PlayoutMode": { "enum": [ "Flood", "One", "Multiple", "Duration" ], "type": "string" }, "PlayoutResponseModel": { "required": [ "id", "scheduleKind", "channelName", "channelNumber", "playoutMode", "scheduleName", "scheduleFile", "dailyRebuildTime" ], "type": "object", "properties": { "id": { "type": "integer", "format": "int32" }, "scheduleKind": { "$ref": "#/components/schemas/PlayoutScheduleKind" }, "channelName": { "type": [ "null", "string" ] }, "channelNumber": { "type": [ "null", "string" ] }, "playoutMode": { "$ref": "#/components/schemas/ChannelPlayoutMode" }, "scheduleName": { "type": [ "null", "string" ] }, "scheduleFile": { "type": [ "null", "string" ] }, "dailyRebuildTime": { "pattern": "^-?(\\d+\\.)?\\d{2}:\\d{2}:\\d{2}(\\.\\d{1,7})?$", "type": [ "null", "string" ] } } }, "PlayoutScheduleKind": { "enum": [ "None", "Classic", "Block", "Sequential", "Scripted", "ExternalJson" ], "type": "string" }, "ProblemDetails": { "type": "object", "properties": { "type": { "type": [ "null", "string" ] }, "title": { "type": [ "null", "string" ] }, "status": { "type": [ "null", "integer" ], "format": "int32" }, "detail": { "type": [ "null", "string" ] }, "instance": { "type": [ "null", "string" ] } } }, "ProgramScheduleItemViewModel": { "type": "object", "properties": { "id": { "type": "integer", "format": "int32" }, "index": { "type": "integer", "format": "int32" }, "startType": { "$ref": "#/components/schemas/StartType" }, "startTime": { "pattern": "^-?(\\d+\\.)?\\d{2}:\\d{2}:\\d{2}(\\.\\d{1,7})?$", "type": [ "null", "string" ] }, "fixedStartTimeBehavior": { "oneOf": [ { "type": "null" }, { "$ref": "#/components/schemas/FixedStartTimeBehavior" } ] }, "playoutMode": { "$ref": "#/components/schemas/PlayoutMode" }, "collectionType": { "$ref": "#/components/schemas/CollectionType" }, "collection": { "$ref": "#/components/schemas/MediaCollectionViewModel" }, "multiCollection": { "$ref": "#/components/schemas/MultiCollectionViewModel" }, "smartCollection": { "$ref": "#/components/schemas/SmartCollectionViewModel" }, "rerunCollection": { "$ref": "#/components/schemas/RerunCollectionViewModel" }, "playlist": { "$ref": "#/components/schemas/PlaylistViewModel" }, "mediaItem": { "$ref": "#/components/schemas/NamedMediaItemViewModel" }, "searchTitle": { "type": [ "null", "string" ] }, "searchQuery": { "type": [ "null", "string" ] }, "playbackOrder": { "$ref": "#/components/schemas/PlaybackOrder" }, "marathonGroupBy": { "$ref": "#/components/schemas/MarathonGroupBy" }, "marathonShuffleGroups": { "type": "boolean" }, "marathonShuffleItems": { "type": "boolean" }, "marathonBatchSize": { "type": [ "null", "integer" ], "format": "int32" }, "fillWithGroupMode": { "$ref": "#/components/schemas/FillWithGroupMode" }, "customTitle": { "type": [ "null", "string" ] }, "guideMode": { "$ref": "#/components/schemas/GuideMode" }, "preRollFiller": { "$ref": "#/components/schemas/FillerPresetViewModel" }, "midRollFiller": { "$ref": "#/components/schemas/FillerPresetViewModel" }, "postRollFiller": { "$ref": "#/components/schemas/FillerPresetViewModel" }, "tailFiller": { "$ref": "#/components/schemas/FillerPresetViewModel" }, "fallbackFiller": { "$ref": "#/components/schemas/FillerPresetViewModel" }, "watermarks": { "type": [ "null", "array" ], "items": { "$ref": "#/components/schemas/WatermarkViewModel" } }, "graphicsElements": { "type": [ "null", "array" ], "items": { "$ref": "#/components/schemas/GraphicsElementViewModel" } }, "preferredAudioLanguageCode": { "type": [ "null", "string" ] }, "preferredAudioTitle": { "type": [ "null", "string" ] }, "preferredSubtitleLanguageCode": { "type": [ "null", "string" ] }, "subtitleMode": { "oneOf": [ { "type": "null" }, { "$ref": "#/components/schemas/ChannelSubtitleMode" } ] }, "name": { "type": [ "null", "string" ] } } }, "ProgramScheduleViewModel": { "required": [ "id", "name", "keepMultiPartEpisodesTogether", "treatCollectionsAsShows", "shuffleScheduleItems", "randomStartPoint", "fixedStartTimeBehavior" ], "type": "object", "properties": { "id": { "type": "integer", "format": "int32" }, "name": { "type": [ "null", "string" ] }, "keepMultiPartEpisodesTogether": { "type": "boolean" }, "treatCollectionsAsShows": { "type": "boolean" }, "shuffleScheduleItems": { "type": "boolean" }, "randomStartPoint": { "type": "boolean" }, "fixedStartTimeBehavior": { "$ref": "#/components/schemas/FixedStartTimeBehavior" } } }, "ReplaceScheduleItemsRequest": { "required": [ "items" ], "type": "object", "properties": { "items": { "type": [ "null", "array" ], "items": { "$ref": "#/components/schemas/ScheduleItemRequest" } } } }, "RerunCollectionViewModel": { "required": [ "id", "name", "collectionType", "collection", "multiCollection", "smartCollection", "mediaItem", "firstRunPlaybackOrder", "rerunPlaybackOrder" ], "type": "object", "properties": { "id": { "type": "integer", "format": "int32" }, "name": { "type": [ "null", "string" ] }, "collectionType": { "$ref": "#/components/schemas/CollectionType" }, "collection": { "$ref": "#/components/schemas/MediaCollectionViewModel" }, "multiCollection": { "$ref": "#/components/schemas/MultiCollectionViewModel" }, "smartCollection": { "$ref": "#/components/schemas/SmartCollectionViewModel" }, "mediaItem": { "$ref": "#/components/schemas/NamedMediaItemViewModel" }, "firstRunPlaybackOrder": { "$ref": "#/components/schemas/PlaybackOrder" }, "rerunPlaybackOrder": { "$ref": "#/components/schemas/PlaybackOrder" } } }, "ResolutionViewModel": { "required": [ "id", "name", "width", "height", "isCustom" ], "type": "object", "properties": { "id": { "type": "integer", "format": "int32" }, "name": { "type": [ "null", "string" ] }, "width": { "type": "integer", "format": "int32" }, "height": { "type": "integer", "format": "int32" }, "isCustom": { "type": "boolean" } } }, "ScalingBehavior": { "enum": [ "ScaleAndPad", "Stretch", "Crop" ], "type": "string" }, "ScanShowRequest": { "required": [ "showTitle" ], "type": "object", "properties": { "showTitle": { "type": [ "null", "string" ] }, "deepScan": { "type": "boolean", "default": false } } }, "ScheduleItemRequest": { "required": [ "startType", "startTime", "fixedStartTimeBehavior", "playoutMode", "collectionType", "collectionId", "multiCollectionId", "smartCollectionId", "rerunCollectionId", "mediaItemId", "playlistId", "searchTitle", "searchQuery", "playbackOrder", "marathonGroupBy", "marathonShuffleGroups", "marathonShuffleItems", "marathonBatchSize", "fillWithGroupMode", "multipleMode", "multipleCount", "playoutDuration", "tailMode", "discardToFillAttempts", "customTitle", "guideMode", "preRollFillerId", "midRollFillerId", "postRollFillerId", "tailFillerId", "fallbackFillerId", "watermarkIds", "graphicsElementIds", "preferredAudioLanguageCode", "preferredAudioTitle", "preferredSubtitleLanguageCode", "subtitleMode" ], "type": "object", "properties": { "startType": { "$ref": "#/components/schemas/StartType" }, "startTime": { "pattern": "^-?(\\d+\\.)?\\d{2}:\\d{2}:\\d{2}(\\.\\d{1,7})?$", "type": [ "null", "string" ] }, "fixedStartTimeBehavior": { "oneOf": [ { "type": "null" }, { "$ref": "#/components/schemas/FixedStartTimeBehavior" } ] }, "playoutMode": { "$ref": "#/components/schemas/PlayoutMode" }, "collectionType": { "$ref": "#/components/schemas/CollectionType" }, "collectionId": { "type": [ "null", "integer" ], "format": "int32" }, "multiCollectionId": { "type": [ "null", "integer" ], "format": "int32" }, "smartCollectionId": { "type": [ "null", "integer" ], "format": "int32" }, "rerunCollectionId": { "type": [ "null", "integer" ], "format": "int32" }, "mediaItemId": { "type": [ "null", "integer" ], "format": "int32" }, "playlistId": { "type": [ "null", "integer" ], "format": "int32" }, "searchTitle": { "type": [ "null", "string" ] }, "searchQuery": { "type": [ "null", "string" ] }, "playbackOrder": { "$ref": "#/components/schemas/PlaybackOrder" }, "marathonGroupBy": { "$ref": "#/components/schemas/MarathonGroupBy" }, "marathonShuffleGroups": { "type": "boolean" }, "marathonShuffleItems": { "type": "boolean" }, "marathonBatchSize": { "type": [ "null", "integer" ], "format": "int32" }, "fillWithGroupMode": { "$ref": "#/components/schemas/FillWithGroupMode" }, "multipleMode": { "$ref": "#/components/schemas/MultipleMode" }, "multipleCount": { "type": [ "null", "string" ] }, "playoutDuration": { "pattern": "^-?(\\d+\\.)?\\d{2}:\\d{2}:\\d{2}(\\.\\d{1,7})?$", "type": [ "null", "string" ] }, "tailMode": { "$ref": "#/components/schemas/TailMode" }, "discardToFillAttempts": { "type": [ "null", "integer" ], "format": "int32" }, "customTitle": { "type": [ "null", "string" ] }, "guideMode": { "$ref": "#/components/schemas/GuideMode" }, "preRollFillerId": { "type": [ "null", "integer" ], "format": "int32" }, "midRollFillerId": { "type": [ "null", "integer" ], "format": "int32" }, "postRollFillerId": { "type": [ "null", "integer" ], "format": "int32" }, "tailFillerId": { "type": [ "null", "integer" ], "format": "int32" }, "fallbackFillerId": { "type": [ "null", "integer" ], "format": "int32" }, "watermarkIds": { "type": [ "null", "array" ], "items": { "type": "integer", "format": "int32" } }, "graphicsElementIds": { "type": [ "null", "array" ], "items": { "type": "integer", "format": "int32" } }, "preferredAudioLanguageCode": { "type": [ "null", "string" ] }, "preferredAudioTitle": { "type": [ "null", "string" ] }, "preferredSubtitleLanguageCode": { "type": [ "null", "string" ] }, "subtitleMode": { "oneOf": [ { "type": "null" }, { "$ref": "#/components/schemas/ChannelSubtitleMode" } ] } } }, "SmartCollectionResponseModel": { "required": [ "id", "name", "query" ], "type": "object", "properties": { "id": { "type": "integer", "format": "int32" }, "name": { "type": [ "null", "string" ] }, "query": { "type": [ "null", "string" ] } } }, "SmartCollectionViewModel": { "required": [ "id", "name", "query" ], "type": "object", "properties": { "id": { "type": "integer", "format": "int32" }, "name": { "type": [ "null", "string" ] }, "query": { "type": [ "null", "string" ] } } }, "StartType": { "enum": [ "Dynamic", "Fixed" ], "type": "string" }, "StreamingMode": { "enum": [ "TransportStream", "HttpLiveStreamingDirect", "HttpLiveStreamingSegmenter", "TransportStreamHybrid" ], "type": "string" }, "TailMode": { "enum": [ "None", "Offline", "Slate", "Filler" ], "type": "string" }, "UpdateChannelRequest": { "required": [ "name", "number", "group", "categories", "fFmpegProfileId", "slugSeconds", "logo", "streamSelectorMode", "streamSelector", "preferredAudioLanguageCode", "preferredAudioTitle", "playoutSource", "playoutMode", "mirrorSourceChannelId", "playoutOffset", "streamingMode", "watermarkId", "fallbackFillerId", "preferredSubtitleLanguageCode", "subtitleMode", "musicVideoCreditsMode", "musicVideoCreditsTemplate", "songVideoMode", "transcodeMode", "idleBehavior", "isEnabled", "showInEpg" ], "type": "object", "properties": { "name": { "type": [ "null", "string" ] }, "number": { "type": [ "null", "string" ] }, "group": { "type": [ "null", "string" ] }, "categories": { "type": [ "null", "string" ] }, "fFmpegProfileId": { "type": "integer", "format": "int32" }, "slugSeconds": { "type": [ "null", "number" ], "format": "double" }, "logo": { "$ref": "#/components/schemas/ArtworkContentTypeModel" }, "streamSelectorMode": { "$ref": "#/components/schemas/ChannelStreamSelectorMode" }, "streamSelector": { "type": [ "null", "string" ] }, "preferredAudioLanguageCode": { "type": [ "null", "string" ] }, "preferredAudioTitle": { "type": [ "null", "string" ] }, "playoutSource": { "$ref": "#/components/schemas/ChannelPlayoutSource" }, "playoutMode": { "$ref": "#/components/schemas/ChannelPlayoutMode" }, "mirrorSourceChannelId": { "type": [ "null", "integer" ], "format": "int32" }, "playoutOffset": { "pattern": "^-?(\\d+\\.)?\\d{2}:\\d{2}:\\d{2}(\\.\\d{1,7})?$", "type": [ "null", "string" ] }, "streamingMode": { "$ref": "#/components/schemas/StreamingMode" }, "watermarkId": { "type": [ "null", "integer" ], "format": "int32" }, "fallbackFillerId": { "type": [ "null", "integer" ], "format": "int32" }, "preferredSubtitleLanguageCode": { "type": [ "null", "string" ] }, "subtitleMode": { "$ref": "#/components/schemas/ChannelSubtitleMode" }, "musicVideoCreditsMode": { "$ref": "#/components/schemas/ChannelMusicVideoCreditsMode" }, "musicVideoCreditsTemplate": { "type": [ "null", "string" ] }, "songVideoMode": { "$ref": "#/components/schemas/ChannelSongVideoMode" }, "transcodeMode": { "$ref": "#/components/schemas/ChannelTranscodeMode" }, "idleBehavior": { "$ref": "#/components/schemas/ChannelIdleBehavior" }, "isEnabled": { "type": "boolean" }, "showInEpg": { "type": "boolean" } } }, "UpdateCollectionRequest": { "required": [ "name", "useCustomPlaybackOrder" ], "type": "object", "properties": { "name": { "type": [ "null", "string" ] }, "useCustomPlaybackOrder": { "type": [ "null", "boolean" ] } } }, "UpdateFFmpegProfileRequest": { "required": [ "name", "threadCount", "normalizeAudio", "normalizeVideo", "hardwareAcceleration", "vaapiDisplay", "vaapiDriver", "vaapiDevice", "qsvExtraHardwareFrames", "resolutionId", "scalingBehavior", "padMode", "videoFormat", "videoProfile", "videoPreset", "allowBFrames", "bitDepth", "videoBitrate", "videoBufferSize", "tonemapAlgorithm", "audioFormat", "audioBitrate", "audioBufferSize", "normalizeLoudnessMode", "targetLoudness", "audioChannels", "audioSampleRate", "normalizeFramerate", "normalizeColors", "deinterlaceVideo" ], "type": "object", "properties": { "name": { "type": [ "null", "string" ] }, "threadCount": { "type": "integer", "format": "int32" }, "normalizeAudio": { "type": "boolean" }, "normalizeVideo": { "type": "boolean" }, "hardwareAcceleration": { "$ref": "#/components/schemas/HardwareAccelerationKind" }, "vaapiDisplay": { "type": [ "null", "string" ] }, "vaapiDriver": { "$ref": "#/components/schemas/VaapiDriver" }, "vaapiDevice": { "type": [ "null", "string" ] }, "qsvExtraHardwareFrames": { "type": [ "null", "integer" ], "format": "int32" }, "resolutionId": { "type": "integer", "format": "int32" }, "scalingBehavior": { "$ref": "#/components/schemas/ScalingBehavior" }, "padMode": { "$ref": "#/components/schemas/FilterMode" }, "videoFormat": { "$ref": "#/components/schemas/FFmpegProfileVideoFormat" }, "videoProfile": { "type": [ "null", "string" ] }, "videoPreset": { "type": [ "null", "string" ] }, "allowBFrames": { "type": "boolean" }, "bitDepth": { "$ref": "#/components/schemas/FFmpegProfileBitDepth" }, "videoBitrate": { "type": "integer", "format": "int32" }, "videoBufferSize": { "type": "integer", "format": "int32" }, "tonemapAlgorithm": { "$ref": "#/components/schemas/FFmpegProfileTonemapAlgorithm" }, "audioFormat": { "$ref": "#/components/schemas/FFmpegProfileAudioFormat" }, "audioBitrate": { "type": "integer", "format": "int32" }, "audioBufferSize": { "type": "integer", "format": "int32" }, "normalizeLoudnessMode": { "$ref": "#/components/schemas/NormalizeLoudnessMode" }, "targetLoudness": { "type": [ "null", "number" ], "format": "double" }, "audioChannels": { "type": "integer", "format": "int32" }, "audioSampleRate": { "type": "integer", "format": "int32" }, "normalizeFramerate": { "type": "boolean" }, "normalizeColors": { "type": "boolean" }, "deinterlaceVideo": { "type": "boolean" } } }, "UpdateScheduleRequest": { "required": [ "name", "keepMultiPartEpisodesTogether", "treatCollectionsAsShows", "shuffleScheduleItems", "randomStartPoint", "fixedStartTimeBehavior" ], "type": "object", "properties": { "name": { "type": [ "null", "string" ] }, "keepMultiPartEpisodesTogether": { "type": "boolean" }, "treatCollectionsAsShows": { "type": "boolean" }, "shuffleScheduleItems": { "type": "boolean" }, "randomStartPoint": { "type": "boolean" }, "fixedStartTimeBehavior": { "$ref": "#/components/schemas/FixedStartTimeBehavior" } } }, "UpdateSmartCollectionRequest": { "required": [ "name", "query" ], "type": "object", "properties": { "name": { "type": [ "null", "string" ] }, "query": { "type": [ "null", "string" ] } } }, "VaapiDriver": { "enum": [ "Default", "iHD", "i965", "RadeonSI", "Nouveau" ], "type": "string" }, "WatermarkLocation": { "type": "integer" }, "WatermarkSize": { "type": "integer" }, "WatermarkViewModel": { "required": [ "id", "image", "name", "mode", "imageSource", "location", "size", "width", "horizontalMargin", "verticalMargin", "frequencyMinutes", "durationSeconds", "opacity", "placeWithinSourceContent", "opacityExpression", "zIndex" ], "type": "object", "properties": { "id": { "type": "integer", "format": "int32" }, "image": { "$ref": "#/components/schemas/ArtworkContentTypeModel" }, "name": { "type": [ "null", "string" ] }, "mode": { "$ref": "#/components/schemas/ChannelWatermarkMode" }, "imageSource": { "$ref": "#/components/schemas/ChannelWatermarkImageSource" }, "location": { "$ref": "#/components/schemas/WatermarkLocation" }, "size": { "$ref": "#/components/schemas/WatermarkSize" }, "width": { "type": "number", "format": "double" }, "horizontalMargin": { "type": "number", "format": "double" }, "verticalMargin": { "type": "number", "format": "double" }, "frequencyMinutes": { "type": "integer", "format": "int32" }, "durationSeconds": { "type": "integer", "format": "int32" }, "opacity": { "type": "integer", "format": "int32" }, "placeWithinSourceContent": { "type": "boolean" }, "opacityExpression": { "type": [ "null", "string" ] }, "zIndex": { "type": "integer", "format": "int32" } } } } }, "tags": [ { "name": "Channel" }, { "name": "Channels" }, { "name": "Collections" }, { "name": "FFmpeg Profiles" }, { "name": "Libraries" }, { "name": "Maintenance" }, { "name": "Playouts" }, { "name": "Resolution" }, { "name": "Schedules" }, { "name": "Sessions" }, { "name": "Smart Collections" }, { "name": "Version" } ] }