ChannelResponseModel and BulkChannelRequests DTOs lacked file-scoped #nullable enable, so the OpenAPI generator emitted every string property as a ["null","string"] union (project Nullable default is disable), polluting SPA typegen with needless `| null` unions. ChannelStateResponseModel already complied with this convention (precedent: PlayoutResponseModel). All properties in both files are always populated (never null in practice), so no property needed to become explicitly optional/nullable - just adding #nullable enable was sufficient to clean up the generated schema. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
7246 lines
181 KiB
JSON
7246 lines
181 KiB
JSON
{
|
|
"openapi": "3.1.1",
|
|
"info": {
|
|
"title": "ErsatzTV | v1",
|
|
"version": "1.0.0"
|
|
},
|
|
"paths": {
|
|
"/api/artwork/uploads": {
|
|
"post": {
|
|
"tags": [
|
|
"Artwork"
|
|
],
|
|
"summary": "Upload channel logo or watermark artwork",
|
|
"operationId": "UploadArtwork",
|
|
"requestBody": {
|
|
"content": {
|
|
"multipart/form-data": {
|
|
"schema": {
|
|
"type": "object",
|
|
"allOf": [
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"file": {
|
|
"$ref": "#/components/schemas/IFormFile"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"target": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"201": {
|
|
"description": "Created",
|
|
"content": {
|
|
"text/plain": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/ArtworkUploadResponseModel"
|
|
}
|
|
},
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/ArtworkUploadResponseModel"
|
|
}
|
|
},
|
|
"text/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/ArtworkUploadResponseModel"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"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": {
|
|
"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/state": {
|
|
"get": {
|
|
"tags": [
|
|
"Channels"
|
|
],
|
|
"summary": "Get channel runtime state",
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"content": {
|
|
"text/plain": {
|
|
"schema": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/components/schemas/ChannelStateResponseModel"
|
|
}
|
|
}
|
|
},
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/components/schemas/ChannelStateResponseModel"
|
|
}
|
|
}
|
|
},
|
|
"text/json": {
|
|
"schema": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/components/schemas/ChannelStateResponseModel"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/api/guide": {
|
|
"get": {
|
|
"tags": [
|
|
"Channels"
|
|
],
|
|
"summary": "Get the JSON channel guide (EPG)",
|
|
"description": "Returns per-channel programme arrays for the EPG grid. When omitted, start defaults to now, and end defaults to start plus the configured XmltvDaysToBuild window.",
|
|
"parameters": [
|
|
{
|
|
"name": "start",
|
|
"in": "query",
|
|
"schema": {
|
|
"type": "string",
|
|
"format": "date-time"
|
|
}
|
|
},
|
|
{
|
|
"name": "end",
|
|
"in": "query",
|
|
"schema": {
|
|
"type": "string",
|
|
"format": "date-time"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"content": {
|
|
"text/plain": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/ChannelGuideResponseModel"
|
|
}
|
|
},
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/ChannelGuideResponseModel"
|
|
}
|
|
},
|
|
"text/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/ChannelGuideResponseModel"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/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/bulk/renumber": {
|
|
"post": {
|
|
"tags": [
|
|
"Channels"
|
|
],
|
|
"summary": "Renumber channels",
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json-patch+json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/BulkRenumberChannelsRequest"
|
|
}
|
|
},
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/BulkRenumberChannelsRequest"
|
|
}
|
|
},
|
|
"text/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/BulkRenumberChannelsRequest"
|
|
}
|
|
},
|
|
"application/*+json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/BulkRenumberChannelsRequest"
|
|
}
|
|
}
|
|
},
|
|
"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/channels/bulk/group": {
|
|
"post": {
|
|
"tags": [
|
|
"Channels"
|
|
],
|
|
"summary": "Move channels to a group",
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json-patch+json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/BulkMoveChannelsToGroupRequest"
|
|
}
|
|
},
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/BulkMoveChannelsToGroupRequest"
|
|
}
|
|
},
|
|
"text/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/BulkMoveChannelsToGroupRequest"
|
|
}
|
|
},
|
|
"application/*+json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/BulkMoveChannelsToGroupRequest"
|
|
}
|
|
}
|
|
},
|
|
"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/channels/bulk/delete": {
|
|
"post": {
|
|
"tags": [
|
|
"Channels"
|
|
],
|
|
"summary": "Delete channels",
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json-patch+json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/BulkDeleteChannelsRequest"
|
|
}
|
|
},
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/BulkDeleteChannelsRequest"
|
|
}
|
|
},
|
|
"text/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/BulkDeleteChannelsRequest"
|
|
}
|
|
},
|
|
"application/*+json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/BulkDeleteChannelsRequest"
|
|
}
|
|
}
|
|
},
|
|
"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/channels/{channelNumber}/playout/reset": {
|
|
"post": {
|
|
"tags": [
|
|
"Channels"
|
|
],
|
|
"summary": "Reset channel playout",
|
|
"description": "When mode is omitted, classic playouts use Refresh (rebuild while maintaining collection progress) and all other playout kinds use Reset (rebuild from scratch), matching the Blazor UI. Pass mode to force a specific PlayoutBuildMode.",
|
|
"parameters": [
|
|
{
|
|
"name": "channelNumber",
|
|
"in": "path",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "mode",
|
|
"in": "query",
|
|
"schema": {
|
|
"$ref": "#/components/schemas/PlayoutBuildMode"
|
|
}
|
|
}
|
|
],
|
|
"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/filler-presets": {
|
|
"get": {
|
|
"tags": [
|
|
"Filler Presets"
|
|
],
|
|
"summary": "Get all filler presets",
|
|
"operationId": "GetFillerPresets",
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"content": {
|
|
"text/plain": {
|
|
"schema": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/components/schemas/FillerPresetResponseModel"
|
|
}
|
|
}
|
|
},
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/components/schemas/FillerPresetResponseModel"
|
|
}
|
|
}
|
|
},
|
|
"text/json": {
|
|
"schema": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/components/schemas/FillerPresetResponseModel"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/api/graphics-elements": {
|
|
"get": {
|
|
"tags": [
|
|
"Graphics Elements"
|
|
],
|
|
"summary": "Get all graphics elements",
|
|
"operationId": "GetGraphicsElements",
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"content": {
|
|
"text/plain": {
|
|
"schema": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/components/schemas/GraphicsElementResponseModel"
|
|
}
|
|
}
|
|
},
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/components/schemas/GraphicsElementResponseModel"
|
|
}
|
|
}
|
|
},
|
|
"text/json": {
|
|
"schema": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/components/schemas/GraphicsElementResponseModel"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/api/health": {
|
|
"get": {
|
|
"tags": [
|
|
"Health"
|
|
],
|
|
"summary": "Get health check results",
|
|
"operationId": "GetHealthChecks",
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"content": {
|
|
"text/plain": {
|
|
"schema": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/components/schemas/HealthCheckResponseModel"
|
|
}
|
|
}
|
|
},
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/components/schemas/HealthCheckResponseModel"
|
|
}
|
|
}
|
|
},
|
|
"text/json": {
|
|
"schema": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/components/schemas/HealthCheckResponseModel"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/api/libraries/scan-status": {
|
|
"get": {
|
|
"tags": [
|
|
"Libraries"
|
|
],
|
|
"summary": "Get active library scan status",
|
|
"operationId": "GetLibraryScanStatus",
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"content": {
|
|
"text/plain": {
|
|
"schema": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/components/schemas/LibraryScanStatusResponseModel"
|
|
}
|
|
}
|
|
},
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/components/schemas/LibraryScanStatusResponseModel"
|
|
}
|
|
}
|
|
},
|
|
"text/json": {
|
|
"schema": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/components/schemas/LibraryScanStatusResponseModel"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/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/media-sources": {
|
|
"get": {
|
|
"tags": [
|
|
"Media Sources"
|
|
],
|
|
"summary": "Get all media sources with their libraries",
|
|
"operationId": "GetMediaSources",
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"content": {
|
|
"text/plain": {
|
|
"schema": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/components/schemas/MediaSourceResponseModel"
|
|
}
|
|
}
|
|
},
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/components/schemas/MediaSourceResponseModel"
|
|
}
|
|
}
|
|
},
|
|
"text/json": {
|
|
"schema": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/components/schemas/MediaSourceResponseModel"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/api/playouts": {
|
|
"get": {
|
|
"tags": [
|
|
"Playouts"
|
|
],
|
|
"summary": "List playouts",
|
|
"operationId": "GetPlayouts",
|
|
"parameters": [
|
|
{
|
|
"name": "query",
|
|
"in": "query",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"name": "pageNum",
|
|
"in": "query",
|
|
"schema": {
|
|
"type": "integer",
|
|
"format": "int32",
|
|
"default": 0
|
|
}
|
|
},
|
|
{
|
|
"name": "pageSize",
|
|
"in": "query",
|
|
"schema": {
|
|
"type": "integer",
|
|
"format": "int32",
|
|
"default": 100
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"content": {
|
|
"text/plain": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/PagedPlayoutsResponseModel"
|
|
}
|
|
},
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/PagedPlayoutsResponseModel"
|
|
}
|
|
},
|
|
"text/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/PagedPlayoutsResponseModel"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"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/playouts/warnings/count": {
|
|
"get": {
|
|
"tags": [
|
|
"Playouts"
|
|
],
|
|
"summary": "Count playouts with a failed build",
|
|
"operationId": "GetPlayoutWarningsCount",
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"content": {
|
|
"text/plain": {
|
|
"schema": {
|
|
"type": "integer",
|
|
"format": "int32"
|
|
}
|
|
},
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "integer",
|
|
"format": "int32"
|
|
}
|
|
},
|
|
"text/json": {
|
|
"schema": {
|
|
"type": "integer",
|
|
"format": "int32"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/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/{id}/items": {
|
|
"get": {
|
|
"tags": [
|
|
"Playouts"
|
|
],
|
|
"summary": "Get upcoming items (and unscheduled gaps) for a playout",
|
|
"operationId": "GetPlayoutItems",
|
|
"parameters": [
|
|
{
|
|
"name": "id",
|
|
"in": "path",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "integer",
|
|
"format": "int32"
|
|
}
|
|
},
|
|
{
|
|
"name": "showFiller",
|
|
"in": "query",
|
|
"schema": {
|
|
"type": "boolean",
|
|
"default": false
|
|
}
|
|
},
|
|
{
|
|
"name": "pageNum",
|
|
"in": "query",
|
|
"schema": {
|
|
"type": "integer",
|
|
"format": "int32",
|
|
"default": 0
|
|
}
|
|
},
|
|
{
|
|
"name": "pageSize",
|
|
"in": "query",
|
|
"schema": {
|
|
"type": "integer",
|
|
"format": "int32",
|
|
"default": 100
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"content": {
|
|
"text/plain": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/PagedPlayoutItemsResponseModel"
|
|
}
|
|
},
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/PagedPlayoutItemsResponseModel"
|
|
}
|
|
},
|
|
"text/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/PagedPlayoutItemsResponseModel"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"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/playouts/reset-all": {
|
|
"post": {
|
|
"tags": [
|
|
"Playouts"
|
|
],
|
|
"summary": "Reset all playouts",
|
|
"operationId": "ResetAllPlayouts",
|
|
"responses": {
|
|
"202": {
|
|
"description": "Accepted"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/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",
|
|
"description": "Returns the schedule's items plus a computed, best-effort runtime estimate: each item carries a nullable durationEstimate and the envelope carries a nullable totalDurationEstimate. Estimates are derived from referenced collection/media runtimes and are null when unbounded or unknown.",
|
|
"parameters": [
|
|
{
|
|
"name": "id",
|
|
"in": "path",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "integer",
|
|
"format": "int32"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"content": {
|
|
"text/plain": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/ProgramScheduleItemsWithDurationViewModel"
|
|
}
|
|
},
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/ProgramScheduleItemsWithDurationViewModel"
|
|
}
|
|
},
|
|
"text/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/ProgramScheduleItemsWithDurationViewModel"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"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"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/api/watermarks": {
|
|
"get": {
|
|
"tags": [
|
|
"Watermarks"
|
|
],
|
|
"summary": "Get all watermarks",
|
|
"operationId": "GetWatermarks",
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"content": {
|
|
"text/plain": {
|
|
"schema": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/components/schemas/WatermarkResponseModel"
|
|
}
|
|
}
|
|
},
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/components/schemas/WatermarkResponseModel"
|
|
}
|
|
}
|
|
},
|
|
"text/json": {
|
|
"schema": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/components/schemas/WatermarkResponseModel"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"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"
|
|
]
|
|
}
|
|
}
|
|
},
|
|
"ArtworkUploadResponseModel": {
|
|
"required": [
|
|
"path",
|
|
"contentType"
|
|
],
|
|
"type": "object",
|
|
"properties": {
|
|
"path": {
|
|
"type": "string"
|
|
},
|
|
"contentType": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"BulkDeleteChannelsRequest": {
|
|
"required": [
|
|
"channelIds"
|
|
],
|
|
"type": "object",
|
|
"properties": {
|
|
"channelIds": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "integer",
|
|
"format": "int32"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"BulkMoveChannelsToGroupRequest": {
|
|
"required": [
|
|
"channelIds",
|
|
"group"
|
|
],
|
|
"type": "object",
|
|
"properties": {
|
|
"channelIds": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "integer",
|
|
"format": "int32"
|
|
}
|
|
},
|
|
"group": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"BulkRenumberChannelRequest": {
|
|
"required": [
|
|
"id",
|
|
"number"
|
|
],
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "integer",
|
|
"format": "int32"
|
|
},
|
|
"number": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"BulkRenumberChannelsRequest": {
|
|
"required": [
|
|
"channels"
|
|
],
|
|
"type": "object",
|
|
"properties": {
|
|
"channels": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/components/schemas/BulkRenumberChannelRequest"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"ChannelGuideChannelResponseModel": {
|
|
"required": [
|
|
"number",
|
|
"name",
|
|
"programmes"
|
|
],
|
|
"type": "object",
|
|
"properties": {
|
|
"number": {
|
|
"type": "string"
|
|
},
|
|
"name": {
|
|
"type": "string"
|
|
},
|
|
"programmes": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/components/schemas/ChannelGuideProgrammeResponseModel"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"ChannelGuideProgrammeResponseModel": {
|
|
"required": [
|
|
"start",
|
|
"stop",
|
|
"title",
|
|
"subTitle",
|
|
"category",
|
|
"fillerKind"
|
|
],
|
|
"type": "object",
|
|
"properties": {
|
|
"start": {
|
|
"type": "string",
|
|
"format": "date-time"
|
|
},
|
|
"stop": {
|
|
"type": "string",
|
|
"format": "date-time"
|
|
},
|
|
"title": {
|
|
"type": "string"
|
|
},
|
|
"subTitle": {
|
|
"type": [
|
|
"null",
|
|
"string"
|
|
]
|
|
},
|
|
"category": {
|
|
"type": [
|
|
"null",
|
|
"string"
|
|
]
|
|
},
|
|
"fillerKind": {
|
|
"$ref": "#/components/schemas/FillerKind"
|
|
}
|
|
}
|
|
},
|
|
"ChannelGuideResponseModel": {
|
|
"required": [
|
|
"start",
|
|
"end",
|
|
"channels"
|
|
],
|
|
"type": "object",
|
|
"properties": {
|
|
"start": {
|
|
"type": "string",
|
|
"format": "date-time"
|
|
},
|
|
"end": {
|
|
"type": "string",
|
|
"format": "date-time"
|
|
},
|
|
"channels": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/components/schemas/ChannelGuideChannelResponseModel"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"ChannelIdleBehavior": {
|
|
"enum": [
|
|
"StopOnDisconnect",
|
|
"KeepRunning"
|
|
],
|
|
"type": "string"
|
|
},
|
|
"ChannelMusicVideoCreditsMode": {
|
|
"enum": [
|
|
"None",
|
|
"GenerateSubtitles"
|
|
],
|
|
"type": "string"
|
|
},
|
|
"ChannelNowPlayingResponseModel": {
|
|
"required": [
|
|
"title",
|
|
"startUtc",
|
|
"finishUtc"
|
|
],
|
|
"type": "object",
|
|
"properties": {
|
|
"title": {
|
|
"type": "string"
|
|
},
|
|
"startUtc": {
|
|
"type": "string",
|
|
"format": "date-time"
|
|
},
|
|
"finishUtc": {
|
|
"type": "string",
|
|
"format": "date-time"
|
|
}
|
|
}
|
|
},
|
|
"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": "string"
|
|
},
|
|
"sortNumber": {
|
|
"type": "number",
|
|
"format": "double"
|
|
},
|
|
"name": {
|
|
"type": "string"
|
|
},
|
|
"group": {
|
|
"type": "string"
|
|
},
|
|
"categories": {
|
|
"type": "string"
|
|
},
|
|
"fFmpegProfile": {
|
|
"type": "string"
|
|
},
|
|
"language": {
|
|
"type": "string"
|
|
},
|
|
"streamingMode": {
|
|
"type": "string"
|
|
},
|
|
"isEnabled": {
|
|
"type": "boolean"
|
|
},
|
|
"showInEpg": {
|
|
"type": "boolean"
|
|
}
|
|
}
|
|
},
|
|
"ChannelSongVideoMode": {
|
|
"enum": [
|
|
"Default",
|
|
"WithProgress"
|
|
],
|
|
"type": "string"
|
|
},
|
|
"ChannelStateResponseModel": {
|
|
"required": [
|
|
"channelId",
|
|
"channelNumber",
|
|
"onAir",
|
|
"nowPlaying"
|
|
],
|
|
"type": "object",
|
|
"properties": {
|
|
"channelId": {
|
|
"type": "integer",
|
|
"format": "int32"
|
|
},
|
|
"channelNumber": {
|
|
"type": "string"
|
|
},
|
|
"onAir": {
|
|
"type": "boolean"
|
|
},
|
|
"nowPlaying": {
|
|
"oneOf": [
|
|
{
|
|
"type": "null"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/ChannelNowPlayingResponseModel"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
},
|
|
"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"
|
|
},
|
|
"FillerPresetResponseModel": {
|
|
"required": [
|
|
"id",
|
|
"name"
|
|
],
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "integer",
|
|
"format": "int32"
|
|
},
|
|
"name": {
|
|
"type": [
|
|
"null",
|
|
"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"
|
|
},
|
|
"GraphicsElementResponseModel": {
|
|
"required": [
|
|
"id",
|
|
"name"
|
|
],
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "integer",
|
|
"format": "int32"
|
|
},
|
|
"name": {
|
|
"type": [
|
|
"null",
|
|
"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"
|
|
},
|
|
"HealthCheckResponseModel": {
|
|
"required": [
|
|
"title",
|
|
"status",
|
|
"detail",
|
|
"link"
|
|
],
|
|
"type": "object",
|
|
"properties": {
|
|
"title": {
|
|
"type": "string"
|
|
},
|
|
"status": {
|
|
"type": "string"
|
|
},
|
|
"detail": {
|
|
"type": "string"
|
|
},
|
|
"link": {
|
|
"type": [
|
|
"null",
|
|
"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"
|
|
}
|
|
}
|
|
},
|
|
"IFormFile": {
|
|
"type": "string",
|
|
"format": "binary"
|
|
},
|
|
"LibraryMediaKind": {
|
|
"enum": [
|
|
"Movies",
|
|
"Shows",
|
|
"MusicVideos",
|
|
"OtherVideos",
|
|
"Songs",
|
|
"Images",
|
|
"RemoteStreams"
|
|
],
|
|
"type": "string"
|
|
},
|
|
"LibraryScanStatusResponseModel": {
|
|
"required": [
|
|
"libraryId",
|
|
"percent"
|
|
],
|
|
"type": "object",
|
|
"properties": {
|
|
"libraryId": {
|
|
"type": "integer",
|
|
"format": "int32"
|
|
},
|
|
"percent": {
|
|
"type": "number",
|
|
"format": "double"
|
|
}
|
|
}
|
|
},
|
|
"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"
|
|
},
|
|
"MediaSourceLibraryResponseModel": {
|
|
"required": [
|
|
"id",
|
|
"name",
|
|
"mediaKind",
|
|
"lastScan",
|
|
"itemCount"
|
|
],
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "integer",
|
|
"format": "int32"
|
|
},
|
|
"name": {
|
|
"type": "string"
|
|
},
|
|
"mediaKind": {
|
|
"$ref": "#/components/schemas/LibraryMediaKind"
|
|
},
|
|
"lastScan": {
|
|
"type": [
|
|
"null",
|
|
"string"
|
|
],
|
|
"format": "date-time"
|
|
},
|
|
"itemCount": {
|
|
"type": "integer",
|
|
"format": "int32"
|
|
}
|
|
}
|
|
},
|
|
"MediaSourceResponseModel": {
|
|
"required": [
|
|
"id",
|
|
"kind",
|
|
"name",
|
|
"connectionAddress",
|
|
"libraries"
|
|
],
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "integer",
|
|
"format": "int32"
|
|
},
|
|
"kind": {
|
|
"type": "string"
|
|
},
|
|
"name": {
|
|
"type": "string"
|
|
},
|
|
"connectionAddress": {
|
|
"type": [
|
|
"null",
|
|
"string"
|
|
]
|
|
},
|
|
"libraries": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/components/schemas/MediaSourceLibraryResponseModel"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"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"
|
|
},
|
|
"PagedPlayoutItemsResponseModel": {
|
|
"required": [
|
|
"totalCount",
|
|
"page"
|
|
],
|
|
"type": "object",
|
|
"properties": {
|
|
"totalCount": {
|
|
"type": "integer",
|
|
"format": "int32"
|
|
},
|
|
"page": {
|
|
"type": [
|
|
"null",
|
|
"array"
|
|
],
|
|
"items": {
|
|
"$ref": "#/components/schemas/PlayoutItemResponseModel"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"PagedPlayoutsResponseModel": {
|
|
"required": [
|
|
"totalCount",
|
|
"page"
|
|
],
|
|
"type": "object",
|
|
"properties": {
|
|
"totalCount": {
|
|
"type": "integer",
|
|
"format": "int32"
|
|
},
|
|
"page": {
|
|
"type": [
|
|
"null",
|
|
"array"
|
|
],
|
|
"items": {
|
|
"$ref": "#/components/schemas/PlayoutListItemResponseModel"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"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"
|
|
}
|
|
}
|
|
},
|
|
"PlayoutBuildMode": {
|
|
"enum": [
|
|
"Continue",
|
|
"Refresh",
|
|
"Reset"
|
|
],
|
|
"type": "string"
|
|
},
|
|
"PlayoutBuildStatusResponseModel": {
|
|
"required": [
|
|
"lastBuild",
|
|
"success",
|
|
"message"
|
|
],
|
|
"type": "object",
|
|
"properties": {
|
|
"lastBuild": {
|
|
"type": "string",
|
|
"format": "date-time"
|
|
},
|
|
"success": {
|
|
"type": "boolean"
|
|
},
|
|
"message": {
|
|
"type": [
|
|
"null",
|
|
"string"
|
|
]
|
|
}
|
|
}
|
|
},
|
|
"PlayoutItemResponseModel": {
|
|
"required": [
|
|
"title",
|
|
"start",
|
|
"finish",
|
|
"duration",
|
|
"fillerKind"
|
|
],
|
|
"type": "object",
|
|
"properties": {
|
|
"title": {
|
|
"type": [
|
|
"null",
|
|
"string"
|
|
]
|
|
},
|
|
"start": {
|
|
"type": "string",
|
|
"format": "date-time"
|
|
},
|
|
"finish": {
|
|
"type": "string",
|
|
"format": "date-time"
|
|
},
|
|
"duration": {
|
|
"type": [
|
|
"null",
|
|
"string"
|
|
]
|
|
},
|
|
"fillerKind": {
|
|
"oneOf": [
|
|
{
|
|
"type": "null"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/FillerKind"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
},
|
|
"PlayoutListItemResponseModel": {
|
|
"required": [
|
|
"id",
|
|
"channelNumber",
|
|
"channelName",
|
|
"scheduleKind",
|
|
"scheduleName",
|
|
"dailyRebuildTime",
|
|
"buildStatus"
|
|
],
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "integer",
|
|
"format": "int32"
|
|
},
|
|
"channelNumber": {
|
|
"type": "string"
|
|
},
|
|
"channelName": {
|
|
"type": "string"
|
|
},
|
|
"scheduleKind": {
|
|
"$ref": "#/components/schemas/PlayoutScheduleKind"
|
|
},
|
|
"scheduleName": {
|
|
"type": "string"
|
|
},
|
|
"dailyRebuildTime": {
|
|
"pattern": "^-?(\\d+\\.)?\\d{2}:\\d{2}:\\d{2}(\\.\\d{1,7})?$",
|
|
"type": [
|
|
"null",
|
|
"string"
|
|
]
|
|
},
|
|
"buildStatus": {
|
|
"oneOf": [
|
|
{
|
|
"type": "null"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/PlayoutBuildStatusResponseModel"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
},
|
|
"PlayoutMode": {
|
|
"enum": [
|
|
"Flood",
|
|
"One",
|
|
"Multiple",
|
|
"Duration"
|
|
],
|
|
"type": "string"
|
|
},
|
|
"PlayoutResponseModel": {
|
|
"required": [
|
|
"id",
|
|
"scheduleKind",
|
|
"channelName",
|
|
"channelNumber",
|
|
"playoutMode",
|
|
"scheduleName",
|
|
"scheduleFile",
|
|
"dailyRebuildTime",
|
|
"buildStatus"
|
|
],
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "integer",
|
|
"format": "int32"
|
|
},
|
|
"scheduleKind": {
|
|
"$ref": "#/components/schemas/PlayoutScheduleKind"
|
|
},
|
|
"channelName": {
|
|
"type": "string"
|
|
},
|
|
"channelNumber": {
|
|
"type": "string"
|
|
},
|
|
"playoutMode": {
|
|
"$ref": "#/components/schemas/ChannelPlayoutMode"
|
|
},
|
|
"scheduleName": {
|
|
"type": "string"
|
|
},
|
|
"scheduleFile": {
|
|
"type": [
|
|
"null",
|
|
"string"
|
|
]
|
|
},
|
|
"dailyRebuildTime": {
|
|
"pattern": "^-?(\\d+\\.)?\\d{2}:\\d{2}:\\d{2}(\\.\\d{1,7})?$",
|
|
"type": [
|
|
"null",
|
|
"string"
|
|
]
|
|
},
|
|
"buildStatus": {
|
|
"oneOf": [
|
|
{
|
|
"type": "null"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/PlayoutBuildStatusResponseModel"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
},
|
|
"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"
|
|
]
|
|
}
|
|
}
|
|
},
|
|
"ProgramScheduleItemsWithDurationViewModel": {
|
|
"required": [
|
|
"items",
|
|
"totalDurationEstimate"
|
|
],
|
|
"type": "object",
|
|
"properties": {
|
|
"items": {
|
|
"type": [
|
|
"null",
|
|
"array"
|
|
],
|
|
"items": {
|
|
"$ref": "#/components/schemas/ProgramScheduleItemViewModel"
|
|
}
|
|
},
|
|
"totalDurationEstimate": {
|
|
"pattern": "^-?(\\d+\\.)?\\d{2}:\\d{2}:\\d{2}(\\.\\d{1,7})?$",
|
|
"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"
|
|
}
|
|
]
|
|
},
|
|
"durationEstimate": {
|
|
"pattern": "^-?(\\d+\\.)?\\d{2}:\\d{2}:\\d{2}(\\.\\d{1,7})?$",
|
|
"type": [
|
|
"null",
|
|
"string"
|
|
]
|
|
},
|
|
"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"
|
|
},
|
|
"WatermarkResponseModel": {
|
|
"required": [
|
|
"id",
|
|
"name"
|
|
],
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "integer",
|
|
"format": "int32"
|
|
},
|
|
"name": {
|
|
"type": [
|
|
"null",
|
|
"string"
|
|
]
|
|
}
|
|
}
|
|
},
|
|
"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": "Artwork"
|
|
},
|
|
{
|
|
"name": "Channel"
|
|
},
|
|
{
|
|
"name": "Channels"
|
|
},
|
|
{
|
|
"name": "Collections"
|
|
},
|
|
{
|
|
"name": "FFmpeg Profiles"
|
|
},
|
|
{
|
|
"name": "Filler Presets"
|
|
},
|
|
{
|
|
"name": "Graphics Elements"
|
|
},
|
|
{
|
|
"name": "Health"
|
|
},
|
|
{
|
|
"name": "Libraries"
|
|
},
|
|
{
|
|
"name": "Maintenance"
|
|
},
|
|
{
|
|
"name": "Media Sources"
|
|
},
|
|
{
|
|
"name": "Playouts"
|
|
},
|
|
{
|
|
"name": "Resolution"
|
|
},
|
|
{
|
|
"name": "Schedules"
|
|
},
|
|
{
|
|
"name": "Sessions"
|
|
},
|
|
{
|
|
"name": "Smart Collections"
|
|
},
|
|
{
|
|
"name": "Version"
|
|
},
|
|
{
|
|
"name": "Watermarks"
|
|
}
|
|
]
|
|
} |